GitHub - hshi74/toddlerbot (original) (raw)

ToddlerBot

Paper Website Tweet
Locomotion Beyond Feet (2026) arXiv Site X
ToddlerBot (2025) arXiv Site X

Documentation | Onshape | MakerWorld

ToddlerBot is a low-cost, open-source humanoid robot platform designed for scalable policy learning and research in robotics and AI.

This codebase includes low-level control, RL training, DP training, real-world deployment and basically EVERYTHING you need to run ToddlerBot in the real world!

Built entirely in Python, it is fully pip-installable (python >= 3.10) for seamless setup and usage!

News & Updates

Locomotion Beyond Feet

We introduce an egocentric multi-skill whole-body locomotion system that enables ToddlerBot to traverse diverse obstacles.

demo.mp4

Getting Started

1. Create reference motions using the Keyframe App

2. Train RL policies for each skill:

python toddlerbot/locomotion/train_mjx.py --gin-file --env

3. Collect depth data and train the skill classifier:

Collect RGB stereo frames. Follow the prompts to select a skill label, press space to start recording, and press space again to pause. Repeat for each skill.

python toddlerbot/skill_classifier/data/collect_real_world_skill_data.py

Process offline to create depth maps from the collected stereo images.

python toddlerbot/skill_classifier/data/create_depth_data.py

Train the classifier on depth images with skill labels.

python toddlerbot/skill_classifier/training/train.py

4. Run the full system:

Start the depth estimation server.

python toddlerbot/skill_classifier/run_foundation_stereo.py

Specify the checkpoint path for each trained skill in POLICY_CONFIGS in run_multiple_policy.py (policy checkpoints can be downloaded from Google Drive), then run the multi-skill locomotion system.

python toddlerbot/policies/run_multiple_policy.py --skill-classifier

Once the depth estimation server is ready after warm-up and run_multiple_policy.py has loaded all policy checkpoints and achieved the standing pose, depth estimates are continuously sent for skill classification, and the robot will perform the appropriate skills autonomously.

ToddlerBot 2.0

See Changelog for the list of new features and a migration guide from 1.0 to 2.0.

Setup

Refer to this page for instructions to setup.

Walkthrough

python toddlerbot/policies/run_policy.py --policy replay --path motion/push_up_2xc.lz4 --vis view  

(on MacOS)

mjpython toddlerbot/policies/run_policy.py --policy replay --path motion/push_up_2xc.lz4 --vis view  

to see the push up motion in MuJoCo. You're very welcome to contribute your keyframe animation to our repository by submitting a pull request!

Submitting an Issue

For easier maintenance, we will ONLY monitor GitHub Issues and likely ignore questions from other sources. We welcome issues related to anything we’ve open-sourced, not just the codebase.

Before submitting an issue, please ensure you have:

If we determine that your issue arises from not following these resources, we are unlikely to respond. However, if you have found a bug, need support for any open-sourced component, or want to submit a feature request, feel free to open an issue.

We truly appreciate your feedback and will do our best to address it!

Community

See our website for links to join the Discord or WeChat community!

Contributing

We welcome contributions from the community! To contribute, just follow the standard practice:

  1. Fork the repo
  2. Create a branch (feature-xyz)
  3. Commit & push
  4. Submit a Pull Request (PR)

Citation

If you use ToddlerBot for published research, please cite:

@misc{yang2026locomotion, title = {Locomotion {{Beyond Feet}}}, author = {Yang, Tae Hoon and Shi, Haochen and Hu, Jiacheng and Zhang, Zhicong and Jiang, Daniel and Wang, Weizhuo and He, Yao and Wu, Zhen and Chen, Yuming and Hou, Yifan and Kennedy, Monroe and Song, Shuran and Liu, C. Karen}, year = 2026, month = jan, number = {arXiv:2601.03607}, eprint = {2601.03607}, primaryclass = {cs}, publisher = {arXiv}, doi = {10.48550/arXiv.2601.03607}, urldate = {2026-01-08}, archiveprefix = {arXiv}, keywords = {Computer Science - Robotics} }

@article{shi2025toddlerbot, title={ToddlerBot: Open-Source ML-Compatible Humanoid Platform for Loco-Manipulation}, author={Shi, Haochen and Wang, Weizhuo and Song, Shuran and Liu, C. Karen}, journal={arXiv preprint arXiv:2502.00893}, year={2025} }

License