6. 电机配置与机械臂组装
3D 打印结构件、连接舵机总线与供电、用 lerobot-setup-motors 逐个烧写舵机 ID 与波特率,再按步骤组装 SO-ARM 主臂与从臂。
在运行任何能让机械臂运动的程序之前,清空工作区 1 米范围内的贵重物品、易碎品、工具、线缆与无关物品。调试与运行期间,人员远离机械臂运动范围。
- 机械臂上电后,不要触碰关节、电机、连杆、夹爪或末端工具。
- 舵机配置、标定、遥操作、数据录制、回放或策略评估前,确认机械臂已牢固固定。
- 保持至少 1 米安全距离,并让附近人员知道机械臂可能突然运动。
- 出现异常运动、异响、抖动、线缆松动、电源接触不良或通信丢失时,立即停止程序并断电检查。
- 插拔舵机线、USB 线、电源接头或电机控制板线缆前先断电。
如果你购买的是组装完成版机械臂,可以跳过本章,直接进入第 10 章(整臂标定)。
3D 打印指南(套件版)
如果买的是套件版(只有舵机与五金、不含打印件),先打印结构件。STL 文件在普通 FDM 打印机上即可打印:
- 材料:PLA+
- 喷嘴 / 层高:0.4mm 喷嘴 0.2mm 层高,或 0.6mm 喷嘴 0.4mm 层高
- 填充率:15%
- 支撑:全域支撑,忽略与水平面夹角大于 45° 的斜面;水平向螺孔内不要生成支撑
主臂或从臂的全部零件都打包在单个 STL 中,且已按 z 轴朝上排布以尽量减少支撑:
- 220mm × 220mm 热床(如 Ender):从臂 Follower · 主臂 Leader
- 205mm × 250mm 热床(如 Prusa / Up):从臂 Follower · 主臂 Leader
随着官方 SO101 更新,SO100 源文件已停止维护,但仍可在我们的 Makerworld 找到。已购 SO100 的用户,教程与安装方式仍然兼容 —— SO101 的打印件与 SO100 电机套件的安装完全兼容。
可选:为柔软、易碎或不规则物体打印软夹爪(TPU 指夹 + PLA 件),需要装相机时也可打印相机支架嵌件。文件在 soarm_soft_gripper 仓库。
规划电机:标签、ID 与齿轮比
为两条臂各准备一个总线舵机适配器和 6 个电机。给每个电机贴标签 F1–F6(从臂关节 1–6)或 L1–L6(主臂关节 1–6) —— 在舵机外壳上写清楚,能省下大量调试时间。
| 舵机型号 | 齿轮比 | 对应关节 |
|---|---|---|
| ST-3215-C044(7.4V) | 1:191 | L1 |
| ST-3215-C001(7.4V) | 1:345 | L2 |
| ST-3215-C044(7.4V) | 1:191 | L3 |
| ST-3215-C046(7.4V) | 1:147 | L4–L6 |
| ST-3215-C001(7.4V)/ C018(12V)/ C047(12V) | 1:345 | F1–F6 |
按舵机类型给总线供电:7.4V 版 STS3215 用 5V,12V 版用 12V。主臂始终使用 7.4V 电机 —— 如果你同时有 12V 和 7.4V 电机,插电前务必核对适配器,否则可能烧毁电机!USB 线不供电:电源与 USB 必须同时插上。

