Sensors#

Sensors provide batched measurements of simulation state and camera images.

Choose a sensor#

Sensor

Measurement

Typical use

Camera

Renderer-produced color, depth, normals, motion, and segmentation images

Vision observations and synthetic data

Ray Caster

First collision locations for configurable ray patterns

Terrain sensing, lidar-style queries, and ray-cast cameras

Contact Sensor

Net and filtered contact forces, contact points, friction, and contact timing

Locomotion, grasping, and collision events

Frame Transformer

Relative and world poses for configured frames

End-effector, foot, and object tracking

Inertial Measurement Unit (IMU)

Angular velocity and proper linear acceleration

Inertial observations

Pose Velocity Acceleration (PVA) Sensor

Ground-truth pose, velocity, coordinate acceleration, and projected gravity

State estimation and privileged observations

Joint Wrench Sensor

Incoming joint reaction force and torque

Force/torque sensing and contact-rich control

Sampling and data access#

All sensors inherit from SensorBase and share these settings and methods:

  • prim_path selects the prim or prims measured in every cloned environment.

  • update_period sets the sampling period in simulated seconds. A value of 0.0 samples every simulation step.

  • update() advances the sensor clock. Sensor data is evaluated lazily when the data property is read, unless recomputation or debug visualization is requested.

  • reset() clears per-environment timestamps and internal state.

Set scene.cfg.lazy_sensor_update=False to refresh data during scene.update(dt). Sensors keep their own sampling periods and reset state. Sensors that support batching refresh together; cameras batch captures by renderer.

Sensor data is exposed through ProxyArray buffers, including camera outputs. Use the torch property for a cached zero-copy Torch view or warp for the underlying Warp array.