APP下载

单目视觉伺服研究综述

2018-11-01徐德

自动化学报 2018年10期
关键词:视点移动机器人矩阵

徐德

视觉可以为机器人提供外部信息,是机器人的重要信息源,是机器人实现自动作业以及自主作业的重要保障.因此,视觉在机器人领域具有重要的地位和作用.视觉伺服是利用视觉信息对机器人或者相机位姿进行的伺服控制,其目标是控制机器人或者相机快速到达期望的位姿.

视觉伺服涉及视觉信息与运动的映射、特征选择、控制律设计、视觉系统标定等问题.早在1996年,Hutchinson等[1]撰写了视觉伺服的教程,将视觉伺服按照控制系统的构成方式分为基于位置的视觉伺服(Position-based visual servo)、基于图像的视觉伺服(Image-based visual servo).其中,基于位置的视觉伺服在3D笛卡尔空间构成闭环控制系统,利用视觉信息获得被观测对象在笛卡尔空间的位置和姿态,与期望的位置和姿态相比较形成误差,根据该误差设计控制律,控制机器人或者相机运动;基于图像的视觉伺服在2D图像空间构成闭环控制系统,利用视觉信息获得被观测对象在图像空间的特征,与期望的图像特征相比较形成误差,根据该误差设计控制律,控制机器人或者相机运动.1999年,Malis等[2]提出了混合视觉伺服方法.混合视觉伺服包含了在3D笛卡尔空间构成的闭环控制系统和2D图像空间构成的闭环控制系统,一部分自由度采用基于位置的视觉伺服,另一部分自由度采用基于图像的视觉伺服.混合视觉伺服结合了基于位置和基于图像的视觉伺服,既含有3D空间又含有2D空间的伺服控制,所以又称为2.5D视觉伺服[3].2003年,Hashimoto[4]对工业机器人基于视觉的控制方法进行了综述,Kragic等[5]对基于位置、基于图像的视觉伺服方法进行了工业机器人的抓取实验,Gans等[6]对不同的视觉伺服系统的性能进行了测试.基于位置的视觉伺服在3D笛卡尔空间设计控制律,能够保证系统的全局渐近稳定,但相机标定误差和机器人的模型误差对控制精度具有明显影响.基于图像的视觉伺服在2D图像空间构成闭环,对相机标定误差和机器人的模型误差不敏感,具有很高的稳态控制精度,但控制系统只是局部稳定,对于大幅度旋转的伺服控制效果较差[6],而且图像雅可比矩阵的奇异性也会导致伺服控制失败.混合视觉伺服结合了基于位置和基于图像的视觉伺服的优点,利用基于位置的视觉伺服对姿态进行控制,可防止姿态变化过大导致的伺服失败;利用基于图像的视觉伺服对位置进行控制,可提高位置控制精度;但单应性矩阵(Homography matrix)的估计对图像噪声敏感,且需要对单应性矩阵进行分解.2005年,Marchand等[7]设计了视觉伺服平台的Matlab工具箱,Mariottini等[8]设计了基于极线几何视觉伺服的Matlab工具箱,为视觉伺服系统的设计和仿真提供了便利.2006年,Chaumette和Hutchinson[9−10]再度撰写了视觉伺服的教程,分别介绍了视觉伺服的基本方法和先进方法,基本方法包括基于位置的视觉伺服、基于图像的视觉伺服,先进方法包括2.5D混合视觉伺服、全分离式视觉伺服(Partitioned visual servo)、开关式视觉伺服(Switching visual servo)等.其中,全分离式视觉伺服选择6个特征,对线速度和角速度的6个自由度分别进行控制.开关式视觉伺服采用开关控制器选择当前的有效控制器[11−12],在误差较大时选用基于位置的视觉伺服,在误差较小时采用基于图像的视觉伺服.2010年,Staniak等[13]以工业机器人趋近与抓取静态对象的任务为背景,分别针对Eye-in-hand和Eye-to-hand视觉系统,对基于位置、基于图像、开关式视觉伺服进行了分析和实验,对影响稳态误差的因素进行了分析和验证.2011年Janabi-Sharif i等[14]对基于位置和基于图像的视觉伺服方法进行了对比,包括系统稳定性、鲁棒性、灵敏性和在笛卡尔空间与图像空间的动态性能.两者均能够局部渐近稳定,而且对建模误差局部鲁棒,但笛卡尔空间与图像空间的轨迹以及时间收敛性受到相机、对象和机器人建模误差的影响.2015年,贾丙西等[15]对机器人视觉伺服进行了综述,重点介绍了视觉系统中改善动态性能和处理噪声的方法.

视觉系统常用的构成方式包括单目视觉和双目立体视觉.虽然双目立体视觉能够测量特征点的三维坐标,便于构成基于位置的视觉伺服控制系统,但是其内外参数标定比较繁杂,与单目视觉相比成本较高,使用与维护的方便性较差.单目视觉具有成本较低、使用与维护较方便等特点,受到机器人视觉领域研究人员的普遍重视,近年来针对视觉伺服的研究主要面向单目视觉系统.因此,本文针对单目视觉系统讨论视觉伺服.此外,现有的关于机器人视觉伺服的综述或者教程,如Hutchinson等的视觉伺服教程[1,9−10],主要从视觉信息与运动映射和控制律设计的角度讨论视觉伺服,较少涉及特征选择、视觉系统标定等问题.为了更好地体现不同的视觉伺服方法的特点,本文从视觉信息与运动映射、控制律设计、特征选择、视觉系统标定等角度介绍视觉伺服近年来的研究进展.

本文内容安排如下:第1节介绍了视觉信息与运动映射关系,包括交互矩阵、单应性矩阵、基本矩阵.交互矩阵描述相机运动与特征变化之间的关系,单应性矩阵描述两视点之间的位姿关系,基本矩阵描述两视点之间的极线约束.第2节分别针对不同的误差表征方式,讨论了不同视觉伺服方法的控制律设计.第3节对视觉伺服的关键问题进行了讨论,包括相机选择、特征选择、误差表征、深度估计、位姿解耦、系统稳定性、系统标定等.第4节简要介绍了视觉伺服的部分典型应用,给出了未来发展的几个方向.最后,对全文进行了总结.

1 视觉信息与运动映射关系

视觉信息与运动映射关系的获取,主要包括交互矩阵、单应性矩阵、基本矩阵等方式.

1.1 交互矩阵

交互矩阵(Interaction matrix)描述相机运动与图像特征变化之间的关系,又称为图像雅可比矩阵(Image Jacobian matrix).早在1992年,Chaumette等[16]推导了点、线和圆特征的交互矩阵.空间圆的交互矩阵较复杂,此处从略.

对于笛卡尔空间的特征点,其3D空间位置在摄像机坐标系中表示为(X,Y,Z),其在相机焦距归一化成像平面上的成像点在摄像机坐标系中表示为(x,y,1),则点特征的交互矩阵为[16]:

其中,Lp是点特征的交互矩阵.

将直线表示为两个空间平面的交线:

其中,a1、b1、c1、d1、a2、b2、c2、d2为两个平面的平面方程参数.d1和d2不同时为零.

直线特征的交互矩阵见式(3).其中,ρ和θ为3D空间直线在相机焦距归一化成像平面上的成像直线的极坐标方程参数.时i=1,d1=0时i=2.Lθ和Lρ分别是θ和ρ的交互矩阵.

