037|视觉伺服:机器人究竟应该追三维位置,还是追图像误差
论文:Seth Hutchinson、Gregory D. Hager、Peter I. Corke,A Tutorial on Visual Servo Control,1996,IEEE Transactions on Robotics and Automation 12(5):651–670,十月期。作者保存的期刊全文。
先接住前作的问题
Resolved-rate能把任务速度变成关节速度,相机给出的却是图像误差。本篇把投影雅可比接入反馈;特征跟踪和标定是它需要组合的模块,而非竞争控制器。
五个前置概念
理解本文最需要五个概念:齐次变换连接坐标系;透视投影把三维点变成图像坐标;雅可比描述局部微小运动关系;伪逆在非方阵映射中求合适的速度;可观测性区分“机器人能动”与“相机能判断这种运动”。
一、问题设定:图像误差怎样闭合成机器人速度反馈
相机里目标向右偏了十个像素,机械臂应该向哪个方向移动多少?答案与相机位置、目标深度、所选特征、机械臂姿态和运动坐标系都有关系。视觉检测器只告诉你“看到了什么”,视觉伺服还要回答“为了减小误差应该怎样动”,并在运动后继续看。
先分清三个容易混淆的分类
| 分类问题 | 主要选择 | 真正改变的内容 |
|---|---|---|
| 相机放在哪里 | 末端搭载相机、固定外部相机 | 坐标变换和机器人运动如何改变图像 |
| 误差定义在哪里 | 三维位置/姿态,或图像特征 | 控制器直接消除的量 |
| 视觉作用于哪一层 | 视觉给内层控制器设定值,或直接形成驱动控制 | 动力学稳定由哪一层承担 |
这三条轴互不等价。手上装相机并不自动等于 IBVS,固定相机也能使用图像误差。原文 p.655 Fig. 2 给出两种相机配置,Fig. 3 展示 dynamic look-and-move 的层次结构:视觉估计进入笛卡尔控制环,关节反馈在内部控制机械臂。
“动态看后再动”容易被译名误导。这里可以是持续视觉反馈的外环,不等于拍一张照片后全程开环。论文还区分是否在图像中直接观测末端与目标:只看目标和同时看末端、目标,误差对标定的依赖不同,但同时跟踪两者会增加视野与识别负担。
本文讨论的是机器人视觉反馈控制,不是强化学习。输入通常包括目标特征或目标位姿、相机模型与连续图像;输出是期望速度或交给内层控制器的命令。回报函数、训练集规模和策略网络并非这一框架的必要组成。
二、对照PBVS与IBVS,推导图像和任务雅可比
PBVS:先恢复三维,再在任务空间控制
PBVS 的输入图像先进入特征提取和几何估计,得到目标相对相机的位姿,再通过已知外参转换为控制所需的坐标。控制误差可以写成位置差与一个适当的旋转误差,随后求期望末端运动。
这条路线的优点是任务容易解释:沿桌面移动十厘米、保持工具姿态、到达某个三维相对位置。缺点是几何重建误差进入闭环。相机标定、特征对应、目标模型和姿态求解条件都可能影响最后结果。
原文 p.660 §IV.D 讨论了这些权衡。位姿式方法能够自然处理一般相对位姿任务,但可能依赖准确目标模型;位置估计也可能受标定误差影响。滤波或平均可以降低噪声,却增加响应延迟。因此“估计更平滑”与“闭环更灵敏”不是同一个指标。
IBVS:直接消除图像特征误差
设图像特征向量为 ,目标为 ,误差 。图像雅可比或交互矩阵 满足
其中 是按固定约定表达的相机或末端速度。最简单的教学控制律为
帽子表示实际使用的估计矩阵, 表示伪逆。这个式子试图找到一项运动,让观察到的图像偏差减小。它不是从像素误差直接猜关节力矩:还需要坐标变换、机器人雅可比和内层执行。
以静止世界点、运动相机、归一化像平面坐标 为教学约定,有
前三列对应平移,后三列对应旋转。原文 p.661 式 (47) 的示例采用固定相机观察运动末端点,并保留焦距记号,所以其符号不能不加转换地与上式逐项拼接。确认“谁相对谁运动”比背住一个矩阵更重要。
这里深度 仍然出现。IBVS 避开完整三维位姿重建,不代表完全不需要任何几何信息。深度可以估计、近似或更新,但估计误差会改变实际闭环动力学。
在理想可逆、矩阵准确的局部情形,代入控制律可以得到误差沿期望方向衰减的关系。然而一般有
矩阵乘积未必等于单位阵。特征多于可控自由度时,误差还受到图像可实现性的约束;特征不足时,部分运动根本无法由图像判断。这是从控制式推得的局部理解,不能升级为任意初始位姿下的全局收敛保证。
负反馈成立,要看真正的图像运动方向
固定世界点、相机仅沿自身x轴平移,归一化像点 满足 。若误差 、使用估计深度 ,控制 给 。正深度误差改变收敛速度;变换方向写反却会直接变成正反馈。
教学核算取 米、米、,命令 米/秒,像点速度为−0.1/秒。这里1秒衰减率,不是所希望的2秒倒数。推广到多特征和六自由度时,需要检查 的局部性质,不能把标量正深度论证当成任意大运动全局稳定性证明。
这把Resolved-rate的速度逆解与相机标定的投影接口组合起来;Shi–Tomasi则提供可跟踪特征的前端模块。原文第V节明确先定义图像误差,再通过图像雅可比求机器人速度。教程中的应用例子来自多种系统,不是同一硬件上PBVS与IBVS的公平榜单。
输入、处理和输出的完整链条
原文 p.662 讨论方阵、过约束和欠约束的图像雅可比。当观测数量少于待控制自由度时,可以写出带零空间项的解;这不意味着那些方向已被视觉观测到。零空间动作还需靠其他任务、传感器或约束安排。
PBVS与IBVS把误差放在不同空间,最终都要给出一致坐标中的运动。像素例子先检查方向和深度,再说明教程中的解析关系为何不是通用控制性能排名。
三、接通观察到动作链条,用像素位移例子查符号
输入:期望图像特征 s*,图像流,相机/机器人几何参数
重复直到误差和速度达到停止阈值:
提取并匹配当前特征 s,检查可见性与跟踪可信度
计算 e = s - s*
估计当前交互矩阵 L,包括需要的深度项
检查秩与数值条件,求可控方向上的速度
将相机速度转换到末端坐标并映射为关节命令
由内层控制器执行一个有限周期
获取新图像并重新闭环
输出:视觉误差收敛后的机器人状态,或失去可观测性的状态报告
这是 IBVS 教学流程,可信度检查和停止阈值是实现解释,不是声称论文给出统一软件接口。PBVS 则把中间部分换成“图像估计位姿→形成三维任务误差→求任务速度”。
一个可算的小例子
自构教学例子,未运行。 静止目标点深度为 1 m,归一化横坐标误差为 0.02,只允许相机沿横向平移,控制增益取 1 s⁻¹。此时 ,选择 m/s 可使 s⁻¹。若把相机运动和目标运动的符号弄反,同样大小的速度反而扩大误差。
四、读教程解析关系与已有系统,避免伪造排行榜

