NVIDIA-ISAAC-ROS / isaac_ros_cumotion

NVIDIA-accelerated packages for arm motion planning and control
https://developer.nvidia.com/isaac-ros-gems
Other
91 stars 16 forks source link

Collision Object not detected #20

Open Sajjan2406 opened 1 month ago

Sajjan2406 commented 1 month ago

i am spawning the robot and the scenario through the .xacro file while launching 'move_group' node. I am able to visualize the robot and scene in the Rviz window.

When i start Planning using 'OMPL', the planner detects the scene(in this case bookshelf) as an obstacle and plans accordingly When i use 'cumotion' to do the planning, the planning happens without considering the bookshelf. When the plan is sent back to 'move_group', there is an error: collision detected between the robot and the bookshelf this is how i run my cumotion planner node from CLI: 'ros2 run isaac_ros_cumotion cumotion_planner_node --ros-args -p robot:=franka.xrdf -p urdf_path:=/opt/ros/humble/share/moveit_resources_panda_description/urdf/panda.urdf'

I thought the problem was arising because i did not update the urdf file that includes the bookshelf too, during the launch of 'cumotion planner node'. So i updated the urdf file by combining both the urdf using a CLI. Even now with the updated urdf, the error is the same

Please let me know how to proceed with this error.

this is the error logged in the Move_group terminal: [move_group-5] [INFO] [1727707475.384943894] [moveit_collision_detection_fcl.collision_common]: Found a contact between 'panda_hand' (type 'Robot link') and 'bookshelf_top' (type 'Robot link'), which constitutes a collision. Contact information is not stored. [move_group-5] [INFO] [1727707475.384966718] [moveit_collision_detection_fcl.collision_common]: Collision checking is considered complete (collision was found and 0 contacts are stored) [move_group-5] [INFO] [1727707475.385036370] [moveit_collision_detection_fcl.collision_common]: Found a contact between 'panda_hand' (type 'Robot link') and 'bookshelf_top' (type 'Robot link'), which constitutes a collision. Contact information is not stored. [move_group-5] [INFO] [1727707475.385041325] [moveit_collision_detection_fcl.collision_common]: Collision checking is considered complete (collision was found and 0 contacts are stored) [move_group-5] [INFO] [1727707475.385095727] [moveit_collision_detection_fcl.collision_common]: Found a contact between 'panda_hand' (type 'Robot link') and 'bookshelf_top' (type 'Robot link'), which constitutes a collision. Contact information is not stored. [move_group-5] [INFO] [1727707475.385099960] [moveit_collision_detection_fcl.collision_common]: Collision checking is considered complete (collision was found and 0 contacts are stored) [move_group-5] [INFO] [1727707475.385177073] [moveit_collision_detection_fcl.collision_common]: Found a contact between 'panda_hand' (type 'Robot link') and 'bookshelf_top' (type 'Robot link'), which constitutes a collision. Contact information is not stored. [move_group-5] [INFO] [1727707475.385186044] [moveit_collision_detection_fcl.collision_common]: Collision checking is considered complete (collision was found and 0 contacts are stored) [move_group-5] [INFO] [1727707475.385230716] [moveit_collision_detection_fcl.collision_common]: Found a contact between 'panda_hand' (type 'Robot link') and 'bookshelf_top' (type 'Robot link'), which constitutes a collision. Contact information is not stored. [move_group-5] [INFO] [1727707475.385232859] [moveit_collision_detection_fcl.collision_common]: Collision checking is considered complete (collision was found and 0 contacts are stored) [move_group-5] [INFO] [1727707475.385282138] [moveit_collision_detection_fcl.collision_common]: Found a contact between 'bookshelf_top' (type 'Robot link') and 'panda_hand' (type 'Robot link'), which constitutes a collision. Contact information is not stored. [move_group-5] [INFO] [1727707475.385283844] [moveit_collision_detection_fcl.collision_common]: Collision checking is considered complete (collision was found and 0 contacts are stored) [move_group-5] [INFO] [1727707475.385311112] [moveit_collision_detection_fcl.collision_common]: Found a contact between 'bookshelf_top' (type 'Robot link') and 'panda_hand' (type 'Robot link'), which constitutes a collision. Contact information is not stored. [move_group-5] [INFO] [1727707475.385312736] [moveit_collision_detection_fcl.collision_common]: Collision checking is considered complete (collision was found and 0 contacts are stored) [move_group-5] [INFO] [1727707475.385339259] [moveit_collision_detection_fcl.collision_common]: Found a contact between 'bookshelf_top' (type 'Robot link') and 'panda_hand' (type 'Robot link'), which constitutes a collision. Contact information is not stored. [move_group-5] [INFO] [1727707475.385340871] [moveit_collision_detection_fcl.collision_common]: Collision checking is considered complete (collision was found and 0 contacts are stored) [move_group-5] [INFO] [1727707475.385364934] [moveit_collision_detection_fcl.collision_common]: Found a contact between 'bookshelf_top' (type 'Robot link') and 'panda_hand' (type 'Robot link'), which constitutes a collision. Contact information is not stored. [move_group-5] [INFO] [1727707475.385366306] [moveit_collision_detection_fcl.collision_common]: Collision checking is considered complete (collision was found and 0 contacts are stored) [move_group-5] [INFO] [1727707475.385401921] [moveit_collision_detection_fcl.collision_common]: Found a contact between 'bookshelf_top' (type 'Robot link') and 'panda_hand' (type 'Robot link'), which constitutes a collision. Contact information is not stored. [move_group-5] [INFO] [1727707475.385403372] [moveit_collision_detection_fcl.collision_common]: Collision checking is considered complete (collision was found and 0 contacts are stored) [move_group-5] [INFO] [1727707475.385427605] [moveit_collision_detection_fcl.collision_common]: Found a contact between 'bookshelf_top' (type 'Robot link') and 'panda_hand' (type 'Robot link'), which constitutes a collision. Contact information is not stored. [move_group-5] [INFO] [1727707475.385437186] [moveit_collision_detection_fcl.collision_common]: Collision checking is considered complete (collision was found and 0 contacts are stored) [move_group-5] [INFO] [1727707475.385460718] [moveit_collision_detection_fcl.collision_common]: Found a contact between 'bookshelf_top' (type 'Robot link') and 'panda_hand' (type 'Robot link'), which constitutes a collision. Contact information is not stored. [move_group-5] [INFO] [1727707475.385462080] [moveit_collision_detection_fcl.collision_common]: Collision checking is considered complete (collision was found and 0 contacts are stored) [move_group-5] [INFO] [1727707475.385485721] [moveit_collision_detection_fcl.collision_common]: Found a contact between 'bookshelf_top' (type 'Robot link') and 'panda_hand' (type 'Robot link'), which constitutes a collision. Contact information is not stored. [move_group-5] [INFO] [1727707475.385487039] [moveit_collision_detection_fcl.collision_common]: Collision checking is considered complete (collision was found and 0 contacts are stored) [move_group-5] [ERROR] [1727707475.385503778] [moveit.ros_planning.planning_pipeline]: Completed listing of explanations for invalid states. [move_group-5] [INFO] [1727707475.385610928] [moveit_move_group_default_capabilities.move_action_capability]: Motion plan was found but it seems to be invalid (possibly due to postprocessing). Not executing. [rviz2-1] [INFO] [1727707475.385789082] [move_group_interface]: Planning request aborted [rviz2-1] [ERROR] [1727707475.386361721] [move_group_interface]: MoveGroupInterface::plan() failed or timeout reached

bmdyrdal commented 1 month ago

@Sajjan2406 I was experiencing the same, from my understanding it doesn't look like it is considering collision objects in the urdf, only what is in the xrdf. I ended up publishing it as a collision object from my node instead, that works.

Sajjan2406 commented 1 month ago

@bmdyrdal thanks for replying. Yeh even i am thinking to do the same. Publish my scene as a mesh in ''/planning_scene'' topic so that it gets updated in cuMotion. Did you publish a complex scene or a basic primitives like cube?

bmdyrdal commented 1 month ago

@Sajjan2406 Currently I only use basic primitives, but from what I could see in the cumotion_planner.py it should support mesh objects:

https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_cumotion/blob/7600912c766608e0b087b6c864c3558ae340ff73/isaac_ros_cumotion/isaac_ros_cumotion/cumotion_planner.py#L466