IEffortSensor#
Fully qualified name: isaacsim::sensors::experimental::physics::IEffortSensor
-
struct IEffortSensor#
Carbonite interface for managing C++ effort sensors.
Provides engine-agnostic joint effort reading using IPrimDataReader for articulation DOF efforts. Reads projected joint forces from the physics engine for a specified joint.
The plugin is self-driving: it subscribes to PhysX simulation events (eResumed / eStopped) and physics step events internally, so it initializes and processes each substep without any Python relay.
Lifecycle:
acquire via carb::getCachedInterface or pybind11 acquire function
createSensor() for each joint prim path
getSensorReading() to read data (sensors update automatically each substep)
shutdown() on extension unload
Public Functions
-
virtual void shutdown() = 0#
Shut down the manager, destroying all sensors and freeing resources.
-
virtual bool createSensor(const char *jointPrimPath) = 0#
Create an effort sensor for the given joint prim.
Parses the joint path to find the parent articulation root, creates an IArticulationDataView, and resolves the DOF index for the joint. If a sensor already exists for this prim path the call succeeds without creating a duplicate.
- Parameters:
jointPrimPath – USD path to the joint prim (e.g., “/Robot/Arm/RevoluteJoint”).
- Returns:
true on success (sensor created or already exists), false on failure.
-
virtual void removeSensor(const char *jointPrimPath) = 0#
Remove a sensor and free its resources.
- Parameters:
jointPrimPath – USD path used when the sensor was created.
- virtual EffortSensorReading getSensorReading(
- const char *jointPrimPath,
Get the latest reading for a sensor.
- Parameters:
jointPrimPath – USD path used when the sensor was created.
- Returns:
Sensor reading. isValid is false if sensor is disabled or not found.