由式(1)和式(3)可知,点、直线特征的交互矩阵是分别基于在相机焦距归一化成像平面上的成像点坐标和直线参数的.因此,需要对相机进行标定,获得相机的内参数.然后,根据图像坐标和相机内参数,计算出在相机焦距归一化成像平面上的成像点坐标.从式(1)可以发现,点特征交互矩阵Lp与深度Z相关.在相机内参数已知的情况下,x和y可以由图像坐标和相机内参数计算获得.如果点在相机坐标系中的深度Z已知,那么Lp就可以确定.因此,如何估计深度Z成为获取点特征的交互矩阵的关键.从式(3)可以发现,求取直线特征的交互矩阵时,需要已知含有该直线的平面在相机坐标系中的平面方程.由于含有直线的平面在相机坐标系中的平面方程难以获得,制约了直线特征的交互矩阵在机器人视觉伺服中的应用.

对于虚拟现实而言,可以在相机坐标系中预先设定一个含有直线的平面,即含有直线的平面在相机坐标系中的平面方程是已知的.因此,直线特征的交互矩阵能够在虚拟现实中得到较好的应用.例如,2006年Comport等[17]以当前图像特征作为期望值,以当前相机位姿下场景投影到图像的特征作为当前值,通过视觉伺服控制摄像机的运动,使得图像特征的偏差最小化,从而实现虚拟现实中相机的位姿估计.Comport等采用了点到直线的距离作为特征,其中的点是在图像上的给定点,其图像坐标保持不变.

为了克服含有直线的平面在相机坐标系中的平面方程的制约,文献[18]利用直线上相邻点的极坐标推导了直线特征的交互矩阵.从成像平面坐标系原点到直线作垂线,得到垂线与直线的交点即垂点.利用直线上垂点及其两侧小邻域内对称的两点,推导出了直线特征的交互矩阵,见式(4).其中,Z0是垂足在相机坐标系中的深度,Z1和Z2是垂足的两个邻点在相机坐标系中的深度,ρ和θ是直线在相机焦距归一化成像平面上的成像直线的极坐标方程参数,ρ1是成像平面坐标系原点到垂足的一个邻点的距离,Lθvx和Lθvy是Z1、Z2、ρ和θ的函数,Lρ和Lθ分别是ρ和θ的交互矩阵.

对于垂直于摄像机光轴的直线,Z1=Z2,得到Lθvx=0,Lθvy=0.此时,式(4)的Lθ改写为:

式(5)交互矩阵与深度无关,而且与平移无关.由式(3)、式(4)和式(5)可以发现,相机的旋转运动与θ变化之间的关系与深度无关,即旋转运动与θ的交互矩阵Lθw与深度无关,见式(6).因此,利用相机焦距归一化成像平面上直线参数ρ和θ计算出式(6)的旋转交互矩阵Lθw,可以用于姿态控制.

此外,Chaumette等[19−20]假设特征点均处于同一个平面内,基于点特征的交互矩阵以及平面方程,对各阶矩的交互矩阵进行了推导,并推导出了椭圆、直线的矩的交互矩阵.Chaumette等采用基于二阶矩的方向和两个不变量矩,实现了对姿态的视觉伺服控制[19].2012年Lin等[21]定义了4个最低矩不变量,实现了基于模型的图像跟踪.基于矩的交互矩阵的视觉伺服,不需要特征提取与匹配,鲁棒性强[22].

1.2 单应性矩阵

单应性矩阵描述了两个视点之间的几何关系,也是摄像机坐标系中在焦距归一化成像平面上特征点的位置矢量之间的关系.在相机坐标系中,两个视点下的特征点在焦距归一化成像平面上的坐标之间存在如下关系[3,23]:

其中,m=[x y1]T是特征点在当前视点下在焦距归一化成像平面上的位置矢量,m∗=[x∗y∗1]T是特征点在期望视点下在焦距归一化成像平面上的位置矢量,Z是特征点在当前视点下的深度,Z∗是特征点在期望视点下的深度,H是3×3的单应性矩阵.

利用两个视点下所采集的图像中的4组及以上匹配特征点,可以构成一系列式(7)所示的方程,利用最小二乘法求解获得单应性矩阵.单应性矩阵中只含外参数,可以表示为:

其中,n∗是期望视点的相机坐标系原点到平面Π的单位法向量,d∗是期望视点的相机坐标系原点到平面Π的距离.R是当前视点到期望视点的相机坐标系之间的旋转矩阵,t是当前视点到期望视点的相机坐标系之间的平移向量.Π是含有特征点的平面.

将H除以第3行第3列的元素,得到He.对He进行奇异值分解,求解出R和e与t相差一个比例因子.R用于姿态控制,te用于位置控制,构成基于位置的视觉伺服控制系统.

1.3 基本矩阵

由两个视点之间的极线几何约束,得到特征点图像坐标的关系[23]:

基本矩阵F为3×3矩阵,包含了内外参数,形成两幅图像之间的极线几何约束.利用8组及以上的匹配特征点得到的式(9)所示方程,采用最小二乘法估计出基本矩阵F.得到基本矩阵后,结合内参数矩阵,计算出本质矩阵E.

其中,A是相机的内参数矩阵.

本质矩阵只含外参数,是在焦距归一化成像平面上的几何约束.由本质矩阵E,计算出R和te,分别用于姿态控制和位置控制,构成基于位置的视觉伺服控制系统.

2 误差表征与控制律设计

本节按照视觉信息与运动映射关系的获取方式,对视觉伺服控制律的设计进行介绍.

2.1 基于交互矩阵的视觉伺服

2.1.1 基于点交互矩阵的传统方法

传统的基于点交互矩阵的视觉伺服,选择n个特征点在相机的焦距归一化成像平面上的坐标作为图像特征,利用图像特征偏差和交互矩阵控制相机的运动.当特征点数量n≥4时,其控制律见式(11),可使偏差按照指数规律下降[9,24].

其中,是相机的线速度,是相机的角速度,λ>0是系数,是特征点的图像坐标偏差,是n个特征点交互矩阵Lpn的伪逆矩阵.

传统的基于点交互矩阵的视觉伺服,属于基于图像的视觉伺服.计算交互矩阵Lpn时,需要用到特征点在相机坐标系的深度,涉及到特征点的深度获取.该深度信息可以根据相机的运动进行在线估计,但难以获得准确值.计算Lpn时,可以采用在线估计的深度,也可以采用期望视点下的深度.文献[9]分别采用在线估计深度计算的Lpn、期望视点下的深度计算的L∗pn、以及二者的均值 (Lpn+L∗pn)/2,进行了视觉伺服实验,三种情况下控制系统均收敛.其中,采用Lpn的视觉伺服收敛较快.

传统的基于点交互矩阵的视觉伺服,在旋转量较大时存在相机后退问题(Camera retreat),即相机沿法线方向离开目标然后返回,属于无效运动[25].针对相机后退问题,Iwatsuki等[26]推导了柱面坐标系下的点交互矩阵,基于柱面坐标的视觉伺服可消除纯旋转时的相机后退现象.此外,在rank(Lpn)<6时,式(11)控制律会造成相机速度过大,从而导致目标丢失.