SO-ARM101 的舵机标定与初始化流程在方法和代码上与 SO-ARM100 相同 —— 但 SO-ARM101 主臂前三个关节的齿轮比与 SO-ARM100 不同,请仔细区分并配置。
查找 USB 端口
运行工具脚本找出每条臂的控制板占用的串口:
lerobot-find-port
示例输出:
Finding all available ports for the MotorBus.
['/dev/ttyACM0', '/dev/ttyACM1']
Remove the usb cable from your MotorsBus and press Enter when done.
[...Disconnect corresponding leader or follower arm and press Enter...]
The port of this MotorsBus is /dev/ttyACM1
Reconnect the USB cable.
几个省时的提示:
- 提示拨线时务必真的拔掉 USB,否则无法识别接口。
- 在 Linux 与 Jetson 上,先插的设备通常映射为
ttyACM0(一般为从臂),第二个为ttyACM1(主臂)。 - 如果 LeRobot 之后报
Could not connect on port '/dev/ttyACM0',授权后重新检查:
sudo chmod 666 /dev/ttyACM*
配置舵机 ID 与波特率
配置工具会逐个舵机烧写正确的 ID 与波特率(第 4 章解释过原因:所有舵机共用总线,重复 ID 会被一并改写)。
标定前请参考以下各关节标准接线姿态图片:
主臂舵机标定参考图
| 关节 6 | 关节 5 | 关节 4 | 关节 3 | 关节 2 | 关节 1 |
|---|---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
从臂舵机标定参考图
| 关节 6 | 关节 5 | 关节 4 | 关节 3 | 关节 2 | 关节 1 |
|---|---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
标定从臂舵机。 将 USB 线与电源接到从臂控制板,然后运行:
lerobot-setup-motors \
--robot.type=so101_follower \
--robot.port=/dev/ttyACM0 # <- 粘贴上一步找到的端口
工具会逐关节引导:
Connect the controller board to the 'gripper' motor only and press enter.
只把夹爪电机(F6)接到控制板,按 Enter,脚本自动写入它的 ID 与波特率:
'gripper' motor id set to 6
接着:
Connect the controller board to the 'wrist_roll' motor only and press enter.
上一根 3 芯线可以留在夹爪电机的另一端;给腕部回转电机换一根新的 3 芯线,只把这一个电机接到板子上。按提示对每个电机重复 —— 任何时刻都只接一个电机。
每次按 Enter 前检查接线 —— 电源线在你摆弄板子时特别容易松脱。
脚本结束后,把电机依次级联:每个电机的 3 芯线插到下一个电机,1 号电机(肩部旋转,ID 1)的线接到控制板,控制板此时可以固定到臂座上。
主臂舵机标定方法相同:
lerobot-setup-motors \
--teleop.type=so101_leader \
--teleop.port=/dev/ttyACM0 # <- 粘贴上一步找到的端口
SO100 用户:SO100 与 SO101 代码兼容 —— 直接使用同样的 so101_leader / so101_follower 类型和参数即可。
组装
SO-ARM101 双臂组装与 SO-ARM100 相同 —— 区别仅在于 SO-ARM101 增加了线缆夹,且主臂关节舵机齿轮比不同。SO100 和 SO101 都可以按以下步骤组装。组装前,再对照 6.2 节的表格核对电机型号、齿轮比与电源电压。
组装主臂
| 步骤 1 | 步骤 2 | 步骤 3 | 步骤 4 | 步骤 5 | 步骤 6 |
|---|---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| 步骤 7 | 步骤 8 | 步骤 9 | 步骤 10 | 步骤 11 | 步骤 12 |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| 步骤 13 | 步骤 14 | 步骤 15 | 步骤 16 | 步骤 17 | 步骤 18 |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| 步骤 19 | 步骤 20 | ||||
![]() | ![]() |
组装从臂
从臂组装与主臂基本一致,唯一区别是步骤 12 之后末端执行器(夹爪与把手)的安装方式。
| 步骤 1 | 步骤 2 | 步骤 3 | 步骤 4 | 步骤 5 | 步骤 6 |
|---|---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| 步骤 7 | 步骤 8 | 步骤 9 | 步骤 10 | 步骤 11 | 步骤 12 |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| 步骤 13 | 步骤 14 | 步骤 15 | 步骤 16 | 步骤 17 | |
![]() | ![]() | ![]() | ![]() | ![]() |
进入下一章前的检查清单
- 两条臂已组装,每个舵机都能以预期 ID 响应(用第 7 章的工具验证);
- 供电电压符合版本规则(标准版两臂均 5V;专业版主臂 5V、从臂 12V);
- 两块控制板分别以
/dev/ttyACM0与/dev/ttyACM1出现; - 线缆插紧、无锐弯、且不进入关节运动范围。
如果有舵机未检测到、ID 疑似重复或中位不对,下一章的舵机调试工具正是为这些问题准备的。
















































