Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
117 lines (87 loc) · 3.07 KB

File metadata and controls

117 lines (87 loc) · 3.07 KB
Copy raw file
Download raw file
Outline
Edit and raw actions
sidebar_position 3

Sim2Real Deployment

Deploy Teleopit to control a physical Unitree G1 robot via g1_bridge_sdk (C++ DDS bridge).

:::tip For Pico 4 / Pico 4 Ultra VR deployment, see the complete Pico VR Tutorial. :::

Input Sources

Source Config Documentation
Pico 4 / Pico 4 Ultra --config-name pico4_sim2real Pico VR
Offline BVH files Default config This page

Prerequisites

Hardware:

  • Unitree G1 (29 DOF)
  • Unitree wireless remote controller
  • Network connection between robot and control PC
  • Pico 4 headset, or offline BVH motion files

Software:

git submodule update --init --recursive
bash scripts/setup/setup_g1_bridge.sh
pip install -e '.[sim2real]'

For Pico path, also run: bash scripts/setup/setup_pico4.sh

Offline BVH Playback

python scripts/run/run_sim2real.py \
    controller.policy_path=track.onnx \
    real_robot.network_interface=eth0 \
    input.bvh_file=data/sample_bvh/aiming1_subject1.bvh

Remote Controller Mapping

Button Action
Start Enter STANDING
Y Enter playback / MOCAP
A Pause / Resume
B Replay from start
X Return to STANDING
L1+R1 Emergency stop (DAMPING)

Control Modes

Mode Data Flow Use Case
STANDING Default pose -> RL policy -> joints Startup, recovery, waiting
MOCAP Pico/BVH -> retarget -> RL policy -> joints Teleoperation / playback
DAMPING Send damping command Emergency stop

State Machine

                     +-----------------------------+
                     |    L1+R1 E-stop (any state) |
                     v                             |
  [IDLE] --Start--> [STANDING] --Y--> [MOCAP] --X--> [STANDING]
                           ^                       |
                           +----------Y------------+
    ^                                                  |
    +------------------Start---------------------------+
                           [DAMPING]

Pico MOCAP Sub-states

When using input.provider=pico4, the MOCAP mode has additional sub-states:

  • ACTIVE: Normal live mocap tracking
  • PAUSED: Freeze reference pose; robot maintains balance but stops following
  • RESUMING: Clear realtime reference buffer, rebuild yaw/pivot alignment, smooth transition back to live mocap

Common Parameters

# Adjust control frequency
policy_hz=30

# Specify BVH file
input.bvh_file=data/sample_bvh/aiming1_subject1.bvh

# Pico timeout
input.pico4_timeout=30

# Pause/resume transition
pause_resume_transition_duration=1.5
pause_resume_warmup_steps=3

# Network interface
real_robot.network_interface=enp3s0

Standalone Standing Test

A minimal script for quick hardware and policy verification, independent of the main framework:

python scripts/run/standalone_standing.py \
    --policy track.onnx \
    --network-interface eth0

Supports --dry-run for safe timing benchmarks without sending motor commands.

Morty Proxy This is a proxified and sanitized view of the page, visit original site.