LeRobot: turning "collect data, then make it move" into scripts
Apache 2.0, Python, and currently the shortest path from nothing to a moving robot on the hobbyist side. The barrier is not the concepts — it is whether you accept Linux and a command line.
- Licence
- Apache 2.0 — no fee for commercial use or redistribution
- Language
- Python; the hardware side expects a Linux environment and device permissions
- Supported hardware
- SO-100 / SO-101 / LeKiwi / Reachy Mini and similar low-cost hardware
- Policies included
- Working implementations of imitation-learning methods such as ACT and Diffusion Policy
- Data side
- Connects to the Hugging Face dataset hub and converts public datasets
- What it solves
- It solves a plumbing problem, not an algorithm problem. Recording by teleoperation, a consistent data format, a training script and real-robot inference are four separate jobs, and the expensive part has always been joining them up. LeRobot puts all four in one repository with one command style, validated on cheap hardware. For a solo builder that means someone else already walked through the environment-configuration swamp for you.
- Alternatives
- It is not a replacement for ROS 2 — they operate at different layers. LeRobot handles policies; ROS 2 handles messaging, drivers and real-time behaviour, and mature setups often train in LeRobot and deploy under ROS 2. For simulation-first work, Isaac Lab is the counterpart, but it leans towards large-scale parallel training and synthetic data rather than real-world data collection. Vendor SDKs let you command one specific machine but rarely give you a cross-hardware training chain.
- What it takes to start
- The cost is three things it does not control: a Linux environment (device permissions, serial ports and cameras all route through it), a GPU good enough to train on (inference can be lighter), and a willingness to calibrate. It does not pretend to be an appliance, and the documentation says so directly.
- Known pitfalls
- Three recurring ones: (1) expecting plug-and-play — calibration and camera setup are mandatory steps, and skipping them makes every dataset afterwards unusable; (2) hardware that drifts — cheap servos and printed parts shift with temperature and wear, so recalibrate before recording a new dataset; (3) installing into the system Python — dependency conflicts across versions are the most common way these projects die at the starting line.
- What we checked
- We checked the licence and commercial terms (Apache 2.0, no royalty), the list of hardware it explicitly supports, and the documentation's own statement that hands-on experience is required. Not checked: we have not run the full training flow from scratch, so estimates of how long a beginner needs to produce a first usable policy are not backed by first-hand data here.
If your goal is to make a cheap arm do what you show it, this is the least painful route available. If your goal is to understand how the learning algorithms work inside, it sits too high up and you will want to read implementations directly. Do it in that order: get it working first, then go back and read the algorithm.
Where it sits in the stack
| Layer | Handled by | Relation to LeRobot |
|---|---|---|
| Policies (how to move) | LeRobot, Isaac Lab | This is the layer it owns |
| Messaging and real time | ROS 2 | Added on top when several subsystems must cooperate; not a replacement |
| Hardware control | Vendor SDKs, servo bus protocols | Reached through hardware adapters |
| Data | Dataset hub, public dataset conversions | Provides format normalisation and loading |
If your question is "how do I make this arm repeat what I showed it", use LeRobot. If your question is "why will my policy not converge", go read the algorithm. These two questions get mixed up constantly, and mixing them means doing both badly.
Sources
- Official repository and documentation (licence, supported hardware, setup requirements, stated limits)
- Public technical reviews and usage reports (Linux/Python prerequisites, calibration burden)
Objects in this entry
Last checked 2026-09-28