郭宁波,张伟军,蒋如飞
(上海交通大学机械与动力工程学院 ,上海 200240)
随着经济发展与科技进步,机器人越来越多地应用于工业生产、特种任务、家庭作业等诸多场景。特别是在一些危险任务中,机器人扮演着非常重要的角色,有效地减少了伤亡事故,提高了工作效率,降低了经济损失[1]。但由于机器人的发展还未达到理想水平,无法具有完全的自主智能,所以由人对机器人实行远程操控,利用摄像头等传感器反馈现场信息,佐以部分的智能算法,是现在的主流控制方法[2]。
但由于摄像头反馈的现场图像信息不可避免地具有死角,而且受限于摄像头的位姿状态,影响观测视角,对远程操控带来了诸多不便,甚至还会引发重大安全事故。
为解决传统机器人远程控制方法的弊端,本文研究了利用双目相机对作业现场实时仿真建模的控制系统。双目相机对现场作业目标进行观测,反馈深度图与灰度图,利用视觉算法,推算出相机与目标的相对位置,实时地在控制软件中进行虚拟仿真建模。再通过坐标系变换,推算出目标与作业机器人之间的相对位置,最后在操作界面上做出提示,引导操作者完成对机器人的远程控制。
机器人作业平台包括载体承重平台,主、从机械臂系统,带有双目相机的观测臂,装有专用末端工具的支架等。系统整体如图1所示。
图1 机器人作业平台
作业任务是将平台由载体平台送至高空中高压线附近,再远程控制机械臂,将线夹放置于高压线的裸露部分。由于载体平台只能将作业平台送至大约位置,即高压线与作业平台的相对位置并不固定,而且基于平台的平稳性需求,载体平台完成运动后就立即锁死,无法进一步微调,所以剩下的作业无法提前示教完成,需要由人远程控制主、从机械臂完成任务,这对操作人员的临场操作能力有很大的考验。
为简化操作流程,降低控制难度,本文使用双目相机对高压线进行观测,解算出高压线与双目相机的相对位置关系,在操作界面上实时仿真显示出来,并利用运动学规划算法推算出作业目标位姿,引导操作者完成操作。主要流程如图2所示。
图2 作业流程
双目视觉算法是利用2个左右平行放置的相机,模拟人类视觉原理,使用双目视觉补偿合并计算的方法[3-4]。一般视觉算法只是对二维图像进行算法处理,双目立体视觉算法是利用双目相机获取的2张二维图像,基于视差原理,计算获取物体的三维信息,对物体的三维形状进行建模。
由于左、右相机摆放位置不同,同一目标点在相机中的成像肯定存在差异,和人类视觉原理类似,这部分成像的坐标差,通常被称为视差,其视觉原理如图3所示。利用左、右2个相机在同一时刻拍下目标点P(x,y,z)的图像,设左相机和右相机上的图像坐标分别为P左=(x左,y左),P右=(x右,y右)。假定两摄像机在同一个平面上,则特征点P的左右图像的坐标y坐标相同,统一记作y,设相机焦距为f,基线距为B,则由三角几何关系可得
图3 双目立体视觉原理
(1)
则视差为
D=x左-x右
(2)
由此可计算出P在双目相机坐标系下的三维坐标为
(3)
由于制造、装配等原因,相机的位置和姿态存在一定的误差,而这些误差会影响立体建模的精度,因此需要对双目系统参数进行校正。
相机标定的参数可以分为内参和外参。内参包括相机的焦距、像素点大小和相机畸变属性等,用于像素坐标系和相机坐标系间的转换。外参主要描述相机的空间位置,即相对于世界坐标系的旋转矩阵和平移向量。双目校正是根据摄像头标定后获得的单目内参数据和双目外参数据,分别对左右视图进行消除畸变和行对准,使得左右视图的成像两摄像头光轴平行,原点坐标一致,对极线行对齐、左右成像平面共面,将左右视图调整成完全平行对准的理想形式[5]。
双目立体匹配中,利用极线约束法可限制对应点的搜索一定落在对应图像相应极线上,可将搜索范围进行降维,从二维降到一维,并可以进一步限制在一定的范围内,可有效降低匹配的搜索代价,提高算法运行效率。极线定义如图4所示,其中Ol和Or为两摄像机光心,Pl和Pr为P在两成像平面的投影点,对极点el和er为两相机光心连线与两成像平面的交点,则OlOrP为对极平面,elPl和erPr为对极线。
图4 极线定义
而双目校正可将所有的极线水平并对齐,这样在沿极线搜索时,只需沿着单个轴进行搜索即可,其沿该坐标轴坐标的差值即为二者的视差,双目校正后的极线效果如图5所示。
图5 规范化极线机构方式示意
本文使用arUco标定板,该标记的外围都有一组黑色边框,同时内部有确定该标记ID的二维矩阵,黑色的边框能加速标记在图像中的检测速度,内部的二维编码能提供唯一识别该标记,同时进行错误检测和错误修复。标记的大小确定了内部矩阵的大小,例如4×4大小的标记有16个bit。其检测结果返回图片中4个角点的位置以及标记的ID号。利用左、右相机粗略平行摆放后对标定板进行拍摄,由于已知两者成像之差,再微调相机位置进行校正。
校正后,左右极线水平对准,2条极线即两光轴相互平行,成像平面共面,两极点相交于无穷远处,有效降低误差,并提高计算效率。
作业环境建模分为2部分,第1部分是既定的作业平台的虚拟建模,使用3D MAX画图软件对作业平台中的载体平台、机械臂、支架、专用工具进行1∶1的建模,再导出为obj格式,才可以被仿真平台支持,在导出时需设定模型的原点和旋转轴,并不可直接设定为模型的质心,而是要根据现实中物体真实的旋转轴进行设定,否则导入后实现的旋转与真实旋转相悖。模型导入仿真平台后,按现实中的相对位置进行组合,还原作业平台中物体的摆布,虚拟仿真与现实对照如图6所示。
图6 虚拟仿真与现实对照
仿真平台与机器人实现通信后,利用机器人传回的各个关节角度信息,设定虚拟机器人对应关节的角度,实现实时的虚拟仿真同步效果。
第2部分是高压线的建模,利用双目视觉算法,对现场采集的深度图与灰度图进行处理,运用目标识别技术,可利用高压线特征提取目标点位,获得高压线与双目相机的相对位置关系。再通过一系列的坐标转换,由高压线点位相对于双目相机坐标系转换到作业平台坐标系,最后转换到虚拟模型全局坐标系,获得高压线在虚拟环境坐标系中的位置信息。
在仿真平台中,利用点位信息,初始化预先保存的高压线模型,实时在操作界面上进行显示,流程如图7所示。利用虚拟仿真技术还原现场信息,经测量,误差在1 cm以内,线径为1.77 cm,精确度满足要求。
图7 基于双目相机的三维重建流程
高压线实际在高空中并不是完全张紧,由于重力的缘故,出现部分弯曲的情况,所以必须采集多个位置点位,才可以满足精确性要求。但由于渲染引擎的限制,过多的点位会造成系统资源不足,实时显示会出现顿卡,影响操作体验,所以需要调整返回的点位数量,寻求最佳解。
当采集的点位过于稀疏时,可能会造成高压线的虚拟建模不连续,破坏仿真效果,系统会在线检测缺失的高压线部分,用两边点位进行插值处理,再重新按上述步骤生成三维模型,使得仿真效果尽可能真实。
虚拟仿真相较于直接相机观察的优势在于可以实时对场景无死角地进行观察。通过移动仿真平台中的虚拟相机,改变虚拟场景在操作界面的投影显示,实现全方位的观测。
通过事先进行的示教实验,可以求得机械臂能够在高压线上运作的可行操作范围,并与3.1节得到高压线位置关系进行匹配,得出实际操作范围,并在仿真模型中进行显示,利用提示框圈出,实际模型材质修改为醒目的红色,如图8所示。
图8 在线引导辅助运行显示
线夹的放置要求线夹按照固定的位姿才可安全、顺利地放置于高压线之上,所以在虚拟仿真界面要显示出目标位姿与当前位姿,将抽象的数据信息具象化,这是传统远程操控利用摄像头无法获取的,也是本系统的一大优势。确定位置后,对两者进行连线,实时显示在操作界面中,并显示两者三维坐标的差值,提示操作者末端移动的正确性。
由于此作业属于特种作业范畴,作业时高压线不断电,所以要求控制系统必须采用遥控方式,并设定应急措施,防止危险情况发生。操作者操控机械臂末端,在虚拟仿真模型的引导下,将线夹放置于高压线上的目标位置,完成任务。
通过实验,对上述算法应用于控制策略设计进行验证。首先利用双目相机获取目标物体的深度图与灰度图,如图9所示。
图9 相机获取灰度图与深度图
然后对深度图进行特征图像匹配,获取多段高压线的空间位置信息,结果如图10所示。
图10 灰度图特征处理结果
将反馈得到的点位信息输入仿真平台,对其进行仿真建模,根据显示的虚拟模型与实物进行对比,发现虚拟建模共使用28个节点信息,其中有2个点位发生明显偏移,造成连线不光滑,如图11所示,对其进行忽略处理后,与实物基本保持一致。
图11 虚拟仿真
设计了基于双目视觉的实时仿真机器人远程控制系统,经过多次实验,证明该机器人可由操作者顺利地完成指定任务,操作简便,安全可靠,很好地达到了预期。双目视觉精度在1 cm以内,实时仿真系统并未出现顿卡,而且可以对作业现场的虚拟模型进行零死角的观测,相较于传统摄像头观测更具临场感。控制策略中的实时引导功能极大地增加了控制系统的交互性,简化操作流程,提高了工作效率,在传统机器人远程控制模式基础上实现了创新。