Skip to navigation

Sensors

View as Markdown

Sensors provide batched measurements of simulation state and camera images.

Choose a sensor

SensorMeasurementTypical use
cameraRenderer-produced color, depth, normals, motion, and segmentation imagesVision observations and synthetic data
ray_casterFirst collision locations for configurable ray patternsTerrain sensing, lidar-style queries, and ray-cast cameras
contact_sensorNet and filtered contact forces, contact points, friction, and contact timingLocomotion, grasping, and collision events
frame_transformerRelative and world poses for configured framesEnd-effector, foot, and object tracking
imuAngular velocity and proper linear accelerationInertial observations
pvaGround-truth pose, velocity, coordinate acceleration, and projected gravityState estimation and privileged observations
joint_wrench_sensorIncoming joint reaction force and torqueForce/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.