2000年,Kelly等[27]将点特征的交互矩阵与机械臂的雅可比矩阵相结合,构成机器人的图像雅可比矩阵.利用图像雅可比矩阵的转置,将图像空间的特征偏差转换为关节空间的力矩.在两连杆机器人上进行了控制实验,取得了较好的效果.

2.1.2 基于点交互矩阵的分离式视觉伺服

2001年,Corke和Hutchinson[25]提出了一种分离式视觉伺服方法.将与Z方向相关的2个自由度的控制分离出来,其他的4个自由度利用基于交互矩阵的方法进行控制.由式(1),得:

其中,是图像特征的变化率,Lpxy是与X、Y方向运动相关的交互矩阵,Lpz是与Z方向运动相关的交互矩阵.(vx,vy,vz)和(ωx,ωy,ωz)分别为相机的线速度和角速度.一个点的交互矩阵Lpxy和Lpz见式(13).

由式(12),得:

其中,L+pxy是Lpxy的伪逆矩阵.

利用图像空间特征点连线与水平方向的夹角作为绕Z轴旋转的特征,用于确定ωz.利用特征点构成的多边形面积作为沿Z轴平移的特征,用于确定vz.获得vz和ωz后,根据式(14)确定X、Y方向的运动线速度和角速度.该方法可以消除传统方法的相机后退问题[25].

2016年,Xu等[28]将旋转和平移控制律分开设计.利用式(11)计算出相机的角速度ω,然后利用式(15)计算线速度v.

2.1.3 基于多种特征交互矩阵的分离式视觉伺服

Tahri等[19]和Chaumette[20]选择6个组合矩特征分别控制相机的6个自由度,实现了解耦的视觉伺服.以对象的重心表征沿X、Y轴平移,以对象的图像面积作为表征深度Z的特征,采用椭圆长轴方向表征绕Z轴的旋转,以基于二阶矩的两个不变量矩的组合分别控制绕X、Y轴的旋转.该方法的优点是针对对象的图像计算矩,不需要点匹配,鲁棒性较强.缺点是旋转控制并不能完全解耦.在对象表面平行于成像平面时,绕X、Y轴的旋转是解耦的,但对象表面不平行于成像平面时,旋转控制仍然存在耦合问题.

2008年,徐德等[29]针对矩形对象,选择其图像重心表征沿X、Y轴平移,以对象的图像面积作为表征深度Z的特征,以矩形两长边中心线的方向角表征绕Z轴的旋转,分别以长边和短边的变化表征绕X、Y轴的旋转.利用上述6个特征分别控制相机的6个自由度,能够实现解耦的视觉伺服.2012年,Anh等[30]采用SURF特征搜索并分割对象,将对象的区域标注为四边形ROI(Region of interest),采用上述6个特征分别控制机械臂末端相机的6个自由度,实现了解耦的视觉伺服,能够控制机械臂快速对对象进行趋近和对准.这种方法的优点是特征与运动之间的关系比较简单、直观,缺点是限制条件比较苛刻,对象在期望位姿下的成像必需为矩形且矩形的边需要平行于成像平面的x、y轴,应用受到极大的制约.此外,这种方法的解耦并不完善,导致运动过程中存在较大的波动.

2017年,Xu等[31]提出了一种采用多种特征的分离式视觉伺服方法.对点、线、面特征的灵敏性进行了分析,点特征对沿相机坐标系X、Y轴的平移灵敏性高,面特征对沿相机坐标系Z轴的运动非常灵敏,直线特征对旋转非常灵敏.因此,采用式(6)所示的直线交互矩阵控制旋转运动,设计了旋转运动控制律.采用点特征和面特征的交互矩阵控制平移运动,并对旋转运动导致的平移在平移控制律中进行了补偿.旋转和平移控制律分开设计,选择的灵敏特征有利于保证交互矩阵的秩为3,消除了交互矩阵的奇异问题.此外,旋转运动对平移运动的补偿,有利于将对象保持在相机的视野中,避免视觉伺服失败问题.

2.2 基于单应性矩阵的视觉伺服

2.2.1 基于单应性矩阵的传统方法

利用单应性矩阵分解获得姿态矩阵R和带比例因子的平移矢量e后,将R转换为转轴和转角θ表示的姿态.基于单应性矩阵的传统方法为基于位置的视觉伺服[9],视觉伺服的目标是使得相机从当前视点运动到期望视点.选择两个视点之间的位移矢量和轴角θ作为特征.在当前相机坐标系下,位置误差为,姿态误差为θ.相机运动与特征之间的交互矩阵为:

其中,

其中,I3是3×3的单位阵,是的反斜对称矩阵.

可见,在相机坐标系下,基于单应性矩阵的传统视觉伺服方法为解耦控制.相机在笛卡尔空间的运动轨迹为直线.但随着相机姿态的变化,对象上的有些特征点可能出视野,会导致视觉伺服失败.此外,单应性矩阵的误差以及分解为R和te时产生的误差,会导致系统存在稳态误差.

2.2.2 基于单应性矩阵的解耦控制

2007年Benhimane等[32]提出了一种直接利用单应性矩阵的解耦视觉伺服方法.该方法不需要对单应性矩阵进行分解,在图像空间实现视觉伺服.利用单应性矩阵构造了分别描述位移和姿态误差的特征,见式(20).基于这些特征设计的控制律见式(21),可实现控制系统的局部稳定.2014年Plinval等[33]利用上述方法,实现了无人直升机对地面目标的视觉跟踪.2015年Jia等[34]利用上述方法,结合迭代学习控制实现了工业机器人轨迹跟踪.

当相机到达期望视点的位姿时,R=I3,te=0,此时H=I3.由式(20)可知,此时位移误差ev=0,姿态误差ew=0.这说明在稳态时,采用式(20)描述的误差与实际相符.

将式(22)中的H代入式(20),得到:

在R=I3,时,解耦后应该没有旋转.但式(23)表明,利用H−HT表征姿态误差时,会导致相机绕X、Y轴的旋转.因此,该方法实际上并没有实现位置与姿态的真正解耦,在视觉伺服过程中存在姿态与位置的耦合问题,会导致姿态控制上有超调.

为解决上述问题,2012年Silveira等[35]对H进行了重新定义,令H=A−1GA,G=ARA−1.于是,H与R等价.将式(20)的第1式位置误差修改为e,此处的是极点的图像坐标.

2.2.3 2.5D视觉伺服

1999年Malis等[2]提出了一种基于单应性矩阵的混合视觉伺服方法,在3D笛卡尔空间进行姿态控制,在2D图像空间进行位置控制.定义了特征点在焦距归一化成像平面上的扩展坐标,在当前视点下的扩展坐标为,在期望视点下的扩展坐标为.扩展坐标用于在图像空间的位置控制.由单应性矩阵H分解出姿态矩阵R,转换为用于姿态控制[36].系统的误差定义为.相机运动速度与误差之间的交互矩阵为

其中,Lev是相机线速度与扩展坐标之间的交互矩阵,Lew是相机角速度与扩展坐标之间的交互矩阵.

设计的控制律为:

