isaaclab_ov.sensors#
Sub-package for ovphysx-backed sensors.
Classes#
The following classes are part of the public isaaclab_ov.sensors API.
An ovphysx contact reporting sensor. |
|
OVPhysX contact sensor configuration. |
|
Data container for the ovphysx contact reporting sensor. |
|
An OVPhysX sensor for reporting frame transforms. |
|
Data container for the OVPhysX frame transformer sensor. |
|
The OVPhysX Inertial Measurement Unit (IMU) sensor. |
|
Data container for the OVPhysX IMU sensor. |
|
OVPhysX joint reaction wrench sensor. |
|
Data container for the OVPhysX joint-wrench sensor. |
|
The OVPhysX Pose Velocity Acceleration (PVA) sensor. |
|
Data container for the OVPhysX PVA sensor. |
- class isaaclab_ov.sensors.ContactSensor[source]#
Bases:
BaseContactSensorAn ovphysx contact reporting sensor.
Reports normal contact forces in world frame using the ovphysx
ContactBindingAPI. The PhysxContactReportAPI USD schema must be applied to each sensor body (setisaaclab.sim.spawner.RigidObjectSpawnerCfg.activate_contact_sensorson the asset spawner).Optional features tracked by
ContactSensorCfg:track_pose— sensor body pose via aRIGID_BODY_POSEtensor binding.filter_prim_paths_expr— per-partner filtered forces viaContactBinding.read_force_matrix().track_air_time— air/contact time tracking andcompute_first_contact()/compute_first_air().
The following config flags are not supported on the ovphysx backend yet (the underlying ovphysx APIs do not expose tensor-friendly per-sensor reads — see
docs/superpowers/specs/2026-04-27-ovphysx-contact-api-gaps.md):track_contact_pointstrack_friction_forces
Setting either flag raises
NotImplementedErrorat initialization.Methods:
- __init__(cfg: ContactSensorCfg)[source]#
Initializes the contact sensor object.
- Parameters:
cfg¶ – The configuration parameters.
- classmethod __new__(*args, **kwargs)#
- class isaaclab_ov.sensors.ContactSensorCfg[source]#
Bases:
ContactSensorCfgOVPhysX contact sensor configuration.
Methods:
- classmethod __new__(*args, **kwargs)#
- __init__(class_type: type[ContactSensor] | str = <factory>, cloning_contexts: tuple[str | type, ...] | None = <factory>, prim_path: str = <factory>, update_period: float = <factory>, debug_vis: bool = <factory>, track_pose: bool = <factory>, track_contact_points: bool = <factory>, track_friction_forces: bool = <factory>, max_contact_data_count_per_prim: int | None = <factory>, track_air_time: bool = <factory>, force_threshold: float | None = <factory>, history_length: int = <factory>, filter_prim_paths_expr: list[str] = <factory>, sensor_shape_prim_expr: list[str] = <factory>, filter_shape_prim_expr: list[str] = <factory>, visualizer_cfg: ~isaaclab.markers.visualization_markers_cfg.VisualizationMarkersCfg = <factory>) None#
- class isaaclab_ov.sensors.ContactSensorData[source]#
Bases:
BaseContactSensorDataData container for the ovphysx contact reporting sensor.
Methods:
- classmethod __new__(*args, **kwargs)#
- __init__()#
- class isaaclab_ov.sensors.FrameTransformer[source]#
Bases:
BaseFrameTransformerAn OVPhysX sensor for reporting frame transforms.
Reports the world-frame transform of one or more target frames relative to a source frame. Both the source frame (
FrameTransformerCfg.prim_path) and target frames (FrameTransformerCfg.target_frames) must attach to rigid bodies — either articulation links or standalone rigid bodies. The two cases are handled uniformly viaTT.RIGID_BODY_POSEtensor bindings.Per-frame offsets (position + quaternion) are applied to the source and to each target. The relative transforms are computed on GPU by the same warp kernel the PhysX backend uses.
Methods:
- __init__(cfg: FrameTransformerCfg)[source]#
Initializes the frame transformer object.
- Parameters:
cfg¶ – The configuration parameters.
- classmethod __new__(*args, **kwargs)#
- class isaaclab_ov.sensors.FrameTransformerData[source]#
Bases:
BaseFrameTransformerDataData container for the OVPhysX frame transformer sensor.
Methods:
- classmethod __new__(*args, **kwargs)#
- __init__()#
- class isaaclab_ov.sensors.Imu[source]#
Bases:
BaseImuThe OVPhysX Inertial Measurement Unit (IMU) sensor.
This sensor models a real IMU that measures angular velocity (gyroscope) and linear acceleration (accelerometer) in the sensor’s body frame. Unlike the PVA sensor, it does not provide pose, linear velocity, angular acceleration, or projected gravity.
Like a real accelerometer, the linear acceleration readings always include the contribution of gravity. The gravity vector is queried from the simulation at initialization.
The sensor can be attached to any prim path with a rigid ancestor in its tree. If the provided path is not a rigid body, the closest rigid-body ancestor is used for simulation queries. The fixed transform from that ancestor to the target prim is computed once during initialization and composed with the configured sensor offset.
Note
Linear acceleration is computed using numerical differentiation from velocities. Consequently, the IMU sensor accuracy depends on the chosen physics timestep. For sufficient accuracy, we recommend keeping the timestep at least 200 Hz.
Methods:
- __init__(cfg: ImuCfg)[source]#
Initializes the IMU sensor.
- Parameters:
cfg¶ – The configuration parameters.
- classmethod __new__(*args, **kwargs)#
- class isaaclab_ov.sensors.ImuData[source]#
Bases:
BaseImuDataData container for the OVPhysX IMU sensor.
Methods:
- classmethod __new__(*args, **kwargs)#
- __init__()#
- class isaaclab_ov.sensors.JointWrenchSensor[source]#
Bases:
BaseJointWrenchSensorOVPhysX joint reaction wrench sensor.
The sensor reads OVPhysX’s incoming joint wrench (a PhysX-backed tensor binding of type
LINK_INCOMING_JOINT_FORCE) for every articulation link and exposes the linear force [N] and angular torque [N·m] components in the child-side joint frame, with torque referenced at the child-side joint anchor. The root body’s entry is included.prim_pathmust point at either the articulation root prim or a parent prim containing a single articulation root in every environment.Methods:
- __init__(cfg: JointWrenchSensorCfg)[source]#
Initialize the OVPhysX joint-wrench sensor.
- Parameters:
cfg¶ – The configuration parameters.
- classmethod __new__(*args, **kwargs)#
- class isaaclab_ov.sensors.JointWrenchSensorData[source]#
Bases:
BaseJointWrenchSensorDataData container for the OVPhysX joint-wrench sensor.
Methods:
- classmethod __new__(*args, **kwargs)#
- class isaaclab_ov.sensors.Pva[source]#
Bases:
BasePvaThe OVPhysX Pose Velocity Acceleration (PVA) sensor.
The sensor reports world-frame pose, body-frame linear and angular velocities, body-frame linear and angular accelerations, and projected gravity. Unlike the
BaseImusensor, linear acceleration here is the coordinate acceleration of the sensor frame (zero at rest,-gin freefall) and does not include the gravity bias.The sensor can be attached to any prim path with a rigid ancestor in its tree. If the provided path is not a rigid body, the closest rigid-body ancestor is used for simulation queries. The fixed transform from that ancestor to the target prim is computed once during initialization and composed with the configured sensor offset.
Note
Linear and angular accelerations are computed using numerical differentiation of the corresponding velocities. Consequently, the PVA sensor accuracy depends on the chosen physics timestep. For sufficient accuracy, we recommend keeping the timestep at least 200 Hz.
Methods:
- __init__(cfg: PvaCfg)[source]#
Initializes the PVA sensor.
- Parameters:
cfg¶ – The configuration parameters.
- classmethod __new__(*args, **kwargs)#
- class isaaclab_ov.sensors.PvaData[source]#
Bases:
BasePvaDataData container for the OVPhysX PVA sensor.
Methods:
- classmethod __new__(*args, **kwargs)#
- __init__()#