读图:上方区分眼在手上与固定相机,下方展示视觉估计和内层机器人控制的连接。这两条分类轴独立:相机安装位置本身不决定使用图像误差还是三维位姿误差。
如何评价这篇教程,而不是硬套实验排行榜
这是一篇视觉伺服教程。结构图及所引应用例子不能合并成作者新实施的一套性能排行榜。
| 内容 | 原文用途 | 能回答的问题 |
|---|---|---|
| 系统框图 | 区分误差定义、传感与控制层次 | 视觉在闭环哪里起作用 |
| 几何与雅可比推导 | 说明像素变化与运动关系 | 控制矩阵从哪里来 |
| 点到点、点到线任务 | 展示如何选择图像约束 | 图像目标是否充分表达任务 |
| 跟踪算法实例 | 讨论速度、遮挡与纹理 | 控制器能否稳定拿到输入 |
| 文献与讨论 | 比较已有路线的适用条件 | 哪些选择依赖具体任务 |
这里没有统一环境交互步数、训练算力和随机种子对照。原文提及的应用系统来自不同研究,硬件、任务和相机也不同;把其运行频率列在一起排序,不能推断控制算法本身的优劣。
五处原文证据
1.p.655 Fig. 2–3。 前者对照固定相机与末端相机,后者展示位置式分层回路。它支持三条分类轴应该分开的解释,不能据相机位置直接判断控制误差的类型。
2.p.660 §IV.D。 讨论位姿估计和标定误差,以及三维任务描述的便利性。它支持 PBVS 的结构性权衡,不是给出一种固定误差阈值下的胜负结果。
3.p.661 式 (37)–(47)。 从图像雅可比定义推导点特征变化。它提供控制的几何基础,但依赖投影、深度和速度坐标约定;不能无条件套用到任意鱼眼相机或另一运动符号。
4.p.662–663 的伪逆与双目点定位例子。 两台相机产生四个图像坐标,并不意味着一个三维点有四个独立自由度。原文解释极线约束造成冗余,以及矩阵不能按表面维度直接取普通逆。它支持以秩而非特征数量判断信息。
5.p.665、p.667 的跟踪与讨论。 教程引用的边缘定位实现,在 Sun SPARC II 上处理所述 20 像素边缘、15 像素 Prewitt 型掩模和限定搜索范围时约需 1.5 ms,并讨论可在 30 Hz 下跟踪多个边缘。这个数字属于特定跟踪配置,不是整套机器人视觉伺服的延迟。p.667 还明确指出遮挡、背景干扰与视觉奇异性是任务执行中的问题。
五、检查深度、时延、特征维数与奇异性
这篇文章的主要新意是教程式综合:它让不同领域使用一致的坐标、速度、误差和系统术语,而不是宣称首次发明所有视觉控制方法。随后阅读现代基于视觉的操作方法时,这些区分仍能帮助识别模型究竟在估计什么、控制什么。
PBVS 的代价集中在三维重建与标定链,IBVS 的代价集中在交互矩阵估计、特征选择和视觉可观测性;两者都承受图像时延和跟踪失效。降低图像误差也未必产生理想三维路径:目标可能在途中离开视野,机械臂可能接近奇异构型,或者图像局部目标与真实任务不完全一致。
这些失败并不全来自控制律。有时问题是特征对应跳到了背景,有时是目标点深度估错,有时是速度执行层跟不上视觉外环。本文的分析建议按感知、几何、控制与执行分层诊断,而不是只调整控制增益。
六、追问:同一组像素误差用不同深度估计得到不同速度,应该怎样做公平比较?
同一组像素误差用不同深度估计得到不同速度,应该怎样做公平比较?
参考答案:固定相机、特征、目标和运动初态,只改变明确声明的深度估计,再同时观察图像误差与实际空间运动。仅比较像素残差可能掩盖过大的空间动作或不良路径。IBVS避免完整位姿恢复,并不意味着交互矩阵与几何条件可以省略。
七、为视觉反馈补上标定与可靠特征
- 模块组合:张正友标定:一块平板怎样提供三维相机的信息。用相机标定提供成像参数,控制与标定承担不同职责。
- 模块组合:Shi–Tomasi:好角点为什么仍然可能是坏特征。可靠特征轨迹是反馈输入,质量监控不能由控制律代替。
八、自测与参考答案
问题 1:在机械臂末端安装相机,就一定使用 IBVS 吗?
参考答案:不是。相机布局决定观察几何,PBVS/IBVS 由控制误差定义决定。末端相机可以先估计目标三维位姿,再做 PBVS;固定相机也能直接比较图像特征做 IBVS。
问题 2:既然 IBVS 不必恢复完整三维位姿,为什么深度估错仍会影响运动?
参考答案:投影对平移的敏感度包含 。控制器使用错误深度时,估计的交互矩阵与真实映射不一致,实际误差动力学为 ,不再是简单的单位比例衰减。避免完整重建并不等于没有几何假设。
问题 3:双目看到同一个点得到四个像素坐标,能否直接控制末端六维位姿?
参考答案:不能。一个三维点的位置只有三维独立信息,双目四个坐标还受极线约束;单个点也不足以确定物体绕该点的全部旋转。需要更多具有合适几何布局的特征,或者用其他传感与任务约束补足不可观方向。