基于双目视觉技术的高压输电线路巡检机器人在线测距
2020-06-30王吉岱孙爱芹付恩鹏梁茂轩侯建国
王吉岱, 郭 帅*, 孙爱芹, 付恩鹏, 梁茂轩, 杨 帅, 侯建国
(1.山东科技大学机械电子工程学院,青岛 266590;2.国电南瑞科技股份有限公司,南京211000)
用巡线机器人替代传统巡检方式进行高压输电线路巡检和维护,可以显著提高巡检的效率,降低工人的劳动强度[1]。机器人在巡检过程中大多采用传感器检测线路障碍,然而受光照、天气等原因,传感器的障碍识别精度会受到影响,造成机器人判断失误从而出现事故。
随着巡检机器人视觉技术的不断发展,机器视觉测距技术逐渐成为巡检机器人定位测量的一个重要发展方向[2]。目前,巡检机器人都是基于单目的测距系统,单目测距系统具有操作简单、易开发和成本低等优点。曹文明[3]在除冰机器人视觉导航中提出了一种单目测距算法,首先检测图像上障碍物距离机器人的最近点,采用摄像机的小孔成像模型,结合机器人的尺寸的俯仰角得到距离表达式,但算法中需测量的参数较多,精度有限[3];张峰等[4]提出了一种单目视觉识别的多传感器障碍物识别和定位测距的方法,此方法根据小孔成像的原理,建立摄像机与金具障碍物的特征点的几何关系模型,然后根据标定的不同焦距的每个像素点的弧度,建立出摄像机在此焦距下与障碍物距离的关系式,从而得到摄像机与障碍物的距离,但此方法从未在实际线路应用;程立等[5]提出了一种用于巡检机器人依靠单个摄像机提取深度的算法,利用机器人行走导线成像的远小近大的特点,结合小孔成像模型,得到障碍物距离,测量精度满足要求但算法过于烦琐实时性较差。因此,依靠单目测距的巡检机器人不能够满足实际线路的巡检越障工作。
为此,提出一种基于巡检机器人的双目视觉测距方法,在识别线路障碍物的基础上对其预设取点,结合双目立体视觉模型,对所取点进行三角测距,巡检机器人既可以识别障碍,同时又可以对障碍进行测距,此测距算法测量精度满足要求且实时性强,并通过在线实验进行了验证。
1 双目测距原理及测距参数获取
1.1 双目测距原理
双目视觉几何模型如图1所示。图1中,P为待测物体上的某一点,Ol与Or分别为两个相机的光心,点P在两个相机感光器上的成像点分别为xl和xr,f为相机焦距,B为两相机中心距,Z为要求的深度信息[6],设点xl到点xr的距离为D,则:
D=B-(xl-xr)
(1)
根据相似三角形原理,由Δpxlxr和ΔpOlOr可得:
(2)
代入式(1)得:
(3)
由式(3)整理可得:
(4)
式(4)中:通过标定就可以得到焦距f和摄像头中心距B的值,左右摄像头上的成像点相对于两摄像头光轴的距离分别xl和xr[7- 8],因此,只要求得视差d的值,即xl-xr就可获得深度Z。
综上所述,双目测距主要是利用了目标点在左右两幅视图上成像的横向坐标存在的距离差与目标点到成像平面距离Z存在反比例的关系。
图1 双目视觉几何模型Fig.1 Binocular visual geometry model
1.2 获取参数
为了精确获得某点在三维坐标系中的距离Z,需要获得焦距f,视差d和两摄像头的中心距B。若想获得X坐标和Y坐标,需获取左右像平面的坐标系与立体坐标系中原点的偏移量cx和cy。其中f、B、cx和cy可以通过使用MATLAB进行立体标定获得初始值,然后通过立体校正,把非共面行对准的左右图像校正为共面行对准,为立体匹配做准备。最后通过立体匹配获得变量视差d。从而最终完成求一个点三维坐标的准备工作。其实,双目测距中立体标定、立体校正和立体匹配都是为获得f、B、d、cx和cy而设计的,对于双目测距前期的参数准备不再重复叙述,会直接详细介绍双目实时测距的实现方法。
假设目标点在左视图中的坐标为(x,y),在左右视图上形成的时差为d,目标点在以做左摄像头光心为原点的世界坐标系中的坐标为(X,Y,Z),则存在变换矩阵Q,使得Q[xyd1]′=[XYZW]′
(5)
(6)
2 双目在线实时测距实现方法及实验分析
2.1 双目在线测距实时测距实现方法
巡检机器人在高压线上行走时需要实时输出前方障碍物距离信息,从而实现精准定位并执行越障动作[9]。传统的双目测距方式是手动选取视差图中被测物体的测距点得到相应的距离,然而机器人在实际线路时需要完全自主运行,手动取点测距已不能满足巡线要求,因此在传统双目测距算法的基础上对其加以改进,左右摄像头相互协作完成测距,首先双目测距需建立在左摄像头识别障碍的基础上进行,因此识别出障碍范围是双目测距的关键技术之一[10]。
采用方向梯度直方图(histogram of oriented gradient, HOG)特征提取和支持向量机(support vector machine,SVM)对线路障碍物进行分类识别。巡检机器人进行野外高空作业时,光照对图像质量影响很大,而HOG特征对光照变化鲁棒性很好,因此对图像采用HOG特征提取。在机器学习领域,SVM是一个有监督的学习模型,会形成一个分类超平面将两类物体分隔,而且分隔距离尽可能最大也就是将误识别率降到最低,SVM也可以很好地区分背景,受背景影响很小,训练时采集的正样本图像为3 400张,负样本图像34 700张,正样本是待检测的线路障碍物图像,负样本为模拟线路周围环境或任意且不可包含线路障碍的图像,而且SVM训练分类器时间仅需要12 min,训练时间短,识别效果好。由远及近识别障碍时,障碍识别范围会随障碍物的大小发生变化,也就是摄像头距离障碍物较远时,障碍识别范围小;距离障碍物近时,障碍识别范围大,实际线路由远及近障碍识别图像如图2所示。
图2 由远及近障碍识别图Fig.2 Identification map from far and near obstacles
然后左右摄像头进行双目测距,为实现在线实时测距,对线路障碍物进行预设取点,为防止选取的测距点偏离线夹,在悬垂线夹面积较大、视差图生成效果最佳的位置选取合适的测距点,取的测距点数多距离精度高,但实时输出距离信息反应迟缓;取的测距点数少距离精度会下降[11-13],经过多次取点实验测试最终取得5个合适的测距点,既满足测距精度要求又可以实时输出距离信息,以图像识别矩形框的左上角为原点(x,y),宽为w,高为h,线夹取点图像如图3所示。
图3 线夹取点示意图Fig.3 Schematic diagram of the line clamp
取得五个点的坐标:P1(x+w/3,y+37h/60);P2(x+w/2,y+37h/60);P3(x+2w/3,y+37h/60);P4(x+5w/12,y+4h/5);P5(x+7w/12,y+4h/5)。只要所取测距点坐落在障碍物上就可以通过三角测距对障碍物进行测量,而且坐标点会随识别范围的变化而变化,由于巡检机器人在线路上行走时会不可避免地发生抖动,导致所取点偏离预设固定位置产生错误数据值,在手动取点测距实验过程中,只要所取的测距点不在视差图的轮廓内都会产生相同的数据值16 000,所以在五点距离测好后如果出现这个错误值就把所有的测距值相加减去 16 000n(n为16 000出现的次数),最后把准确的测距值之和除以相应的取点数,求得的平均值即为障碍物的距离[14],这种算法测距速度快且实时性强。
2.2 实验与分析
采用三臂式巡检机器人作为移动控制平台,在工控机上安装Windows系统,利用Visual Studio 2015配置OpenCV 3.2运行测距程序,样机如图4所示。
1为前臂;2为中臂;3为后臂;4为控制箱;5为双目摄像头;6为激光雷达;7为行走机构;8为开合机构;9为滑移机构;10为夹持机构;11为伸展机构图4 巡检机器人样机Fig.4 Inspection robot prototype
在巡检机器人行走方向的手臂外侧安装双目摄像头,摄像头通过USB端口与工控机连接,检测到障碍后机器人开始减速,通过缓慢前进不断测出障碍物到机器人的实时距离,测得的距离信息由工控机通过USB串口与ARM(advanced RISC machine)实时通信,然后ARM通过接收到的距离信息控制机器人动作。机器人行走时分别在0.8、0.7、0.6、0.5、0.4 m处采集到的实时距离输出如图5所示。
机器人缓慢靠近障碍物时测得的距离结果如表1所示。
由表1可知,实际距离在1.38~0.70 m时,测得的距离与实际距离差别较大,实际距离在0.60~0.30 m时,测得的距离与实际距离相差不大,相对误差百分比在5%以内,经在线实验, 本文提出的双目实时测距算法完全可以满足巡检机器人实时性和可靠性的要求,因此双目实时测距满足巡检机器人的应用条件。
图5 实时距离输出图Fig.5 Real-time distance output map
表1 障碍测距信息Table 1 Obstacle ranging information
从表1也可以看出,利用两个摄像头组成的双目摄像头进行测距,在距离被测物体较远时,测量误差较大;随着摄像头不断接近被测物体时,测量误差会不断减小;而距离被测物体很近时,测量误差又会增大。考虑到两个摄像头可能存在帧率不同的状况,对实验数据造成一定的干扰,因此,为保证实验数据的准确性,建议采用非拼接双目摄像头进行实验。
3 结论
提出一种基于MATLAB与OpenCV相结合的高压输电线路巡检机器人双目实时测距技术。在传统双目测距算法的基础上对其加以改进,实现了真正的双目实时测距功能,在离障碍物较远距离测距时与实际距离相差较大,但近距离的精准测距完全可以满足机器人定位要求。
在线实验时不可避免地会因为双目摆放角度和机器人抖动等原因导致障碍物的取点不稳定,测距数据出现间断等现象,但本文算法可实时消除不稳定点,保证机器人数据的准确传输,在规定的距离范围内就可触发指令完成精准定位。
综上所述,所提出的基于双目视觉技术的巡检机器人在在线测距越障的实验中验证了其测距的实时性和可靠性,可达到实际应用要求。