I have setup a Isaac Sim scene in which i want to control robots. For this, i am using MoveIt2 (ROS2 Humble) as described in these tutorials (isaac sim, moveit).
Steps to Reproduce
See tutorials and video in “related issues” below
Error Messages
NA
Screenshots or Videos
Here is a video highlighting the difference between moveit and isaac sim paths. One can see that the plan in moveit is right (robot move in a straight line) but the executed path in isaac sim is wrong (see joint#6).
Below is a plot of the isaac_joint_states and isaac_joint_commands topics used by Isaac Sim. We can clearly the tracking error on joint 6.
The robot i am using was imported using URDF importer and its gains were set to “stiff” according to the recommendations. I tried with other robots (Stäubli, Universal Robots) but the same error still happens. I tried to change the stiffness but without success.
Moreover, i double checked and the joints limits are the good one so the robots should be able to execute the path
Related Issues
This problem is also described here for a Universal Robot (+ see linked video).
Hi @jean7474! Thanks for bringing this to our attention. There could be multiple reasons causing this issue.
Could you please check if the robot arm’s joints are within the operational limits? Maybe the command is trying to move the joint beyond its limit?
Maybe there is some collision between joints?
Do you have any warnings from the log?
If you can share a minimal setup, we can try to replicate and investigate it.
i double check and the joints are always within the operational limits. And i also tried to remove the joint limits in isaac sim (since the motion plan is executed in moveit which is aware of the limits present in the URDF) but without success. The issue still persists and is very annoying.
From what i understand, Isaac Sim should only be following the motion plan published by moveit2 via topic_based_ros2_control. And since the motion plan sent by moveit is the right one (see video + plot), i don’t know what’s happening in here.
Would it be possible that isaac sim does not support moving many joints at the same time?
I got this issue several months ago and finally solved it by creating the articulation controller using scripts instead of OmniGraph. But I still do not understand what is going wrong with OmniGraph.
Details about my issue are also provided in my earlier question, I believe it is the same issue discussed here.
For a minimal setup, you can check the video link in my earlier question (with necessary USD files, ROS 2 package files, and step-by-step instructions provided).