OpenArm 开源 7 自由度双臂机械臂:物理 AI 遥操作数据采集平台完整指南
【免费下载链接】openarmA fully open-source humanoid arm for physical AI research and deployment in contact-rich environments.项目地址: https://gitcode.com/GitHub_Trending/op/openarm
OpenArm 是一款面向物理 AI(physical AI)研究的开源 7 自由度机械臂,双臂完整系统售价 6,500 美元,单臂额定负载 4.1 kg、峰值 6.0 kg。它要解决的问题很具体:不同实验室的光照、相机和装配条件不一致,导致策略算法的对比结果难以互相复现。项目把机械臂、标准化评估单元和遥操作工具全部开源,让全球团队在同一硬件条件下做实验。适合做模仿学习、数据采集和策略评估的团队,以及想复现人形臂硬件的学生与工程师。
应用场景与选型取舍:哪些团队需要一套可复现的机械臂
做模仿学习数据采集时,一条遥操作数据的质量取决于相机位姿、背景光照和关节标定,而这些往往散落在各实验室自己的台架上。OpenArm 把这三样固定下来:主臂、双臂评估单元 OpenArm Cell、无电机主从臂 OpenArm KER 配套交付,论文级对比只需要比策略本身。
选型上的关键取舍是负载与成本的平衡:4.1 kg 额定负载达到研究级水平,而整套双臂系统的价格控制在 6,500 美元,属于教学级成本。另一个取舍是可复现性优先于自由度——它没有追求更多轴,而是把 7 DOF 人形比例和标准化评估环境做扎实。
7 自由度机械臂核心参数与硬件设计
| 项目 | 规格 |
|---|---|
| 自由度 | 单臂 7 DOF,人形比例按 160–165 cm 身高缩放 |
| 负载 | 额定 4.1 kg / 峰值 6.0 kg(含末端执行器重量) |
| 关节 | QDD 回驱关节,每个轴带机械限位 |
| 控制总线 | CAN-FD,8 电机配置下控制周期可达 1000 Hz |
| 结构 | 铝合金 + 不锈钢,基座为 MISUMI 铝型材,底板均布 M6 螺纹孔 |
| 末端 | 并联夹爪,内置腕部相机,指形件可更换 |
⚙️ 关节电机按位置混搭三种 DAMIAO 型号:DM-J4310-2EC(3/7 Nm,10:1,300 g)、DM4340 系列(9/27 Nm,40:1,362 g)、DM-J8009P(20/40 Nm,9:1,896 g)。单侧悬臂的支撑段选用带交叉滚子轴承的型号保证刚性;DM4340 并非 QDD 电机,但被特意选入以在扭矩与紧凑外观之间取平衡。
🔍 OpenArm Cell 是整套方案里最针对数据质量的设计:外罩用 MISUMI 标准件搭建,统一背景、光照与相机位姿,Z 轴高度可调,整机约 100 kg。它内置基于区域传感器的 Reach-In Stop 入侵断电保护,还配专用零位校准工装,把各自由度物理约束到 CAD 定义的角度,从数据源头消除装配公差。
📷 夹爪内置 Arducam B0495 全局快门相机(1920×1200 @ 50 fps,标准 UVC 免驱),指形几何同时优化了抓取稳定性和视野盲区,抓取任务可直接用腕部视角,无需额外布置相机。
软件栈与数据链路:从 CAN 总线到策略推理
底层用 SocketCAN + CAN-FD 直连 DAMIAO 电机,openarm_can仓库提供 C++ 库与 CLI 工具,负责配置、扫描、使能和遥测。
其上openarm_ros2封装了 ros2_control 硬件接口和 MoveIt2 配置,是标准控制层,支持 fake hardware 模式,没有物理臂也能调试上层逻辑。
仿真分两条线:openarm_mujoco提供双臂 MJCF 模型,可直接拖入 simulate 窗口验证;openarm_isaac_lab基于 IsaacSim 5.1.0 / Isaac Lab 2.3.0 提供强化学习环境,已包含 Reaching、抬升方块、开抽屉、双臂到达四个任务。
部署走 Dora(dora-rs)数据流:各节点是独立 Python 进程,通过 Arrow 数组通信,YAML 文件编排拓扑,还内置 dummy 节点,无硬件也能跑通数据流做 CI。
详见 website/docs/api-reference/can/can.mdx 与 website/docs/api-reference/dora.md。
上手路径:三个实验从零验证到真机遥操作
实验一:通信冒烟测试
目标:确认 PC、CAN 适配器和 8 台电机链路正常。
最短命令:
sudo add-apt-repository -y ppa:openarm/main && sudo apt install -y openarm-can-utils openarm-can-cli -i can0 can_configure openarm-can-cli -i can0 discover openarm-can-cli -i can0 enable openarm-can-cli -i can0 monitor成功判据:discover列出 8 台电机的 ID 与波特率,monitor能滚动输出位置、速度、扭矩、温度;随后运行openarm-can-demo完成电机查询与位置/扭矩控制冒烟测试。
实验二:无硬件调试(假硬件与仿真)
目标:在没有物理臂的机器上跑通 ROS2 与仿真环境。
最短命令:
git clone https://gitcode.com/GitHub_Trending/op/openarm ros2 launch openarm_bringup openarm.bimanual.launch.py arm_type:=v2.0成功判据:fake hardware 模式下双臂话题正常发布,MuJoCo 窗口中双臂模型可动;排错顺序建议从总线波特率与 ID 冲突查起,完整清单见 website/docs/api-reference/can/cli.mdx。
实验三:真机遥操作采集
目标:用主从臂驱动从臂并采集一条 episode。
最短命令(追加真机参数即可切换):
ros2 launch openarm_bringup openarm.bimanual.launch.py arm_type:=v2.0 \ use_fake_hardware:=false right_can_interface:=can0 left_can_interface:=can1成功判据:动主臂时从臂 1:1 跟随;双向(bilateral)模式下能感知到从臂接触力。KER 主臂通过 M5Stack 模块上报姿态,脚踏板控制记录启停,适合数小时级长时间采集,见 website/docs/teleop/。
数据闭环:遥操作模式、遥操作数据集格式与推理部署
🧲 遥操作分两种模式:单侧(unilateral)只做单向位置跟随,适合自由空间运动;双向(bilateral)回传力觉,500 Hz 以上的控制频率让操作者能"感觉到"从臂碰到的物体,更适合接触密集任务的采集,实现在openarm_teleop包。
采集数据以openarm_dataset格式落盘:每个 episode 含action(关节位置 parquet)、obs(关节状态 parquet)、多路相机 JPEG(顶部、头部双目、腕部)和metadata.yaml。
训练侧直接pip install openarm_dataset读取,并可用一条命令转换为 LeRobot v3.0 格式,接入 ACT 等模仿学习策略(教程基于 lerobot 0.6.1)。
推理侧由 Dora 数据流编排:观测以 250 Hz 节拍打包,策略服务器返回 16 自由度(双臂 7+7 加夹爪)的位置动作块,执行节点做 30→250 Hz 上采样与低通滤波后下发关节。
格式与转换 API 见 website/docs/dataset/api.mdx。
注意与局限:负载折减、未发售部件与价格门槛
🚫 OpenArm KER 主从臂尚未正式发售,依赖它做长时间采集的团队目前只能等待或自行复现(图纸与 BOM 已公开)。
负载定义包含末端执行器:装上 1.5 kg 的执行器后,额定负载降为 2.6 kg、峰值 4.5 kg,做负载预算时要先把执行器重量算进去。
价格门槛方面,6,500 美元是双臂完整系统的价格,外加 24V 电源、CAN 适配器和评估单元 Cell(约 100 kg,需固定安装空间),预算与场地都要提前确认。
给新团队的最短上手路径
先按 website/docs/setup/openarm-setup/ 的顺序装好 CAN 工具链并跑通实验一,再用 fake hardware 模式完成实验二,最后接真机做遥操作采集——每一步都有明确的成功判据,卡住时优先查总线层。硬件与仿真文档集中在 website/docs/ 的 API Reference 下,可按需深挖。
【免费下载链接】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),仅供参考