首页 / 资讯中心 / 文章详情

搭建OpenArm开源人形机械臂:7自由度双臂从装架到跑通遥操作的完整路径

搭建OpenArm开源人形机械臂:7自由度双臂从装架到跑通遥操作的完整路径 ★ FEATURED ARTICLE
搭建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自由度人形机械臂完整双臂系统约 6500 美元面向熟悉 Linux 与命令行的开发者和研究者。核心关键词OpenArm 开源人形机械臂、7自由度机械臂搭建长尾关键词CAN-FD总线电机通信配置、Damiao电机ID配置、机械臂零位标定、ROS2机械臂控制、MuJoCo机械臂仿真6500美元拿到什么7自由度双臂能力速览先看这台机器能干什么再决定要不要动手项目规格自由度每臂 7 DOFJ1–J7另有夹爪 J8标称负载4.1 kg最不利姿态保持 1 分钟含末端执行器自重峰值负载6.0 kg最不利姿态 3 s 移动 1 s 保持关节QDD 准直驱可反驱电机每轴带机械限位控制总线CAN-FD推荐数据段 5 Mbps结构铝 不锈钢主体MiSUMI 铝型材立柱底座末端内置随手相机的平行夹爪成本双臂完整系统约 6500 美元QDDQuasi-Direct-Drive说白了就是电机可被外力轻松反向推动不需要减速器之外的柔性传动——撞到人会让代价是断电时负载会直接下落。这一点后面避坑部分还会再提。备齐物料并搭好 Ubuntu 控制环境动手装硬件之前先把两类设备和一套软件环境准备好否则装到一半会卡在没有设备写电机 ID上写 ID 用Damiao USB CAN 调试器 一台 Windows 电脑调试工具只有 Windows 版控制用SocketCAN 兼容的 CAN 适配器如 CANable、USB-CAN-FD 设备 Ubuntu 22.04/24.04动力与线材24V 直流电源电流按电机数量累加单台 DM4310/DM4340 约 0.3 A、DM8009P 约 0.75 A 起步、XT30 22 电机级联线结构件CNC 铝件与 3D 打印外壳的 CAD 和 BOM 在 website/docs/hardware/openarm-2.0/general.mdx 中可下载标准件轴承、导轨、螺钉按 BOM 从常规供应商采购Ubuntu 侧一条命令装齐 SocketCAN 依赖和 OpenArm CAN 工具链sudo add-apt-repository -y ppa:openarm/main sudo apt update sudo apt install -y can-utils iproute2 libopenarm-can-dev openarm-can-utils执行成功后which openarm-can-cli能返回路径说明工具链就位。从底座到夹爪装好骨架并接好 CAN-FD 总线OpenArm 是模块化结构建议按这个顺序装底座平台 → J1–J2 → J2–J3 → J3–J4 → J4–J5 → J5–J7 → 夹爪。底座用铝型材立柱加加固板固定到底板底板上有均布的 M6 螺纹孔直接锁到桌台即可每个关节都带机械限位装的时候顺便确认限位块归位——它们是全机最后的安全防线。详细步骤和参考图在 website/docs/setup/openarm-setup/index.md 对应的硬件章节里。电气侧的关键就两件事电机之间用 XT30 22 线缆级联成一条 CAN-FD 总线总线末端设备开启 120Ω 终端电阻CANable 有拨码开关24V 电源按上节电流表预留余量。确认成功的标准骨架装完后每个关节能用手顺畅推动且被机械限位挡死万用表量电源输出稳定在 24V。此时先别通电上控制软件下一步要先给电机写 ID。写电机 CAN ID 并拉起 SocketCAN 接口电机出厂 CAN ID 不保证和你想要的一致所有通信都以这张表为准写错一步后面全是灵异问题关节发送 CAN ID接收主IDJ10x010x11J20x020x12J30x030x13J40x040x14J50x050x15J60x060x16J70x070x17J8夹爪0x080x18写 ID 用 Windows 上的 Damiao Debugging Tools走 UART921600 bps而非 CAN。流程是点 ReadParam 读参数 → 按上表填入 Sender/Receiver ID → 点 WriteParam 写回。写完后点 Calibrate 做一次快速标定电机会自己动一下能转就说明这台电机机械电气都通。注意调试工具识别的串口通常是下拉列表里最后一个。Linux 侧拉起总线。先找到适配器对应的接口名再用项目自带的批量配置命令四臂配置CAN-FD 5 Mbps 数据段ip link show # 找 can0 / can1 ... openarm-can-configure-socketcan-4-arms -fd -b 1000000 -d 5000000只想手动配单个接口也行sudo ip link set can0 down sudo ip link set can0 type can bitrate 1000000 dbitrate 5000000 fd on sudo ip link set can0 up确认成功的标准ip link show can0显示 UP 且速率配置为 1M/5M CAN-FD。看到接口 UP 不等于通信通下一节才验证。完成零位标定并跑通第一次 Demo先做通信自检。开两个终端一个挂candump can0监听另一个给 1 号电机发使能帧cansend can0 001#FFFFFFFFFFFFFFFC # 使能 cansend can0 001#FFFFFFFFFFFFFFFD # 测完记得禁用确认成功的标准1 号电机 LED 变绿监听端收到can0 011 [8] ...形式的响应0x11 是 1 号电机的接收 ID。逐台电机测一遍。如果 LED 不变绿大概率是 24V 没电、CANH/CANL 接反或 ID 没写对如果响应 ID 不是 0x11回头查 WriteParam 那一步。自检通了再对齐波特率然后做零位标定。这里有一个容易踩的坑改电机波特率前CAN 接口必须先切到电机当前的波特率上改完断电重启电机验证--save是否生效参数有写入次数上限别在脚本里反复刷openarm-can-cli -i can0 change_baud -b 5000000 -c 1 --save⚠️ 零位标定会自动驱动整条臂运动。先把臂手动摆到零位姿态夹爪以闭合为零位清场、戴护目镜、急停按钮放在手边再逐臂运行——--canport指定总线、--arm-side指定左右Leader 臂和 Follower 臂各自独立状态下分别标定openarm-can-zero-position-calibration # 默认 can0 右臂 openarm-can-zero-position-calibration --canport can1 --arm-side left_arm标定完用 monitor 看遥测确认成功的标准是位置、速度、扭矩、温度四路数据实时刷新且数值合理openarm-can-cli -i can0 monitor最后跑官方 Demo 做全链路验证。默认 Demo 使用 can0 上 0x01、0x02、0x07 三个电机电机类型和 ID 不符时改examples/demo.cpp里的配置再重新编译openarm-can-demo预期输出会依次走完初始化 → 查询电机 Recv IDArm Motor: 1 ID: 17这种→ 使能 → 位置/扭矩控制 → 夹爪开合 → 10 轮状态监控 → 安全禁用全部电机。程序完整走完并自行释放电机就代表这条 CAN 控制链路彻底跑通了。接入 ROS2 控制栈并向仿真生态扩展裸 CAN 链路通了就可以把 ROS2 层架上去。推荐 Ubuntu HumbleJazzy 官方标注仍在适配可能不稳定sudo apt install -y ros-humble-desktop sudo apt install -y ros-humble-controller-manager ros-humble-gripper-controllers \ ros-humble-joint-state-broadcaster ros-humble-joint-trajectory-controller再克隆openarm_ros2仓库colcon build --symlink-install后 source 环境即可。URDF/xacro 机器人描述在openarm_description仓库RViz 里能看到双臂模型ROS2 侧的安装细节和 MoveIt2 可选依赖见 website/docs/api-reference/ros2/。控制层之外的能力点到为止openarm_teleopLeader-Follower 主从遥操作支持单侧只跟位置和双侧带力反馈两种模式openarm_mujocoMJCF 描述文件扭矩控制仿真可作 mock 硬件接口接 ROS2openarm_isaac_lab面向强化学习训练的任务环境openarm_dataset dora-openarm数据集格式、录制工具和 Dora 数据流节点采集/推理/遥操作OpenArm Cell把背景、灯光、相机位姿全部固化的标准化评测舱带入侵检测急停和零位标定夹具让模型对比可复现OpenArm KER无电机的运动学等效主臂与人臂同款比例做低疲劳示教避坑安全红线、已知限制与常见报错安全红线完整条目见 website/docs/overview/safety-guide.mdx24V 上电前断开负载检修、贴靠机器人时必须断电并防止他人误开急停按钮放在触手可及的位置——QDD 反驱特性意味着急停断电时夹持物会快速下落负载上限包含末端执行器自重挂 1.5 kg 末端后标称负载从 4.1 kg 降到 2.6 kg算负载时别漏每次运行前检查底座与关节螺丝是否松动、机械限位是否变形、线缆有无反复折弯损伤常见报错与解法现象大概率原因解法电机使能后不转供电电流不足 / 120Ω 终端电阻未开按电流表补电CANable 打开终端拨码candump 完全无帧波特率不匹配接口先切到电机当前波特率再对齐响应 ID 与预期不符Sender/Receiver ID 写反1 号电机的接收 ID 是 0x11十进制 17逐台核对串口找不到调试器串口选错选下拉列表最后一个Windows Defender 拦截过就加白重跑安装零位标定异常Leader/Follower 混标主从臂必须各自独立状态下分别标定已知限制J3/J4 用的 DM4340 严格说不是 QDD 电机是负载与外观的折中选择ROS2 Jazzy 支持尚未稳定单臂遥操作进入工作区时注意肘部和肩部等夹手区域。工具准备上一套螺丝刀、扳手、万用表加一台 3D 打印机就够控制开发主要用 Python 和 C通过 ROS2 接口与裸 CAN 库两条路线。入口指引从这里开始下一步主仓库含全部文档、硬件资料索引git clone https://gitcode.com/GitHub_Trending/op/openarm从零到 Demo 的完整设置流程website/docs/setup/openarm-setup/index.mdCAN 库与 CLI 参考website/docs/api-reference/can/安全规范全文website/docs/overview/safety-guide.mdx把电机 ID 表和急停位置各贴一张在手边剩下的按前几节的顺序执行即可。【免费下载链接】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),仅供参考
阅读完成 · 觉得有帮助?
咨询建站