跳转至

软件结构简介

openArmX 软件系统采用模块化设计,主要包含电机控制、ROS2 集成、遥操作等功能模块。


📦 核心功能包

功能包 功能说明 主要用途
openarmx_description 机器人描述 URDF 模型、可视化配置
openarmx_motor_manager 电机管理系统 电机状态管理、参数配置、上位机
openarmx_ros2 ROS2 集成包 ROS2 节点、硬件接口、MoveIt配置
openarmx_teleop_bimanual 双臂遥操作 双臂协同遥操作控制
openarmx_tools 工具集 夹爪面板、参数面板、示教功能

📂 目录结构

~/openarmx_ws/src/
├── openarmx_description/                    # 机器人描述
├── openarmx_motor_manager/                  # 电机管理系统
│   ├── config/                              # 配置文件
│   ├── scripts/                             # 电机测试脚本(重要)
│   ├── ui/                                  # 用户界面
│   └── utils/                               # 工具函数
├── openarmx_ros2/                           # ROS2 功能包
│   ├── openarmx/                            # 基础包
│   ├── openarmx_bimanual_moveit_config/     # MoveIt 配置
│   ├── openarmx_bringup/                    # 启动配置
│   └── openarmx_hardware/                   # 硬件接口
├── openarmx_teleop_bimanual/                # 双臂同构遥操作
└── openarmx_tools/                          # 工具集
    ├── openarmx_gripper_panel/              # 夹爪控制面板
    ├── openarmx_kp_kd_panel/                # Kp Kd 参数面板
    └── openarmx_teach/                      # 示教功能

注意:python脚本或上位机不能和ros2控制同时使用,否则机器人可能会异常运动,导致机器人损坏!!!


🛠️ 机器人运动模式

openArmX 支持多种电机控制模式,主要使用 MIT 模式和 CSP 模式。

MIT 模式

Motion Control Mode(运动控制模式) - openArmX 默认使用

控制方式:

  • 位置 + 速度 + KP + KD + 力矩混合控制
  • 实时可调节刚度参数(KP/KD)
  • 支持力矩前馈

主要特点:

  • 负载高 - 额定负载达 5 KG
  • 柔顺控制 - 低刚度参数实现柔性交互
  • 力矩控制 - 可叠加力矩,支持重力补偿
  • 参数可调 - 实时调整 KP/KD 适应不同任务
  • 混合控制 - 位置、速度、力矩灵活组合
  • 精度低 - 由于重力和经摩擦力的影响,在 PID 设置的比较小的时候很难达到目标位置

适用场景:

  • 示教录制(低刚度,易推动)
  • 人机协作(柔顺安全)

CSP 模式

Cyclic Synchronous Position(周期同步位置模式)

控制方式:

  • 纯位置控制
  • 电机内部 PID 闭环跟踪
  • 参数固定(出厂调优)

主要特点:

  • 简单易用 - 只需发送目标位置,无需调参
  • 精度稳定 - 出厂优化,一致性好
  • 负载低 - 额定负载为 2KG 左右,做大负载测试时容易过流烧毁电机
  • 刚度固定 - 无法调节柔顺性,不适合示教
  • 无力矩控制 - 难以实现重力补偿和力控

适用场景:

  • 固定自动化任务
  • 高精度重复定位
  • 批量生产部署
  • 标准设备集成

📊 模式对比

特性 MIT 模式 CSP 模式
控制方式 位置+速度+KP+KD+力矩 纯位置
参数调节 实时可调 固定
柔顺控制 ✓ 支持 ✗ 不支持
力矩前馈 ✓ 支持 ✗ 不支持
灵活性 ★★★★★ ★★☆☆☆
人机协作 ★★★★★ ★☆☆☆☆

openArmX 推荐: 默认使用 MIT 模式,因其灵活性高、支持示教和力控,适合研发和多样化应用场景,而且该模式下额定负载大,不容易损坏。