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

Environments – Manipulation (Static)

Fixed-base robot arm environments support manipulation tasks.

Manipulation (_manipulation)

Template environment for fixed-base manipulation tasks. Configure via env.robot=<manipulator>.

_manipulation

Episode Length10.0s (500 steps)
Reward Terms4
Default RobotFranka

Compatible Robots

Canadarm3 | Franka | Kinova J2N6S | Kinova J2N7S | Kinova Gen3N7 | Levion Arms | So Arm100 D5 | So Arm100 D7 | Unitree Z1 | Ur3 | Ur3E | Ur5 | Ur5E | Ur10 | Ur10E | Ur16E | Ur20 | Ur30 | Random Ur Manipulator | Vispa | Zeroglab Arms

Reward Breakdown
TermTypeWeightScaleNotes
penalty_action_rateLinear-0.1–
penalty_joint_torqueLinear-0.000025–
penalty_joint_accelerationLinear-0.0005–
penalty_undesired_robot_contactsThreshold-0.5–

Debris Capture (debris_capture)

Capture and securement of floating debris in microgravity with a fixed-base manipulator

Episode Length10.0s (500 steps)
Reward Terms11
Default RobotFranka

Compatible Robots

Canadarm3 | Franka | Kinova J2N6S | Kinova J2N7S | Kinova Gen3N7 | Levion Arms | So Arm100 D5 | So Arm100 D7 | Unitree Z1 | Ur3 | Ur3E | Ur5 | Ur5E | Ur10 | Ur10E | Ur16E | Ur20 | Ur30 | Random Ur Manipulator | Vispa | Zeroglab Arms

Reward Breakdown
TermTypeWeightScaleNotes
penalty_action_rateLinear-0.1–
penalty_joint_torqueLinear-0.000025–
penalty_joint_accelerationLinear-0.0005–
penalty_undesired_robot_contactsThreshold-0.5–
reward_distance_ee_to_objGaussian160.08
reward_graspSoftThreshold16–
penalty_debris_velocity_linLinear-3–
penalty_debris_velocity_angLinear-1–
reward_approach_velocity_alignmentHyperbolic40.1
penalty_approach_speedLinear-2–
penalty_debris_too_farLinear-8–

Termination semantics. distance_debris_too_far drives the penalty_debris_too_far reward and does not set terminated; the finite horizon is reported as truncated.

Success signal: return only. Evaluation reports the return, not a success rate.

Excavation (excavation)

Extraction of granular material (regolith)

Episode Length8.0s (400 steps)
Reward Terms13
Default RobotKinova Gen3N7

Compatible Robots

Kinova Gen3N7

Reward Breakdown
TermTypeWeightScaleNotes
penalty_action_rateLinear-0.05–
penalty_joint_torqueLinear-0.00001–
penalty_joint_accelerationLinear0–
penalty_undesired_robot_contactsLinear0–
reward_approach_pileGaussian1.50.15
reward_scoop_depthTukey2–
reward_scoop_orientationGaussianTracking10.26
reward_liftHyperbolic20.2
penalty_jerkLinear-0.02–
penalty_joint_accLinear-0.000001–
penalty_undesired_contactsLinear-0.5–
terminal_particle_count_scaledScaled10–
terminal_success_bonusScaled50–

Note: The observed heightmap is binned from live particle positions. The pedestal IMU (imu_pedestal) works only with env.num_envs=1.

Success signal: episode info. Evaluation reports a success rate and the return.

Event camera (opt-in; disabled by default). Set env.enable_event_camera_wrist=true to add the wrist event camera.

Excavation Demo (excavation_demo)

Manual excavation demo with presentation-oriented lunar regolith defaults

excavation_demo

Episode Length1800.0s (90000 steps)
Reward Terms13
Default RobotKinova Gen3N7

Compatible Robots

Kinova Gen3N7

Reward Breakdown
TermTypeWeightScaleNotes
penalty_action_rateLinear-0.05–
penalty_joint_torqueLinear-0.00001–
penalty_joint_accelerationLinear0–
penalty_undesired_robot_contactsLinear0–
reward_approach_pileGaussian1.50.15
reward_scoop_depthTukey2–
reward_scoop_orientationGaussianTracking10.26
reward_liftHyperbolic20.2
penalty_jerkLinear-0.02–
penalty_joint_accLinear-0.000001–
penalty_undesired_contactsLinear-0.5–
terminal_particle_count_scaledScaled10–
terminal_success_bonusScaled50–

Modular Assembly (modular_assembly)

Pick-and-place modular elements into an assembly configuration

modular_assembly

Episode Length20.0s (1000 steps)
Reward Terms10
Default RobotFranka

Compatible Robots

Canadarm3 | Franka | Kinova J2N6S | Kinova J2N7S | Kinova Gen3N7 | Levion Arms | So Arm100 D5 | So Arm100 D7 | Unitree Z1 | Ur3 | Ur3E | Ur5 | Ur5E | Ur10 | Ur10E | Ur16E | Ur20 | Ur30 | Random Ur Manipulator | Vispa | Zeroglab Arms