显然,混合视觉伺服需要获得两个视点之间的姿态矩阵R.2000年,Malis等[3]介绍了估计两个视点之间位姿的方法,包括8点法估计基本矩阵、虚拟平面法估计单应性矩阵等.获得基本矩阵或者单应性矩阵后,经过分解获得姿态矩阵R.针对多特征点问题,Malis等[37]于2003年给出了轮廓上多特征点的视觉伺服方法,位置控制部分仍然采用3×3的交互矩阵Lev和Lew,交互矩阵的每个元素采用单点特征交互矩阵相应元素的均值.为解决特征选择与匹配问题,2005年Malis等[38]将视觉跟踪和视觉伺服技术相结合,提出了基于模板的视觉伺服.将ESM(Efficient second-order minimization)算法用于视觉跟踪,在帧间偏移量较大的情况下,可以实现基于模板的跟踪以及对单应性矩阵的实时估计.

2005年 Chen等[39−40]针对 Eye-in-hand和Eye-to-hand视觉系统,采用上述2.5D视觉伺服方法设计了控制系统.Chen等分别给出了开环系统和闭环系统,开环系统是摄像机与目标相对运动的特性,闭环系统是增加控制律后的系统.利用基于Lyapunov稳定性的自适应控制策略补偿对象模型未知和深度未知带来的影响,实现了机器人末端对笛卡尔空间期望轨迹的有效跟踪.

2009年,Hu等[41]在相机的内参数未知情况下,利用消失点计算出单应性矩阵.由于视点到消失点的距离为∞,由式(8)可知,此时计算出的单应性矩阵就是摄像机两个视点之间的相对姿态矩阵.将姿态表示为四元数[41−42],设计了高增益鲁棒控制器用于姿态控制.设计了用于位置控制的自适应控制器,针对未知的深度信息和摄像机内参数进行了补偿.

Dixon等[43−44]将单应性矩阵H用于移动机器人控制,只考虑移动机器人在平面内的2自由度平移和1自由度旋转.估计H后,分解获得θ和位置偏差.设计控制律时,先计算角速度,然后基于角速度计算线速度.Lopez-Nicolas等[45]定义了移动机器人的3种路径,分别为旋转、直线、对数螺旋曲线路径.直接利用单应性矩阵的元素,针对3种路径设计多阶段式的控制算法.

基于单应性矩阵的2.5D视觉伺服,单应性矩阵的估计误差以及分解出R时产生的误差,会导致系统存在稳态误差.为此,2011年Zhang等[46]不采用单应性矩阵,而是在考虑移动机器人的2自由度平移和1自由度旋转的约束情况下,直接估计旋转角和平移量.然后,旋转采用基于位置的控制,平移采用基于图像的控制,形成2.5D混合视觉伺服.

2.3 基于基本矩阵的视觉伺服

基于基本矩阵的视觉伺服,利用极线几何约束形成方程(9),在图像空间估计两个视点之间的基本矩阵F,然后结合内参数矩阵计算本质矩阵E.也可以在焦距归一化成像空间,利用估计本质矩阵E.对本质矩阵E分解获得旋转矩阵R和平移向量te,用于对姿态和位置的控制.

1999年Basri等[47]利用估计本质矩阵E.利用E t=0求解出,然后利用求解带有比例因子,在的基础上,利用3个视点构成的直线交比不变性确定出t.由于不可逆,所以采用其第3列,采用E的前两列叉乘作为第3列,保留和E的前两列,构成新的等式.两边乘以的逆,获得旋转矩阵R.利用获得的R和t分别控制姿态和平移,将相机从当前视点运动到期望视点.2009年Sebastian等[48]将式(9)作为约束,引入基于图像雅可比矩阵的视觉伺服,提高了视觉伺服的鲁棒性.

基于极线几何的视觉方法,在移动机器人的控制中比较常见[49−53].例如,文献[49]和[50]采用基于极线几何的方法,设计了对准、趋近策略,第1步对准目标,第2步接近目标,实现了移动机器人对目标的趋近.2013年,Montijano等[52]利用极线几何约束,实现了多移动机器人的一致性控制.2014年,Mitic等[53]提出了一种基于演示和极线约束的神经网络学习方法,用于非完整约束移动机器人的视觉控制.

在视觉伺服的收敛过程中,在当前图像与期望图像比较接近时,极线约束退化.此时,难以准确估计两个视点之间的位姿[10].

2.4 其他视觉伺服方法

2002年Andref f等[54]提出了基于线特征的视觉伺服,实现了姿态与位置控制的解耦.直线的方向在3D笛卡尔空间进行估计,不同方向直线的交汇点作为特征点用于位置控制.当不同方向的直线形成正交三面体(Orthogonal trihedron)时,控制律与深度无关,控制系统渐近稳定.其他情况下,需要采用激光器测距获得交汇点的深度信息.交汇点的深度获取问题,限制了该方法的应用.

2008年,Wang等[55]提出了分别采用点、线特征的自适应视觉伺服方法.基于相机透视成像模型和机器人模型,分别推导了点、线特征的图像雅可比矩阵,并分别利用其转置将特征偏差转化为关节力矩.该方法将深度Z作为公共项从点、线交互矩阵中提出,剩余的交互矩阵不含有深度Z,称为深度无关的交互矩阵.利用该方法在3自由度机械臂上进行的实验中,机械臂末端位置的变化范围很小,X、Y、Z方向的变化范围均为mm级.实际上,如果不对深度进行估计,则该方法相当于采用了固定深度Z=1.在深度变化较大的情况下,视觉伺服过程中产生的机器人末端轨迹会存在较大波动.2013年Liu等[56]分别推导了距离、角度、面积、质心的图像雅可比矩阵,但仅利用质心坐标的交互矩阵进行了3自由度机器人的视觉伺服实验.利用质心的交互矩阵转置,将特征偏差转化为关节力矩,控制机器人的运动.同样的,深度相当于固定值Z=1.

将多种控制器相结合,有利于发挥不同视觉伺服方法的优势.例如,2010年Lopez-Nicolas等[57]的前两列叉乘作为分别基于两个视点之间的单应性矩阵和极线几何设计了两个控制器,利用开关控制律将这两个控制器结合在一起,可避免基于单应性矩阵或极线几何的单一控制器的不足.

部分研究人员将对象的CAD模型作为先验知识用于视觉伺服[58−62].例如,Marchand等[59]提出了一种基于对象的2D-3D模型的视觉跟踪方法,首先在2D空间对对象进行跟踪,然后在3D空间对对象进行跟踪.其中,2D空间的跟踪基于仿射变换,3D空间的跟踪基于CAD模型匹配[60].2005年Yesin等[61]针对微装配,设计了基于CAD模型的跟踪方法.2010年Tamadazte等[62]设计了一种基于CAD模型的跟踪方法,采用点到直线的交互矩阵,实现了微装配的视觉控制.

2011年Dame等[63]提出了一种基于互信息(Mutual information)的视觉伺服方法,以整幅图像作为参考,将参考图像的熵加当前图像的熵减去两者的联合熵定义为互信息特征,推导了互信息特征的交互矩阵.该方法的优点是不需要匹配或者跟踪图像特征,对于光照变化鲁棒,而且在同一个任务中可以有不同的图像模式.该方法具有较高的精度,但笛卡尔空间的运动路径不够合理,收敛速度较慢.

3 若干关键问题

3.1 相机选择

