This repository provides two methods to control the G1 humanoid robot (29 DOFs) using AMO/HOMIE in MuJoCo:
Note: For VR teleoperation, a Meta Quest 3 or Quest 3S is required.
conda create -n gbot python=3.10
conda activate gbot
pip install -r requirements.txtFrom the project root directory:
# AMO policy
python 01_g1_29_2f85_mocap_amo.py
# HOMIE policy
python 03_g1_27_2f85_mocap_homie.py
python 04_g1_27_2f85_mocap_cascade_pid_homie.py- You can now drag the mocap cube to control the movement of the G1's end-effector.
From the project root directory:
# AMO policy
python 02_g1_29_2f85_VR_amo.py
# HOMIE policy
python 05_g1_27_2f85_VR_cascade_pid_homie.py-
Open your VR headset browser and navigate to the HTTPS address shown in the terminal (e.g.,
https://<your-ip>:8443). -
Use your VR controllers to move the G1.
- Grip button: Hold to enable VR teleoperation.
- Trigger: Hold to grasp.
| Input | Forward | Backward | Left | Right |
|---|---|---|---|---|
| Left Thumbstick | Height + | Height − | Yaw turn left | Yaw turn right |
| Right Thumbstick | Walk forward | Walk backward | Walk left | Walk right |
- AMO — Adaptive Motion Optimization for Hyper-Dexterous Humanoid Whole-Body Control.
- HOMIE — Humanoid Loco-Manipulation with Isomorphic Exoskeleton Cockpit
- Mink — A library for differential inverse kinematics in Python, based on the MuJoCo physics engine.
- XLeRobot — Bringing Embodied AI to every family around the world.