Reward Breakdown
TermTypeWeightScaleNotes
penalty_action_rateLinear-0.1–
penalty_joint_torqueLinear0–
penalty_joint_accelerationLinear-0.0005–
penalty_undesired_robot_contactsThreshold-32–
reward_top_down_orientationGaussianTracking160.25
reward_pair_positionLinear8–
reward_pair_orientationLinear2–
reward_peg_hole_entrance_alignmentLinear8–
reward_peg_hole_alignmentLinear64–
reward_successLinear512–

Multi Peg In Hole (multi_peg_in_hole)

A variation of peg-in-hole assembly with multiple pegs and holes

Episode Length40.0s (2000 steps)
Reward Terms19
Default RobotFranka

Compatible Robots

Canadarm3 | Franka | Kinova J2N6S | Kinova J2N7S | Kinova Gen3N7 | Levion Arms | So Arm100 D5 | So Arm100 D7 | Unitree Z1 | Ur3 | Ur3E | Ur5 | Ur5E | Ur10 | Ur10E | Ur16E | Ur20 | Ur30 | Random Ur Manipulator | Vispa | Zeroglab Arms

Reward Breakdown
TermTypeWeightScaleNotes
penalty_action_rateLinear-0.1–
penalty_joint_torqueLinear-0.000025–
penalty_joint_accelerationLinear-0.0005–
penalty_undesired_robot_contactsThreshold-0.5–
reward_top_down_orientationGaussianTracking10.25
reward_distance_ee_to_objHyperbolic00.25
reward_graspLinear8–
reward_liftLinear4–
reward_align_peg_to_hole_primaryGaussianTracking00.4
reward_align_peg_to_hole_secondaryGaussian00.2
reward_distance_peg_to_hole_entrance_gradualHyperbolic00.16
reward_distance_peg_to_hole_entranceGaussian00.04
reward_distance_peg_to_hole_bottomGaussian00.003
reward_distance_ee_to_objsLinear2.5–
reward_align_pegs_to_holes_primaryLinear8–
reward_align_pegs_to_holes_secondaryLinear4–
reward_distance_pegs_to_holes_entrance_gradualLinear8–
reward_distance_pegs_to_holes_entranceLinear32–
reward_distance_pegs_to_holes_bottomLinear256–

Multi Sample Collection (multi_sample_collection)

A variation of sample collection with multiple samples

Episode Length22.5s (1125 steps)
Reward Terms12
Default RobotFranka

Compatible Robots

Canadarm3 | Franka | Kinova J2N6S | Kinova J2N7S | Kinova Gen3N7 | Levion Arms | So Arm100 D5 | So Arm100 D7 | Unitree Z1 | Ur3 | Ur3E | Ur5 | Ur5E | Ur10 | Ur10E | Ur16E | Ur20 | Ur30 | Random Ur Manipulator | Vispa | Zeroglab Arms

Reward Breakdown
TermTypeWeightScaleNotes
penalty_action_rateLinear-0.1–
penalty_joint_torqueLinear-0.000025–
penalty_joint_accelerationLinear-0.0005–
penalty_undesired_robot_contactsThreshold-0.5–
reward_top_down_orientationGaussianTracking10.25
reward_distance_ee_to_objGaussian00.15
reward_graspLinear4–
reward_liftLinear8–
reward_distance_obj_to_targetGaussian00.15
penalty_obj_fallenLinear0–
reward_distance_ee_to_objsLinear2.5–
reward_distance_objs_to_targetLinear32–

Peg In Hole (peg_in_hole)

Precision assembly task requiring the robot to insert a peg into a hole

Episode Length10.0s (500 steps)
Reward Terms13
Default RobotFranka
Multi Variantmulti_peg_in_hole

Compatible Robots

Canadarm3 | Franka | Kinova J2N6S | Kinova J2N7S | Kinova Gen3N7 | Levion Arms | So Arm100 D5 | So Arm100 D7 | Unitree Z1 | Ur3 | Ur3E | Ur5 | Ur5E | Ur10 | Ur10E | Ur16E | Ur20 | Ur30 | Random Ur Manipulator | Vispa | Zeroglab Arms

Reward Breakdown
TermTypeWeightScaleNotes
penalty_action_rateLinear-0.1–
penalty_joint_torqueLinear-0.000025–
penalty_joint_accelerationLinear-0.0005–
penalty_undesired_robot_contactsThreshold-0.5–
reward_top_down_orientationGaussianTracking10.25
reward_distance_ee_to_objHyperbolic40.25
reward_graspSoftThreshold8–
reward_liftGaussianZoneTracking40.08
reward_align_peg_to_hole_primaryGaussianTracking80.4
reward_align_peg_to_hole_secondaryGaussian40.2
reward_distance_peg_to_hole_entrance_gradualHyperbolic80.16
reward_distance_peg_to_hole_entranceGaussian320.04
reward_distance_peg_to_hole_bottomGaussian2560.003

