From Box to Action
This is your single source of truth. Keep it open.
https://huggingface.co/docs/lerobot/index
Goal: Identify the unique USB port for *each* arm.
python lerobot/find_port.py
It teaches the software the physical limits and properties of your specific robot arms.
CRUCIAL: Without calibration, movements will be inaccurate, unpredictable, and potentially unsafe.
python -m lerobot.calibrate \
--robot.type=so101_follower \
--robot.port=YOUR_FOLLOWER_PORT \
--robot.id='your-robot-name'
--robot.type
: Specifies the kind of robot.--robot.port
: The port you just found.--robot.id
: A unique name to save the calibration file.python -m lerobot.calibrate \
--teleop.type=so101_leader \
--teleop.port=YOUR_LEADER_PORT \
--teleop.id='your-controller-name'
--teleop
: This prefix signifies this is the teleoperation/controller device.This is how you'll record data for imitation learning.
For more details, see the 'Imitation Learning for Robots' tutorial in the docs.
python -m lerobot.teleoperate \
--robot.type=so101_follower \
--robot.port=YOUR_FOLLOWER_PORT \
--robot.id=your-robot-name \
--teleop.type=so101_leader \
--teleop.port=YOUR_LEADER_PORT \
--teleop.id=your-controller-name
Note how we use the unique `id`s we chose during calibration.
Let's run through `find_port`, `calibrate`, and `teleoperate` live.
Find your ports, calibrate your arms, and try teleoperation. Mentors are here to help.