Simulation · Policy Rollouts

HumanEgoSim

The released serve_bread policy — trained only on minutes of human egocentric video — running closed-loop on a physics replica of the real robot. Every motion below is produced by the network.

Mode
Robot
Camera
Arms

Loading the robot…

—
Policy inputclean image + keypoints
0.0 s
predicted 50-step hand trajectory (look-ahead marked) bread keypoints plate keypoints gripper closed (latched)

How it runs

The real inference stack, with the hardware swapped for physics.

01 · SENSE

Calibrated RGB-D camera

A virtual RealSense D405 at the real hand-eye calibration renders 640×480 RGB-D, cropped exactly like CamRS.

02 · PERCEIVE

Released perception

Masks → KptsSelector → multi-frame depth lift → PCA object frames → VisualKpts. The arm is removed and a virtual gripper is drawn, as on the robot.

03 · ACT

Released policy

ICTPolicy loads the public checkpoint and solves the flow ODE (20 Euler steps) for a 50-step hand trajectory. The left arm sees a mirrored world.

04 · MOVE

Real-rig controller

Temporal ensembling, safety cage, EMA/Slerp, look-ahead → a Trossen-driver emulator (quintic re-targeting + IK) → MuJoCo, where the bread is a soft body that squashes in the gripper and is held by friction alone. Each robot runs its self-tuned settings + grasp skill (table below).

Success rates

Randomized initial conditions following the paper's protocol.

Self-tuning loop

Simulator and low-level controller parameters, optimized by an agent-in-the-loop population search.

Run it yourself

Same code, any rig: swap robot or camera with one flag.

# one-time setup
git clone https://github.com/TX-Leo/HumanEgo.git && cd HumanEgo
pip install -r requirements.txt -r simulation/requirements.txt
huggingface-cli download Leo-TX/HumanEgo --include "serve_bread/*" --local-dir ./checkpoints
python simulation/scripts/build_assets.py

# one closed-loop episode (+ video): real-rig controller, or the shipped tuned one + grasp skill
python simulation/scripts/run_episode.py --video
python simulation/scripts/run_episode.py --profile tuned --robot franka_panda --camera zed2i --mode single

# success rate over randomized scenes, and the self-tuning loop
python simulation/scripts/evaluate.py --profile tuned --n 40 --workers 8
python simulation/scripts/autotune.py --name my_rig

# this page: build every config, pack, record the videos (never deploys)
python simulation/scripts/rebuild_site.py