PhysX Generic Sensor#

The PhysX SDK generic sensor is deprecated. Use the Physics Raycast Sensor (isaacsim.sensors.experimental.physics.RaycastSensor) as the replacement. The raycast sensor accepts explicit per-ray origin offsets and direction vectors, making it a direct replacement for custom scanning patterns.

Concept mapping#

PhysX SDK Generic Sensor

Physics Raycast Sensor

sensor_pattern (Nx2 azimuth/zenith array)

rayDirections (Nx3 Cartesian direction vectors). Convert azimuth/zenith to Cartesian: dx = cos(zenith) * cos(azimuth), dy = cos(zenith) * sin(azimuth), dz = sin(zenith).

origin_offsets (Nx3 array)

rayOrigins (Nx3 array). Same semantics.

batch_size / sampling_rate / streaming mode

rayTimeOffsets (per-ray time offsets in seconds). The sensor fires only rays whose time offsets fall within the current physics step, producing a sweeping pattern without manual batching.

_range_sensor Python interface

RaycastSensor class.

send_next_batch() / set_next_batch_rays()

Not needed. All rays are defined at creation time and the sensor handles timing internally via rayTimeOffsets.

Interactive example#

The Physics Raycast Sensor example demonstrates all three sensor configurations (solid state, rotating, and beam curtain) in a single scene:

  • GUI: Open Robotics Examples > Sensors > Physics Raycast Sensor and click Load Scene.

  • Source code: source/extensions/isaacsim.sensors.physics.examples/isaacsim/sensors/physics/examples/raycast_sensor.py

See Physics raycast sensor for the full documentation, including Python API usage and OmniGraph workflows.