[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.

graph TD %% Inheritance relationships (deprecated) Generic["Generic (deprecated)"] --> RangeSensor["RangeSensor (deprecated)"] Lidar["Lidar (deprecated)"] --> RangeSensor

Key Components#

Range Sensor Schemas (Deprecated)#

Deprecated since 6.2.0: The range sensor schemas are deprecated. Use IsaacRaycastSensor with isaacsim.sensors.experimental.physics or isaacsim.sensors.experimental.rtx instead.

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.physx extension. Use IsaacRaycastSensor from the isaacSensorSchema plugin with isaacsim.sensors.experimental.physics or isaacsim.sensors.experimental.rtx instead.

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.physx extension. Use IsaacRaycastSensor with isaacsim.sensors.experimental.physics instead.

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

robot_schema#

IsaacRobotAPI#
isaac:changelog#
isaac:description#
isaac:license#
isaac:namespace#
isaac:robotType#
isaac:source#
isaac:version#
IsaacLinkAPI#
isaac:nameOverride#
IsaacSiteAPI#
isaac:Description#
isaac:forwardAxis#
IsaacJointAPI#
isaac:actuator#
isaac:NameOverride#
isaac:physics:DofOffsetOpOrder#
IsaacSurfaceGripper#
isaac:coaxialForceLimit#
isaac:maxGripDistance#
isaac:retryInterval#
isaac:shearForceLimit#
isaac:status#
IsaacAttachmentPointAPI#
isaac:clearanceOffset#
isaac:forwardAxis#