常用的相机类型包括透视投影相机和全景相机等.透视投影相机可以采用小孔模型描述,应用比较广泛.在镜头畸变较小可以忽略或者经过畸变校正后,透视投影相机的成像具有下列特点:直线的图像仍然是直线,不同视点下具有极线几何约束.上述特点为点、线特征提取,特别是直线特征提取,带来较大的便利.针对透视投影相机采集的图像,提取出特征点后,可以计算交互矩阵、单应性矩阵、基本矩阵等,进而用于视觉伺服.事实上,前面讨论的交互矩阵、单应性矩阵、基本矩阵等,都是基于透视投影相机模型的.可见,透视投影相机适合于对对象的视觉跟踪,即适合于视觉伺服.全景相机可以采用球面模型描述,在移动机器人中应用较多.全景相机由二次曲面反射镜和透视投影相机构成,二次曲面反射镜将360度方向的场景反射到透视投影相机,成像后的图像因尺度压缩不同而具有很大畸变.全景相机能够直接给出对象的方位,在移动机器人的路径跟踪和对象跟踪中具有优势[64−67].例如,2008年Hadj-Abdelkader等[66]针对中心折返式全景相机,推导出直线特征的交互矩阵,分别实现了6自由度机械臂和非完整约束移动机器人的视觉伺服.2010年Becerra等[67]基于1D的三视张量,实现了移动机器人的全向视觉控制.

3.2 特征选择与误差表征

视觉系统的常用特征包括点、直线、圆、面积、矩[67−70]、熵[71]等特征.一般地,点特征的抗干扰能力较差,直线和圆特征的抗干扰能力较强,面积和矩特征的抗干扰能力最强.在视觉伺服中,上述特征均有应用[72−84].例如,2005年Mahony等[74]利用平行线Plcker坐标构成图像特征,实现了4旋翼无人机基于图像的视觉伺服.2008年Mahony等[75]采用质心和光流特征,实现了基于动态图像的视觉伺服.2010年Lopez-Nicolas等[77]采用三视点张量构成交互矩阵,2017年Chen等[78]采用三视点张量估计方向和带比例因子的位移,实现了移动机器人的视觉伺服.1998年Lane等[80]基于光流进行运动估计和目标识别,但光流法可有效跟踪的自由度较少[81].2012年Lin等[21]定义了4个低阶矩不变量,实现了基于模型的视觉跟踪.2013年Zhao等[82]利用改进的图像矩,实现了6自由度机器人的基于图像的视觉伺服.2011年Fomena等[84]基于球面投影设计了一种位置与姿态分离的视觉伺服方法.其中,利用3个点的球面投影的笛卡尔空间距离,构成3个旋转不变量,用于位置控制;利用两个点的图像确定转轴和转角,用于姿态控制.

虽然点特征的抗干扰能力较差,但点特征既可用于基于交互矩阵的视觉伺服,又可用于基于单应性矩阵和基于基本矩阵的视觉伺服.点特征用于基于交互矩阵的视觉伺服时,由多个点特征计算点交互矩阵,在图像空间实现视觉伺服.点特征用于基于单应性矩阵的视觉伺服时,利用4个及以上的点特征计算单应性矩阵H.点特征用于基于基本矩阵的视觉伺服时,利用8个及以上的点特征计算基本矩阵F.H或F分解出姿态矩阵R和平移向量te后,在笛卡尔空间实现视觉伺服.直线、圆、面积、矩等特征仅用于基于交互矩阵的视觉伺服,分别计算出其交互矩阵后,在图像空间实现视觉伺服.

选择的特征不同,对应的误差表征方式也不同.对于点特征,其误差表征方式包括图像特征偏差、笛卡尔空间偏差、式(20)所示的.值得注意的是,式(20)所示的是作为笛卡尔空间误差对待的,但实际上它们既不属于笛卡尔空间,也不属于图像空间.对于直线特征,其误差表征方式为直线在焦距归一化成像平面上的极坐标参数ρ、θ的偏差.其中,θ的偏差较常用.对于圆特征,表征误差的方式为图像空间椭圆的二元二次方程的系数偏差,共5个参数[16].对于面积和矩等特征,表征误差的方式为图像空间的面积偏差和矩的偏差.在确定了特征以及误差表征方式后,就确定了是在图像空间还是在笛卡尔空间设计控制律.

部分研究人员采用对象的整体特征,以避免特征提取与匹配[35,85−87].例如,2011年Collewet等[85]利用所有像素点的亮度作为特征,采用基于交互矩阵的视觉伺服,实现了对目标的定位与跟踪.2012年Silveira等[35]提出了一种直接视觉伺服方法,利用对象的像素强度进行匹配优化,估计当前视点与期望视点之间的投影参数,如含有姿态的矩阵G=ARA−1和极点等.该方法可避免特征点提取与匹配,提高鲁棒性.

3.3 深度估计

由式(1)可知,点交互矩阵与深度有关,基于点交互矩阵的视觉伺服需要估计深度.在相机的运动已知的情况下,可以根据相机运动和特征点的变化估计深度,见式(28).此外,在当前视点与期望视点的深度相差不是很大时,可以采用期望视点的深度,见第2.1.1节.

2008年Luca等[88]提出了一种基于状态观测器的深度估计方法.定义状态为,输出为,其中,(u,v)是特征点的图像坐标,(u0,v0)是光轴中心点即主点的图像坐标.Luca等建立了状态方程,设计了状态观测器.在相机运动为非纯旋转的情况下,利用观测器可以得到深度Z.但在相机进行纯旋转运动时,不能对深度进行观测.2010年Cheah等[89]设计了一种基于自适应雅可比矩阵的视觉控制方法,将深度作为机器人关节角的函数,根据机器人的关节角对深度信息进行估计.该方法将深度与机器人的关节角关联,具有较大的局限性.

在基于单应性矩阵的2.5D视觉伺服中,ρ1=Z/d∗,ρ2=Z/Z∗.ρ2可以利用式 (7)估计,如果期望视点下的Z∗和d∗已知,则可以计算出ρ1.在基于基本矩阵的视觉伺服中,利用两个视点的极线几何估计出的位置矢量te带比例因子,给控制带来不便.为解决上述问题,部分研究人员采用三视几何方法[47,50].例如,Basri等[47]利用3个视点构成的直线交比不变性确定出t.Becerra等[50]以增加中间辅助视点的方式,将视觉伺服分为对准和趋近目标两步,第1步调整姿态和位置从而对准目标,第2步保持姿态并调整位置以便趋近目标.该方法对相机的标定误差不灵敏.

部分研究人员采用其他辅助传感器获得深度.例如,2009年Xie等[90]采用激光结构光测距获得特征的深度信息,将位置控制与姿态控制分离,设计了开关式视觉伺服方法.该方法包括3个阶段,分别为旋转阶段、平移阶段和精确对准阶段.其中,在平移阶段,采用矩形的4个角点和激光光斑作为特征,旋转量设定为0,采用测距获得的深度计算平移图像雅可比矩阵,利用基于图像的视觉伺服将图像特征移动到期望特征附近.

深度估计的准确性对视觉伺服的性能具有重要影响.在视觉伺服中如何有效估计深度,仍然是亟待解决的问题.

3.4 位姿解耦

