Advanced reference#
How to confirm which robot arm the port corresponds to#
The number ⚠️
/dev/ttyACM0and/dev/ttyACM1is not fixed. It is assigned by the kernel according to the order in which USB devices are inserted. If the same two wires are plugged in in a different order today, the port numbers may be reversed. After each rewiring, it is recommended to reconfirm the port ownership before executing calibration or teleoperation commands.
Plug and unplug confirmation method#
This is the most direct and reliable way and requires no additional tools to be installed.
Step 1: Unplug all USB devices and confirm that there are currently no ports
ls /dev/ttyACM*
# 预期输出:ls: cannot access '/dev/ttyACM*': No such file or directory
Step 2: Insert only the Leader Arm and record the new ports
ls /dev/ttyACM*
# 例如输出:/dev/ttyACM0
# → 记录:Leader Arm = /dev/ttyACM0
Step 3: Keep the Leader Arm connected, insert a new robotic arm, and record the new port
ls /dev/ttyACM*
# 例如输出:/dev/ttyACM0 /dev/ttyACM1
# → 新增的 /dev/ttyACM1 就是新插入的机械臂的
Use the same method to confirm the ports of the chassis driver board one by one.
Calibration file description#
Where are the calibration files saved?#
After executing lerobot-calibrate, the calibration data will be saved locally in JSON format. The default path is:
~/.cache/huggingface/lerobot/calibration/
Taking the commands in the “First Calibration and teleoperation” chapter as an example, the calibration files of the two arms are saved as:
~/.cache/huggingface/lerobot/calibration/teleop/so101_leader/leader_arm_0218.json
~/.cache/huggingface/lerobot/calibration/robots/so101_follower/follower_arm_0218.json
Among them, leader_arm_0218 and follower_arm_0218 are the custom names you filled in --teleop.id / --robot.id.