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

srb agent teleop — Teleoperate Agent

The srb agent teleop command allows you to manually control robots in the environment using various input devices. This is useful for testing the environment and observing the behavior of the agent under specific control inputs.

Usage

srb agent teleop --env ENV_ID [options]

Options | Shared Agent Options

OptionDescriptionDefault
--teleop_device [DEV …]Interface (keyboard, spacemouse, ros, gamepad, haptic)env default, else [keyboard]
--pos_sensitivity VALTranslation sensitivity1.0
--rot_sensitivity VALRotation sensitivity (rad/s)π (≈3.14)
--invert_controlsInvert control schemaTrue
Teleoperation via Policy
--algo ALGOAlgorithm of the policy (RL or IL)
--model MODELPath to the policy checkpoint
--obs {state,visual}Observation modality of the policy: selects the agent-config variant and the log tree searched for its latest checkpointstate

Teleoperation Modes

The teleop subcommand supports 2 modes of operation based on the environment action space:

Direct Teleoperation

Direct teleoperation is available for environments with action spaces that can be mapped into high-level control commands, such as the desired end-effector pose or acceleration of a mobile robot.

Examples

Teleoperate a robot in the _manipulation template environment:

  • Use the ur10 manipulator
srb agent teleop -e _manipulation env.robot=ur10

Teleoperate a robot in the _orbital template environment:

  • Use the spacemouse input teleoperation device
srb agent teleop -e _orbital --teleop_device spacemouse

Teleoperation via Policy

Some action spaces do not support direct teleoperation due to their complexity or dimensionality, such as joint-space control of a humanoid robot. In such cases, you can still teleoperate the agent by providing a trained policy (both RL and imitation-learning policies are supported; the algorithm can be any --algo accepted by srb agent eval). In this case, command-like observations are driven by the teleoperation device, and the policy generates the corresponding actions.

Examples

Reference: Reinforcement Learning Workflow
Reference: srb agent train — Train Agent

First, you need to train an RL agent using the srb agent train command. Let’s demonstrate this with the locomotion_velocity_tracking environment using the dreamer algorithm:

srb agent train --headless --algo dreamer -e locomotion_velocity_tracking env.num_envs=256

After you have successfully trained a policy, you can teleoperate the agent:

srb agent teleop --algo dreamer -e locomotion_velocity_tracking

By default, the policy will be loaded from the latest checkpoint. However, you can specify a specific checkpoint using the --model option.

srb agent teleop --algo dreamer -e locomotion_velocity_tracking --model space_robotics_bench/logs/locomotion_velocity_tracking/dreamer/...

Public Demo Launch

The excavation_demo task is tuned for public events: one environment, manual reset, long horizon, all PRD-stipulated HUD lines visible, and the high-quality RTX preset selected automatically. Operators can launch it with a single command:

srb agent teleop --env excavation_demo

Add --hide_ui to drop the Isaac Sim UI for a fullscreen presentation station:

srb agent teleop --env excavation_demo --hide_ui

The default teleop devices (spacemouse, haptic, keyboard) come from the task config, so --teleop_device is optional. Hydra overrides such as env.scenery=lunalab or env.demo_regolith_quality=visual remain available for venue and visual-tier choices.