Why are the ros2_control commands ignored when Isaac Sim is running?

I face the fact that the commands to the robot are sometimes ignored.
I noticed that when commands to the robot are ignored, Isaac Sim is up and not ignored when it is not up.

The following video shows the change in joint_command topics from topic_based_ros2_control with only the environment, without generating the robot itself.
The command alternates between 10 and -10, which is sometimes not reflected.

Why are the commands sometimes ignored when Isaac Sim is up?

EDIT: I made ros2_bridge disable. But the command sometimes ignored.

In ros2_control_demo_example_3, the problem is caused.

So this problem seems to affect not only topic_based_ros2_control but also ros2_control.

It’s possible that the issue you’re experiencing is related to the ROS_DOMAIN_ID. If multiple ROS2 systems on the same network are using the same domain ID, it could cause conflicts and lead to commands being ignored. Could you please check the ROS_DOMAIN_ID settings on your systems to ensure they are unique?

Hi @VickNV ,
Thank you for your reply.

I set the environment variable: ROS_LOCALHOST_ONLY=1, ROS_DOMAIN_ID=189, but I get same result.
In addition, the simple topic communication is not affected. The hardware_interface connection may be only affected.

Should I ask to ros2_control contributer too?

I changed ros2_contrllers/forward_command_controller to check the controller behaviour.
forward_command_controller.zip (27.6 KB)

This change shows the command is lost between topic pub/sub.

I will try to check the controller QoS.
On the other hand, why is the topic missing when Isaac Sim is running?

I don’t know why fast dds doesn’t work well, but cyclone dds solved the problem.

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