机器人视觉与感知

基于图像与基于位置的伺服

视觉伺服——靠一路实时相机画面来引导机器人——有两种风格,区别在于机器人是在哪里来度量自己的误差。基于图像的伺服(IBVS)直接在那张平面画面里工作:它看角点或小点这类特征此刻出现在图像中的位置,和任务完成时它们应该出现的位置,然后移动去缩小这个像素上的差距,根本不去把真实的三维布局完整地重建出来。基于位置的伺服(PBVS)则反其道而行:它先用图像把东西在真实三维空间里实际所处的位置重建出来——物体完整的位置和朝向——再在那个物理空间里规划一段运动,去到达目标位姿。

打个家常的比方:你想把车停到某个位置,好让一棵特定的树正好占据你后视镜里的某个点。基于图像的做法,是一边开一边只盯着后视镜,慢慢挪,直到那棵树正好落在镜子里它该在的地方——你从不计算车的坐标,你只是去对上那幅画面。基于位置的做法,则是先算出“这棵树在我身后三米、偏右一米”,再把你真实的位置开到那个算出来的点上。两种办法都能把车停好;它们只是在“该用画面来想,还是用真实世界来想”这件事上意见不同。

这里的取舍是实实在在的。基于图像的伺服很稳健,因为它从不去依赖脆弱的完整三维重建——相机标定上的小误差几乎伤不到它——但它在真实空间里走出的路径可能会绕得有些古怪,因为它只优化那幅画面。基于位置的伺服在真实世界里给出干净、可预测的运动,也便于推理,但它得仰仗准确的标定和位姿估计,所以一旦重建出错,机器人就会信心十足地开到错误的地方去。许多实用系统会把两者糅合起来,以兼得双方的长处。

要让夹爪对接到一个把手上,IBVS 控制器只管把图像中的四个角点开到它们各自的目标像素上;PBVS 控制器则改为算出把手的三维位姿、再朝它移动——两者都能成功,但 IBVS 的路径可能弯弯绕绕,而 PBVS 的路径走得笔直。

对上画面,还是先重建出世界——通往同一对准结果的两条路。

IBVS 在图像内部以像素来度量误差;PBVS 则在重建出的三维空间里以米和角度来度量误差——目标相同,却是在两个不同的空间里思考。

又称
IBVS vs PBVS图像伺服与位置伺服影像伺服與位置伺服