Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Action Space Catalog

Each robot offers one or more action modes, chosen at launch via env.robot.action_mode=<mode> (the default mode is marked *). Dims gives action-vector length; Scale multiplies policy output before it reaches the controller. runtime-resolved length depends on the loaded asset (e.g. a joint-space mode with pattern .*) and is read from the action manager when the environment is built.

The machine-readable action spec (env.srb_spec.action) targets the action manager’s runtime terms. Schema-version-2 descriptors name runtime terms directly, e.g. the multicopter cmd_vel, body-acceleration body_vel and task-space delta_twist terms. A schema-version-1 descriptor may split one runtime term into semantic fields, such as lin and ang for the wheeled-drive cmd_vel term, but its summed field dimensions must equal the summed runtime term dimensions. A mismatch of either kind fails the spec build instead of publishing a wrong layout. Groups without descriptors use the schema-version-0 fallback: no semantics, no dimension check. Metadata that carries an unsupported descriptor (the multicopter thrust / multicopter.rotor_thrusts, the task-space quaternion ee_rot / end_effector.orientation, or the velocity-labelled body lin / body.linear_velocity) is rejected on load.

Task-space modes publish one runtime-length delta_twist term: three position-delta channels (m), then three axis-angle rotation-delta channels (rad); position-only inverse kinematics uses the first three. Variable-stiffness operational-space modes append six stiffness channels, and full-impedance modes append six stiffness and then six damping-ratio channels.

Multicopter Body Acceleration (body_acc on the multicopters) is a velocity command despite its name: four channels (linear_x, linear_y, linear_z, angular_z) are clamped to [-1, 1] and multiplied by the scale into m/s and rad/s, and x and y are rotated by the current yaw. Body Acceleration (body_acc on the orbital bodies) is an acceleration command: six channels are clamped to [-1, 1] and multiplied by the scale into a linear (m/s²) and angular (rad/s²) acceleration in the world frame, which is integrated into the root velocity as acceleration * physics_dt on every physics step. The velocity change over one environment step is therefore acceleration * step_dt whatever the decimation. The relative controller variant, when configured, expresses the same command in the body frame.

Task-space modes (diff_ik, osc_*, smooth_osc) act on the tool centre point that tasks observe as robot_ee (the tf_end_effector target): the manipulator’s flange frame composed with the mounted tool’s TCP, or the bare flange when no tool is mounted. The environment config sets every such term’s body_offset to that frame. Isaac Lab’s task-space terms carry the body Jacobian to it in the articulation root frame, the frame the end-effector pose and velocity are measured in (a term’s base_name, when set, must name the root body), and the operational-space terms damp the TCP velocity derived from the flange link frame rather than its centre of mass. A pure rotation command therefore turns the tool about its TCP.

