8.3.1 视觉伺服控制

8.3.1 视觉伺服控制

我们考虑一下这种情况:机器人能够看见目标物体和自己的末端执行器,还能够使用这些信息引导末端执行器向目标物体运动。这就是人们常说的手眼协同,我们称之为视觉伺服控制—— 使用从一个或多个相机获取的信息,引导机器人去完成一项工作任务。

视觉伺服的任务是使用从图像中提取的视觉特征,控制机器人末端执行器相对于目标的位姿。视觉数据可能来自于直接安装在机器人机械手或者移动机器人上的相机,这种称作手眼(eye-in-hand);或者也可以来自固定在周围环境中的相机。有两种完全不同的视觉伺服控制方法(见图8.5):基于位置的视觉伺服(PBVS)和基于图像的视觉伺服(IBVS)。

图8.5 视觉伺服

所有基于视觉伺服的方案的目的都是减小误差e(t):

其中,矢量m(t)为一组图像测量值(包括摄像机的内外参数、相关点的坐标或目标物体的中心坐标向量),α 为摄像机固有参数,向量s* 为包含特征的期望值(s* 是常数,s的变化值取决于相机运动)。机器人视觉伺服控制方法有两种:基于位置的视觉伺服控制算法(PBVS)和基于图像的视觉伺服控制算法(IBVS)。针对IBVS控制结构,向量s包含一组可见的数特征点图像数据(主要是对应特征点的图像坐标);而在PBVS中的向量s由三维参数组成,必须从图像测量中估计得到。

在视觉伺服系统控制的过程中,主要有两个步骤。首先确定合适的任务变量s,然后选择控制变量,最直接的方案是采用速度控制。要实现这一点,需要建立任务变量s与摄像机运动之间的关系。v c 为摄像机坐标系的线性瞬时速度,ωc 是摄像机坐标系的瞬时角速度。与v c 之间的关系式为:

其中,L s 是与s有关的交互作用矩阵,在一些其他视觉伺服文献中被称为特征雅可比矩阵。

基于式(8-12)、式(8-13),我们可以得出摄像机速度v c 和误差变化率之间的关系:

我们通过式(8-14)得到: