Contact Sensor

The Contact Sensor extension uses the PhysX Contact report API to generate a sensor reading similar to what one would have with contact cells, or pressure based sensors placed on the surface of an object. The key differences from using the Contact sensor API are that it provides the contact data filtered by the object it was placed in, along with an optional filter only consider contacts in a specific region of the object - For example: imagine a quadruped robot with sensors in its feet. While in the simulation the entire leg is treated as a rigid body, the only place we can measure contact are on the foot pads, so we can add a region filter that will discard any contacts outside of that boundary. The Contact Sensor API also provides a persistent contact data, even when the PhysX engine stops streaming contacts to preserve compute time.

While the simulation provides full information about the contacts, such as contact pair, Normal and contact points, the sensor API was designed to match real-data obtained by single-cell contact pads. Ultimately, if full contact data is needed - the Contact Sensor Raw data API gets you the filtered contact information without any changes from what was acquired in PhysX.

See the Isaac Sim Conventions documentation for a complete list of Omniverse Isaac Sim conventions.

Isaac Example

  • Contact Sensor Example: Isaac Examples > Sensors > Contact

To run the Example:

  1. Go to the top menu bar and click Isaac Examples > Sensors > Contact.

  2. You should now see a window containing the sensor’s force readings color coded by each ant’s arm.

  3. Press the Open Source Code button to view the source code. The source code illustrates how to load an Ant body into the scene and then add sensors to it using the Python API.

  4. Press the PLAY button to begin simulating.

  5. Press SHIFT + LEFT_CLICK to drag the ant around and see changes in the readings.



For more information on contact sensor usage, checkout Using Sensors: Contact Sensor