RobotModeControllerDimsScale
Canadarm3diff_ik *Differential Inverse Kinematics60.1
Canadarm3joint_pos_relRelative Joint Position71.0
Frankadiff_ik *Differential Inverse Kinematics60.1
Frankaosc_fixedOperational Space Controller6pos=0.1, ori=0.1
Frankaosc_var_stiffnessOperational Space Controller12pos=0.1, ori=0.1, stiffness=120.0
Frankaosc_var_fullOperational Space Controller18pos=0.1, ori=0.1, stiffness=120.0, damping=1.0
Frankajoint_pos_relRelative Joint Position71.0
Kinova J2N6Sdiff_ik *Differential Inverse Kinematics60.1
Kinova J2N6Sjoint_pos_relRelative Joint Position61.0
Kinova J2N7Sdiff_ik *Differential Inverse Kinematics60.1
Kinova J2N7Sjoint_pos_relRelative Joint Position71.0
Kinova Gen3N7diff_ik *Differential Inverse Kinematics60.1
Kinova Gen3N7osc_fixedOperational Space Controller6pos=0.1, ori=0.1
Kinova Gen3N7osc_var_stiffnessOperational Space Controller12pos=0.1, ori=0.1, stiffness=120.0
Kinova Gen3N7osc_var_fullOperational Space Controller18pos=0.1, ori=0.1, stiffness=120.0, damping=1.0
Kinova Gen3N7smooth_oscSmooth Operational Space Controller6pos=0.1, ori=0.1
Kinova Gen3N7joint_pos_relRelative Joint Position71.0
Levion Armsdual_arm_joint_pos_abs *Joint Position To Limits41.0
So Arm100 D5diff_ik *Differential Inverse Kinematics60.05
So Arm100 D5osc_var_stiffnessOperational Space Controller12pos=0.05, ori=0.05, stiffness=120.0
So Arm100 D5joint_pos_relRelative Joint Position51.0
So Arm100 D7diff_ik *Differential Inverse Kinematics60.05
So Arm100 D7joint_pos_relRelative Joint Position71.0
Unitree Z1diff_ik *Differential Inverse Kinematics60.05
Unitree Z1joint_pos_relRelative Joint Position61.0
Ur3diff_ik *Differential Inverse Kinematics60.1
Ur3osc_fixedOperational Space Controller6pos=0.1, ori=0.1
Ur3osc_var_stiffnessOperational Space Controller12pos=0.1, ori=0.1, stiffness=120.0
Ur3osc_var_fullOperational Space Controller18pos=0.1, ori=0.1, stiffness=120.0, damping=1.0
Ur3joint_pos_relRelative Joint Position61.0
Ur3Ediff_ik *Differential Inverse Kinematics60.1
Ur3Eosc_fixedOperational Space Controller6pos=0.1, ori=0.1
Ur3Eosc_var_stiffnessOperational Space Controller12pos=0.1, ori=0.1, stiffness=120.0
Ur3Eosc_var_fullOperational Space Controller18pos=0.1, ori=0.1, stiffness=120.0, damping=1.0
Ur3Ejoint_pos_relRelative Joint Position61.0
Ur5diff_ik *Differential Inverse Kinematics60.1
Ur5osc_fixedOperational Space Controller6pos=0.1, ori=0.1
Ur5osc_var_stiffnessOperational Space Controller12pos=0.1, ori=0.1, stiffness=120.0
Ur5osc_var_fullOperational Space Controller18pos=0.1, ori=0.1, stiffness=120.0, damping=1.0
Ur5joint_pos_relRelative Joint Position61.0
Ur5Ediff_ik *Differential Inverse Kinematics60.1
Ur5Eosc_fixedOperational Space Controller6pos=0.1, ori=0.1
Ur5Eosc_var_stiffnessOperational Space Controller12pos=0.1, ori=0.1, stiffness=120.0
Ur5Eosc_var_fullOperational Space Controller18pos=0.1, ori=0.1, stiffness=120.0, damping=1.0
Ur5Ejoint_pos_relRelative Joint Position61.0
Ur10diff_ik *Differential Inverse Kinematics60.1
Ur10osc_fixedOperational Space Controller6pos=0.1, ori=0.1
Ur10osc_var_stiffnessOperational Space Controller12pos=0.1, ori=0.1, stiffness=120.0
Ur10osc_var_fullOperational Space Controller18pos=0.1, ori=0.1, stiffness=120.0, damping=1.0
Ur10joint_pos_relRelative Joint Position61.0
Ur10Ediff_ik *Differential Inverse Kinematics60.1
Ur10Eosc_fixedOperational Space Controller6pos=0.1, ori=0.1
Ur10Eosc_var_stiffnessOperational Space Controller12pos=0.1, ori=0.1, stiffness=120.0
Ur10Eosc_var_fullOperational Space Controller18pos=0.1, ori=0.1, stiffness=120.0, damping=1.0
Ur10Ejoint_pos_relRelative Joint Position61.0
Ur16Ediff_ik *Differential Inverse Kinematics60.1
Ur16Eosc_fixedOperational Space Controller6pos=0.1, ori=0.1
Ur16Eosc_var_stiffnessOperational Space Controller12pos=0.1, ori=0.1, stiffness=120.0
Ur16Eosc_var_fullOperational Space Controller18pos=0.1, ori=0.1, stiffness=120.0, damping=1.0
Ur16Ejoint_pos_relRelative Joint Position61.0
Ur20diff_ik *Differential Inverse Kinematics60.1
Ur20osc_fixedOperational Space Controller6pos=0.1, ori=0.1
Ur20osc_var_stiffnessOperational Space Controller12pos=0.1, ori=0.1, stiffness=120.0
Ur20osc_var_fullOperational Space Controller18pos=0.1, ori=0.1, stiffness=120.0, damping=1.0
Ur20joint_pos_relRelative Joint Position61.0
Ur30diff_ik *Differential Inverse Kinematics60.1
Ur30osc_fixedOperational Space Controller6pos=0.1, ori=0.1
Ur30osc_var_stiffnessOperational Space Controller12pos=0.1, ori=0.1, stiffness=120.0
Ur30osc_var_fullOperational Space Controller18pos=0.1, ori=0.1, stiffness=120.0, damping=1.0
Ur30joint_pos_relRelative Joint Position61.0
Random Ur Manipulatordiff_ik *Differential Inverse Kinematics60.1
Random Ur Manipulatorosc_fixedOperational Space Controller6pos=0.1, ori=0.1
Random Ur Manipulatorosc_var_stiffnessOperational Space Controller12pos=0.1, ori=0.1, stiffness=120.0
Random Ur Manipulatorosc_var_fullOperational Space Controller18pos=0.1, ori=0.1, stiffness=120.0, damping=1.0
Random Ur Manipulatorjoint_pos_relRelative Joint Position61.0
Vispadiff_ik *Differential Inverse Kinematics60.05
Vispaosc_var_fullOperational Space Controller18pos=0.1, ori=0.1, stiffness=120.0, damping=1.0
Vispajoint_pos_relRelative Joint Position61.0
Zeroglab Armsdual_arm_osc *Operational Space Controller24arm_ceiling: pos=0.1, ori=0.1, stiffness=120.0; arm_wall: pos=0.1, ori=0.1, stiffness=120.0
Humanoid21joint_pos *Joint Position To Limitsruntime-resolved1.0
Humanoid28joint_pos *Joint Position To Limitsruntime-resolved1.0
Unitree H1joint_pos *Joint Position To Limitsruntime-resolved1.0
Unitree G1joint_pos *Joint Position To Limitsruntime-resolved1.0
Crazyfliebody_acc *Multicopter Body Acceleration40.5
Ingenuitybody_acc *Multicopter Body Acceleration40.5
Heronthrust *Thrust21.0
Anymal Cjoint_pos *Joint Position To Limitsruntime-resolved1.0
Anymal Djoint_pos *Joint Position To Limitsruntime-resolved1.0
Random Anymal Quadrupedjoint_pos *Joint Position To Limitsruntime-resolved1.0
Cadredrive *Wheeled Drive2lin=0.4, ang=0.7853981633974483
Cassiejoint_pos *Joint Position To Limits121.0
Huskydrive *Wheeled Drive2lin=0.1, ang=0.7853981633974483
Leo Roverdrive *Wheeled Drive2lin=0.4, ang=1.0471975511965976
Mars Roverdrive *Wheeled Drive2lin=0.5, ang=0.7853981633974483
Niftynifty *Joint Velocity12joint_vel_wheel_drive=1.5707963267948966; joint_pos_steer=0.7853981633974483; joint_pos_suspension_yaw=0.5235987755982988; joint_pos_suspension_roll=0.2617993877991494
Open Source Roverdrive *Wheeled Drive2lin=0.2, ang=0.3490658503988659
Perseverancedrive *Wheeled Drive2lin=0.7, ang=1.3089969389957472
Pragyandrive *Wheeled Drive2lin=0.35, ang=1.3962634015954636
Raph Roverdrive *Wheeled Drive2lin=0.4, ang=1.0471975511965976
Raph Roverdrive_filteredFiltered Wheeled Drive2lin=0.4, ang=1.0
Spotjoint_pos *Joint Positionruntime-resolved0.2
Unitree A1joint_pos *Joint Position To Limitsruntime-resolved1.0
Unitree Go1joint_pos *Joint Position To Limitsruntime-resolved1.0
Unitree Go2joint_pos *Joint Position To Limitsruntime-resolved1.0
Random Unitree Quadrupedjoint_pos *Joint Position To Limitsruntime-resolved1.0
Floating Platformthrust_only *Thrust81.0
Floating Platformthrust_and_reactionThrust9thrust=1.0; reaction_wheel_torque=0.05
Int Ball1thrust *Thrust61.0
Int Ball2thrust *Thrust61.0
Apollo Landerthrust *Thrust171.0
Peregrine Landerthrust *Thrust171.0
Vikram Landerthrust *Thrust131.0
Resilience Landerthrust *Thrust91.0
Random Landerthrust *Thrust31.0
Issbody_acc *Body Acceleration62.5
Gatewaybody_acc *Body Acceleration62.5
Cubesatthrust *Thrust121.0
Satellite Mockupthrust *Thrust121.0
Venus Expressthrust *Thrust191.0
Starshipthrust *Thrust181.0
Super Heavythrust *Thrust591.0