Success signal: return only. Evaluation reports the return, not a success rate.

Sample Collection (sample_collection)

Grasping and collection of samples on planetary surfaces

Episode Length7.5s (375 steps)
Reward Terms10
Default RobotFranka
Multi Variantmulti_sample_collection

Compatible Robots

Canadarm3 | Franka | Kinova J2N6S | Kinova J2N7S | Kinova Gen3N7 | Levion Arms | So Arm100 D5 | So Arm100 D7 | Unitree Z1 | Ur3 | Ur3E | Ur5 | Ur5E | Ur10 | Ur10E | Ur16E | Ur20 | Ur30 | Random Ur Manipulator | Vispa | Zeroglab Arms

Reward Breakdown
TermTypeWeightScaleNotes
penalty_action_rateLinear-0.1–
penalty_joint_torqueLinear-0.000025–
penalty_joint_accelerationLinear-0.0005–
penalty_undesired_robot_contactsThreshold-0.5–
reward_top_down_orientationGaussianTracking10.25
reward_distance_ee_to_objGaussian40.15
reward_graspSoftThreshold6–
reward_liftGaussianZoneTracking120.15
reward_distance_obj_to_targetGaussian320.15
penalty_obj_fallenLinear-16–

Termination semantics. obj_floor_z drives the penalty_obj_fallen reward. A fallen sample does not set terminated; the finite horizon is reported as truncated.

Event camera (opt-in; disabled by default). Set env.enable_event_camera_wrist=true to add the wrist event camera.

Success signal: return only. Evaluation reports the return, not a success rate.

Screwdriving (screwdriving)

Fastening of a pre-inserted bolt

Episode Length15.0s (750 steps)
Reward Terms13
Default RobotFranka

Compatible Robots

Canadarm3 | Franka | Kinova J2N6S | Kinova J2N7S | Kinova Gen3N7 | Levion Arms | So Arm100 D5 | So Arm100 D7 | Unitree Z1 | Ur3 | Ur3E | Ur5 | Ur5E | Ur10 | Ur10E | Ur16E | Ur20 | Ur30 | Random Ur Manipulator | Vispa | Zeroglab Arms

Reward Breakdown
TermTypeWeightScaleNotes
penalty_action_rateLinear-0.1–
penalty_joint_torqueLinear-0.000025–
penalty_joint_accelerationLinear-0.0005–
penalty_undesired_robot_contactsThreshold-0.5–
reward_top_down_orientationGaussianTracking80.04
penalty_object_top_down_orientationLinear-64–
reward_distance_ee_to_bolt_driver_slotHyperbolic120.4
reward_distance_ee_to_bolt_driver_slot_closeHyperbolic320.02
reward_distance_ee_to_bolt_driver_slot_precisionHyperbolic5120.005
reward_contactSoftThreshold4–
reward_screwingScaled128–
penalty_distance_obj_to_target_too_farThreshold-256–
reward_distance_obj_to_targetLinear2048–

Success signal: return only. Evaluation reports the return, not a success rate.

Solar Panel Assembly (solar_panel_assembly)

Complex assembly sequence involving solar panel components

Episode Length50.0s (2500 steps)
Reward Terms17
Default RobotFranka

Compatible Robots

Canadarm3 | Franka | Kinova J2N6S | Kinova J2N7S | Kinova Gen3N7 | Levion Arms | So Arm100 D5 | So Arm100 D7 | Unitree Z1 | Ur3 | Ur3E | Ur5 | Ur5E | Ur10 | Ur10E | Ur16E | Ur20 | Ur30 | Random Ur Manipulator | Vispa | Zeroglab Arms

Reward Breakdown
TermTypeWeightScaleNotes
penalty_action_rateLinear-0.1–
penalty_joint_torqueLinear-0.000025–
penalty_joint_accelerationLinear-0.0005–
penalty_undesired_robot_contactsThreshold-0.5–
reward_top_down_orientationGaussianTracking10.25
reward_distance_ee_to_objsLinear2.5–
reward_graspSoftThreshold8–
reward_liftLinear4–
reward_align_pegs_to_holes_primaryLinear8–
reward_align_pegs_to_holes_secondaryLinear4–
reward_distance_pegs_to_holes_entrance_gradualLinear8–
reward_distance_pegs_to_holes_entranceLinear32–
reward_distance_pegs_to_holes_bottomLinear256–
reward_distance_ee_to_panelHyperbolic100.25
reward_panel_liftGaussianZoneTracking160.1
reward_distance_panel_to_target_gradualHyperbolic320.1
reward_distance_panel_to_targetGaussian10240.015

Success signal: return only. Evaluation reports the return, not a success rate.