Skip to content
Juxi-TechnologyPublic

About

Browser UI for LeRobot — calibrate, teleoperate, record, train and run inference on an SO-101 arm

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

Repository files navigation

🦾 LeLab

A browser interface for LeRobot.

License Discord

LeLab is a web app that puts the full LeRobot workflow — calibrate, teleoperate, record, train, replay — into a single browser UI. Plug in your arm, open the app, and go. No CLI gymnastics, no keyboard prompts.

🤗 A web-native front door to LeRobot, designed so newcomers can get from "unboxing" to "training their first policy" in minutes.

🤗 Install and run everything with a single command.

📄 A copy of the upstream project. Latest official code: https://github.com/huggingface/leLab.

Quick Start

uv tool install --with-executables-from huggingface_hub git+https://github.com/Juxi-Technology/leLab.git && lelab

Installs and runs LeLab + LeRobot. A browser page opens.

Step-by-step: Tutorials/.

What you can do

🎯 Calibrate Guided web flow for both arms — no keyboard prompts.
🕹️ Teleoperate Move the leader, the follower mirrors it. Live joint streaming.
📹 Record Capture episodes into a LeRobotDataset, with cameras.
🔎 Browse Watch the episodes of a dataset on disk — every camera, frame by frame, with a joint-motion trace. No upload required.
🧠 Train Kick off a LeRobot training job, watch logs live.
🤖 Run inference Execute a trained policy on the follower.
⏪ Replay Re-run any recorded episode.
☁️ Upload Push your dataset to the Hugging Face Hub in one click.

Camera rotation

If a camera is mounted upside down or sideways, select its Rotation in the camera setup on the Calibration page. Choose 0°, 90°, 180°, or 270° clockwise. For an upside-down wrist camera, choose 180°.

LeLab saves the rotation for each camera. Setup and teleoperation previews, recorded frames, and inference use the selected rotation. Profiles without a rotation setting use 0°.

The resolution setting describes the camera's capture resolution. A 90° or 270° rotation swaps the output dimensions. For example, a 640 × 480 capture becomes a 480 × 640 observation. The preview shows the complete rotated frame.

Before inference, select the same rotation used for the training dataset. Check it again if you change the camera binding. Checkpoint image dimensions do not establish image orientation. For example, 0° and 180° have the same dimensions. The setting applies to new observations; it does not change existing recordings or checkpoints.

Resources

  • Tutorials: step-by-step guide, from installing LeLab to running a trained policy.
  • LeRobot: the underlying library — go here for everything beyond the UI.
  • Upstream LeLab: the original project. Latest official code.
  • Discord: chat with the LeRobot community.

Contribute

PRs welcome. Hot-reload mode for working on the code:

lelab --dev

Vite on :8080, uvicorn --reload on :8000. Installing LeLab builds the frontend bundle, so PRs never include frontend/dist.

Originally hacked together by Team LeLab at the 2025 LeRobot Worldwide Hackathon 🏆, developed by the LeRobot team at Hugging Face. This repository is a copy of huggingface/leLab.

About

Browser UI for LeRobot — calibrate, teleoperate, record, train and run inference on an SO-101 arm

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages