huggingface/lerobot
🤗 LeRobot: Making AI for Robotics more accessible with end-to-end learning
LeRobot – Hugging Face’s Open‑Source Robotics Library
What it is – LeRobot is a Python‑native, hardware‑agnostic library that bundles together:
- A unified
RobotAPI for controlling many real‑world robots (from cheap arms like the SO‑100 to humanoids such as Reachy 2) and tele‑operation devices. - LeRobotDataset, a standard format (MP4/images + Parquet) for storing synchronized video, state and action data. Datasets live on the Hugging Face Hub and can be streamed, split, or merged with simple utilities.
- State‑of‑the‑art policies implemented in pure PyTorch (imitation‑learning, RL, vision‑language‑action, world‑models, reward models, etc.) that can be trained on those datasets and deployed on real hardware or simulators.
- CLI tools (
lerobot-train,lerobot-eval,lerobot-record,lerobot-info) that hide most boilerplate, letting users go from data collection to evaluation with a single command.
Why it matters – Robotics research suffers from fragmented data formats and hardware‑specific code. LeRobot tackles both problems by providing a common dataset schema and a plug‑in architecture for new robots, cameras, and tele‑operators. This lowers the entry barrier for researchers and hobbyists, encourages dataset sharing on the Hugging Face Hub, and makes it easier to reproduce and benchmark robot‑learning algorithms.
Key components
| Component | What you get |
|---|---|
| Robot class | Connect, read observations, send actions – same Python code works on any supported platform. |
| LeRobotDataset | Load a dataset with LeRobotDataset('repo/id'); video decoding and state/action tensors are handled automatically. |
| Policies | Ready‑made PyTorch models: ACT, Diffusion, VQ‑BeT, Pi0 family, GR00T, SmolVLA, etc. (imitation, RL, VLA, world models, reward models). |
| CLI | lerobot-train --policy.type=act --dataset.repo_id=lerobot/aloha_mobile_cabinet – one‑line training; similar commands for evaluation and data recording. |
| Third‑party plugins | Install packages like lerobot_robot_<name> or lerobot_camera_<name> to add support for UR5e, Franka, ROS 2 bridges, depth cameras, etc. |
Typical workflow
- Pick or build a robot – use a built‑in class or implement the
Robotinterface for a custom platform. - Collect data –
lerobot-recordstreams observations to a LeRobotDataset on your HF Hub repo. - Train a policy – run
lerobot-trainwith the desired model type and dataset. - Evaluate – run
lerobot-evalon a simulator (e.g., LIBERO, MetaWorld) or on the real robot. - Share – push the trained model and dataset to the Hub for others to reuse.
Who should use it – Researchers experimenting with robot‑learning algorithms, engineers building reproducible pipelines, educators teaching embodied AI, and hobbyists who want a plug‑and‑play way to control a robot and train policies.
Resources – Full docs, tutorials, Discord community, hands‑on Spaces (robot‑learning tutorial, t‑shirt folding demo), and a web UI (LeLab) for browser‑based tele‑operation and training.
All information above is taken directly from the repository’s README.
Related
- Project
- Project
- Project
- Project
- Project