How carlosferrazza/humanoid-bench works
HumanoidBench provides MuJoCo-based whole-body locomotion and manipulation tasks, alongside several reinforcement-learning training implementations. The user selects a registered task and training method; the resulting workflow interacts with the simulated environment, computes task rewards, and trains or evaluates a policy. The README also documents sensory observations, hierarchical low-level policies, and MJX reaching training. Those capabilities are represented at the documented subsystem level; source excerpts are limited, so uncertain internal wiring is omitted.
Main entry points: env.py Environment API · tasks.py Task logic · dreamerv3 DreamerV3 · tdmpc2 TD-MPC2
Components 18
Benchmark environments
- Task environments
humanoid_bench/envs - Environment API
humanoid_bench/env.py - Task wrappers
tdmpc2/tdmpc2/envs/wrappers
Simulation and tasks
- Task logic
humanoid_bench/tasks.py - Robot models
humanoid_bench/robots.py - MuJoCo support
humanoid_bench/dmc_deps
Training methods
Training runtime
- Dreamer runner
dreamerv3/embodied/run - Replay buffer
dreamerv3/embodied/replay - Distributed services
dreamerv3/embodied/distr - TD-MPC trainers
tdmpc2/tdmpc2/trainer
Hierarchical and MJX
- MJX PPO
humanoid_bench/mjx/ppo_continuous_action.py - Low-level skills
humanoid_bench/env.py - MJX environments
humanoid_bench/mjx/envs
Other components
- Researcher
Connections 21
- Researcher → Task environments: selects task
- Task environments → Environment API: provides environment
- Environment API → Task logic: steps task
- Task logic → Robot models: uses robot state
- Task logic → MuJoCo support: uses simulation support
- Researcher → DreamerV3: chooses method
- Researcher → TD-MPC2: chooses method
- Researcher → SAC: chooses method
- Researcher → PPO: chooses method
- DreamerV3 → Environment API: trains on
- TD-MPC2 → Environment API: trains on
- SAC → Task environments: trains on
- PPO → Environment API: trains on
- DreamerV3 → Dreamer runner: runs through
- Dreamer runner → Replay buffer: samples and stores
- Dreamer runner → Distributed services: dispatches work
- TD-MPC2 → TD-MPC trainers: trained by
- TD-MPC trainers → Task wrappers: wraps tasks
- Researcher → Low-level skills: configures optional skill
- Researcher → MJX PPO: chooses MJX training
- MJX PPO → MJX environments: trains on