7 天搭好 OpenArm 开源机械臂:从打印到首跑的完整教程
·
7 天搭好 OpenArm 开源机械臂:从打印到首跑的完整教程
OpenArm 是一条 7 自由度(DOF,指关节可独立转动的轴数)的开源机械臂,主打物理 AI 场景下的真实抓取与可复现评测。硬件(CAD、固件)和控制代码全部公开,你可以自己打印、接线并跑起来。按本教程,一个人用一到两周把结构件装配好、软件调通并不难,核心路径是先让一个关节转起来,再逐步接全臂。
开工前的核对清单
先花十分钟把料备齐,能省掉后面反复停工。下表把必需项和可选项分开,缺必需项就先补齐。
| 类别 | 必需项 | 可选项 |
|---|---|---|
| 硬件 | 结构件、3 类 Damiao 电机(DM4310 / DM4340 / DM8009P)、24V 直流电源、CAN 通讯线缆 | 平行夹爪、内置相机(Arducam B0495) |
| 工具 | 内六角扳手、十字螺丝刀、一把 Damiao USB CAN 调试器 | 3D 打印机(自制壳体) |
| 软件 | 一台装 Ubuntu 22.04/24.04(带 SocketCAN)的电脑;另备一台 Windows 机用于写电机 ID | Docker、ROS2 工作空间 |
提示:给电机写 ID 只能在 Windows 上做,跑控制则在 Linux 上做,两台机器各司其职。
分步搭建
OpenArm 整体结构:铝型材立柱底座加七轴手臂,底座带 M6 螺纹孔可直接固定到台面
固定底座
- 操作:用 M6 螺栓把 MiSUMi 铝型材立柱装到底板,按文档补齐加强筋和侧板。
- 预期结果:底座水平、牢固,扳动无异响,可承载整条手臂重量。
- 容易做错:加强筋螺丝漏装或没拧到位,整臂装好后会晃动,务必先紧后测。
上关节模组
- 操作:沿 J1 到 J7 顺序把电机逐段装进关节臂,注意每处机械限位(限制关节转角的安全挡块)。
- 预期结果:各关节手转顺滑、无卡滞,限位挡块完整卡位。
- 容易做错:电机线缆先塞后走,容易在后续关节处被夹住,应先理线再固定。
走线接电
- 操作:用 XT30 2+2 线把电机 daisy-chain(首尾串联)到 CAN 总线,接好 24V 电源正负极。
- 预期结果:上电后电机指示灯能点亮,总线两端 120Ω 终端电阻已启用。
- 容易做错:忘记打开 CAN 终端电阻、或把电源极性接反,是最常见的两笔错账。
软件环境搭建与联调
主线只有一条:装工具 → 配总线 → 写 ID → 校准零位。每一步都有一条核心命令。
先在 Linux 上装 CAN 工具与 OpenArm 库:
sudo add-apt-repository -y ppa:openarm/main # 添加 OpenArm 软件源
sudo apt install -y can-utils iproute2 openarm-can-utils # 装 CAN 工具与控制库
再配置 CAN 接口为推荐的高速模式:
openarm-can-configure-socketcan-4-arms -fd -b 1000000 -d 5000000 # CAN FD,5Mbps
电机 ID 在 Windows 用 Damiao 调试器写入,按 J1→J8 依次设发送 ID 0x01~0x08、接收(Master)ID 0x11~0x18。写完后回到 Linux,把手臂摆到零位姿态再校准:
openarm-can-zero-position-calibration # 默认走 can0 右臂,夹爪闭合视为零位
安全红线与高频坑
先把这几条贴在操作位旁边,再谈效率:
- 急停按钮放在手边,出现异常立刻断电,它要离手臂远到不会被误碰、又近到一秒能按到。
- 运行时身体和物件都不进入运动范围;要靠近就先断电并防旁人误开。
- 全程戴护目镜等 PPE,着装贴身,避免被关节或末端勾到。
- 负载别超额定值:单臂 nominal 4.1 kg、peak 6.0 kg,且都含末端执行器。
- 记得急停断电的瞬间,手里夹着的物体会因高可回溯性快速下坠,先放稳再急停。
新手最容易踩的三个坑:
- 没先写电机 ID 就运行程序——顺序反了,控制端找不到对应电机。
- 零位没校准或波特率与接口不一致——表现为无响应或位置漂移,先对齐波特率再校准。
- 供电电流不足,电机只响不转——24V 电源要留足余量,串联电机时电流要叠加估算。
第一次跑起来
最短验证路径就一条命令。确认电机 ID 已写、CAN 接口已配、零位已校准后:
openarm-can-demo # 默认用 can0 上的 0x01/0x02/0x07 电机跑位控+力控演示
看到什么算成功:终端依次打印电机 ID 查询结果、位置/速度读数并循环输出,同时对应关节真实转动、夹爪完成一次开合,最后安全关闭电机。关节有动作且读数连续,就说明总线到电机这一环全部打通了。
下一步去哪儿
- CAN 控制参考:查控制 API 与 CLI 用法,自定义运动。
- Leader-Follower 遥操作:双臂主从控制,含单侧/双侧模式。
- 仿真环境:MuJoCo 与 Isaac Lab 里先跑虚拟臂再上实机。
- 数据集工作流:规范采集数据、接入可复现评测。
- OpenArm 2.0 硬件规格:电机参数、尺寸与 CAD/BOM 下载。
先把底座固定牢、把 J1 单独跑起来。一个关节转顺了,整臂只是重复同样的动作。
更多推荐



所有评论(0)