Task 3 Teleoperation

August 6, 2026 · View on GitHub

Task 3 can use control traces recorded from a real operator through the included browser console. The console drives an official RoboTwin environment, shows the live simulator view beside the original episode, and records the operator's commands, realized joint actions, simulator telemetry, and output video.

Procedurally generated control profiles are not human teleoperation and are intentionally excluded from this collection path.

Requirements

Install WorldSimProbe with the optional console dependencies:

python -m pip install -e ".[teleoperation]"

Prepare:

  • an official RoboTwin checkout with its environment already working;
  • RoboTwin episode data with joint_action/vector, instructions, and the original episode video;
  • a writable annotation directory. Missing annotation rows are generated from the selected official episode when a session starts.

Start The Console

python scripts/run_task3_operator.py \
  --robotwin-root /path/to/RoboTwin \
  --annotation-root /path/to/task3_annotations \
  --output-root outputs/task3_operator

The equivalent environment variables are ROBOTWIN_ROOT and WORLDSIMPROBE_TASK3_ANNOTATION_ROOT. Open http://127.0.0.1:8791/. For a remote worker, forward the port over SSH:

ssh -L 8791:127.0.0.1:8791 user@worker

The interface supports both arms, translation, rotation, and gripper commands. Each command is executed in the simulator before the next live frame is displayed. Exporting a session writes:

<output-root>/<episode-and-time>/
├── teleoperation.mp4
├── teleoperation_raw.mp4
├── first_frame.png
├── teleoperation_trace.json
├── task3_trace_validation.json
└── dataset_row.json

physical_drive_target is the default execution mode. force_qpos is available only for debugging because it can introduce non-physical impulses.

Validation Boundary

The trace validator checks command order, screen or world direction, rotation, gripper direction, inactive-arm stability, and whether the commanded action changed. These checks are collection-time integrity gates.

The official Task 3 benchmark score remains RobotSeg-masked optical-flow agreement between a submitted candidate video and the hidden source-reference video. The operator UI does not expose private benchmark rows or hidden references.