LeRobot-SO100入门教程-校准机械臂
说明:
介绍如何校准LeRobot-SO100机械臂
先连接上主臂,再连接上从臂
主臂的端口号:/dev/ttyACM0,从臂的端口号:/dev/ttyACM1
相关设备
- LeRobot-SO100套件:采购地址
步骤:
- 加载lerobot环境
conda activate lerobot
- 注意:校准机械臂前,确保删除之前的校准文件main_follower.json,main_leader.json,以防止旧数据干扰新的校准过程
cd ~/lerobot/.cache/calibration/so100
rm main_follower.json main_leader.json
- 注意:在校准机械臂的时候,需要确保校准每个姿势之间,保持更长的时间,以便它捕捉到正确的位置
校准从臂:
- 进入lerobot目录
cd ~/lerobot
- 校准从臂(follower arm),每做好一个姿势,就按回车键。将从臂按顺序移动到以下位置
python3 ~/lerobot/lerobot/scripts/control_robot.py \
--robot.type=so100 \
--robot.cameras='{}' \
--control.type=calibrate \
--control.arms='["main_follower"]'
- 校准完成后的文件保存在当前目录
~/lerobot/.cache/calibration/so100/main_follower.json
- 生成的校准文件main_follower.json的内容如下:
{"homing_offset": [-2017, 3993, -4149, -1101, 1122, -945], "drive_mode": [0, 1, 0, 0, 1, 0], "start_pos": [2029, 3984, 4065, 1123, 1036, 894], "end_pos": [3041, -2969, 5173, 2125, -98, 1969], "calib_mode": ["DEGREE", "DEGREE", "DEGREE", "DEGREE", "DEGREE", "LINEAR"], "motor_names": ["shoulder_pan", "shoulder_lift", "elbow_flex", "wrist_flex", "wrist_roll", "gripper"]}
- 生成的校准文件main_leader.json的内容如下:
{"homing_offset": [-2049, 3795, -4211, -1976, 3122, -1379], "drive_mode": [0, 1, 0, 0, 1, 0], "start_pos": [2081, 3891, 4058, 2004, 3049, 1330], "end_pos": [3073, -2771, 5235, 3000, -2098, 2403], "calib_mode": ["DEGREE", "DEGREE", "DEGREE", "DEGREE", "DEGREE", "LINEAR"], "motor_names": ["shoulder_pan", "shoulder_lift", "elbow_flex", "wrist_flex", "wrist_roll", "gripper"]}
- 校准过程如下:
Calibration file not found '.cache/calibration/so100/main_follower.json'
Connecting main follower arm.
Connecting main leader arm.
Missing calibration file '.cache/calibration/so100/main_follower.json'
Running calibration of so100 main follower...
Move arm to zero position
See: https://raw.githubusercontent.com/huggingface/lerobot/main/media/so100/follower_zero.webp
Press Enter to continue...
Move arm to rotated target position
See: https://raw.githubusercontent.com/huggingface/lerobot/main/media/so100/follower_rotated.webp
Press Enter to continue...
Move arm to rest position
See: https://raw.githubusercontent.com/huggingface/lerobot/main/media/so100/follower_rest.webp
Press Enter to continue...
Calibration is done! Saving calibration file '.cache/calibration/so100/main_follower.json'
Missing calibration file '.cache/calibration/so100/main_leader.json'
Running calibration of so100 main leader...
Move arm to zero position
See: https://raw.githubusercontent.com/huggingface/lerobot/main/media/so100/leader_zero.webp
Press Enter to continue...
Move arm to rotated target position
See: https://raw.githubusercontent.com/huggingface/lerobot/main/media/so100/leader_rotated.webp
Press Enter to continue...
Move arm to rest position
See: https://raw.githubusercontent.com/huggingface/lerobot/main/media/so100/leader_rest.webp
Press Enter to continue...
Calibration is done! Saving calibration file '.cache/calibration/so100/main_leader.json'
Activating torque on main follower arm.
Calibration is done! You can now teleoperate and record datasets!
- 以上执行程序的参数含义:
--robot.type=so100 : 指定机器人类型so100
--robot.cameras='{}' : 用于配置机器人所搭载的摄像头
--control.type=calibrate : 表明要对机器人进行校准操作
--control.arms='["main_follower"]' : 指定要控制的从臂
- 校准从臂生成文件main_follower.json内容如下:
{"homing_offset": [-2013, 3136, -795, -1955, 1104, -1008], "drive_mode": [0, 1, 0, 0, 1, 0], "start_pos": [2066, 3159, 738, 1924, 1102, 898], "end_pos": [3037, -2112, 1819, 2979, -80, 2032], "calib_mode": ["DEGREE", "DEGREE", "DEGREE", "DEGREE", "DEGREE", "LINEAR"], "motor_names": ["shoulder_pan", "shoulder_lift", "elbow_flex", "wrist_flex", "wrist_roll", "gripper"]}
校准主臂:
- 校准主臂(leader arm),每做好一个姿势,就按回车键。将主臂按顺序移动到以下位置
python3 ~/lerobot/lerobot/scripts/control_robot.py \
--robot.type=so100 \
--robot.cameras='{}' \
--control.type=calibrate \
--control.arms='["main_leader"]'
- 以上执行程序的参数含义:
--robot.type=so100 : 指定机器人类型so100
--robot.cameras='{}' : 用于配置机器人所搭载的摄像头
--control.type=calibrate : 表明要对机器人进行校准操作
--control.arms='["main_leader"]' : 指定要控制的主臂
- 校准完成后的文件保存在当前目录
~/lerobot/.cache/calibration/so100/main_leader.json
- 校准主臂生成文件main_leader.json内容如下:
{"homing_offset": [-2077, 3873, -65, -1941, 3193, -1387], "drive_mode": [0, 1, 0, 0, 1, 0], "start_pos": [2109, 3869, 37, 1972, 3104, 1333], "end_pos": [3101, -2849, 1089, 2965, -2169, 2411], "calib_mode": ["DEGREE", "DEGREE", "DEGREE", "DEGREE", "DEGREE", "LINEAR"], "motor_names": ["shoulder_pan", "shoulder_lift", "elbow_flex", "wrist_flex", "wrist_roll", "gripper"]}
演示视频
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号