位置控制与姿态控制的耦合作用给视觉伺服系统的性能带来不利影响,位姿解耦的目的是消除位置控制与姿态控制之间的耦合.但实际上,位置控制与姿态控制之间的耦合作用是难以消除的.例如,第2.2.1节的基于位置的视觉伺服方法,虽然位置控制和姿态控制在控制律上是解耦的,但在运行过程中,姿态控制会对相机的位置控制产生影响,姿态与位置的耦合作用并不能够消除.在姿态调整量较大的情况下,对象可能出相机的视野,导致视觉伺服失败.类似地,第2.2.2节的解耦控制和第2.2.3节的2.5D视觉伺服,也存在上述问题.Anh等[30]的分离控制方法,分别选择表征位置、姿态的6个特征,针对每一个自由度分别设计控制器.这种选择不同特征的分离控制方法,同样存在耦合影响问题.

另一种思路是在设计控制律时考虑耦合影响.对于安装在6自由度工业机器人末端的相机,相机的平移对表征姿态的特征不会产生影响,但相机的旋转会对表征位置的特征产生影响.因此,在设计工业机器人的视觉伺服控制律时,可以先设计旋转控制律,再设计平移控制律,并对旋转运动导致的平移在平移控制律中进行补偿,从而降低旋转对平移的影响[28,31].对于安装在移动机器人上的相机,由于受非完整性约束(Nonholonomic constraints),相机在垂直于移动机器人前进的侧向上不能直接平移,只能结合旋转运动才能产生侧向移动,平移与旋转的耦合更加紧密.因此,在设计移动机器人的视觉伺服控制律时,往往先设计旋转控制律,再结合旋转角速度设计平移控制律[51].文献[49]和[50]将移动机器人的视觉伺服分为两个阶段,第1阶段为对准,通过旋转运动使得移动机器人正对着被跟踪对象;第2阶段为趋近,通过向前平移运动使得移动机器人接近被跟踪对象.在设计控制律时,结合运动机构的特性,考虑姿态控制与位置控制的耦合作用,对于改善视觉伺服系统的性能具有重要作用.但也有研究人员给定移动机器人的前进速度,然后只设计移动机器人的旋转控制律.例如,2011年Cherubini等[91]设定非完整约束移动机器人以恒速运动,分别采用基于姿态和基于图像的视觉伺服方法,计算出移动机器人的角速度,实现对路径的趋近与跟踪.

3.5 系统稳定性与目标丢失

理论上,基于图像的视觉伺服系统,能够实现局部稳定;基于位置的视觉伺服系统,能够实现全局渐近稳定[92].对于基于位置的视觉伺服系统,只要被跟踪对象处于相机视野内,且获得的相机当前位姿正确,则通过合理选择控制参数能够保证系统的稳定性[93].对于基于图像的视觉伺服系统,在采用点特征时,存在多解问题和交互矩阵奇异问题.由PnP(Perspective-n-point)问题可知,对于1组特征点的图像坐标,相机可能有多个对应视点,即存在多解.如果不对笛卡尔空间的特征点进行约束,即使有无穷多个特征点,也会存在多解问题[94].多解问题对于控制非常不利,会导致出现较大的波动.如果4个可区分的特征点共面且其中任意3个特征点不共线,则PnP问题具有唯一解.因此,对于基于点交互矩阵的视觉伺服,需要选择至少4个共面特征点,且需要满足4个共面特征点中任意3个特征点不共线.在交互矩阵的秩小于6时,可以增加补偿项,避免出现相机速度过高现象.

无论基于图像的视觉伺服还是基于位置的视觉伺服,都存在目标丢失问题.一旦被跟踪对象从相机的视野中丢失,则导致视觉伺服失败.为解决目标丢失问题,研究人员提出了一系列策略[95−106].最简单的方法是对旋转量进行限制,例如2007年Metni等[95]为了保证对象不出相机的视野,将每一次的旋转角度限定到很小的范围内.另一种策略是采用开关式方法避免目标丢失[96−97].例如,2004年Chesi等[96]设计了一种开关式方法,使得图像特征在视觉伺服过程中保持在相机的视野内.2005年Deng等[97]提出了一种混合运动控制策略,利用开关控制切换基于位置的视觉伺服和基于图像的视觉伺服,以避免图像奇异与局部极小.将对象在相机视野内作为约束,对相机路径进行规划或者优化,是避免目标丢失的一类有效方法[98−103].例如,2003年Mezouar等[98]对基于图像的视觉伺服的相机3D轨迹进行优化,在优化中引入对象处于相机视野内以及机械臂的关节限位等约束,以避免目标丢失和关节限位导致的视觉伺服失败.2003年Kragic等[99]提出对视觉线索投票的方法,以提高视觉伺服的鲁棒性.2014年Ibarguren等[100]在获得图像特征后经粒子滤波估计位姿,采用基于位置的视觉伺服,提高系统的鲁棒性.2004年Chesi等[101]以目标为中心设定圆弧,控制相机在圆弧上运动,保证目标处于相机的视野中.2005年Cowan等[102]认为可视特征集及其图像是微分流形,而且是全局微分同胚的,可采用微分同胚在全局范围内保持图像特征在相机视野内.2006年Schramm等[103]利用两个视点的多个匹配点特征的图像坐标,计算出G=A−1RA和.对G进行特征值分解获得转角θ和矢量,对θ插值得到,进而获得中间插值的姿态Ri.对插值获得,即获得中间插值的位置.利用插值进行路径规划,可以细分姿态变化,保证对象的特征处于相机视野内.上述运动规划方法以及限制旋转角的方法,存在的不足之处是明显降低了视觉伺服的收敛速度.采用学习或者自适应策略,也是解决目标丢失的有效途径[104−106].例如,2010年Wang等[104]针对移动机器人,提出了一种基于图像的视觉伺服与Q学习相结合的方法,通过Q学习确定机器人的行为,使得视觉特征保持在相机的视野内.2011年Gans等[105]采用欠定任务函数调节图像特征的均值与方差,通过调整任务函数以保持特征点处于相机的视野内.2012年,Fang等[106]针对移动机器人提出了一种自适应主动视觉伺服方法.在移动机器人运动时,摄像机旋转使得被观测点位于图像中心.该方法采用单应性矩阵估计移动机器人与目标之间的位姿.在摄像机的内参数经过预先标定的情况下,推导出了摄像机旋转速度与图像特征偏差、移动机器人角速度之间的关系.该方法能够保证移动机器人运动过程中目标始终处于相机的视野内.

此外,由式(1)可知,平移产生的特征点图像特征变化较小,旋转产生的特征点图像特征变化较大,特别是绕X、Y轴的旋转引起的特征点图像特征变化最大.一般地,平移不会导致目标丢失,旋转后进行平移补偿可以使得目标保持在相机视野内.

3.6 系统标定

