JointStateSensorImpl#

Fully qualified name: isaacsim::sensors::experimental::physics::JointStateSensorImpl

class JointStateSensorImpl : public isaacsim::sensors::experimental::physics::IJointStateSensor#

Implementation of IJointStateSensor: manages per-articulation joint state sensors that report DOF positions, velocities, and efforts.

Uses IArticulationDataView for engine-agnostic access. Subscribes to simulation events (eResumed / eStopped) and physics step events to drive updates.

Public Functions

JointStateSensorImpl()#
~JointStateSensorImpl()#
JointStateSensorImpl(const JointStateSensorImpl&) = delete#
JointStateSensorImpl &operator=(const JointStateSensorImpl&) = delete#
virtual void shutdown() override#

Shut down the manager, destroying all sensors and freeing resources.

virtual int64_t createSensor(
const char *articulationRootPath,
) override#

Create a joint state sensor for the given articulation root prim.

Parameters:

articulationRootPath – USD path to the articulation root prim.

Returns:

Unique sensor ID (>= 0), or -1 on failure.

virtual void removeSensor(int64_t sensorId) override#

Remove a sensor and free its resources.

Parameters:

sensorId – ID returned by createSensor().

virtual JointStateSensorReading getSensorReading(
int64_t sensorId,
) override#

Get the complete joint state reading for a sensor.

On a valid reading, all array pointers in the returned struct point into sensor-internal storage and remain valid until the next physics step or sensor destruction.

Parameters:

sensorId – ID returned by createSensor().

Returns:

Complete reading with dofCount, dofNames, positions, velocities, and efforts. isValid is false before the first physics step or if the sensor is disabled.