Segmentation fault after gym.create_actor

First of all let me thank the developers of Isaac Gym - they have put enormous amount of time and efforts into making it and the possibilities it provides are amazing.
I have successfully installed Isaac Gym and run the examples. However when I tried to change joint_monkey.py example to import my URDF, I ran into two issues:

  1. Segmentation fault at this line
    actor_handle = gym.create_actor(env, asset, pose, “actor”, i, 1)
  2. Wrong number of DOF - as you can see in above screenshot, right_front_arm_j joint is repeated twice, same as with left_back_arm_j joint. Interestingly enough, right_back_arm_j and left_front_arm_j do not seem to appear twice. I checked my URDF and absolutely sure these is only one of each joints.
    https://drive.google.com/file/d/1pOujdX8BfqcjooUcb9r02ZszUDHNF9Oj/view?usp=sharing
    Here is zip archive with meshes, URDF file and my modified example file. Please let me know if there is more information I can provide!

Thanks @dmitrywat - we are debugging this to try to understand what’s wrong. It’s not loading properly in our Isaac Sim URDF importer either.

I’m afraid that it may be a bit before we understand the underlying problem.

Take care,
-Gav

Thanks for the fast reply!
I imported meshes back to Blender yesterday evening and found out that the size dimensions are wrong. I exported them again with proper scale, but ultimately it made no difference, still segmentation fault.

Hello! I wasn’t been able to resolve this issue, since the problem must be in one of the compiled C libraries of Gym. I have tried all the different settings, but wasn’t been able to make my URDF load correctly…
I understand debugging this issue might take time. Could you give a time estimate on when it will be possible to import custom URDF files with OBJ meshes to Isaac Gym?

We don’t have any concrete updates yet, but we’ll be looking into it further soon. We definitely do support other URDFs - we’re just not quite sure yet what’s going wrong with yours. I’m afraid that I can’t give an ETA on when a fix will be available.

Did you update your Google Drive link with the properly scaling?

Take care,
-Gav

I understand. Hopefully that issue can be fixed soon.
Yes, I updated the file to include meshes with proper scaling.
https://drive.google.com/file/d/1pOujdX8BfqcjooUcb9r02ZszUDHNF9Oj/view?usp=sharing

Hi @dmitrywat

We have looked into the source files you’ve provided and we can reproduce the issues you are running into. Our suspicion is that the errors you are getting are related to some of the joints defined in spider.urdf. We’ve noticed that there are a few pairs of joints in spider.urdf that reference the same child link, but have different parent links (i.e. left_front_ankle_j and right_back_ankle_j joints both have left_front_ankle_l as the child link, also similarly with joints left_back_ankle_j and right_front_ankle_j). Joints right_front_shoulder_j and left_back_shoulder_l also appear to have identical properties, but are defined under two separate joints. If spider.urdf can be modified such that each link is only referenced once as a child link for the joints in the asset, then Isaac Gym should have no issues loading in the asset.

Another quick note regarding the mesh filename properties for links is that if the asset_root is set to the segfault directory, then the mesh filename should be meshes/obj/frame.obj instad of …/meshes/obj/frame.obj for example.

Take care,
-Gav

Thank you for your help - after some trial and error I was able to setup training for a custom robot - I created URDF for a simpler robot first and then will move to actual manipulation application.
You can have a look at the results here

I’m really impressed with sped-up that Isaac Gym provides for training! Good job!

1 Like