如果采用的特征处在相机的焦距归一化成像平面上,例如前述特征m,则需要对相机的内参数进行标定.相机的内参数经过预先标定后,利用特征点的图像坐标和相机内参数,可以计算出特征点在焦距归一化成像平面上位置矢量m.如果采用图像平面的特征,则相机的内参数需要包含在交互矩阵内,同样需要对相机的内参数进行标定.例如,文献[88]采用点的图像坐标作为特征,在交互矩阵中包含了放大系数k和主点图像坐标(u0,v0).除了交互矩阵之外,在获取式(7)所示的单应性矩阵或者式(10)所示的基本矩阵时,均需要相机的内参数.可见,无论是基于交互矩阵的视觉伺服,还是基于单应性矩阵、基本矩阵的视觉伺服,都需要对相机的内参数进行标定.相机的内参数一般采用预先标定的方式.基于图像的视觉伺服,对相机内参数的误差不灵敏,只需要对相机内参数粗略标定即可.基于位置的视觉伺服,例如第2.2节和第2.3节中的视觉伺服方法,分别需要从单应性矩阵H或者本质矩阵E中分解出旋转变换矩阵R和位移矢量需要获得准确的H或者E,从而需要准确的相机内参数.

前述视觉伺服的控制律,大部分是针对相机坐标系给出的.装载相机的运动机构的坐标系,往往与相机的坐标系不同,这就需要标定两者之间的关系,即进行外参数的标定.通常,为了提高使用的方便性,在安装相机时使得相机坐标系与运动机构坐标系的坐标轴平行,以避免外参数的标定.

为了克服相机参数标定带来的不便,大量研究人员致力于研究无标定或者在线标定视觉伺服方法[107−117]. 例如,Piepmeier 等[109−110]提出了一种无标定视觉伺服方法,利用Broyden法[111]或牛顿法在线估计图像雅可比矩阵,实现了Eye-in-hand视觉系统的视觉伺服.2003年Shen等[112]针对无标定的Eye-to-hand视觉系统,在线估计视觉系统的旋转变换矩阵.2006年,Liu等[113]提出了无标定视觉伺服方法,采用结合Slotine-Li方法的自适应算法,在线最小化特征点在投影平面的误差,实现了机器人对平面上点特征的跟踪.2017年,Zhang等[114]提出了一种无标定视觉伺服方法,用于移动机器人的控制.该方法分为两个阶段,第1阶段采用自适应速度控制器,将角度误差和侧向位置误差调整到零附近;第2阶段采用比例控制器调整纵向位置误差.2004年Malis[116]提出了一种不依赖于相机内参数的视觉伺服方法,采用3个空间点图像坐标组成的矩阵的逆与图像点坐标构成针对摄像机内参数的不变性变量,利用不变性变量实现了视觉伺服.2011年Kosmopoulos[117]将小工作空间内的雅可比矩阵看作是常数,通过离线标定获得.由于上述方法做了许多假设,所以其在实际应用中受到限制.

4 典型应用与未来趋势

4.1 典型应用

视觉伺服具有广泛的应用前景,近年来在工业、农业、交通、航空航天、医疗等众多领域均有视觉伺服应用的报道.视觉伺服在工业领域的应用极其广泛[118−120].例如,1998年Horaud等[118]将基于交互矩阵的视觉伺服用于机器人的趋近抓取.2000年Xiao等[119]针对Eye-to-hand视觉系统,采用基于交互矩阵的视觉伺服控制目标的线速度,实现了工业机器人力位混合控制.2007年Lippiello等[120]采用混合视觉系统,在由多台工业机器人构成的制造单元中实现了基于位置的视觉伺服.

除了在工业领域的应用之外,视觉伺服在微装配领域的应用也很广泛,常用于操作手或微零件的趋近和对准控制等[121−126].例如,2000年Ralis等[123]采用由粗到精的视觉伺服策略,在不考虑Z方向平移的情况下,利用基于交互矩阵的视觉伺服,实现了微装配系统的精确定位.2004年Ferreira等[124]提出了一种基于视觉伺服和虚拟现实的自动微装配系统,采用基于推动的微操作策略,利用基于位置的视觉伺服实现硅片的轨迹跟踪,将硅片运动到期望位置和姿态;采用基于视觉的力传感方法,实现微夹钳的微夹持力控制.2008年Wang等[125]采用基于图像矩的视觉伺服,实现了微轴孔的装配.2008年Wang等[126]采用基于位置的视觉伺服控制,实现了微零件的自动装配.

视觉伺服也常用于生物医学领域的微操作,用于注射针对细胞或胚胎的对准[127−131].例如,2002年Sun等[128]将视觉伺服用于生物医学领域,利用自主微机器人系统实现了生物细胞注射.2009年Zhang等[129]采用基于位置的视觉伺服控制,实现了注射针对细胞的趋近与注射.2009年Sakaki等[130]采用基于图像的视觉伺服,利用5自由度机械臂实现了对细胞的定位和注射.2017年,Zhuang等[131]将视觉伺服用于斑马鱼幼体心脏微注射系统.

视觉伺服在医疗机器人领域的应用也比较常见,常用于对组织的定位与跟踪[132−134].例如,1997年Wei等[132]将视觉伺服用于腹腔镜胆囊切除术,根据图像坐标确定机器人的运动方向,实现了运动方向解耦.2003年Krupa等[133]基于交比不变性估计激光指向仪器与人体组织之间的距离.基于运动标定获得的图像雅可比矩阵,对2个旋转自由度和沿Z方向的平移自由度进行估计.结合图像特征的坐标和深度信息,实现仪器对指向的人体组织的定位.使用过程中,该指向仪器根据图像特征误差,利用视觉伺服算法实现在图像平面内的跟踪与对准.2002年Abolmaesumi等[134]将超声探头加装在机器人上,以超声图像中的探针为特征,利用图像雅可比矩阵建立探针图像特征变化与机器人运动之间的关系,采用基于图像的视觉伺服,实现了对探针跟踪颈动脉的有效控制.

基于图像的视觉伺服常用于无人机控制中,用于目标跟踪以及自主降落等[135−145].例如,2006年Mejias等[140]基于Kalman滤波在图像空间跟踪目标,实现自主直升机在城区的视觉伺服.2008年Guenard等[141]以4点构成的靶标质心为特征,采用基于图像的视觉伺服,实现了4旋翼无人机相对于靶标的悬停控制.2009年Bourquardez等[142]针对4旋翼无人机,采用基于图像的视觉伺服,实现了无人机的平移运动控制.2017年,Xie等[143]提出了一种输入饱和的基于图像视觉伺服方法,采用内环控制无人机的高度,外环控制无人机的侧向速度和偏航速度.2012年Mahony等[144]撰写了关于多旋翼无人机控制的教程,认为未来无人机基于视觉的感知与控制包括两种方法,分别为SLAM方法和基于图像雅可比矩阵的视觉伺服方法.基于位置的视觉伺服在无人机控制中也有应用.例如,2014年Plinval等[33]利用基于单应性矩阵的解耦控制方法,实现了无人直升机对地面目标的视觉跟踪.

此外,2002年Marchand等[146]将视觉伺服应用于虚拟现实.2003年Gracias等[147]将视觉伺服用于水下机器人,基于单应性估计机器人的位姿,创建基于马赛克(Mosaic-based)的海底地图;利用创建的海底地图进行导航,采用基于图像雅可比矩阵的视觉伺服实现对规划路径的跟踪.2014年Mehta等[148]将视觉伺服用于柑橘收获机器人,采用视觉伺服控制机器人的作业,其姿态采用基于位置的控制,位置采用基于图像的控制.2015年Mehta等[149]将视觉伺服用于导弹制导,通过单应性矩阵计算出目标在导弹坐标系中的位置,以及坐标系之间的姿态矩阵.2015年Cai等[150]提出了基于模板匹配的视觉伺服,用于空间系留机器人对非合作目标的跟踪.2017年,Wang等[151]针对具有内窥镜视觉反馈的软体机器人,基于分段常曲率假设设计了一种自适应视觉伺服方法.基于图像特征对机器人操作器实际长度和目标位置进行在线估计,消除软体机器人不确定性的影响.

