2. 系统组成与工程架构

移动机械臂视觉抓取系统不是“底盘 + 机械臂 + 相机”的简单叠加,而是一个强耦合的机电软一体化系统。它的工程架构决定了后续标定、规划、抓取能否稳定落地。理解系统组成,核心是回答三个问题:硬件如何选型、数据如何流动、软件如何分层。本节围绕移动底盘、机械臂、视觉传感器、计算平台与通信总线五类硬件,以及感知、定位、规划、控制、任务调度五类软件模块,给出可落地的架构划分方法。

一、硬件五要素与选型逻辑

硬件选型应从任务指标反推,而不是先买设备再想功能。移动底盘决定工作空间与负载上限,机械臂决定可达范围与末端精度,视觉传感器决定感知维度与鲁棒性,计算平台决定算法实时性,通信总线决定各模块协同的确定性。

  • 移动底盘:关注负载、越障、定位方式(差速/麦轮/阿克曼)、里程计精度与是否支持ROS驱动。室内抓取常用差速底盘,要求重复定位误差小于2cm。
  • 机械臂:关注自由度、臂展、末端负载、重复定位精度与关节反馈接口。抓取场景常用6自由度协作臂,重复定位精度约±0.1mm。
  • 视觉传感器:2D相机成本低但缺深度;RGB-D相机可提供点云,适合抓取位姿估计;双目或结构光在近距精度更高。需关注帧率、视场角与标定接口。
  • 计算平台:CPU负责调度与逻辑,GPU负责深度学习推理,实时核或MCU负责底层控制。需评估功耗、接口数量与散热。
  • 通信总线:EtherCAT/CAN用于实时控制,以太网用于图像与点云传输,USB3.0用于相机,Wi-Fi用于远程监控。总线带宽与延迟直接影响闭环周期。
选型口诀:先定负载与精度,再定感知与算力,最后用总线把实时链路和非实时链路分开。

二、系统数据流与信号链

从工程视角看,系统是一条“感知—定位—规划—控制—执行”的信号链。视觉传感器采集RGB与深度图,计算平台完成目标检测与位姿估计,输出抓取位姿;同时底盘里程计与机械臂关节反馈进入定位模块,形成全局坐标;规划模块生成底盘路径与机械臂轨迹;控制模块通过总线下发指令,驱动底盘与机械臂执行。下图给出该架构的核心关系。

移动机械臂视觉抓取系统:硬件层与软件层协同架构 硬件层 移动底盘 差速/麦轮 · 里程计 负载 · 越障 机械臂 6-DOF · 关节反馈 末端执行器 视觉传感器 RGB-D · 点云 帧率 · 视场角 计算平台 CPU+GPU+MCU 算力 · 功耗 通信总线 EtherCAT/CAN 以太网 · USB 软件层 感知模块 检测 · 分割 位姿估计 定位模块 SLAM · 手眼标定 坐标变换 规划模块 路径 · 轨迹 避障 · 抓取 控制模块 速度 · 位置 力控 · 闭环 任务调度 状态机 · 监控 日志 · 异常 执行反馈与状态回传:关节角度、底盘位姿、抓取结果 实时链路:控制周期 1–10 ms EtherCAT / CAN → 底盘与机械臂 非实时链路:图像与点云 10–30 Hz 以太网 / USB3.0 → 计算平台

三、软件模块划分与接口约定

软件划分应遵循“高内聚、低耦合”原则,并明确每个模块的输入输出。推荐采用ROS 2节点化设计,将实时控制与非实时感知分离,避免图像处理阻塞控制回路。

软件模块 核心输入 核心输出 典型频率 关键接口
感知模块 RGB图、深度图 目标类别、抓取位姿 10–30 Hz ROS Topic / 共享内存
定位模块 里程计、关节角、标定参数 全局位姿、TF变换 30–50 Hz TF2 / 位姿话题
规划模块 目标位姿、地图、约束 底盘路径、机械臂轨迹 5–20 Hz Action / 轨迹消息
控制模块 轨迹点、反馈状态 速度/位置指令 100–1000 Hz EtherCAT / CAN
任务调度 任务指令、状态事件 流程控制、异常处理 事件驱动 状态机 / 服务调用

四、典型场景与配置示例

以“室内桌面抓取”为例:底盘采用两轮差速,负载20kg;机械臂为6自由度协作臂,臂展600mm;视觉采用RGB-D相机,安装于腕部形成eye-in-hand;计算平台为带GPU的工控机;通信采用EtherCAT连接机械臂,CAN连接底盘,USB3.0连接相机。软件上,感知节点输出抓取位姿,定位节点维护map→base→camera→tool的TF树,规划节点生成抓取轨迹,控制节点以1kHz下发关节指令。

# 典型启动顺序(ROS 2)
ros2 launch chassis_driver chassis.launch.py
ros2 launch arm_driver arm.launch.py
ros2 launch vision_pipeline perception.launch.py
ros2 launch grasping_bringup system.launch.py
# 检查TF树
ros2 run tf2_tools view_frames
# 检查总线状态
ros2 control list_hardware_interfaces
建议将手眼标定参数、相机内参、底盘轮径等写入YAML配置文件,并在启动时校验版本,避免“参数漂移”导致抓取失败。

五、常见误区与复盘

  • 误区一:先选机械臂再选底盘。底盘负载不足会导致机械臂高速运动时整车晃动,定位精度下降。应先算总负载与重心。
  • 误区二:视觉与控制在同一线程。图像推理耗时波动会阻塞控制周期,必须做进程隔离或实时优先级设置。
  • 误区三:忽略总线带宽。多路点云与图像同时传输时,以太网可能拥塞,需做QoS或数据降采样。
  • 误区四:标定一次就长期使用。振动、碰撞、温度变化都会使外参漂移,应定期复标并记录残差。
复盘要点:抓取失败时,按“感知→标定→规划→控制→执行”顺序逐级排查,先确认TF树与时间戳同步,再检查总线丢包与关节跟随误差。

综上,移动机械臂视觉抓取系统的工程架构,本质是用清晰的硬件边界和软件接口,把不确定的感知与确定性的控制连接起来。底盘、机械臂、相机、算力与总线五者匹配,感知、定位、规划、控制与调度五层解耦,才能让系统从“能跑”走向“稳定抓取”。