基于视觉和红外引导的机器人自主充电算法
2020-12-26赵卫东唐顾杰
赵卫东,唐 伟,唐顾杰
(安徽工业大学电气与信息工程学院,安徽马鞍山243032)
随着人工智能在机器人领域的广泛应用,机器人的应用场景、工作任务越来越复杂,其自主作业时间也逐渐相应增加。但是机器人采用的机载蓄电池并不能满足机器人的工作需求,增加蓄电池容量反而会给机器人带来不必要的负担[1]。故移动机器人的自主充电对接技术成为其连续作业的重要环节。由于机器人导航精度的问题,机器人难以通过静态地图导航至充电桩所在位置进行充电,目前多数自主充电技术是先让机器人导航至充电区域,然后采用红外信号、激光测距仪或视觉等方式引导机器人精确对接充电桩。Ye[2]把红外对射技术应用在室内机器人的自主充电算法中,通过跟踪红外线完成机器人的自主充电任务,而单纯的红外信号传输距离较小并且传播方向单一,导致单纯的红外引导对接充电效率低、范围小;Su等[3]利用SICK激光测距仪引导机器人自主充电对接,但激光测距仪的精度随着量程的增加而减小,不能大范围地引导机器人;曾世藩等[4]提出基于红外和超声波的自主充电对接方式,利用红外回归反射和超声波检测距离功能,设计自充充电系统,简化了设计方案,扩大了引导范围;王建元等[5]提出了一种基于图像识别的自主充电方式,通过对获取的图像进行纹理分析,并使用SIFT(scale-invariant feature transform)算法对兴趣点进行匹配,确定充电桩位置,完成对接任务。但使用SIFT算法进行目标匹配的方法太过复杂,获取充电桩位置的实时性较差、效率低[6]。邹建成[7]针对机器人自主充电技术的场地适应性差、引导范围小等问题,设计基于视觉标靶的自主充电方式,有效地改善了场地部署方式,提高了引导范围以及自主充电的成功率,但其在机器人运动速度过快时仍存在丢失标靶的现象,导致充电效率低。
针对上述问题,文中结合视觉和红外信号来引导机器人完成与充电桩的对接任务。通过安装在机器人上的相机来识别标记充电桩快速响应(quick response,QR)码,快速获取机器人与QR码的相对位置,通过该位置信息,机器人将直接向充电桩移动。同时,为消除机器人在移动过程中丢失QR码以及距离QR码较近时无法获取完整图形带来的对定位信息的影响,利用红外接收器确定无法使用QR码定位时两者之间的相对角度,完成机器人的自主充电对接任务。
1 QR码引导算法
二维码技术是一种利用某种特定几何图形按相应规律排列的数据编码存储手段。当下,市场上充斥着多种二维码码制,应用最广的有QR码、Data Matrix码等[8]。QR码具识别、结构特别、纠错能力强等优点,故文中采用QR码完成对充电桩的定位。
1.1 QR码的获取
机器人到达充电区域后,需在采集到的图像中确定QR码的位置,才能获取QR码的边缘信息以及其中包含的编码信息。图像中QR码的查找算法的流程如图1,主要分为两步。
图1 QR码的查找算法流程图Fig.1 Flowchart of search algorithmforQR code
1) 图像的预处理 为能够获取清晰且不受外界干扰的图像,需对相机采集到的图形进行预处理。通过自适应阈值二值化方式以及中值滤波对图像进行处理,解决图像受外界环境影响产生的噪声如光照不均匀、高斯噪声等,提高QR码的辨识度[9];
2) QR 码的区域获取 如图2。根据QR 码的3 个特殊结构位置探测图形,准确并快速确定图像中QR 码的区域[10];利用轮廓信息检测算法的抗噪声能力较强的特点检测图像中的位置探测图形,确定QR码的位置[11]。
图2 QR码的区域获取Fig.2 Area acquisition of QR code
考虑到相机没有标定或相机与QR码平面不严格垂直导致获取的QR发生形变,对位置探测图形的结构比率按1∶1∶3∶1∶1进行区间放大处理,提高查询位置探测图形的准确率。在成功获取QR码中的3个位置探测图形后,根据位置探测图形的中心点坐标确定像平面下QR码的位置、几何中心坐标以及面积信息等。
1.2 机器人相对位置的确定
移动机器人通过相机精确定位到QR 码后,需估计QR 码与机器人的相对位置。根据针孔成像模型原理[12],利用已经标定好的相机内参建立相机投影模型。假设QR 码中一点在世界坐标系下为Pw(Xw,Yw,Zw),对应在像平面下的坐标点pc(u,v),则有:
式中:K 为相机的内参矩阵;R 为3×3的旋转矩阵;t 为3×1的平移列向量;αx,αy为相机内参;T 为外参矩阵。
在检测目标QR码所在平面垂直于相机的光轴中心线时,旋转矩阵R=I。设Pw到相机的真实距离为d,平移列向量t=[0 ,0,d]T,则有:
式(2)可简化为:
则有
式中:S为QR码的实际测量面积;SI为图像平面中QR码的面积;αx与αy均为相机内参;d 为目标与相机光心的实际距离。
确定QR码与相机的距离d 后,可根据式(2)相机的投影模型确定两者的相对位姿,该式可引入李代数ζ表示相机的位姿矩阵R 和t,则
为获取最优的相机位姿,使用光束平差法构建重投影误差,并通过最小二乘法使得误差最小
通过式(7)可获取机器人与QR码的相对位置。机器人在QR码的引导下不断调整自身位姿,逐渐向充电桩移动。
2 红外引导算法
在纯视觉的定位算法中,机器人在移动过程中会出现丢失QR码的现象。同时,在机器人距离QR码太近的情况下,相机不能获取完成QR码信息。鉴于此,设计1个红外接收器接收装载在充电桩上红外发射管发出的红外信号,进行角度补偿。图3 为红外信号引导机器人进行对接充电桩示意图,其中充电桩上红外发射管的红外信号覆盖范围是1个半径为2 m、角度为20°的扇形区域。文中设计的接收器由5 个红外接收管组成(以机器人坐标系y轴正向为准,右侧第一个为红外接收管A,以此类推),每两个红外接收管间隙为5 cm。各接收管均能接收35°范围内的红外信号。红外接收管属于光敏二极管,一般只对红外线起作用,灵敏度高,并且输出数字信号,数据处理简单。
图3 红外信号引导示意图Fig.3 Infrared signal guide diagram
为方便计算,红外信号与QR 码的采样时间间隔均设为Δt,机器人在t 时刻的后退速度为v,旋转速度为r,由于Δt 较小,机器人的移动距离可近似为直线。故设ti时刻机器人相对于充电桩的距离为d,CD间的间距c=0.05 m,根据三角形的正弦定理有
c=0.05 m,故ΔCPD 三角形可近似为等腰三角形,则d1=d2=di,根据三角形的余弦定理获取θi
所以,在红外对接过程中,根据前两个时刻的QR 码确定相对位姿以及机器人速度反馈,通过式(9)对机器人和充电桩的相对位置进行估计。在PID(proportion integral differention)算法下对机器人的位姿进行调整,调整方式主要为直行、左转和右转:
若-0.5°≤θi≤0.5°,则机器人没有偏离充电桩,向后直线行驶;
若θi<-0.5°,则机器人在充电桩的中心偏左位置,机器人顺时针旋转;
若θi>0.5°,则机器人在充电桩的中心偏右位置,机器人逆时针旋转。
3 自主充电对接算法
在机器人的自主充电对接系统中,机器人调整到指定姿态后,认为机器人已与充电桩对准,机器人保持直行。但机器人在实际运行过程中,出现QR码丢失或近距离对接充电桩时,QR码部分信息在相机视野中逐渐消失,无法获取充电桩与机器人之间的距离与角度。并且机器人在直行时,不同电机性能的微小差异及外界环境的影响都会导致机器人偏离既定航线。故使用红外信号引导机器人进行精确对接,需通过QR码获取充电桩相对于自身的位姿,才能通过红外信号对丢失QR 码时进行角度的估计。文中设计的自主充电对接系统工作流程如图4。
图4 自主充电对接算法工作流程图Fig.4 Workflow of autonomous charging docking algorithm
当机器人检测到自身电量低于设定值,开启自主充电服务。机器人根据静态地图导航至充电区域,通过自转来查找QR码。若其并非处在引导的有效范围内,则通过超时判断,终止当前服务;若其查询到QR码,则按照图4的算法流程进行:
1)查找到QR码后,计算QR码与机器人的相对距离与角度,控制机器人向充电桩运动;
2)丢失QR码后,通过红外引导算法进行对接,连续获取五帧图像仍无法获取QR码,开始计时,并通过机器人自转继续查找QR码,计时超过2 min则返回充电失败标志,结束当前自主充电服务;
3)当机器人距离充电桩0.5 m且红外接收器获得信号的个数C不为0时,终止QR码查找服务并根据红外引导算法进行充电桩对接。
单纯使用红外或激光器的对接算法多是通过一定的角度左右移动以“之”字形路径接受传感器信号从而完成对接任务。这种情况下,机器人对接路径复杂,对接效率低。图5(a)为采用单一传感器进行对接的路径。使用文中设计的结合视觉和红外算法,机器人通过相机快速对QR码定位,直接向充电桩移动,大大节约了时间。对接过程中出现的定位信息通过红外信号进行弥补,估计充电桩位置,保证对接的准确性。采用视觉和红外引导算法引导的对接路径如图5(b)。
图5 自主充电算法对接路径Fig.5 Docking paths of autonomous charging algorithm
4 实验结果与分析
为验证本文提出算法的有效性,在室内搭建一个实验平台。图6(a)为移动机器人运动底座,采用由3个麦克纳姆轮构成的360°全方位移动平台。在移动平台后方安装充电铜条头,并安装1个USB摄像头定位QR码和红外接收器。充电桩上,除基座、充电铜条等结构外,还配备红外发射管以及尺寸为10 cm×10 cm 大小的QR 码计算机器人底座与充电桩之间的距离。另外,在自主充电算法的实验平台中,充电铜条、QR码以及红外发射管均安装在充电桩的水平中轴线上,红外发射器与红外接收器处于同一水平面,避免产生固定的偏差距离。设计充电桩时,考虑到相机在0.3 m处查找QR码时丢失轮廓,在铜条上方设计0.07 m的凹平面来安装QR码,以提高定位精度。为提高充电角度容忍度并减小充电误差,适当调整充电铜条的弧度和长度。图6(b)为充电桩的实物图。
图6 自主充电算法实验平台Fig.6 Experimental platform of autonomous charging algorithm
为能够直观地分析机器人在结合视觉和红外引导算法的对接流程,对机器人相对于充电桩的纵向距离和横向距离进行实验。在充电桩前方2 m的范围内随机进行50次实验,列出其中3次自主充电对接过程中两者的相对位置。图7为机器人底座在充电桩右侧、正前方和左侧位置时在本文算法引导过程中相对于充电桩的位置信息。曲线ydis表示机器人距离充电桩的纵向距离;曲线xdis表示机器人距离充电桩的横向距离。
从图7(a)可看出:机器人底座在充电桩前1.58 m 处执行对接任务过程中,能够快速地由充电桩右侧0.4 m处调整至0.01 m;机器人在充电桩前0.6 m处经过外界环境的扰动后仍能迅速恢复稳态。根据机器人相机与QR码的安装位置相距0.2 m判断,机器人能够稳定对接充电桩。同理,图7(b)~(c)亦表明该算法的稳定性强,具有良好的鲁棒性。
图7 机器人与充电桩的相对位置Fig.7 Relative position of robot and charging pile
在50次实验中,设置对接算法超时为2 min,机器人自主充电对接实验结果如表1。从表1可看出:50次实验中,成功49次,对接成功率达98%,平均对接时间38 s,有效减少了自主充电对接时间,提高了对接效率;对接实验过程中,1次超时失败。在设计充电桩时为尽量增加QR 码与相机的距离,使其能够在一定距离情况下仍能获取QR码的信息,在充电桩上设计0.07 m的凹平面放置QR码,这使得机器人在初始位置无法获取QR码,最终导致对接超时,充电对接失败。
表1 自主充电实验结果Tab.1 Experimental results of autonomous charging
5 结 论
1)结合视觉和红外信号改进移动机器人自主充电对接算法,采用改进的算法既能够防止单一视觉情况下机器人丢失充电桩位置,又能够解决单一红外信号耗时查找充电桩。
2)对接实验表明:本文算法成功实现了移动机器人在室内环境条件下自主充电对接,提高了机器人自主充电对接效率,增加其稳定性。但该算法仅适用于充电区域无障碍物环境,且充电桩的设计限制了自主充电对接范围,后续需进一步优化移动机器人自主充电对接算法,以适应于更复杂的环境。