软件 <unk> 设置,SocketCAN,ROS2 & 控制
开放Arm软件文档:设置指南,Ubuntu安装,机器人描述 (URDF/xacro),SocketCAN CAN库,ROS2安装 Humble/Jazzy,以及高级控制概述.
查看OpenArm硬件中心.
在这个页面上
- 软件概况
- [安装Ubuntu]
- 设置指南
- 机器的身份设置
- 现在,我们需要一个解决方案.
,我很高兴能看到你. - 机动控制命令:
- 电动 LED 状态
- 机器人描述 (URDF)
T61 - 现在,我们要做什么?
,我知道,我知道. - 建筑物
T66 ) ,我很高兴能看到你. ,我在 ,我在 ,我在 . - 其他技术技术
开臂文件
T70 ) - 开始了.
- 现在,我们要做什么?
- 软件
- 电话操作
T75 - [常见问题和购买]
查看
- 开手1快速启动
T78 )
完整的软件文档:Ubuntu设置,机器人描述文件 (URDF/xacro),SocketCAN CAN库,ROS2安装和配置,以及先进的控制算法.
乌布图22.04 ROS2 简单的SocketCAN URDF 移动It2 C++ 字符串
来源: doc.openarm.dev/软件/ ** 最后更新:** 2026年4月11日
1.软件概述
开放手机软件生态系统欢迎您!
软件生态系统提供:
- ** URDF机器人模型的模块化XACRO文件**
- 通过SocketCAN进行高频电机交互的低级控制API
- ROS2集成 (正在积极开发) 与控制接口和MoveIt2配置
- 控制算法用于系统识别,重力补偿和卡特西亚空间控制
新用户应该从设置指南开始. 贡献者可以在每个部分找到改进机会.
软件存储库
| Repository | Description |
|---|---|
| openarm_description | URDF/XACRO files for single-arm and bimanual configurations |
| openarm_can | C++ CAN library for Linux-based motor control with Python bindings |
| openarm_ros2 | ROS2 middleware integration packages |
2.安装Ubuntu
开放手臂软件需要支持SocketCAN的Ubuntu Linux.Ubuntu 22.04 LTS (Jammy Jellyfish) 是推
**下载Ubuntu 22.04 LTS.**访问官方Ubuntu下载页面: ubuntu.com/download/desktop.下载Ubuntu 22.04 LTS.
创建一个可启动的USB驱动器.
- **Windows:**下载 Rufus,选择您的USB设备和Ubuntu ISO,然后写.
- macOS: 使用 [Balena Etcher]
T85 ) 或终端命令. - Linux: 使用您的ISO路径和USB设备识别符的
T0 命令.
- 从USB启动并安装. 插入可启动USB,重新启动系统,访问BIOS/UEFI设置,并设置USB作为首要启动设备. 按照图形安装器选择时间区,用户名和密码.
警告标准安装将删除选定的驱动器上的所有数据.
- 后安装:运行系统更新和安装开发工具.
苏多Apt更新&&苏多Apt升级 -y 关键的 gnome-tweaks
Docker替代方案对于没有专用Ubuntu机器的开发场景,可以使用Docker设置.
3. 开臂设置指南
这本指南将引导您从硬件连接到软件测试的设置,
条件
硬件要求
- 开臂机器人臂,DAMIAO电机
- 电源 24 V 电源,电源容量适当
- 电缆 (汽车包装中包含的电缆是足够的)
通信设备要求
| Purpose | Required Device | OS |
|---|---|---|
| Motor ID setup | DAMIAO USB CAN Debugger | Windows |
| Motor control & further setup | SocketCAN-compatible interface | Ubuntu 22.04 / 24.04 or other Linux with SocketCAN support |
步骤1:机器身份识别配置
在组装之前,请配置每个DAMIAO电机的正确CANID. 查看 [硬件>电机ID配置]
根据每一个关节分配的发射器/接收器CAN ID对,使用下面的表格作为一个简单的参考:
| Joint | Transmitter ID | Receiver ID |
|---|---|---|
| J1 | 0x01 |
0x11 |
| J2 | 0x02 |
0x12 |
| J3 | 0x03 |
0x13 |
| J4 | 0x04 |
0x14 |
| J5 | 0x05 |
0x15 |
| J6 | 0x06 |
0x16 |
| J7 | 0x07 |
0x17 |
| J8 | 0x08 |
0x18 |
**Damiao 调试工具 (Windows) ** 下载Damiao 调试工具,以设置和验证通过USB-CAN的电机ID: Debugging_Tools_v.1.6.8.8.exe. 在将它们组合在公交车上之前,总是一次测试一个电机.
步骤 2:设置CAN界面
在硬件组装后,配置Ubuntu机器上的SocketCAN接口.首先从官方OpenArm PPA中安装所需的包:
启用OpenArm PPA并安装所有所需的包
软件-属性-通用
关键字: 关键字: 关键字:
更新Sudo apt
sudo apt 安装 -y \
可使用的 \
然后使用OpenArm助手 (建议) 或手动显示CAN接口:
推
对于四臂设置 (可从0到3个) 开放式臂可以配置式插座式-4臂 - fd
查看接口是否上升 链接显示可以0
每臂每端口可使用一个CAN接口 每臂需要一个专用CAN接口.单臂设置使用
FD与2.0
开臂电机支持CAN 2.0 (经典的CAN,8字节的有效载荷) 和CAN FD (灵活数据速率,高数据速率高达64字节的有效载荷).CAN FD推
| Mode | Nominal Baud | Data Baud | 负载 |
|---|---|---|---|
| CAN 2.0 | 1 Mbit/s | — | 8 bytes |
| CAN FD | 1 Mbit/s | 5 Mbit/s | up to 64 bytes |
手动IP链接命令 (CAN 2.0):
sudo ip 链接设置可以0下 sudo ip链接组件可0类型可比特值1000000 sudo ip 链接设置可以0
手动ip链接命令 (CAN FD
sudo ip 链接设置可以0下
动机控制手动指令
使用这些命令来调试低级调试,并在运行更高级代码之前验证电动通信.
#改变电动波速率 (用目标电动ID取代--canid)
开臂可以改变-巴德拉特--巴德拉特5000000--可尼德1--可纳
CAN 2.0电机控制 (用目标电机的发射器ID取代
清除机动错误
CAN FD机器控制 (注:在
清除机动错误
一次测试一台电机第一次启动电机时,在同一CAN公交车上连接和测试每台电机单独,然后在连接多个电机之前. 这使识别身份冲突或电缆故障更容易识别.
发动机LED状态
每个达迈奥电机都有一个显示电源的LED,
| LED Pattern | Meaning |
|---|---|
| Green (steady) | Motor enabled and ready |
| Red (steady) | Motor disabled |
| Red (flashing) | Motor error state — send Clear Error command before re-enabling |
解决问题资源
- [CAN通信异常诊断]
T88 ) 诊断间歇性和持续的CAN公交错误 连接器极度,终止阻力,电缆屏蔽尖
步骤3: 动力测试
配置CAN接口后,通过从
设置路径总结
| Step | Description |
|---|---|
| 0 | Prerequisites — hardware, cables, CAN adapter |
| 1 | Motor ID Configuration (Windows + Damiao Tools) |
| 2 | Setup CAN Interface (openarm-can-configure-socketcan) |
| 3 | Motor Test — verify joint communication |
| 4 | Motor Configuration — tune control parameters |
| 5 | Hands-On: Demo Run |
4.机器人描述 (URDF/xacro)
目录结构
T28 主机器人文件 T29 版本特定的URDF - 单独的手臂动力学,车身组装,终端效应器和ROS2控制目录
T30 版本特定参数文件
装备
确保ROS2安装 (见第6节) 设置环境变量 输出 ROS_DISTRO=低调 输出 COLCON_WS=~/ros2_ws
建立
其他类型
专
源源工作空间 源 $COLCON_WS/install/setup.bash
乌尔德夫一代的例子
没有终端效应器的单臂 机器人/开臂机器人.机器人.机器人.机器人.类型:=右端
双手设置,可控制ROS2 机器人/开臂机器人. 机器人双手:=真 ros2_control:=真
模拟版本,使用假硬件
视觉化
该包包括单臂和双手配置的RViz可视化启动文件:
启动单臂可视化 开启的手臂
启动双手可视化 开启的手臂 描述显示器 双手动.启动.py
配置论点
可定制的参数包括:臂/身体类型,终端效应器选择,双手动模式,CAN接口,定位偏移和ROS2控制设置.
多机器人设置
通过使用ROS名区和
域0的右臂 输出ROS_DOMAIN_ID=0 启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启_启_启_启_
域1的左臂 (分隔终端) 输出ROS_DOMAIN_ID=1 启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启动_启_启_启_
5. CAN 图书馆 (开放式手臂)
开放Arm CAN库是高级开放Arm控制应用程序和低级电动协议之间的主要通信桥梁.它利用Linux的SocketCAN接口来控制电动和状态监测.
建筑
图书馆使用三层结构:
高级组件:T32 ,T33 ,T34 电动协议层 (Damiao MIT模式) - 低级CAN通信 (Linux SocketCAN)
关键类
| Class | Description |
|---|---|
OpenArm |
Manages the CAN socket and all motor components globally |
ArmComponent |
Coordinates multiple arm motors as an integrated system |
GripperComponent |
Manages single motor operations with gripper-specific functions: open(), close(), set_position() |
DMDeviceCollection |
Provides shared motor operations including bulk control and parameter queries |
发动机控制方法
电动机使用Damiao Motor协议MIT控制模式使用
麻省理工学院; 参数.kp = 10.0; 参数.kd = 0.5; 参数.q =目标_位置; 参数.dq = 0.0; 参数.tau = 0.0;
关键字: 关键字:
实施工作流程
使用CAN接口启动OpenArm. 创建一个指向您的CAN接口的
T43 实例 (例如, T44 ). **注册机器,使用类型和CANID. ** 指定发送机,接收机和每个机器的机器模型.
启用电机和配置回调模式. 控制响应使用
T45 回调模式;参数查询使用 T46 . 通过MIT参数执行控制. 发送最高1000Hz的位置/速度/扭矩命令.
监测反
框架. 阅读您想要的频率.
配置说明
- 输送机型,发送机型和接收机型的向量长度必须完全匹配
- 时间限值:缓慢操作时1000
2000微秒;快速控制循环时300 500 - 控制周期频率不应超过1000Hz,用于8发动机设置
- 使用
T47 回调模式控制; T48 用于参数查询
6.ROS2 集成
开放臂支持ROS2原生,包括URDF/XACRO模型,T49
安装ROS2 适度 (建议)
安装ROS2 简单桌面包 应用程序安装 -y ros-humble-desktop
# 安装OpenArm特定控制器包
sudo apt 安装 -y \







