Skip to main content

4-Camera Real-time Display


1. 4-Camera Real-time Display

The Walker S2 simulator supports real-time preview from four RGB cameras. The HeadStereoVisualizer class displays the head stereo cameras side by side. This feature is available in four modes: teleoperation, recording, replay, and inference.


1.1 Camera Configuration Arguments

ArgumentDescriptionDefault
--robot.head_viz_enabledEnable head camera visualizationtrue
--robot.head_viz_window_nameVisualization window name"walker_s2_cameras"
--robot.head_viz_scaleWindow scale1.0
--robot.head_viz_every_nUpdate display every N frames10
--robot.head_viz_window_xWindow X position40
--robot.head_viz_window_yWindow Y position40
--robot.head_viz_show_labelsShow camera labelstrue
--display_dataPrint data in the terminalfalse

Notes:

  • head_viz_enabled: controls whether the head camera visualization window is enabled
  • head_viz_every_n: controls the visualization refresh rate; a larger value can reduce CPU load
  • display_data: controls whether to print joint-state data to the terminal

1.2 Camera Names and Positions

CameraPositionPurpose
head_leftLeft side of the headFront wide-angle
head_rightRight side of the headFront wide-angle
wrist_leftLeft wristHand-eye camera
wrist_rightRight wristHand-eye camera

1.3 Visualization Window Layout

┌─────────────────────────────────────────┐
│ walker_s2_cameras │
├─────────────────────┬───────────────────┤
│ │ │
│ head_left │ head_right │
│ │ │
├─────────────────────┴───────────────────┤
│ wrist_left │ wrist_right │
└─────────────────────────────────────────┘

1.4 Example Commands in the Four Modes

Mode 1: Teleoperate

/isaac-sim/python.sh src/lerobot/scripts/lerobot_teleoperate.py \
--robot.type=walker_s2_sim \
--robot.headless=false \
--task=Packing_Box \
--teleop.type=walker_s2_keyboard \
--robot.head_viz_enabled=true \
--robot.head_viz_window_name="walker_s2_cameras" \
--robot.head_viz_every_n=1 \
--display_data=false

Mode 2: Record

/isaac-sim/python.sh src/lerobot/scripts/lerobot_record.py \
--robot.type=walker_s2_sim \
--robot.headless=false \
--task=Packing_Box \
--teleop.type=walker_s2_keyboard \
--dataset.root=./datasets/packing_box \
--dataset.num_episodes=10 \
--dataset.single_task="Packing box task" \
--dataset.video=true \
--robot.head_viz_enabled=true \
--robot.head_viz_every_n=10 \
--display_data=false \
--play_sounds=false

Mode 3: Replay

/isaac-sim/python.sh src/lerobot/scripts/lerobot_replay.py \
--robot.type=walker_s2_sim \
--task=Packing_Box \
--dataset.root=./datasets/packing_box \
--dataset.episode=0 \
--robot.head_viz_enabled=true \
--robot.head_viz_every_n=5 \
--display_data=false \
--play_sounds=false

Mode 4: Inference

/isaac-sim/python.sh src/lerobot/scripts/lerobot_record.py \
--robot.type=walker_s2_sim \
--robot.headless=false \
--task=Packing_Box \
--policy.path=your_checkpoint_dir \
--dataset.root=./datasets/packing_box/inference \
--dataset.num_episodes=10 \
--dataset.video=true \
--robot.head_viz_enabled=true \
--robot.head_viz_every_n=5 \
--display_data=false \
--play_sounds=false