cuMotion Collision Detection

In my cuMotion implementation, when I add a cube in RViz, the robot plans its path while avoiding it.
However, when I load an STL file, it doesn’t work.
What additional configurations do I need to implement obstacle-avoidance path planning in this case?

cuMotion Collision Detection

my Robot Package

Hello @shentunghuang1,

Thanks for the post and sorry for the delayed response.
From the video you provided, I noticed the error line MotionGenStatus.INVALID_WORLD_START_STATE_WORLD_COLLISION.
This error is output by cuRobo’s world_detection_free function, indicating that the initial joint configuration (start state) of the robot is already in collision with an external obstacle.

Could you verify if your XRDF and URDF has the consistent description first?
You can check out this tutorial configuring a new robot to have a better understanding of the file and how cuRobo is using it.
The cuMotion built on cuRobo tends to use simplified collision geometries like spheres and often applies a larger, internal collision padding for fast, guaranteed avoidance. If your starting position is very close to an obstacle, cuMotion’s model may detect a collision.
You could try reducing the collision spheres radius to very small and see if the start state issue is resolved.
Alternatively, add disable_collision->allowCollisions( “your stl file”, all_links, true) to allow collisions for once to test if it can start planning the trajectory.

Also, I saw “my robot package“ has no files there already, if you could provide the related log and setup detail, it would be helpful for us to help reproduce the issue and check.

I sincerely apologize for the delay in getting back to this issue due to work commitments. I’m very sorry that I didn’t notice my ‘my robot package’ was empty. Please refer to this robot package.

I tried your first suggestion: when creating the XRDF, I reduced the size of all the collision spheres to ensure sufficient spacing between them and avoid interference at the initial state.

However, the robot is still unable to perform collision avoidance during cuMotion path planning.

Here is my newly created XRDF file, along with the terminal output received when launching the cuMotion project.

With the new terminal output log you uploaded, it appears to be a different problem now.
Your move_group is not launched, could you verify it is running and the services exist with ros2 node list | grep move_group and ros2 service list | grep planning_scenefirst?
You also need to set the exact namespace for move_group (blank if move_group runs at root).
It’s at MotionPlanning → “Planning Request” → “Move Group Namespace.”
Then you need to check whether the “Planning Scene Topic” points to /monitored_planning_scene with the same namespace as well.
Your logs showed “MoveGroup namespace changed: /left_arm → .”, so ensure this matches your current launch.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.