基于计算机视觉的移动机器人导航
时间:11-14
来源:中电网
点击:
2.1 直行控制
如果哈夫变换的检测结果表明是一条直线即机器人视野中只有1条主引导线时,则运行直行模块。实际中有2种情况需要考虑:一是机器人的初始位置不一定正对引导线,二是在机器人的机电配置中,左右轮子的马达运动不会绝对精确和对称。这些会使机器人在运动中出现侧偏。可采用下述方法进行直行控制:根据引导线在图像平面坐标中的位置来判断机器人的偏向。当引导线位于图像平面的左半边,说明摄像头的光轴与引导线不垂直且相对于引导线右偏,则命令机器人左转;当引导线位于图像平面的右半边,说明摄像头的光轴与引导线不垂直且相对于引导线左偏,则命令机器人右转;当引导线在图像平面两边均存在时,则命令机器人不偏转继续直行。机器人在前进过程中,根据图像平面中引导线位置不断调整方位,以一定的转动角度(转动角度尽量小,这样机器人的摆动幅度就会小)在直线路径上行走。
2.2 转弯控制
如果哈夫变换的检测结果表明是两条相互垂直的直线,即机器人的视野中出现转弯路口,则开始运行转弯模块。
机器人需要在距转角合适的距离处开始运行转弯模块,以保证机器人视野中始终具有引导线。如图4所示,AB段表示摄像头的纵向视野范围,C点为转角点,机器人需要知道自身在实际二维平面中相对于转角点C的距离即BC段距离。由图像信息获得现实世界坐标系中的参数,即所谓三维重建,这需要对基于计算机视觉的移动机器人导航系统进行摄像机标定。
鉴于移动机器人识别的引导线在地面上这一限制条件,并且摄像头固定在机器人上,可以选择机器人坐标系为世界坐标系,即世界坐标系与机器人同步移动。坐标原点为标定模板的左下角标定点的中心,Zw轴垂直地面,XwYw平面即为地面。在该坐标系下地面目标的坐标可以表示为(Xw,Yw,0),标定模板由直径5 mm、相距10 mm共72个圆点构成,如图5所示。
移动机器人的摄像机标定问题,如果忽略因物面与摄像机光轴不垂直造成的非线性,则可归结为在二维世界坐标系中求变换矩阵M。
世界坐标系(Xw,Yw,Zw),Zw轴垂直地面,XwYw平面即为地面,在该坐标系下地面目标的坐标P可以表示为(Xw,Yw,0)。式(2)中Xi,Yj(其中i=1,2,…,n,j=1,2,…,n)即为地面目标的坐标(Xw,Yw)。只要有4个标定点就可以求解该线性方程组,分别测得其在地面上的坐标(Xw,Yw,0),再根据由图像处理的方法得到的图像坐标系中的像素坐标(ui,vj)(其中i=1,2,…,n,j=1,2,…,n),即可求得变换矩阵M,M=[m11,m12,m14,m21,m22,m24,m31,m32]T,其中m34=1。变换矩阵M的元素取值受到摄像头俯仰角和架设高度的影响。在实验室条件下,本系统选取BC=13 cm时开始运行转弯模块。
在单目视觉的条件下,对于固定的俯仰角,为保证道路引导线不移出摄像头视野范围,必须控制机器人以一定的弧度转弯,即沿弧线路径执行转弯模块。要做到这一点,弧线的弧度必须选取合适。在转弯过程中需要根据机器人的位置不断调整机器人的运动速度和转动角度,具体过程如下:
(1)找出图像中最后一行中点m的像素坐标(um,vm),即摄像头视野最下方的中点,通过变换矩阵M将其转换为世界坐标系xyz中的位置(xm,ym),z轴垂直于xy平面即地面。
(2)找出图像中转角点t的像素坐标(ut,vt),通过变换矩阵M求出其在世界坐标系xyz中的位置(xt,yt)。
(3)以地面上转角点为圆心的世界坐标系定义为XYZ,Z轴垂直于XY平面即地面,求出弧线在此坐标系中的方程,(x-a)2+(y-b)2=r2(a,b)表示在坐标系XYZ下弧线所在圆的圆心,r表示圆的半径。
(4)将xyz坐标系下的坐标点(xm,ym)转换到XYZ坐标系下,用坐标(Xm,Ym)表示,如图6所示。X轴与x的夹角为θ,XOY坐标系的原点O即为转角点t,则:
(5)弧线方程中当y=Ym时,求得X,比较x与Xm,若Xm-x>0,则命令机器人左转;若Xm-x<0,则命令机器人右转,否则直行。
本系统确定转弯弧的半径为20 cm,弧度为90°的弧线即可使机器人顺利转弯,机器人视野中始终保持引导线。
3 实验结果及结论
实验中选用的LEGO移动机器人,其运动速度为8.57 cm/s(指令设定Power=25 RPM)。导航场地中画有宽1 cm的黑色引导线,实验要求中机器人完全根据引导线自主运动。实验中,识别1帧图像并且机器人根据识别的路径信息运行直行或转弯模块共需0.311 s,即机器人每处理1帧图像移动2.67 cm。实验室中的光照条件是机器人移动时的主要干扰,而锐利的引导线边缘受光照影响较小,对这些干扰有较好的滤除作用。经过在阴天白天、晴天白天以及开灯和不开灯的情况下、晚上开灯的情况下、遮盖物位于摄像头上方50 cm处形成阴影情况下,机器人能正确的沿引导线移动。同时,当摄像头视野范围内引导线消失即认为出现障碍物,机器人能发出前方有障碍物的报警信息。
可见上面所述方法有较好的实时性和鲁棒性有一定的通用性,使得该视觉导航方法具有一定的应用价值。只要光照条件变化不是非常剧烈,在工厂、医院、办公楼等环境中,机器人根据路径引导线可自主到达目的地。
当然,由于移动机器人活动场景的复杂性和动态特性,以及视觉处理的复杂性,视觉导航还有很多需要解决的问题,例如当导航场地出现较大面积的强烈反光、极暗的阴影时能否有效可靠的进行移动机器人的导航控制,这需要进一步研究。另外,如何将视觉系统与本系统机器人平台中的超声波传感器、光电传感器及声音传感器在空间、时间及数据上进行融合以提高系统的适应性和环境识别能力也是一个研究方向。
赵瑜,种兰祥,张万绪
(西北大学 信息科学与技术学院 陕西 西安 710069)
如果哈夫变换的检测结果表明是一条直线即机器人视野中只有1条主引导线时,则运行直行模块。实际中有2种情况需要考虑:一是机器人的初始位置不一定正对引导线,二是在机器人的机电配置中,左右轮子的马达运动不会绝对精确和对称。这些会使机器人在运动中出现侧偏。可采用下述方法进行直行控制:根据引导线在图像平面坐标中的位置来判断机器人的偏向。当引导线位于图像平面的左半边,说明摄像头的光轴与引导线不垂直且相对于引导线右偏,则命令机器人左转;当引导线位于图像平面的右半边,说明摄像头的光轴与引导线不垂直且相对于引导线左偏,则命令机器人右转;当引导线在图像平面两边均存在时,则命令机器人不偏转继续直行。机器人在前进过程中,根据图像平面中引导线位置不断调整方位,以一定的转动角度(转动角度尽量小,这样机器人的摆动幅度就会小)在直线路径上行走。
2.2 转弯控制
如果哈夫变换的检测结果表明是两条相互垂直的直线,即机器人的视野中出现转弯路口,则开始运行转弯模块。
机器人需要在距转角合适的距离处开始运行转弯模块,以保证机器人视野中始终具有引导线。如图4所示,AB段表示摄像头的纵向视野范围,C点为转角点,机器人需要知道自身在实际二维平面中相对于转角点C的距离即BC段距离。由图像信息获得现实世界坐标系中的参数,即所谓三维重建,这需要对基于计算机视觉的移动机器人导航系统进行摄像机标定。
鉴于移动机器人识别的引导线在地面上这一限制条件,并且摄像头固定在机器人上,可以选择机器人坐标系为世界坐标系,即世界坐标系与机器人同步移动。坐标原点为标定模板的左下角标定点的中心,Zw轴垂直地面,XwYw平面即为地面。在该坐标系下地面目标的坐标可以表示为(Xw,Yw,0),标定模板由直径5 mm、相距10 mm共72个圆点构成,如图5所示。
移动机器人的摄像机标定问题,如果忽略因物面与摄像机光轴不垂直造成的非线性,则可归结为在二维世界坐标系中求变换矩阵M。
世界坐标系(Xw,Yw,Zw),Zw轴垂直地面,XwYw平面即为地面,在该坐标系下地面目标的坐标P可以表示为(Xw,Yw,0)。式(2)中Xi,Yj(其中i=1,2,…,n,j=1,2,…,n)即为地面目标的坐标(Xw,Yw)。只要有4个标定点就可以求解该线性方程组,分别测得其在地面上的坐标(Xw,Yw,0),再根据由图像处理的方法得到的图像坐标系中的像素坐标(ui,vj)(其中i=1,2,…,n,j=1,2,…,n),即可求得变换矩阵M,M=[m11,m12,m14,m21,m22,m24,m31,m32]T,其中m34=1。变换矩阵M的元素取值受到摄像头俯仰角和架设高度的影响。在实验室条件下,本系统选取BC=13 cm时开始运行转弯模块。
在单目视觉的条件下,对于固定的俯仰角,为保证道路引导线不移出摄像头视野范围,必须控制机器人以一定的弧度转弯,即沿弧线路径执行转弯模块。要做到这一点,弧线的弧度必须选取合适。在转弯过程中需要根据机器人的位置不断调整机器人的运动速度和转动角度,具体过程如下:
(1)找出图像中最后一行中点m的像素坐标(um,vm),即摄像头视野最下方的中点,通过变换矩阵M将其转换为世界坐标系xyz中的位置(xm,ym),z轴垂直于xy平面即地面。
(2)找出图像中转角点t的像素坐标(ut,vt),通过变换矩阵M求出其在世界坐标系xyz中的位置(xt,yt)。
(3)以地面上转角点为圆心的世界坐标系定义为XYZ,Z轴垂直于XY平面即地面,求出弧线在此坐标系中的方程,(x-a)2+(y-b)2=r2(a,b)表示在坐标系XYZ下弧线所在圆的圆心,r表示圆的半径。
(4)将xyz坐标系下的坐标点(xm,ym)转换到XYZ坐标系下,用坐标(Xm,Ym)表示,如图6所示。X轴与x的夹角为θ,XOY坐标系的原点O即为转角点t,则:
(5)弧线方程中当y=Ym时,求得X,比较x与Xm,若Xm-x>0,则命令机器人左转;若Xm-x<0,则命令机器人右转,否则直行。
本系统确定转弯弧的半径为20 cm,弧度为90°的弧线即可使机器人顺利转弯,机器人视野中始终保持引导线。
3 实验结果及结论
实验中选用的LEGO移动机器人,其运动速度为8.57 cm/s(指令设定Power=25 RPM)。导航场地中画有宽1 cm的黑色引导线,实验要求中机器人完全根据引导线自主运动。实验中,识别1帧图像并且机器人根据识别的路径信息运行直行或转弯模块共需0.311 s,即机器人每处理1帧图像移动2.67 cm。实验室中的光照条件是机器人移动时的主要干扰,而锐利的引导线边缘受光照影响较小,对这些干扰有较好的滤除作用。经过在阴天白天、晴天白天以及开灯和不开灯的情况下、晚上开灯的情况下、遮盖物位于摄像头上方50 cm处形成阴影情况下,机器人能正确的沿引导线移动。同时,当摄像头视野范围内引导线消失即认为出现障碍物,机器人能发出前方有障碍物的报警信息。
可见上面所述方法有较好的实时性和鲁棒性有一定的通用性,使得该视觉导航方法具有一定的应用价值。只要光照条件变化不是非常剧烈,在工厂、医院、办公楼等环境中,机器人根据路径引导线可自主到达目的地。
当然,由于移动机器人活动场景的复杂性和动态特性,以及视觉处理的复杂性,视觉导航还有很多需要解决的问题,例如当导航场地出现较大面积的强烈反光、极暗的阴影时能否有效可靠的进行移动机器人的导航控制,这需要进一步研究。另外,如何将视觉系统与本系统机器人平台中的超声波传感器、光电传感器及声音传感器在空间、时间及数据上进行融合以提高系统的适应性和环境识别能力也是一个研究方向。
赵瑜,种兰祥,张万绪
(西北大学 信息科学与技术学院 陕西 西安 710069)
- 基于双计算机的仿人机器人的视觉跟踪系统(05-06)
- 智能机器人控制系统的设计与实现(07-09)
- 空间机器人中央计算机的双机热备份(08-15)
- 无线技术在工业以太网上的发展应用(01-16)
- 基于WiFi的远程视频传输智能机器人设计(03-26)
- 智能化网络家电控制中电力载波模块的设计(03-23)