Collision detection script working in CPU mode and not on GPU

Isaac Sim Version

5.0.0

Operating System

Ubuntu 22.04

GPU Information

  • Model: NVIDIA-SMI 550.144.03
  • Driver Version: 550.144.03

Topic Description

Getting Collision messages when simulation is run on CPU and no messages appear when simulation is run on GPU

Detailed Description

I am working with a panda robot in an environment where there are lots of human organs . I want to train my robot for a pick and place task in such a way that collisions with human organs are minimal. For this I am using collision api and the messages generated by the same. But the issue is if I am running the below script on CPU, I am able to see collision messages. But when I am running the following script on GPU I am not able to see any collision messages. I am using orbitsurgical environment.

The collisionlistener script can be run through Window –> script editor , after loading the usd file :

collisionlistener.zip (667 Bytes)

I have already change the mesh to sdf as someone wrote before that sdf is supported on GPU but still I am not able to see any collision messages. I have also enabled GPU dynamics option which is under PhysicsScene but still no collision messages while on GPU. And the object with which collisions are happening are all rigid objects.

Steps to Reproduce

  1. I am using orbitsurgical, so please enable the orbitsurgical environment and then run the following commands.I have made my own environment but anyone can understand what my issue is by using the following command: ${IsaacLab_PATH}/isaaclab.sh -p source/standalone/environments/zero_agent.py --task Isaac-Reach-Franka-v0 --num_envs 1 to run the simulation on GPU and ${IsaacLab_PATH}/isaaclab.sh -p source/standalone/environments/zero_agent.py --task Isaac-Reach-Franka-v0 --device cpu --num_envs 1 to run simulation on CPU and then run the previous shared collisionlistener script after the environment is loaded and see that in case of CPU the collisioin messages appear and in case of GPU collision message doesn’t appear.

Error Messages

Screenshots or Videos

Hi @harshros2, thank you for posting your issue. I was able to reproduce the error on my side so it seems like this is a known problem. I will report it and get back to you on updates. For now you will have to stick with CPU mode. Sorry for the inconvenience.

1 Like

Hi @harshros2,

Unfortunately, collision detection is only supported in CPU at the moment. Sorry for the inconveniences.

By the way, instead of subscribing a callback function to PhysicsStep you can use the Isaac Sim APIs: [isaacsim.core.api] Isaac Sim Core — Isaac Sim

hi @harshros2 ,I’m also working with a surgical simulation where human organs (modeled as deformable bodies) interact with a robot(rigid body). I wanted to confirm: can I get contact reports between deformable bodies (soft tissues/organs) and rigid bodies (robot)

thankyou for your answer

@bbhlxozvce, you can get contact reports, but if you are running in CPU Physics, not GPU physics.

@michalin,hi, it is mentioned on this website that deformable body do not support contact reports. has this restriction been fixed now? thankyou for your reply.

Omniverse™ Physics and PhysX SDK Limitations — Isaac Sim Documentation

Hi, actually for now I am considering human organs as rigid bodies. I have skipped the contact report method. Rather I have shifted to the alternate method specified on this website: Contact Sensor — Isaac Lab Documentation

The alternate method works with the GPU.

1 Like

@bbhlxozvce sorry let me clarify. You can get contact reports if you are running in CPU Physics. For modeling deformable bodies, you need to be running with GPU Physics, so it is not possible to get contact reports for deformables. Using contact forces as proposed by @harshros2 is a good idea around this limitation.

Hello!

We noticed that this topic hasn’t received any recent responses, so we are closing it for now to help keep the forum organized.

If you’re still experiencing this issue or have additional questions, please feel free to create a new topic with updated details. When doing so, we recommend mentioning or linking to this original topic in your new post—this helps provide context and makes it easier for others to assist you.

Thank you for being part of the NVIDIA Isaac Sim community.

Best regards,
The NVIDIA Isaac Sim Forum Team