Action Graph to Move Custom Robot Using ROS

Hello everyone,

I am currently working on a project to simulate and control a custom Mecanum rover using the NVIDIA Isaac Simulator. I am using this specific rover model from GitHub: GitHub - vstoneofficial/mecanumrover_samples: メカナムローバーVer2.0 サンプルROSパッケージ

So far, I have managed to load the URDF file of the robot into the Isaac Simulator, and I can manually set the velocity in the simulator to move the robot. However, I am facing difficulty in controlling the robot using a publication from ROS. I have tried using action graphs, but it hasn’t been successful.

Has anyone encountered a similar issue or has experience controlling a custom robot in the Isaac Simulator with ROS integration? I would greatly appreciate any guidance or suggestions on how to control the Mecanum rover using ROS messages in the Isaac Simulator.

Here are the steps I’ve taken so far:

  1. Loaded the custom URDF model into the Isaac Simulator scene.
  2. Attempted to control the robot using action graphs (unsuccessful).
  3. Manually set the velocity in the simulator to move the robot.
  4. Tried to control the robot using ROS publications (unsuccessful).

Here is a picture of my Action Graph:

Please let me know if you need any more information or clarification about my issue. I’m looking forward to your help and insights.

Do u solved it?

How should the articulation controller be set up?

Hello, so far, I’m able to move the wheels using the articulator controller.
However, I was not able to make the Omnidirectional Controller work.
I think your problem is that you have not put the relationship in the articulator controller.

Hi, I would recommend opening up the Carter ROS1/ROS2 sample and looking at the graph there as a reference. It should give a better understanding of the Subscribe to twist nodes and articulation controller nodes which are needed for controlling your own robot via ROS

Hi @bezerra.ranulfo
what parameters did you put into the USD setup holonomic controller node

I am trying to setup my 4 omni wheel robot urdf in Isaac Sim. I have also created the action graph using the “USD Setup Holonomic Robot” and “Holonomic controller” which I already tested for Kaya robot and it works.

But the “USD Setup Holonomic Robot” node for my 4 wheel omni robot gives me an error as
“Omnigraph error: local variable “joint” referenced before assignment”

Here is my omni robot package containing urdf file and meshes (932.7 KB)


Hi @nilutpolkashyap - The error message “local variable ‘joint’ referenced before assignment” typically indicates that a variable is being used before it has been assigned a value. In the context of the “USD Setup Holonomic Robot” node, this could mean that the node is trying to access a joint of the robot that hasn’t been properly defined or initialized.

Here are a few things you can check:

  1. Ensure that your robot’s USD (Universal Scene Description) file is correctly defined, including all the joints. The joints should be properly named and their properties should be correctly set.

  2. Check the configuration of the “USD Setup Holonomic Robot” node. Make sure that all the required inputs are correctly set. For example, the ‘articulation’ input should be set to the path of your robot’s articulation in the USD stage.

  3. If you’re using a custom extension or script that interacts with the “USD Setup Holonomic Robot” node, make sure that the script is correctly handling the joints of the robot.

Hi @nilutpolkashyap - Closing this since it’s being discussed in other thread.

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