Detect contact/collision between world mesh and robot mesh

I can’t figure out how I can detecting when one of my wheels is in contact/colliding with a mesh in my world. The world I’m using is a racetrack that have a mesh for the inner and other edge of the track (with a height). Seen in the two images below. I want to be able to detect with python when one wheel is in contact with an edge. What would be the correct object type to load the world to easily get access to it? Should the world usd file be loaded as a Articulation or a DynamicCapsule or something else? And what would be the correct way to detect a contact/collision between a mesh of the world and a mesh of the robot?


Hi,
You can use directly omni.physx tools to get access to contact reports. Please see physics demos - contact report how to do that. In short you will have to apply ContactReportAPI on the wheels and then you can get the contacts in python using a subscription.
Regards,
Ales

1 Like