返回专辑
·Johan·3 分钟阅读

视觉伺服:误差到控制

IBVS 用图像特征误差和 interaction matrix 映射相机速度;标定误差、延迟和奇异位形在闭环里会被积分放大。

视觉伺服:误差到控制

1. 难在闭环,不只在检测

基于位姿的视觉伺服三维误差直观,但手眼标定错两毫米,末端对着拧——误差在闭环里被积分放大。真机必先限幅、仿真、丢特征退化策略。OpenCV 提供角点跟踪、光流、透视 n 点,不包含完整视觉伺服控制器;实现多在 ViSP 或自研节点。视觉伺服是感知与控制耦合,几何、延迟、特征寿命任一条断,闭环都不稳。

2. 图像基 vs 位姿基

图像基伺服:误差是特征与期望特征之差,特征变化率等于交互矩阵乘相机速度,伪逆求速度。位姿基伺服:三维位姿误差进控制,依赖透视 n 点或深度,手眼变换必须准。图像基对手眼误差不直接敏感,但交互矩阵含深度倒数——深度估错两成可能仍收敛但慢。位姿基对深度更 explicit,标定错则稳态误差大。工业里混合方案常见,取舍看特征类型和标定预算。

3. 交互矩阵与深度

深度进入交互矩阵;估计错则收敛方向偏。常用期望图像与当前估计混合。特征点选 spread 大的配置,避免共线导致雅可比奇异。奇异时某自由度不可控,伪逆爆速——速度限幅是硬约束,不是调参可替代。眼在手上与眼在手外改交互矩阵形式;手眼标定常用 ROS 专用包,OpenCV 无直接手眼。标定残差和抓取重复性一起报,别只报重投影。

4. 控制频率分层

视觉三十赫兹、控制五百赫兹时,伺服输出速度设定点给低层阻抗,别单帧透视 n 点直接位置控制——解算噪声在位置环里放大。速度限幅防奇异爆速;工作空间盒子限制活动范围。特征跟踪丢点则切换备用特征或冻结运动;最少特征数阈值触发安全停止或后退:丢失超过三帧安全停止是常见操作规程,别硬跑直到撞限位。

5. 延迟与标定

问题后果
延迟振荡、超调
内参畸变错稳态误差、收敛方向偏
特征丢失发散
奇异位形某自由度不可控

视觉链百分之九十九延迟应小于控制周期三分之一——三十赫兹视觉加五百赫兹控制时,视觉尾部大于三十三毫秒易振荡。内参错百分之一在开环检测可能无感,闭环图像基会积累稳态误差。

6. 案例:手眼两毫米对着拧

位姿基抓取手眼标定残差看起来零点五毫米,抓取重复性标准差四毫米——标定板厚度未补偿且只验证平移未验证旋转。改多姿态棋盘标定加一百次重复后标准差回到一点二毫米。开环标定残差不够,要看闭环重复性

7. 仿真与真机边界

先在仿真里验阶跃超调小于百分之十、特征数误差曲线、丢特征安全停止日志,再限幅上真机。OpenCV 只负责感知链;控制器增益、限幅、工作空间在控制栈。我会把视觉延迟预算和手眼标定版本写进 bringup 摘要,换相机或标定后必须重跑闭环重复性。

8. 验收

  • 仿真收敛:阶跃超调小于百分之十
  • 特征数与误差曲线
  • 手眼残差加抓取重复性一起报
  • 丢特征超过三帧安全停止日志
  • 视觉链尾部延迟对控制周期
  • 真机速度限幅与工作空间触发记录

先仿真验收,再限幅上真机。视觉伺服把检测误差变成运动——比开环检测苛刻一个数量级。

← 全部文章

johan's blog