ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

The collision detection of planning_environment ( http://wiki.ros.org/planning_environment ) seems to be using the collision checker of ODE (open dynamics engine). The codes are not available online now, but they are:

  • /opt/ros/groovy/stacks/arm_navigation/planning_environment
    • src/models/collision_models.cpp
    • src/models/collision_models_interface.cpp
    • include/planning_environment/models/collision_models.h
    • include/planning_environment/models/collision_models_interface.h
  • /opt/ros/groovy/stacks/arm_navigation/collision_space
    • include/collision_space/environmentODE.h
    • src/environmentODE.cpp

Anyway, unless fixing this bug, collision detection between two cylinder models does not work.

Hence, a better solution is using other collision detection library, such as:

  • FCL (flexible collision library): http://wiki.ros.org/fcl
  • MoveIt!: http://moveit.ros.org/

Though MoveIt! is an integrated planning tool, we can use it as a collision detection library (and it is easy to use on ROS).

The following videos are the similar situations where we are using MoveIt! as a collision checker. No problem is happening in the collision detection between two cylinder models case.

  • Collision detection with CYLINDER model using MoveIt!: http://youtu.be/RXWZvwoCDYk
  • Collision detection with BOX model using MoveIt!: http://youtu.be/MJ5qwo1jIOc