Open-source robot ecosystem
The open libraries and hardware outside the big vendors. LeRobot for learning on real arms, Drake and OMPL for modelling and planning, PyBullet for quick simulation, and the SO-101 open arm.
| Organisation | No single maker: Hugging Face, Inc. (LeRobot), Toyota Research Institute and MIT CSAIL (Drake), Kavraki Lab at Rice University (OMPL), The Robot Studio with Hugging Face (SO-101), Bullet Physics project (PyBullet) |
|---|---|
| Website | huggingface.co/docs/lerobot/index |
| Licensing | LeRobot Apache-2.0; SO-ARM100/SO-101 designs Apache-2.0; Drake BSD-3-Clause; OMPL BSD-3-Clause; Bullet and PyBullet zlib (except third-party folders) |
| Pricing | Software free; SO-101 parts for one follower arm about USD 122 and for a leader-follower pair about USD 230 on the project's bill of materials, plus a 3D printer or printed parts |
| Updated | 14 Nov 2026 |
Products and offerings #
| Name | Kind | Positioning |
|---|---|---|
| LeRobot | framework | Python library to teleoperate, record datasets, train and deploy policies on low-cost and research robots |
| SO-101 | arm | Open 3D-printed arm with six STS3215 servos (five joints and a gripper); the maker does not publish payload or reach |
| Drake | library | C++ and Python toolbox for multibody dynamics, optimisation-based planning and control |
| OMPL | library | Sampling-based motion planners with no built-in collision checking; default planner library in MoveIt |
| PyBullet | simulator | Python bindings to the Bullet physics engine for quick rigid-body simulation |
Who they are
This hub is for people who want to learn, prototype or publish without a vendor contract. It collects the open projects that the other hubs lean on. None of them is a robot company. Each is a library or design with its own maintainers, licence and pace, so the first job is to check that a project is alive and that its licence fits your use.
Five projects anchor it. LeRobot is Hugging Face’s library for learning on real hardware. Hugging Face, Inc. is a Delaware corporation that runs the Hugging Face Hub for models and datasets. The SO-101 arm was designed by The Robot Studio with Hugging Face. Drake was started by the Robot Locomotion Group at MIT CSAIL, and the Toyota Research Institute now leads its core development. OMPL comes from the Kavraki Lab at Rice University. PyBullet, whose suggested citation names Erwin Coumans and Yunfei Bai, is the Python module for the Bullet physics engine.
Tooling and APIs
LeRobot (Apache-2.0) is a Python package, v0.7.0 at the time of writing, that needs Python 3.12 or newer. Its loop is teleoperate, record, train, deploy. It records demonstrations as LeRobotDataset files (synchronised camera video with state and action data) that stream from the Hugging Face Hub. It ships policies from ACT to vision-language-action models such as π₀ and SmolVLA, and simulation benchmarks such as LIBERO and Meta-World. Supported hardware includes the SO-101, the LeKiwi mobile base and the Koch v1.1 arm. It works without ROS. Background on the learning methods is on the robot learning topic and on the AI/ML Field Guide.
SO-101 is the arm most LeRobot users start with. The SO-ARM100 repository (Apache-2.0) has the printable parts, the bill of materials and links to kit vendors. The follower arm uses six Feetech STS3215 servos with 1/345 gearing, and the leader arm mixes three gear ratios so that it can be moved by hand, according to the LeRobot SO-101 guide. The six motors drive shoulder pan, shoulder lift, elbow flex, wrist flex, wrist roll and the gripper. The maker does not publish payload or reach. The robot reference lists it.
Drake (BSD-3-Clause) is a C++ toolbox with Python bindings for multibody dynamics, optimisation and planning. It installs with pip or apt. It suits work where you want gradients, contact models and optimisation in one place, such as trajectory optimisation or model predictive control.
OMPL (BSD-3-Clause) is a library of sampling-based planners such as RRT and PRM. Its site states that it contains no collision checking or visualisation, so you supply a state validity checker. It is the default planner library in MoveIt, which is the recommended way to use it from ROS. The motion planning topic explains the algorithms.
PyBullet (zlib) loads URDF, simulates rigid bodies with contacts and runs headless with p.connect(p.DIRECT). The pick-and-place project on this site uses it.
Migration notes
- LeRobot to ROS 2. LeRobot drives the motors directly over a serial bus. To use a trained policy in a ROS 2 system, wrap inference in a node that subscribes to camera and joint topics and publishes commands, keeping joint order and units identical to the training data.
- Units in LeRobot datasets. Joint values are whatever the robot class records after calibration. Check the recorded units and ranges before you mix datasets from different arms.
- PyBullet to MuJoCo. Both load URDF, but contact models, default friction and joint damping differ. Re-tune gains rather than copying them, and see the MuJoCo hub for MJCF conventions.
- OMPL inside MoveIt or alone. Standalone OMPL needs your own collision checking, for example through Drake’s geometry queries. Inside MoveIt it uses MoveIt’s planning scene.
Watch for
- PyBullet maintenance. The last PyPI release is 3.2.7 from 30 January 2025, the last tagged GitHub release is from 2022, and the README says the issue tracker is closed. It still works for teaching and quick tests. For new long-lived projects, consider MuJoCo or Drake.
- Low-cost servos. The bill of materials gives the 7.4 V STS3215 a stall torque of 16.5 kg·cm at 6 V, about 1.6 N·m, and offers a 12 V version at 30 kg·cm for more torque. Expect far less stiffness and precision than an industrial arm. The SO-101 is a learning platform, so treat it as unguarded hardware.
- Fast-moving APIs. LeRobot had several releases in 2026 and its dataset format is on version 3. Pin the LeRobot version used to record each dataset.
- Licences of data and models. LeRobot code is Apache-2.0, but each dataset and pretrained policy on the Hub carries its own licence. Check it before commercial use.