不小心编号破坏了怎么办?
1. 为什么会编号乱?
现有编号流程的基本原理,是每次都将程序将检测到的编号为 1 的舵机依次修改为 6-->5-->4-->3-->2-->1。由于舵机出厂的编号都是1,所以整个流程是这样的:
- 第1步:接上新的舵机,将扫描到的1号舵机编号为6;
- 第2步:再接上新出厂舵机,将扫描到的1号舵机编号为5;
- 第3步:再接上新出厂舵机,将扫描到的1号舵机编号为4;
- 第4步:再接上新出厂舵机,将扫描到的1号舵机编号为3;
- 第5步:再接上新出厂舵机,将扫描到的1号舵机编号为2;
- 第6步:再接上新出厂舵机,将扫描到的1号舵机编号为1;
如果是已经组装编号好的机械臂,第1步就会将机械臂上已经编号为1的舵机修改为6号,导致总线上有2个编号为6的舵机,通讯冲突,从而报错,类似下面的日志,只找到2,3,4,5 这4个舵机,没发现1号和6号:
Missing motor IDs:
- 1 (expected model: 777)
- 6 (expected model: 777)
Full expected motor list (id: model_number):
{1: 777,2: 777,3: 777,4: 777,5: 777,6: 777}
Full found motor list (id: model_number):
{2: 777,3: 777,4: 777,5: 777}
对于已经组装编号好的机械臂,通常异常第1步编号之后就没有 1号 舵机了,所以不会再破坏其他的舵机编号。
温馨提示:我们配置的 JoyandAI 的lerobot 仓库,在编号这一步添加了对总线上其他编号舵机的检查,发现可能是已经编号的机械臂时,会中断编号过程,防止简单错误发生,对新手更友好。
2. 正确的舵机与关节编号

3. 如何解决?
知道是冲突的原因之后,只要把错误修改为6号的底座电机重新编号为1就可以,但需要将该舵机先断开与其他舵机的连接。
3.1 断开与 2 号关节舵机的连接
| Leader臂 | Follower臂 |
|---|---|
![]() |
![]() |
3.2 连接电脑
3.3 编号
编号有两种实现方式
3.3.1 方式 1:使用脚本编号
执行以下脚本,回车6次 即可把错误编号为6的舵机恢复为编号1。
Bash
python -m lerobot.setup_motors --robot.type=so101_follower --robot.port=/dev/ttyACM0
3.3.2 方式 2:打开 Feetech Debug 编号
参考Windows编号步骤:飞特舵机使用补充资料
将扫描到的6号舵机,编号为1。
3.4 重新连接机械臂的舵机线
| Leader臂 | Follower臂 |
|---|---|
![]() |


