Published docs: https://watonomous.github.io/humanoid-docs/index.html
cp watod-config.sh watod-config.local.sh # set ACTIVE_MODULES
./watod up -d
./watod -t <service> # shell into a moduleOne editable container per module — code is bind-mounted from src/<module>, so edits are live. Full setup and dev workflow: DEVELOPING.md.
ACTIVE_MODULES |
What it runs |
|---|---|
interfacing |
CAN / hardware interfacing, joint_command |
perception |
Perception (cameras, GPU), voxel_grid |
simulation_isaac |
Isaac Lab 2.3.2 — SO101 IL, HumanoidRL, Quest teleop |
simulation_mj |
MuJoCo / mjlab RL |
Isaac Lab sim (recommended): see docker/simulation/isaac_lab/QUICKSTART.md.
humanoid
├── watod # Compose orchestrator
├── watod-config.sh # Defaults (copy → watod-config.local.sh)
├── watod_scripts/ # Dev-env / Docker helpers
├── modules/ # docker-compose.<module>.yaml
├── docker/ # Dockerfiles per stack
│ ├── interfacing/
│ ├── perception/
│ └── simulation/
│ ├── isaac_lab/ # Isaac Lab + LeRobot (primary sim)
│ └── mjlabs/ # MuJoCo / mjlab
├── src/
│ ├── common_msgs/ # Shared ROS 2 messages
│ ├── interfacing/ # CAN, DBC, joint_command (ArmPose → per-motor CAN)
│ ├── perception/ # perception nodes, voxel_grid (depth → occupancy)
│ ├── pioneer_humanoid/ # Shared arm articulation / scene / camera configs
│ ├── simulation/ # Isaac tasks, HumanoidRL
│ ├── teleop/ # Quest WebXR → ROS 2 bridge
│ ├── il/ # Imitation learning recording
│ └── embedded/ # STM32, ESP32S3 firmware
├── assets/lerobot/ # SO101 USD / vial-task assets
└── docs/ # Pointer to the humanoid-docs site
| Stack | Module | Docs |
|---|---|---|
| Isaac Lab 2.3.2 / Sim 5.1 (SO101 IL, HumanoidRL, Quest) | simulation_isaac |
QUICKSTART · full README |
| MuJoCo / mjlab | simulation_mj |
README |
| SO101 vial Gym envs | (inside simulation_isaac) |
so101_vial_task |
| Quest bimanual teleop | (inside simulation_isaac) |
quest_isaac_teleop |
| Other teleop variants | host or container | teleop/README.md |
Isaac Lab needs Linux, NVIDIA GPU, Docker GPU passthrough, and X11 (xhost +local:docker).
Setup, per-module dev loop, CI/linting, and per-area guides: DEVELOPING.md.
Full checklist (power, CANable udev, calibrate, smoke test):
→ src/interfacing/can/README.md
For the full calibrate → visualize → move sequence: ARM_BRINGUP.md
Open arm work (sim mirror of calibrated joints in Isaac Lab, VR teleop, etc.) is listed there under Open arm tasks.
./src/interfacing/can/scripts/can_udev.sh install # once per host → /dev/canable- Ubuntu ≥ 22.04 (WSL / macOS may work for non-GPU stacks)
- Docker + watod (
./watod) - NVIDIA GPU + drivers for Isaac Lab, perception, and mjlab