How hshi74/toddlerbot works
ToddlerBot is an open-source humanoid robotics platform spanning perception, skill selection, locomotion, and physical control, with simulation and learning workflows supporting development. The README describes the end-to-end depth-driven multi-skill deployment; sampled C++ shows the Dynamixel client and protocol/port layers. Other subsystem connections are included only where supported by the repository layout or README, not assumed from unsampled implementations.
Main entry points: run_multiple_policy.py Multi-skill Runner · port_handler_linux.cpp Serial Port · run_policy.py Policy Runner · run_foundation_stereo.py Depth Estimation
Components 21
Perception & Skills
- Depth Estimation
toddlerbot/skill_classifier/run_foundation_stereo.py - Depth Data
toddlerbot/skill_classifier/data/create_depth_data.py - Skill Classifier
toddlerbot/skill_classifier/inference/predictor.py - Skill Mapper
toddlerbot/skill_classifier/inference/skill_mapper.py
Locomotion
- Multi-skill Runner
toddlerbot/policies/run_multiple_policy.py - Policy Runner
toddlerbot/policies/run_policy.py - Locomotion Policies
toddlerbot/policies - Reference Motions
toddlerbot/reference
Robot Runtime
- Robot Interface
toddlerbot/sim/robot.py - Real-world Interface
toddlerbot/sim/real_world.py - Dynamixel Client
toddlerbot/actuation/src/dynamixel_control/dynamixel_client.cpp - Packet Protocol
toddlerbot/actuation/src/dynamixel_sdk/protocol2_packet_handler.cpp - Serial Port
toddlerbot/actuation/src/dynamixel_sdk/port_handler_linux.cpp
Learning & Simulation
- RL Training
toddlerbot/locomotion/train_mjx.py - MJX Environment
toddlerbot/locomotion/mjx_env.py - MuJoCo Simulation
toddlerbot/sim/mujoco_sim.py
Manipulation & Teleop
- Diffusion Inference
toddlerbot/manipulation/inference_class.py - Motion Retargeting
toddlerbot/manipulation/teleoperation/general_motion_retargeting/motion_retarget.py
Other components
- Operator
- Stereo Camera
- Dynamixel Motors
Connections 20
- Stereo Camera → Depth Estimation: provides images
- Depth Estimation → Skill Classifier: sends depth estimates
- Skill Classifier → Skill Mapper: predicts skill
- Skill Mapper → Multi-skill Runner: selects skill
- Operator → Multi-skill Runner: starts system
- Multi-skill Runner → Locomotion Policies: loads policies
- Policy Runner → Locomotion Policies: runs policy
- Policy Runner → Robot Interface: issues robot commands
- Robot Interface → Real-world Interface: uses real interface
- Real-world Interface → Dynamixel Client: commands motors
- Dynamixel Client → Packet Protocol: sends packets
- Packet Protocol → Serial Port: transmits bytes
- Serial Port → Dynamixel Motors: communicates
- Dynamixel Motors → Serial Port: returns status
- RL Training → MJX Environment: trains in
- MJX Environment → MuJoCo Simulation: simulates robot
- Operator → RL Training: starts training
- Operator → Depth Data: collects data
- Operator → Diffusion Inference: runs task
- Operator → Motion Retargeting: provides motion