4.2 未来趋势

传统的视觉伺服并未考虑路径合理性与约束问题.例如,基于图像的视觉伺服,虽然在图像空间相机的轨迹是合理的,但在3D空间相机的轨迹不尽合理,在偏移较大时会导致伺服失败.为此,研究人员对相机的运动轨迹进行路径规划[98,152−160].例如,2003年Mezouar等[98]针对基于图像的视觉伺服,在生成的期望轨迹上引入约束,包括对象处于相机视野内以及机械臂的关节限位等,进而对相机运动轨迹进行优化,以避免视觉伺服失败.2005年Pomares等[152]提出基于运动流的视觉伺服,用于轨迹跟踪时在图像空间和笛卡尔空间产生正确的行为.2007年Chesi等[153]考虑工业机器人视觉伺服中的约束问题,包括可视性、工作空间(含避障等)、关节限位等,建立了包含跨图像区域、轨迹长度和曲率的目标函数,通过优化获得视觉伺服的全局路径[154].2009年Gracia等[155]在视觉伺服中考虑滤波、视觉系统时延等因素.2009年Fontanelli等[156]通过建立扩展视觉地图,存储一系列图像、搜索相位、拓扑与空间信息的转换关系、连通性、可行路径等信息,采用视觉伺服实现了移动机器人在大场景中的自主导航.为提高视觉伺服的鲁棒性,2013年Kazemi等[157]提出了一种随机全动态路径规划方法.该方法考虑相机动态、图像临界集和物理约束,生成连续可微的相机轨迹.通过迭代扩展搜索树并跟踪机器人空间中的轨迹,搜索相机的状态空间寻找可行轨迹.相机轨迹投影到图像空间生成期望的图像轨迹,用于基于图像的视觉伺服.2010年Tahri等[158]采用ESM优化图像雅可比矩阵的伪逆,减小估计误差,提高视觉伺服系统的性能.2016年,Gao等[160]提出了一种多层次模型预测的基于图像的视觉伺服方法,用于水下机器人的控制.外环利用非线性模型预测控制器生成期望速度,在可视性和速度约束下对预测的图像轨迹进行优化.在动态速度跟踪内环,设计了基于神经网络的模型参考自适应控制器,用于在具有不确定性的情况下保证速度跟踪误差的收敛性.考虑笛卡尔空间相机路径的合理性与运动机构约束问题,利用优化方法对相机路径进行规划,是视觉伺服未来的重要发展方向之一.

学习能力对提高视觉伺服系统性能具有重要帮助,因此,大量研究人员致力于对视觉伺服系统赋予学习能力[161−165].例如,2008年Zhao等[161]提出了一种基于外观特征的机器人视觉伺服方法,利用小波神经网络实现图像雅可比矩阵功能.2013年Miljkovic等[162]将基于神经网络的增强学习引入工业机器人的视觉伺服,建立了表示学习样本的数据库,用于加速神经网络的收敛速度并实时学习机器人的行为.为保证特征的可视性,视觉伺服分为两步,第1步中的机器人对准行为采用神经网络增强学习控制器实现,第2步中的趋近行为采用开关控制在传统的基于图像的视觉伺服和神经网络增强学习之间切换实现.2015年Sadeghzadeh等[163]将自学习引入视觉伺服,利用模糊神经网络和Q学习实现了机械臂的视觉伺服.2018年,Shi等[164]提出了高度与速度解耦的视觉伺服控制方法,利用模糊Q学习实现对无人机控制增益的调节.2015年Zhao等[165]利用两个神经网络,解耦计算绕X、Y轴旋转的图像矩,可避免机械臂视觉伺服中的奇异问题.此外,示教编程是指示教者在相机前演示期望的动作,由机器人跟踪并重现这些动作.示教编程是机器人模仿人的过程,属于模仿学习.2007年Jiang等[166]认为机器人的模仿过程是在图像平面的具有未知时变图像雅可比矩阵的离散跟踪控制问题.采用一系列神经网络逼近演示轨迹采样点处的未知图像雅可比矩阵,局部网络的时变权重通过重复跟踪即间接迭代学习控制(Indirect iterative learning control)进行识别.如何结合机器学习的最新研究成果,提高视觉伺服系统的学习能力,大幅度改善视觉伺服系统的适应能力,将是视觉伺服未来的重要发展方向之一.

在视觉伺服的实际应用中,往往存在大量的先验知识,将这些先验知识结合到视觉伺服中,有利于更好地完成跟踪、趋近等任务[167−169].例如,2007年Mansard等[167]将一个任务分解为多个子任务,然后采用基于交互矩阵的视觉伺服分别进行控制,降低了完成任务的难度.2014年Larouche等[168]利用EKF(Extended Kalman filter)估计目标的运动状态,利用视觉伺服和运动预测控制,实现了机械臂对非合作目标的捕获.2015年Tsai等[169]提出了一种混合开关反应式视觉伺服,用于5自由度机械臂的拾取和摆放任务.先验知识的加入,可以有效避免视觉伺服失败,有利于改进运动灵活性.例如,由于移动机器人受到非限定性约束,沿垂直于驱动轮的水平方向不能直接平移.在需要沿垂直于驱动轮的水平方向平移时,需要结合旋转运动.采用类似于车辆变换车道的方式,在旋转运动后进行适当的反向旋转,可以在旋转后使得对象在相机视野内.如果在旋转后对象移出相机的视野,那么适当的反向旋转能够使得对象重新回到相机的视野内,降低了对旋转运动量的限制.因此,如何充分利用先验知识,提高运动的灵活性,提高系统应用的方便性,是视觉伺服未来的重要发展方向之一.

网络化有利于对计算能力的大幅度提升,将复杂的计算放在云端,可以极大地简化本地控制系统[170].例如,2013年Wu等[170]提出基于云的网络化视觉伺服,采用网络化的3D计算,提高了分布计算能力.因此,基于网络化的视觉伺服也是未来发展趋势之一.

5 结论

为了更好地体现不同的视觉伺服方法的特点,本文针对单目视觉系统,介绍了视觉伺服的运动映射关系,结合误差表征介绍了视觉伺服的控制律设计.对影响视觉伺服的关键因素,例如相机选择、特征选择、误差表征、深度估计、位姿解耦、目标保持、相机标定等,分别进行了分析和论述.最后,给出了视觉伺服在微装配、医疗机器人和无人机等不同领域的典型应用,并指出了视觉伺服未来的主要发展方向.

猜你喜欢

视点移动机器人矩阵
移动机器人自主动态避障方法
基于Twincat的移动机器人制孔系统
初等行变换与初等列变换并用求逆矩阵
环境视点
矩阵
矩阵
矩阵
让你每天一元钱,物超所值——《今日视点—2014精萃》序
两会视点
极坐标系下移动机器人的点镇定