[isaacsim.robot.schema] Isaac USD schema#
Version: 6.3.6
Overview#
The isaacsim.robot.schema extension provides comprehensive USD schemas for robot modeling and sensor simulation in Isaac Sim. This extension defines formal USD schemas for range sensors, Isaac-specific sensors, and robot structural components, enabling standardized representation of robotic systems in USD stages. The extension is loaded early in the Kit startup sequence to ensure all robot-related schemas are available to other extensions.
Key Components#
Range Sensor Schemas (Deprecated)#
Deprecated since 6.2.0: The range sensor schemas are deprecated. Use
IsaacRaycastSensorwithisaacsim.sensors.experimental.physicsorisaacsim.sensors.experimental.rtxinstead.
The **omni.isaac.RangeSensorSchema** module provides schemas for distance-measuring sensors. The base RangeSensor class defines common attributes for range detection, visualization controls, and detection thresholds.
Lidar extends the range sensor with sophisticated scanning capabilities including field-of-view configuration, rotation rates, and semantic data collection. It supports both continuous scanning and single-shot operation modes.
Generic offers a simplified range sensor implementation with basic sampling rate and streaming controls for custom sensor implementations.
Isaac Sensor Schemas#
The **omni.isaac.IsaacSensorSchema** module provides specialized sensors for robotics simulation. IsaacBaseSensor serves as the foundation class with basic enable/disable functionality.
IsaacContactSensor detects contact forces with configurable thresholds and measurement periods, providing visual feedback through colored sphere representation.
IsaacImuSensor simulates inertial measurement units with configurable filter widths for linear acceleration, angular velocity, and orientation measurements.
IsaacLightBeamSensor (deprecated since 6.2.0) creates light curtain sensors with multiple rays, configurable beam direction, and range detection capabilities for industrial automation applications. Use IsaacRaycastSensor with isaacsim.sensors.experimental.physics instead.
IsaacRtxLidarSensorAPI and IsaacRtxRadarSensorAPI provide API schema extensions for RTX-accelerated sensor implementations.
Robot Structural Schemas#
The usd.schema.isaac module defines the robot modeling framework through several interconnected schemas:
IsaacRobotAPI serves as the primary robot schema, managing metadata like description, version, and license information. It maintains ordered relationships for robot links and joints that define the kinematic structure.
IsaacLinkAPI and IsaacJointAPI provide specialized schemas for robot components with name overrides and configuration options. The joint API includes DOF offset ordering and actuator specifications.
IsaacSiteAPI defines reference points within the robot structure with directional information for attachment and measurement purposes.
IsaacSurfaceGripper implements specialized gripping mechanisms with force limits, attachment point management, and status tracking for object manipulation.
IsaacAttachmentPointAPI configures individual contact points within surface grippers with clearance offsets and directional constraints.
Functionality#
The extension provides utility functions for robot structure management and schema migration. PopulateRobotSchemaFromArticulation and RecalculateRobotSchema automatically discover and organize robot components from physics articulations. These functions traverse joint connections to build ordered link and joint relationships while applying appropriate API schemas.
The schema migration system handles deprecated schema updates, replacing obsolete APIs like IsaacReferencePointAPI with current equivalents. Joint migration specifically handles deprecated per-axis DOF offset attributes, converting them to the modern token array format.
Robot tree generation creates hierarchical representations of robot structures through RobotLinkNode objects, enabling kinematic analysis and visualization. The tree structure supports parent-child relationships and joint connectivity information.
Integration#
The extension loads early in the Kit startup sequence to ensure schema availability for other robot-related extensions. It integrates with USD’s schema system through proper inheritance hierarchies, with range sensors inheriting from UsdGeom.Xformable and robot APIs extending UsdAPISchemaBase.
The schemas work together to create complete robot descriptions - robot APIs organize structural components, sensor schemas define sensing capabilities, and utility functions maintain consistency across the robot definition. This integrated approach enables comprehensive robot modeling from kinematic structure to sensor simulation within a unified USD framework.
Enable Extension#
The extension can be enabled (if not already) in one of the following ways:
Define the next entry as an application argument from a terminal.
APP_SCRIPT.(sh|bat) --enable isaacsim.robot.schema
Define the next entry under [dependencies] in an experience (.kit) file or an extension configuration (extension.toml) file.
[dependencies]
"isaacsim.robot.schema" = {}
Open the Window > Extensions menu in a running application instance and search for isaacsim.robot.schema.
Then, toggle the enable control button if it is not already active.
USD Schemas#
rangeSensorSchema#
Deprecated since 6.2.0: The rangeSensorSchema (RangeSensor, Lidar, Generic) is deprecated. Used only by the deprecated
isaacsim.sensors.physxextension. UseIsaacRaycastSensorfrom theisaacSensorSchemaplugin withisaacsim.sensors.experimental.physicsorisaacsim.sensors.experimental.rtxinstead.
RangeSensor#
enabled#
Flag used to enable or disable this sensor
drawPoints#
Set to true to draw debug points on sensor hit locations
drawLines#
Set to true to draw debug lines representing sensor ray casts
minRange#
Minimum range for sensor to detect a hit
maxRange#
Maximum range for sensor to detect a hit
Lidar#
yawOffset#
Offset along yaw axis to account for sensor having a different forward direction
rotationRate#
Rotation rate of sensor in Hz, set to zero to make sensor fire all rays at once
highLod#
Enable High Lod for 3D Lidar sensor
horizontalFov#
Horizontal Field of View in degrees
verticalFov#
Vertical Field of View in degrees
horizontalResolution#
Degrees in between rays for horizontal axis
verticalResolution#
Degrees in between rays for vertical axis
enableSemantics#
Set to true to get semantic information of sensor hit locations
Generic#
samplingRate#
sampling rate of the custom sensor data in Hz
streaming#
Streaming lidar point data. Default to true
isaacSensorSchema#
IsaacBaseSensor#
enabled#
Set to True to enable this sensor, False to Disable
IsaacRtxLidarSensorAPI#
IsaacRtxRadarSensorAPI#
IsaacContactSensor#
threshold#
Min, Max force that is detected by this sensor, units in (kg) * (stage length unit) / (second)^2
radius#
Radius of the contact sensor, unit in stage length unit
color#
Color of the contact sensor sphere, R, G, B, A
sensorPeriod#
Time between each sensor measurement, unit in simulator seconds
IsaacImuSensor#
sensorPeriod#
Time between each sensor measurement, unit in simulator seconds
linearAccelerationFilterWidth#
Number of linear acceleration measurements used in the rolling average
angularVelocityFilterWidth#
Number of angular velocity measurements used in the rolling average
orientationFilterWidth#
Number of orientation measurements used in the rolling average
IsaacLightBeamSensor#
Deprecated since 6.2.0: IsaacLightBeamSensor is deprecated. Used only by the deprecated
isaacsim.sensors.physxextension. UseIsaacRaycastSensorwithisaacsim.sensors.experimental.physicsinstead.
numRays#
Number of rays for the light curtain, default 1
curtainLength#
Total length of the light curtain
forwardAxis#
Direction to shoot the light beam in [AxisX, AxisY, AxisZ]
curtainAxis#
Direction to expand the light curtain in [AxisX, AxisY, AxisZ]
minRange#
Minimum range for sensor to detect a hit
maxRange#
Maximum range for sensor to detect a hit
IsaacRaycastSensor#
numRays#
Number of rays cast by this sensor (unsigned int, authoritative count)
minRange#
Minimum range for sensor to detect a hit, in stage length units
maxRange#
Maximum range for sensor to detect a hit, in stage length units
rayOrigins#
Per-ray origin translations in the sensor’s local coordinate frame
rayDirections#
Per-ray cast direction vectors in the sensor’s local coordinate frame
rayTimeOffsets#
Per-ray time offsets in seconds, relative to the current simulation time
outputFrameOfReference#
Coordinate frame for hit positions and hit normals (‘SENSOR’ or ‘WORLD’)
reportHitPrimPaths#
When true, the sensor reading includes the USD prim path of each hit surface