基于双目视觉技术的复杂环境下机器人自动导航研究
2023-10-20张海涛李永强
吕 强,张海涛,王 辉,李永强
(国网甘肃省电力公司超高压公司,甘肃 兰州 730070)
科学技术的飞速发展,为人们更加深入地在人工智能领域进行有效且成熟的科学研究提供了有利条件与技术支持。机器人技术作为一种非常重要的人工智能技术,因具备较好的实用性与超高的智能性,近些年被广泛应用于航天、物流仓储等多个领域。在种类繁多的机器人中,能够移动的新型机器人因其具备自主移动的功能以及优良的智能,在实际应用领域受到了广泛关注[1-3]。在实际应用领域中,自主移动机器人承担的任务难易程度各不相同,当任务较为艰巨时,机器人是否能够有效感知周围环境,迅速做出正确有效的决策,直接关系到该项任务能否及时完成[4-5],这就要求机器人必须能在陌生的环境下自主实现有效导航。因此,十分有必要研究一种有效合理的机器人自动导航方法。
针对该问题,国内学者与专家倾注诸多精力进行了大量研究,收获颇丰。如罗强等[6]研究的基于改进人工势场法的动态环境机器人自主导航方法,褚福春等[7]研究的基于密度自适应的RANSAC非结构化环境下机器人自主导航方法。前者利用激光雷达技术,搭建机器人环境感知平台,将相对速度以及相对加速度加入到传统人工势场法中,获取机器人动态环境中的人工势场自主移动模型,实现机器人自动导航;后者通过激光雷达对机器人行驶三维环境实施点云采集,经点云数据预处理操作后,使用随机采样一致性算法对机器人行驶路线进行拟合,最终确定机器人导航路线,实现机器人自动高精度导航。二者均可实现机器人自动导航,但是机器人行驶环境一旦变得比较复杂,就很难对一些复杂状况进行及时的反应与处理。另外张振乾等[8]提出基于双目视觉的香蕉园巡检机器人导航路径提取方法,利用机器人携带的双目摄像机采集点云后,可以通过预处理将点云数据映射到二维平面上,实现点云区域的二维立体投影,并将其进行网格化,生成相应的网格,其中对道路两边的栅格进行最小尺度的分割,并抽取出两个边框的中心线,以满足所需的导航路线。Saavedra等[9]提出具有自监督预训练视觉变换器的单目机器人导航方法,使用无标签自监督方法预训练的视觉变换器,在8×8补丁级别执行粗略图像分割,调整推断分辨率以平衡预测粒度和实时感知约束。
双目视觉技术不仅可对机器人行驶过程中遇到的各物体进行多点位采集、清晰呈现目标物体的各个细节部分,还可通过移动的方式及时获取物体的深度信息,最终确定目标物体的相对位置,因而非常适合获取较为复杂的环境信息。基于此,本文将双目视觉技术应用于机器人自动导航工作中,获取更为完整的机器人行驶环境信息,达到有效避免盲区、快速实现机器人目标定位与识别的目的,最终实现复杂环境下机器人自动导航。
1 复杂环境下机器人自动导航
1.1 张正友平面模板双目视觉摄像机标定
在利用双目视觉技术完成复杂环境下机器人自动导航工作的过程中,首要任务是通过双目视觉技术获取准确的机器人所处区域的三维环境数据。而双目视觉摄像机标定恰好是获取机器人所处环境三维数据的关键一环,通过有效的双目视觉摄像机标定可获得高精度的双目视觉摄像机内外部参数[10],并准确获知摄像机坐标系间的运动关系,为实现目标物体的三维定位提供可靠参考与依据。由于张正友平面模板摄像机标定方法[11]可在标定模板与双目视觉摄像机相对位置无法实现精确定位的情况下完成双目视觉摄像机标定工作,因而本文采用张正友平面模板摄像机标定方法进行双目视觉摄像机标定,提升复杂环境下机器人自动导航的准确性。具体的标定过程如下:
1)将机器人所处环境目标点的二维坐标用公式表示为m=[u,v]T,并将目标点二维坐标在平面模板上的对应点标记为M=[X,Y,Z]T,该目标点二维坐标以及模板标记点的齐次坐标用公式表示为m′=[u,v,1]T、M′=[X,Y,Z,1]T,那么,按小孔成像原理,二者关系用公式可描述为:
sm′=A×[R,po]×M′
(1)
式中:s为比例因子,A与[R,Po]分别为摄像机内、外参数矩阵,R为旋转矩阵,po为波长矩阵。
2)当平面模板世界坐标系中的Z轴坐标值为0时,R中列数i的各项用ri代表,那么式(1)可转化为:
(2)
式中:r1、r2为单位正交矢量,X、Y分别为世界坐标系中的X轴与Y轴坐标值。
对于M,因Z=0,那么有M=[X,Y]T,相应地M′=[X,Y,1]T,那么M与m的关系可通过映射形式表示为:
sm′=LM′
(3)
式中:L为单映射矩阵,并且满足
L=A×[r1r2t]
(4)
由R、r1、r2可获约束条件:
(5)
式中:l1、l2为单映射矩阵中的两个列向量;A-1为拟参数矩阵;A-T为参数矩阵A的伴随矩阵的转置矩阵。
3)记对称矩阵E为:
(6)
式中:Eij为第i行第j列的对称系数。
六维矢量b为:
b=[E11E12E22E13E23E33]
(7)
将第i个单映射矩阵列向量表示为:
li=[li1li2li3]T
(8)
则有:
(9)
式中:vij为单映射矩阵V中处于第i行、第j列的向量。矩阵V实际上是一个规格为2n×6的单映射矩阵,vij满足:
vij=[li1lj1li1lj2+li2lj1li2lj2li3lj1+li1lj3li3lj2+li2lj3li3lj3]
(10)
由此,设置约束条件为:
(11)
假设用双目摄像机拍摄到n幅机器人所处环境目标图像,则可将n个式(11)相加,最终得到:
V×b=0
(12)
当n不低于3时,可获得仅有的带比例因子的有效解。
在实际摄像机标定工作中,受各种因素的干扰,极其容易导致机器人所处环境目标图像特征点不能够被准确定位,为了保障特征点定位的准确性,可采集角度不同、不低于3幅的机器人所处环境目标模板图像,并利用式(13)获得b。得到b后,可相应地获得E。获得E后,按照式E=λA-1A对E实施有效分解,从而获得用于双目视觉摄像机标定的内参数,其中λ为摄像机焦距。A进一步计算可获得用于双目视觉摄像机标定的外参数,有:
(13)
式中:R1、R2、R3为双目视觉摄像机在世界坐标系中3个坐标轴方向对应的外参数,t为平移向量。
1.2 移动机器人环境建模
对机器人所处环境实施有效的环境建模,是实现机器人自动导航的重要前提[12]。一个好的建模环境,可大大缩减机器人自动导航的计算量,同时也会使导航的准确性得到很大程度提升。
在未知的行驶环境中,先验地图是不存在的,此时移动机器人需要通过配置的传感器有效感知行驶环境,并在环境中自动建立地图,完成路径规划,更好完成相关任务与工作[13]。通常情况下,机器人行驶的环境是比较平坦的地面,不会出现攀爬等行为,若将机器人的行驶环境抽象到一个平面中,获取该平面中障碍物的坐标,就可较为顺利地完成机器人自动导航工作。因此,通过张正友摄像机标定方法对双目摄像机实施内外参数标定后,基于双目视觉技术对机器人行驶环境进行双目视觉环境建模,具体过程如下:
1)对通过标定后双目摄像机获得的机器人行驶环境图像实施预处理。主要是对机器人行驶环境图像进行平滑以及边缘提取操作,提升机器人行驶环境图像的质量。
2)机器人行驶环境图像特征提取。使用SURF特征提取方法[14],对所获机器人行驶环境图像进行特征提取。SURF特征提取算法是一种比较高效且准确的图像特征提取方法,利用SURF特征提取算法进行机器人行驶环境图像特征提取的过程如下:
①对极值点实施有效的检测。将机器人行驶图像尺度空间里包含的极值点当作机器人行驶环境图像特征提取工作中要用到的候选特征点。为保障尺度稳定性,SURF特征提取算法首先利用各种规格的方形滤波器完成对原始机器人行驶环境图像的滤波工作,获取机器人行驶环境图像金字塔。然后应用Hessian矩阵检测机器人行驶环境图像金字塔中各层图像的极值点。若将机器人行驶环境图像标记为I(x,y),点x为包含于I(x,y)中的一个点,那么可将位置x在尺度γ处的Hessian矩阵用公式表示为:
(14)
式中:Qxx(x,γ)为高斯函数的二阶偏导数与机器人行驶环境图像维度为2时的卷积,Qxy(x,γ)、Qyy(x,γ)的含义类似于Qxx(x,γ)。
②准确定位机器人行驶环境图像特征点。对于机器人行驶环境尺度图像,利用Hessian矩阵得到尺度γ位置的极值点后,在该点3×3×3立体范围实施关于非极大值的抑制操作,将高于与低于该尺度的附近26个领域值,抑或高于与低于该尺度上下一个尺度的机器人行驶环境图像极值点当成有效的机器人行驶环境图像候选特征点,之后将插值运算运用到机器人行驶环境图像的尺度以及图像空间,便可收获性质比较稳定的机器人行驶环境图像特征点位置以及尺度值。
③确定机器人行驶环境图像特征点主要方向。将机器人行驶环境图像特征点当作中心,将计算半径的值设定为该机器人行驶环境图像特征点尺度值6倍范围内点在横纵两个方向产生的Harr小波响应。向所获机器人行驶环境图像横纵两个方向的Harr小波响应值执行高斯权重系数赋予操作,然后累加其在60°范围的Harr小波响应,获取全新矢量,最终通过在圆形区域进行遍历,将矢量最长的方向当作机器人行驶环境图像的主要方向。
④获取机器人行驶环境图像特征描述符。将机器人行驶环境图像特征点当作中心,并将坐标轴向机器人行驶环境图像主方向执行旋转操作,直至到达主方向,依据主方向挑选采样步长为20 s、形状为正方形的区域,对该区域实施子区域划分,将其划分成规格为4×4的窗口区域,并计算尺度范围为5×5时的Harr小波响应。用ηx、ηy分别代表与主方向对应的水平以及垂直方向的Harr小波响应,对其依次执行响应值系数赋予、各子区域响应系数以及绝对值的求和操作,获取相应的矢量。对各个机器人行驶环境特征点执行维度为64的机器人行驶环境特征描述向量生成操作,并对其实施归一化,进一步增强其面对光照时的鲁棒性。
3)利用对极几何与步骤1)中提取的图像边缘等条件对提取的图像特征进行匹配,建立拍摄到的多角度机器人行驶环境图像中各像素点间的一一对应关系。
4)机器人行驶环境三维重建。利用双目立体视觉技术进行机器人行驶环境三维数据重建的实质是将采集到的多幅不同角度机器人行驶环境二维图像转化为三维环境数据的过程。利用双目立体视觉技术进行机器人行驶环境三维数据重建的原理如图1所示。从两个不同的观察点对机器人所处环境中的同一目标物进行拍摄,获取多角度下的多幅目标物图像,按目标物图像中各个像素点间存在的一一对应关系,实施有效合理的三角测量操作,可获取机器人所处环境目标物体的深度等重要三维数据。图1中,设P为机器人所处环境中的某一目标物体,该目标物体在两个投影面显示的像点为P1、P2,摄像机用C1、C2代表,光心用O1、O2代表,想要获得P的三维坐标,只通过P1、P2两个像点是无法实现的。为了最终能够获得P的三维坐标数据,以像点P1为例进行说明,连接O1与P,将该条连线上的任意一点表示为P3,那么P1即为P3的投影点。当利用C1、C2从不同角度观察P时,可在两个投影面上找到相应的P1、P2,对O1、O2与投影点实施有效的连接,两条线会发生相交,从而获得唯一一个相交点,利用该点,经过合理计算便可获取该点所对应空间点的相对位置。
图1 双目立体视觉三维重建技术原理
依据上述方法,获取目标物体上各个点的三维坐标,则该目标物体的空间位置以及形状特征便可被确定下来。即使该目标物体是一个三维多面体,只要获得了该多面体各个顶点的三维坐标,也可确定其相对位置以及形状特征。
需要注意的是,通过上述方式获得的三维坐标是双目摄像机坐标系下的坐标,想要将其更好地应用于机器人自动导航过程中,需要利用双目摄像机、机器人两种坐标系间的旋转以及平移关系,将所获双目摄像机坐标系下的坐标转化为机器人坐标系下的坐标,从而获得可用于机器人行驶环境三维重建,与机器人行驶环境图像各特征匹配点相对应的三维环境点云数据。
5)对阈值进行合理设置,并对所获机器人行驶环境三维点云数据实施重投影以及二值化操作,得到机器人行驶环境二维地图。通常情况下,二值化操作的依据是机器人行驶环境图像的边缘主要是两种典型的幅面和方位面(以灰度值形式呈现)。通常,灰度变化较小的部分在边界处,而灰度较大的部分则与边界相垂直。然后对图像进行微分,图像一阶微分幅值比较大的地方反映出图像的边缘,而在二阶微分中零交叉点是边缘点,设置的阈值通常为1。
6)以机器人行驶环境二维地图为依据,使用栅格法构建机器人行驶环境栅格模型。
1.3 基于A*算法的机器人行驶路径规划
根据1.2节构建的机器人行驶环境栅格模型,可将机器人自动导航问题转化为在栅格图中寻找机器人行驶最佳路径的问题。当前存在的机器人最优行驶路径搜索方式主要包括广度优先、深度优先以及启发式搜索3种方式。由于当搜索空间较大时,广度优先、深度优先两种搜索方式的路径搜索效率非常低,甚至会中断,因而本文选用在启发式搜索方法中路径搜索效果较好的A*算法进行机器人行驶路径规划。对搜索位置进行合理有效的估价,是能否获得机器人最优行驶路径的关键。通常情况下,在利用启发式搜索方式进行机器人行驶路径规划时,估价函数可用公式描述为:
f(d)=g(d)+z(d)
(15)
式中:d为搜索节点,f(d)为估价函数,g(d)为从起点到d的机器人行驶最优路径实际代价函数,z(d)为从d到机器人行驶路径目标节点的最优路径估计代价函数。因g(d)事先已知,故机器人最优路径搜索获得的启发信息可由z(d)进行呈现。在g(d)≪z(d)情况下,g(d)可忽略,此时机器人最优路径的搜索效率会显著提升。
在利用A*算法进行机器人最优行驶路径规划时,用到的估价函数可表示为:
f*(d)=g*(d)+z*(d)
(16)
式中:f*(d)为搜索估价函数,g*(d)为从起点到d的机器人行驶最优路径的代价函数,z*(d)为获得机器人行驶最优路径的搜索启发值。因f*(d)未知,故当z(d)≤z*(d)时,f*(d)的值可由式(15)中的f(d)近似得到;当g*(d) 由此可知,通过A*算法可在生成的机器人行驶环境栅格图中搜索机器人最优行驶路径节点,并最终生成由诸多最优路径节点连接而成的机器人行驶最优路径。 为验证复杂环境下本文方法在机器人自动导航方面的优势,以西安安森智能仪器股份有限公司生产的安森智能双目视觉机器人为实验对象,应用本文方法对其进行自动导航。该机器人的底盘为轮式底盘,采用四轮驱动方式进行驱动,在同一侧的车轮具有相同的速度,并且机器人在转向时依靠两个侧轮之间产生的轮速差来完成。采用的双目视觉摄像机镜头为8 mm的广角式镜头,图像分辨率可达3 040×1 520,可获取更加宽广的机器人视野,提高视觉跟踪的准确性。由于本文在构建机器人行驶环境模型时使用的是栅格法,因而包含所有环境障碍,甚至在某些状况下,可越过环境障碍界限。为了确保实验的安全性,额外在实验中安置了红外传感避障模块,其避障距离最大可达50 cm,即机器人在行驶过程中,前方50 cm范围内如果出现障碍物,可及时避障。 图2是应用本文方法建立的机器人初始行驶环境栅格图。该栅格的规格为15 m×15 m,其中,黑色部分表示障碍物,白色部分表示机器人自由活动区域。栅格图中设置了多个障碍物(图中四边形),圆形和三角形分别为起点和终点。实验目的是更好地验证复杂环境下本文方法在机器人自动导航方面的优势。 图2 机器人行驶初始环境 应用本文方法对机器人进行自动导航,获得的机器人导航管理系统界面如图3所示。从图3可以看出,即使在障碍物较多的情况下,机器人也可完成自动导航,说明本文方法在机器人自动导航方面优势明显,可满足实际工作需要。 图3 机器人导航管理系统界面图 为进一步验证本文方法在栅格边缘出现不规则障碍物时的有效性,在原规划路径上添加多个不完全障碍物,获得的存在不完全障碍物规划路径效果图如图4所示。分析图4可知,在添加不完全障碍物后,规划出的机器人行驶路径在原规划路径基础上仅偏离了约一个栅格的距离,在保障机器人行驶安全的基础上,使机器人以最快速度到达目的地,再一次验证了本文方法的有效性。 图4 存在不完全障碍物规划路径效果 为验证本文方法在机器人行驶环境特征提取与匹配方面的优势,分别应用本文方法、文献[6]方法和文献[7]方法对机器人行驶环境图像实施图像特征提取与匹配,获得的机器人行驶环境图像特征提取与匹配效果见表1。 表1 机器人行驶环境图像特征提取与匹配效果 从表1可以看出,应用本文方法从图像特征提取与匹配点数和实际图像中包含的特征点数相差无几,而文献[6]方法和文献[7]方法与图像特征提取以及匹配数量相差较大。说明应用本文方法对机器人行驶环境图像实施特征提取与匹配,可获得较好的图像特征提取以及匹配效果,将所获结果应用于机器人自动导航工作中,可使机器人自动导航的准确性得到显著提升。 本文方法可以实现复杂环境下机器人自动导航,并且导航效果较好。但是由于时间与条件有限,对机器人在复杂环境下自动导航方法的研究还存在很多不足,如对机器人行驶环境模型的设计是基于静态状况下的,而机器人在实际行驶过程中,某些时刻必然会遇到动态性质的障碍物,因此下一阶段对机器人自动导航方法的研究,将以此为着入点进行进一步研究。2 实验与分析
3 结束语