(testagent) jzzz@DESKTOP-8MIQOKD:~/lerobot$ python lerobot/scripts/control_robot.py --robot.type=so101 --robot.cameras='{}' --control.type=calibrate --control.arms='["main_follower"]'
INFO 2025-05-18 20:51:13 ol_robot.py:408 {'control': {'arms': ['main_follower']},
'robot': {'calibration_dir': '.cache/calibration/so101',
'cameras': {},
'follower_arms': {'main': {'mock': False,
'motors': {'elbow_flex': [3, 'sts3215'],
'gripper': [6, 'sts3215'],
'shoulder_lift': [2,
'sts3215'],
'shoulder_pan': [1, 'sts3215'],
'wrist_flex': [4, 'sts3215'],
'wrist_roll': [5, 'sts3215']},
'port': '/dev/ttyACM0'}},
'gripper_open_degree': None,
'leader_arms': {'main': {'mock': False,
'motors': {'elbow_flex': [3, 'sts3215'],
'gripper': [6, 'sts3215'],
'shoulder_lift': [2, 'sts3215'],
'shoulder_pan': [1, 'sts3215'],
'wrist_flex': [4, 'sts3215'],
'wrist_roll': [5, 'sts3215']},
'port': '/dev/ttyACM0'}},
'max_relative_target': None,
'mock': False}}
Calibration file not found '.cache/calibration/so101/main_follower.json'
Connecting main follower arm.
Connecting main leader arm.
Missing calibration file '.cache/calibration/so101/main_follower.json'
Traceback (most recent call last):
File "/home/jzzz/lerobot/lerobot/scripts/control_robot.py", line 437, in <module>
control_robot()
File "/home/jzzz/lerobot/lerobot/configs/parser.py", line 227, in wrapper_inner
response = fn(cfg, *args, **kwargs)
File "/home/jzzz/lerobot/lerobot/scripts/control_robot.py", line 415, in control_robot
calibrate(robot, cfg.control)
File "/home/jzzz/lerobot/lerobot/common/robot_devices/utils.py", line 42, in wrapper
raise e
File "/home/jzzz/lerobot/lerobot/common/robot_devices/utils.py", line 38, in wrapper
return func(robot, *args, **kwargs)
File "/home/jzzz/lerobot/lerobot/scripts/control_robot.py", line 228, in calibrate
robot.connect()
File "/home/jzzz/lerobot/lerobot/common/robot_devices/robots/manipulator.py", line 256, in connect
self.activate_calibration()
File "/home/jzzz/lerobot/lerobot/common/robot_devices/robots/manipulator.py", line 331, in activate_calibration
calibration = load_or_run_calibration_(name, arm, "follower")
File "/home/jzzz/lerobot/lerobot/common/robot_devices/robots/manipulator.py", line 321, in load_or_run_calibration_
calibration = run_arm_manual_calibration(arm, self.robot_type, name, arm_type)
File "/home/jzzz/lerobot/lerobot/common/robot_devices/robots/feetech_calibration.py", line 443, in run_arm_manual_calibration
if (arm.read("Torque_Enable") != TorqueMode.DISABLED.value).any():
File "/home/jzzz/lerobot/lerobot/common/robot_devices/motors/feetech.py", line 751, in read
raise ConnectionError(
ConnectionError: Read failed due to communication error on port /dev/ttyACM0 for group_key Torque_Enable_shoulder_pan_shoulder_lift_elbow_flex_wrist_flex_wrist_roll_gripper: [TxRxResult] Incorrect status packet!
可能原因一:线缆没接好,检查控制板和电机之间的接线
可能原因二:feetech舵机的固件版本需要更新,找fd的调试软件里更新
FEETECH Debug Software: 飞特总线舵机调试软件
我的是1.9.8.3
找到自己的端口号。波特率最大然后开始,搜索,给每个舵机都升
每个舵机都检测更新一遍。
升级完后再执行lerobot下标定脚本,即可成功标定。