参考资料

https://huggingface.co/docs/lerobot/so100?example=Linux&setup_motors=Command

https://wiki.seeedstudio.com/cn/lerobot_so100m/#%E6%A0%A1%E5%87%86%E6%9C%BA%E6%A2%B0%E8%87%82

前言

博主在3月份买了so100,稍微玩了一下之后就闲置了,最近又拿出来玩,发现整个项目代码做了比较大的修改,于是按着新代码重新跑了一下标定和遥控,后面应该会跑一下算法的复现,这篇文章主要记录一下标定和遥控的过程,若需要看机械臂组装、电机ID设置(买的现成臂的话,一般店家会设置好ID)、lerobot环境安装的朋友可以看hf上的官方文档。

ps:so100和101主要区别在于结构和电机选型上,但代码是通用的,新版项目教程都是以so101的代码为例,不过so100直接拿来用也是没问题的

运行环境

Ubuntu 24.04.3 LTS

lerobot 库版本 0.3.4

python 版本 3.10.13

第一步 USB端口设置

这一步是将机械臂的控制器与电脑连接的关键

这一步用到的脚本文件是 lerobot_find_port.py

路径在  ./lerobot-main/src/lerobot/scripts 

将机械臂插上电脑后 运行脚本文件

脚本会弹出所有可用端口ID,并提示拔掉机械臂的USB,拔掉后按回车即可得到对应的端口ID

对主从臂都进行一次上述操作后,即可得到两臂的ID,在Linux中还要通过系统操作设置端口权限,否则后面会连接不上机械臂

sudo chmod 666 /dev/ttyACM0   #从臂 此处ID需依据上述脚本输出进行修改
sudo chmod 666 /dev/ttyACM1   #主臂

第二步 标定

设置完端口后,需进行主从臂的标定,运行述代码,分别进行主从臂位置的标定

lerobot-calibrate \
    --teleop.type=so101_leader \
    --teleop.port=/dev/ttyACM1 \
    --teleop.id=my_awesome_leader_arm

lerobot-calibrate \
	--robot.type=so101_follower \
	--robot.port=/dev/ttyACM0 \
    --robot.id=my_awesome_follower_arm

这一步新版代码和老版有较大不同,老版是手动调整机械臂到四个位置,新版则是分为了两步:

第一步 将机械臂手动调整到中间位置,回车

中间位置长下面这样

第二步 单臂一共6个电机,手动控制机械臂使每个电机都走一遍完整的行程(腕电机转一圈就行),回车,完成标定

第三步 主从臂遥操

完成双臂的标定后就可以进行主从臂的遥操,通过主臂操作从臂,这样就可以录数据进行训练了

lerobot-teleoperate \
    --robot.type=so101_follower \
    --robot.port=/dev/ttyACM0 \
    --robot.id=my_awesome_follower_arm \
    --teleop.type=so101_leader \
    --teleop.port=/dev/ttyACM1\
    --teleop.id=my_awesome_leader_arm

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