OpenArm 开源机械臂实战手册:7 自由度从物料到双边遥操作的完整搭建路线
【免费下载链接】openarmA fully open-source humanoid arm for physical AI research and deployment in contact-rich environments.项目地址: https://gitcode.com/GitHub_Trending/op/openarm
OpenArm 是一个完全开源的 7 自由度人形机械臂项目,覆盖 CAD 物料、QDD 后驱电机、CAN-FD 总线、ROS2 集成到主从遥操作与仿真训练的全链路。本文按"上手笔记"的写法,面向想亲手组装协作机械臂、并在接触密集环境中采集数据的新手与进阶开发者,把物料、装配、校准与遥操作这条路径一次讲清。
项目速览:OpenArm 核心参数 30 秒看懂
OpenArm 2.0 定位很明确:给物理 AI 研究提供一个尺寸接近人体(按 160~165 cm 身高的人设计)、可复现、成本可控的 7 自由度执行平台。从关节 CAD、通信板 Gerber 到固件与仿真资产全部公开,双臂完整系统成本约 6500 美元,硬件与 OpenArm Cell(标准化评估环境)、OpenArm KER(无电机主臂)组成完整数据闭环。
| 参数 | 数值 |
|---|---|
| 自由度 | 每臂 7 DOF(QDD 后驱,全关节机械限位) |
| 标称负载 | 4.1 kg(最差姿态保持 1 分钟,含末端执行器) |
| 峰值负载 | 6.0 kg(3 秒下探 + 1 秒保持) |
| 控制总线 | CAN-FD(推荐 5 Mbps),1 kHz 控制环 |
| 关节电机 | DM4310 / DM4340 / DM8009P,24V |
| 末端执行器 | 并联夹爪,内置 in-hand 相机 |
负载数字要记住一个扣减规则:末端执行器算进负载。装上 1.5 kg 夹爪后,标称只剩 2.6 kg、峰值只剩 4.5 kg,规划任务时先做这个减法。
适合谁上手:适用边界与真实预期
适合:实验室或团队需要低成本采集演示数据、复现模仿学习论文,以及想系统学习"机械结构 + 嵌入式 CAN 通信 + ROS2 控制栈"完整链条的开发者。不适合:追求开箱即用成品臂、不想碰命令行和焊接的读者,以及预算低于双臂系统总价或场地放不下人形尺寸手臂的团队。另外提醒一句,DIY 组装包含 CNC 件采购、3D 打印与电气接线,动手周期以周计,先想清楚再下单物料。
硬件蓝图:机械件、电气件与采购件三张清单 📦
物料分三类,仓库里附了完整 BOM(含供应商料号)与 3D CAD 数据(STL/STEP/Fusion 360),按表采购即可:
| 分类 | 典型物料 | 获取方式 |
|---|---|---|
| 机械件 | 关节连接板、侧支架、基座板、夹爪传动件 | CNC 加工或 3D 打印,CAD 全开放 |
| 电气件 | Hub 通信板、电源扩展板、XT30(2+2) 连接器、USB-CAN 设备、急停开关 | 自打板(仓库含 Gerber)或按 BOM 采购 |
| 标准采购件 | DM4310/DM4340/DM8009P 电机、交叉滚子轴承、MiSUMi 铝型材、M3~M5 螺钉、24V 电源 | 现货可买,BOM 列明供应商 |
结构上用铝材 + 不锈钢件保证反复采集的耐用性;支撑柱是 MiSUMi 铝型材,可改尺寸并加装相机传感器;基座板均匀分布 M6 螺纹孔,直接锁在桌面上。每个关节(J1~J7)配独立电机,夹爪为 J8,单关节故障可单独更换,不必拆整臂。
组装实战路径:基座、关节、末端、电气四阶段 checklist
阶段一:基座。① 拼装 MiSUMi 铝型材支撑柱并调平;② 用 M6 螺钉把基座板锁到桌面,避开人员走道。
阶段二:关节链。按 J1-J2 → J2-J3 → J3-J4 → J4-J5 → J5-J6-J7 的顺序逐段装配,每段装完手动转一下确认无卡滞、限位块归位。
阶段三:末端执行器。装配并联夹爪与 in-hand 相机,注意热熔嵌件按对角顺序锁紧,避免应力开裂。
阶段四:电气。① 电机用 XT30 2+2 线缆做菊花链;② CAN-FD 线按 J1-J2、J3-J4、J4-J7、J7-J8 分段接入 Hub 通信板;③ 24V 电源与急停开关串入回路,急停按钮装在伸手可及处。
软件栈最小可行路径:环境、校准、总线到 demo 验证
整条路径四步走,每步 1~3 条命令就能过:
① 环境准备。Ubuntu 22.04/24.04 + ROS2(推荐 Humble),克隆文档与配套仓库:
git clone https://gitcode.com/GitHub_Trending/op/openarm cd openarm/website && npm install② 电机校准(ID + 零位)。用 Damiao USB CAN 调试工具(Windows)把每个电机的发送/接收 ID 按官方表写死:J1~J7 为 0x01~0x07,夹爪 0x08,对应 Master ID 为 0x11~0x18;随后把各关节零位设到安全姿态,这是后续一切运动的前提。
③ CAN 总线配置。从 openarm PPA 装好工具链后一条命令配置全部接口:
sudo add-apt-repository -y ppa:openarm/main sudo apt update && sudo apt install -y can-utils openarm-can-utils openarm-can-configure-socketcan-4-arms -fd -b 1000000 -d 5000000④ 验证运行。直接跑官方 demo,它会自动完成初始化、读回电机 ID、位置/扭矩控制测试、夹爪开合、状态打印 10 周期后安全断电:
openarm-can-demo看到终端回显各关节 ID 与位置数据、电机按脚本动作一遍,最小闭环就算通了。
进阶玩法:主从跟随、单边/双边控制与仿真训练 🤖
- 单边控制:主臂位置指令单向映射到从臂,无力反馈。简单鲁棒,适合自由空间动作与首次遥操作,缺点是接触任务容易施力过猛。
- 双边控制:借助 QDD 电机的高后驱性做双向力反馈,操作者能"摸到"从臂的接触状态,是接触密集数据采集(插拔、装配类)的关键。
- VR 遥操作:通过 VR 设备沉浸式操控从臂,配合相机回传做数据录制,适合长时间重复采集。
- 仿真训练:Isaac Lab 与 MuJoCo 两套资产齐全,先仿真后上真机;配合 OpenArm Cell 的标准化背景/灯光/相机位,采集与评估结果可跨实验室复现;OpenArm KER 无电机主臂则用于低疲劳示教。
安全红线:上电前必须执行的硬约束
- 急停常备:急停按钮全程在伸手可及处;注意 QDD 电机断电即失力,负载会立刻下落,急停前先想好负载去向。
- 机械限位:每个关节的限位块是防异常姿态的最后防线,定期查有没有变形破损,发现异常立即停机。
- 负载上限:单臂标称 4.1 kg / 峰值 6.0 kg,夹爪自重要从里面扣,末端执行器自身额定值也受同一约束。
- 人员隔离:运动范围内不站人,身体任何部位不进入臂扫掠区;接近设备前先断电并防误触。
- 着装与巡检:佩戴护目镜,穿合身衣物;每次开机前查基座与关节螺钉松紧、线缆有无折伤异响。
生态地图:多个仓库各司其职
| 仓库 | 职责 |
|---|---|
| openarm | 主仓库:项目议题、文档站与总体规划 |
| openarm_hardware | 完整 CAD 数据:STL、STEP、Fusion 360 装配体 |
| openarm_description | URDF/xacro 机器人描述,仿真与可视化共用 |
| openarm_can | 底层电机通信库与 CLI 工具 |
| openarm_ros2 | ROS2 集成包与控制器节点(含 MoveIt2) |
| openarm_teleop | 单边/双边遥操作包 |
| openarm_isaac_lab / openarm_mujoco | 两套仿真环境与训练任务 |
| openarm_dataset / dora-openarm | 数据集格式、录制工具与 Python API、数据流节点 |
社区入口:Discord 实时答疑与协作、仓库 Issues 报 bug 提需求、Discussions 讨论技术问题,卡住时优先走这三个通道。
下一步可以做的三件事
- 把仓库里 website/docs/hardware/ 的 BOM 过一遍,按"标准采购件"清单先下单电机和 24V 电源(采购周期最长)。
- 装好 Ubuntu + ROS2 Humble,用
ip link show确认 CAN 接口,跑通openarm-can-configure-socketcan-4-arms这条命令。 - 加入 Discord 社区,在 Issues 里搜你所在地区的构建者案例,抄一份经过验证的装配顺序再动扳手。
【免费下载链接】openarmA fully open-source humanoid arm for physical AI research and deployment in contact-rich environments.项目地址: https://gitcode.com/GitHub_Trending/op/openarm
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考