1. 方案的核心要点
要实现稳定的末端闭环,须构建 “视觉-规划-力控”三重反馈回路:
- 视觉回路(频率 10-30Hz)提供宏观的目标定位。
- 规划回路(频率 10-30Hz)提供安全可行的路径。
- 力控回路(频率 ≥500Hz)提供微观的柔顺交互。
2. 工程化实现步骤
阶段一:开环标定与测试:完成手眼标定、工具坐标系标定,在不开启视觉和力控的情况下,让机械臂重复执行预设轨迹,测试基本性能。
阶段二:视觉闭环测试:让机器人面对静止的目标,运行视觉定位程序,验证位姿输出精度(应达到毫米级),实现“视觉定位后,机械臂末端移动到设备上指定点”的简单视觉伺服。
阶段三:力控闭环测试:在固定位置,让机械臂末端以不同阻抗参数接触一个固定平面,测试力跟踪效果,实现“用恒定力按压表面并直线移动”的简单力控拖动。
阶段四:全系统集成与调试:将视觉定位输出的位姿,作为轨迹模板的输入参数,在动作中同时开启视觉位置闭环和力控闭环,视觉负责大范围的位置对准,力控负责微观的接触适配。这是调试的难点,需要仔细调整阻抗参数(M, D, K)和视觉更新的频率/权重。
3. 关键节点说明
- 视觉处理节点:使用 YOLOv8-seg 模型分割RGB图像中的目标区域,得到掩膜;用掩膜裁剪深度点云,得到马桶点云簇;调用 PCL库中的
G-ICP 算法,与模板点云配准,输出高精度位姿。
- 决策与规划节点:维护一个有限状态机,管理“定位”、“接近”、“擦拭”、“刷洗内壁”等任务状态。每个状态下,调用预定义的参数化轨迹模板,结合视觉位姿,生成末端路径点。通过 MoveIt 2 的API进行运动学求解和碰撞检查,输出安全的关节轨迹。
- 实时控制节点(运行于下位机实时系统):接收关节轨迹作为期望值,读取编码器反馈作为实际值,执行关节空间PID控制。同时,读取六维力传感器数据,运行阻抗控制器,将计算出的位姿修正量叠加到来自MoveIt的期望轨迹上,实现柔顺控制。
4. 核心说明:
- 硬件上:六维力传感器和独立的实时下位机是保证高精度力控和稳定性的必要投资,不能省略。
- 软件上:采用 ROS 2 + MoveIt 2 + 实时控制层的架构是当前最主流和高效的选择。
- 调试上:分阶段进行,并善用 rqt、PlotJuggler 等ROS可视化工具来观察数据流,是成功的关键。