b-it-bots / mas_domestic_robotics

Robot-independent ROS packages for domestic applications
GNU General Public License v3.0
28 stars 45 forks source link

Reactive DMP implementation for obstacle avoidance #230

Open af-a opened 4 years ago

af-a commented 4 years ago

Problem description

The current DMP-based implementation of the move arm action uses open-loop, naive trajectory generation, which does not take obstacles into account. For example, if the robot attempts to pick an object off of a table, it will simply reproduce the given trajectory, regardless of whether that would cause the end-effector to collide with other obstacles on that table. This is not ideal in such cases and may lead to task failures.

Desired solution

The DMP formulation enables an effective obstacle avoidance strategy, discussed in detail in this publication, by adding an appropriate term in the differential equation governing the evolution of the variable (end-effector position). Implementing this could be enhance the move arm action with real-time obstacle avoidance, assuming that the robot can perceive the positions of obstacles with reasonable accuracy.

Suggested courses of action:

Future

njanirudh commented 4 years ago

How do we expect the robot to find the obstacle? Is it manually set?

alex-mitrevski commented 4 years ago

For now, we assume that the scene has been perceived, so the positions and bounding boxes of obstacles are known. In the long run, we would like to react to dynamic obstacles as well.

af-a commented 4 years ago

The first point was addressed in #231.