视觉伺服Visual Servoing)是使用相机观测到的误差闭环控制机器人运动,使末端、相机或目标逐步达到期望空间关系的方法。

它把视觉系统变成控制反馈的一部分:不是先完全估计一次目标再开环执行,而是在运动过程中持续根据图像或位姿误差修正命令。

核心问题

视觉伺服要回答的是:相机看到的目标偏差,应该如何转换成机器人下一步运动?

常见目标包括:

  • 让目标在图像中移动到期望像素位置。
  • 让相机与物体保持期望相对位姿。
  • 让末端工具对准、接近或跟踪视觉目标。

核心机制

视觉伺服通常包含:

  1. 感知:从图像中提取目标特征、位姿或误差。
  2. 误差定义:在图像空间或三维空间定义当前误差。
  3. 控制映射:把视觉误差转换为相机或末端 Twist、目标 Pose 或关节命令。
  4. 运动执行:通过 MoveIt ServoIKDLS 或控制器闭环执行。

按误差空间可粗略分为图像空间视觉伺服和位姿空间视觉伺服。前者直接控制图像特征误差,后者先估计目标三维位姿,再控制机器人位姿误差。

工程用途

  • 末端对准目标、插孔、抓取点或工具。
  • 目标移动时持续跟踪,而不是只执行一次静态规划。
  • 修正手眼标定、模型误差或目标检测误差带来的开环偏差。
  • 和遥操作结合,由视觉闭环补偿操作者粗略输入。

边界与常见坑

  • 视觉伺服强依赖相机标定、手眼标定、时间同步和目标检测稳定性。
  • 图像噪声会直接进入控制回路,通常需要运动平滑和异常值处理。
  • 视觉误差收敛不代表机器人不会碰撞,仍需碰撞检查关节限位
  • 相机坐标、机器人 base 坐标和 tool frame 混淆会导致修正方向反了。

相关术语