New Problems with the USD Setup Holonomic Robot node in IsaacSim 4.2.0

Isaac Sim Version

4.2.0

Operating System

Ubuntu 22.04

GPU Information

  • Model: RTX 3060
  • Driver Version: 4.8.0? Whatever the 2nd newest version was in the Ubuntu driver installer

Topic Description

Detailed Description

I’m trying to implement holonomic control on Omnigraphs for a 4 wheeled mecanum robot I’m using for research. I added the isaacmecanumwheel:angle and isaacmecanumwheel:radius attributes at -135 and .055 respectively on each wheel, which I did because I was following the troubleshooting info provided in this forum post "USD Setup Holonomic Robot" node not working for holonomic robot. Now i get a “list index out of range” error at line 86 of the OgnHolonomicRobotUsdSetup.py file, which appeared to be an expected error response from the catch statement at that line. I dont know why the error is happening though, and my best guess is that maybe something is wrong with my model or mesh or some prim path issue. The node is pointing towards the base link of the robot for comPrim, and the robot for the robotPrim. Any help on this matter would be greatly appreciated, thank you kindly.

Steps to Reproduce

  1. Add the above attributes and values to each wheel
  2. create the holonomic control omnigraph shown in this article https://medium.com/@kabilankb2003/mastering-holonomic-control-with-nvidia-isaac-sim-and-ros2-a-guide-for-the-kaya-robot-0b8ad6706eaa
  3. run the omnigraph

Error Messages

Additional Information

What I’ve Tried

I tried using print statements in the .py file to see where it might be freaking out, but none of them outputted anything. I’m not sure where its supposed to be outputting if I did print something, I’m guessing console?

Related Issues

Hi @amjack1234! Isaac Sim 4.2 has reached its EOL. Could you please try Isaac Sim 4.5 or Isaac Sim 5.0? The official release of Isaac Sim 5.0 should come out by the end of this month.

Got it, I will try updating to 4.5. Do you have any specific directions for updating from 4.2 to 4.5? Is there any way I can solve the USD Setup Node problem in 4.2 so I don’t have to update? If I have no choice but to update, I want to make sure the update to 4.5 is as clean as possible so that I can avoid any potential errors. Keep in mind, avoiding an update to 4.5 all together would make things much easier on my end.

Hi @zhengwang ! I ended up updating to 4.5.0, and I loaded my old .usd that I had from 4.2.0. I remade the omnigraph and managed to replicate the error I had before. I tried changing the custom radius and angles attributes from uniform to varying, and I changed the values in those attributes as well. I’ll try making a whole new usd, but my URDF that worked fine in 4.2.0 is not working in 4.5.0 because some of the prims are null for some reason. I read in the forum posts I linked earlier about the root prim being wrong? I have no idea if thats the issue, but if so, how do I check which prims are the comPrim and the robotPrim that the node is asking for? Anyway, thanks for the help!

@amjack1234 Do you mind sharing your USD for us to replicate the issue?

collision_back_wheels_16-20250728T215113Z-1-001.zip (4.3 MB)
Here it is!

@zhengwang The file I uploaded above is just the folder that was created from the old 4.2.0 urdf importer tool. The USD should be in there, but I don’t know how it will run on 4.5.0. On my 4.5.0 the usd opened fine, but thats as far as I got with trying to run my omnigraph.

@zhengwang I just made a new USD file all in 4.5.0, added the attributes on each wheel link, and ran the omnigraph. I managed to replicate the same error. Here is the usd. Thank you so much for your time so far!

attempt_22-20250729T145038Z-1-001.zip (4.3 MB)

@zhengwang ok so I’ve done some digging, and I think the issue is with how my links are set up in Isaacsim. I looked at the class that was being referenced by the node, and put some debugging print statements in there. It keeps spitting out that /turtlebot3_waffle/wheel_left_link has no targets. This is strange to me, as the wheel_right_joint DOES have valid prim paths for Body0 and Body1. Here is my urdf so that you can see what Isaacsim got when I imported it and opened the USD it created.

Oh i guess urdfs don’t upload, so here is a relevant snippet of it (all of the wheels and links are the same as the one I am sharing).

Edit: for some reason, the code I’m pasting isn’t pasting correctly, so I am using a .png of the code instead

Edit 2: This is from a .urdf.xacro

Hi all! So I still have the issue, but right now I’m trying to fix it by making sure my base footprint is tied to a “world” link to see if that works. However, I’m not exactly sure how to do that, as when I define the world link, it gets an error saying “null prim.” I also can’t define a joint for it as there is not world joint, and I just wanna make sure my actual joints have the right targets.

Hi @amjack1234 Thanks for your file and sorry for my late reply. I have already reached out to the internal team about this issue.

Our engineer found several problems of your USD file:

  1. The graph is missing the wheel joint names on the articulation controller

  2. It is missing the wheel radius, mecanum angles, wheel positions and orientations

  3. The wheel themselves are modeled as a single rigid body

Here is a reference how O3dyn is:



@zhengwang thanks for the response! About the joint names in the articulation controller, I thought the USD Holonomic Robot Setup node handles that by making a connection between DOF joint and Articulation Controller Joint Indicies? Also about the rigid body, what can I do in my URDF to change it so that the wheels are individually their own thing (and not a rigid body)?

also @zhengwang, the wheel radius, wheel orientations, wheel positions, and other stuff are all outputs of the node I’m having a problem with. I’m aware that the other two nodes do not have the inputs they need because the inputs they need come from the node that isn’t working (the USD Setup Holonomic Robot node). The thing that I was unaware of though was the rigid body modeling in problem 3. Do you have any guidance for how to fix that?

IMPORTANT UPDATE: Thanks everyone for your help, especially @zhengwang, but I ended up solving the problem on my own. It seemed to have nothing to do with the possible issues presented here. The problem was that my URDF was being imported as an instance or payload for some reason, which threw off the node’s traversal of the articulation tree.

FIX: Import the urdf in stage (not as a referenced file) so that its just treated as a prim without references or payloads (the robot prim didn’t have any arrow on it when I got it to work). From here, build the omnigraph as normal. It finally recognized the correct targets and worked fine.

Thanks again for all the help!

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