第36卷第6期2002年11月浙 江 大 学 学 报(工学版)Journal of Zhejiang U niversity (Engineering Science )V o l .36N o .6N ov .2002收稿日期:2002203215.作者简介:李欣(1977-),男,江西宁都人,硕士生,从事自主机器人视觉导航算法研究.E 2m ail :ndlixin @21cn .com一种结构化道路环境中的视觉导航系统李 欣,李宏东,顾伟康,李庆中(浙江大学信息与电子工程系,浙江杭州310027)摘 要:根据结构化道路环境的特点提出了一种将边沿检测和道路环境知识相结合的机器视觉算法,并结合基于行为响应的路径规划方法和智能预瞄控制方法,实现了一套基本的机器人视觉导航系统.在自主机器人实验平台A TRV 22上的实验结果表明,该视觉导航系统能够实时理解结构化道路环境,并且能够控制机器人沿着合理路径行驶.关键词:结构化道路;视觉导航;机器视觉;路径规划;预瞄控制中图分类号:T P 242.6 文献标识码:A 文章编号:10082973X (2002)0620630204A v ision -based nav igation system i nstructural road env ironm en tL I X in ,L I Hong 2dong ,GU W ei 2kang ,L I Q ing 2zhong(D ep art m ent of Inf or m ation and E lectronics E ng ineering ,Z hej iang U niversity ,H ang z hou 310027,Ch ina )Abstract :Com b in ing the know ledge of structu ral road and edge detecting m ethod ,a m ach ine visi on algo 2rithm w as p ropo sed to understand the su rrounding environm en t .W ith the behavi o r 2based path p lann ing and in telligen t p review con tro lling ,a basic visi on based navigati on system w as created and i m p lem en ted on ou r au tonom ou s robo t test bed A TRV 22.Experi m en tal resu lts show ed that the p ropo sed visi on based sys 2tem can recogn ize drivab le area in real 2ti m e and drive the A TRV 22along a reasonab le p ath .Key words :structu ral road ;visi on 2based navigati on ;m ach ine visi on ;path p lann ing ;p review con tro l 结构化道路是指地面平坦,无障碍,有良好视觉效果的白线导航的道路环境.结构化道路可以用一条白线也可用两条白线来表示可通行区域,更复杂的是高速公路网上的白线.结构化道路环境下视觉导航系统能够实现自主移动平台道路实时理解和自主行驶.一个基于视觉的导航系统从功能结构来看应包括道路检测、路径规划、运动控制等各种性质各异的功能模块.在这个系统中关键技术是机器视觉、路径规划和运动控制,在这几个方面已有大量的研究[1,2],问题主要集中于机器视觉对路面环境的快速识别和理解能力差,大部分的算法受到光照和路面环境影响,鲁棒性能较差,而且算法无法实时实现.在路径规划和运动控制方面缺乏智能性.本文提出一种基于知识的视觉导航算法,充分利用结构化道路环境知识和道路理解的历史记录进行道路环境理解,并且采用智能预瞄控制方法.该视觉导航算法在机器人实验平台A TRV 22上实现,并且进行大量实验.结果表明该自主机器人能快速准确地理解结构化道路环境,自主行驶的轨迹平滑,并且自主行驶路径是该结构化道路环境下的合理路径.1 实验平台和视觉导航系统在研究中所用的实验机器人平台是美国I ROBO T 公司的A TRV 22产品.机器人的运动由底层运动控制模块控制,该模块直接控制车轮电机.I ROBO T 公司提供底层运动控制模块软件接口,高层控制只需给接口给定线速度和角速度就可以实现机器人的运动控制.本文介绍的视觉导航系统在实验平台上实现,在文章中将实验平台和视觉导航系统合称为基于视觉导航的地面自主机器人.图1 系统结构F ig .1 System arch itecture图1给出了本文要介绍的结构化道路环境下视觉导航系统和机器人实验平台的系统结构框图.在机器人的自动行驶过程中机器视觉模块的功能是对结构化道路路面信息进行实时采集、预处理、特征提取和道路环境理解;然后将结果传给路径规划模块,该模块道路环境理解结果,规划出一条安全的、平滑的参考路径.预瞄控制模块根据路径规划模块的规划路径采用智能预瞄控制方法得到控制参数,主要是线速度参数和角速度参数;最后是底层车体运动控制模块根据预瞄控制模块给出的控制参数来控制移动机器人平台的电机参数,从而精确控制机器人运动,完成机器人在给定的道路环境自主行驶.2 机器视觉和路径规划在基于视觉导航的地面自主机器人中,机器视觉与路径规划是核心模块.目前国内外许多学者在这方面作了大量的研究工作,到目前为止还没有找到一套适用于各种道路环境的算法,解决的方法大都是针对某些比较具体的道路环境.本文研究的是针对结构化道路环境下的机器视觉与路径规划算法.在这种环境下机器视觉的任务就是白线的检测与组织,并根据白线来理解道路.而路径规划则根据白线的位置来规划出合理、平滑的路径.2.1 白线检测和组织有的白线检测算法主要是基于边缘的,也有的研究是基于区域灰度在直方图上作分割的.直方图的分割在路面环境不是很理想的情况下效果不是很好,首先由于阴影、水迹以及路面的反光造成路面灰度的不均匀,白线的灰度也不是固定的,比如阴影下的白线有时灰度和阳光下的路面是非常接近的;其次,路面上有时会有一些沙石、泥土等使得路面的灰度和白线的灰度比较接近,这时分割效果也不好.基于边缘的方法利用的是局部信息,而白线在局部仍然比旁边路面要亮,因此上面两个问题的影响不是很大,但在大部分图像中有一些很强的边缘不是白线,而白线的边缘却并不强,所以得到的边缘图往往有很大的噪声,而且可能会丢失白线.为了克服这些缺点,算法应该尽量利用白线的各种知识,在这里利用了下面两条知识来检测出白线:(1)形状知识:白线的宽度基本保持不变,方向逐渐变化.(2)灰度知识:白线的灰度高于它两边邻域的灰度.算法的流程如下:(1)边缘检测,对边缘进行分类.如果边缘两侧从左到右灰度值是从小到大变化,则定义该边缘为正边缘,反之则定义该边缘为负边缘.显然白线的左边界是正边缘,而右边界是负边缘,而且它们之间的距离和估计的白线宽度接近,记录每对满足要求的正负边缘点对.(2)根据边缘点对,利用白线灰度值比其邻域内路面的灰度值要大的知识,记录满足条件的点对.利用数学形态学方法平滑点对所描述的区域,对连通区域进行标记,每个连通区域对应一条白线段,用直线段表示每个连通区域.(3)组织直线段,寻找满足下面两个条件的直线段序列.这些白线段序列对应道路上的白线.①相邻两个直线段之间的距离比较接近;②相邻两个直线段之间的方向变化不大.(4)根据路面白线分布的知识,利用检测出来的白线段表达路面状态.例如在路面由两条白线表示的时候,检测出的白线结果要区分是在左路边还是右路边.由于是通过检测道路图像边沿和充分利用结构化道路环境的知识来识别白线,算法具有良好的鲁棒性,即使是在不同的光照条件下也能准确识别出道路白线.为了使算法达到实时性的要求,利用In 2tel 的MM X 指令对算法进行了优化.2.2 路径规划自主机器人的路径规划一般可以按照所规划的路径距离长短把路径规划分为两类:全局路径规划和局部路径规划.一般而言,全局路径规划解决的是机器人从A 点到B 点应该经过哪些路径的问题;而局部路径规划解决的是机器人在当前时刻根据前方道路情况如何保持行驶在道路上并避开障碍物的问题.因此全局路径规划一般是依赖事先建立的全局地图,而局部路径规划一般是依赖当前时刻通过传136 第6期李欣,等:一种结构化道路环境中的视觉导航系统感器检测到的机器人附近一个小范围内的局部地图.本文中要介绍的是局部路径规划.图2 白线检测与路径规划处理过程F ig .2 W h ite line detecting and path p lanning局部路径规划常用的方法有:人工势场法、模糊逻辑算法和基于传感器信息融合及行为响应方法.本视觉导航系统采用信息融合及行为响应方法,使用的信息包括视觉传感器信息和机器人运动参数.在高速公路环境下,当司机驾驶汽车行驶时,在无外在因素影响的时候,通常是以路两侧的白线获得路边中部作为行驶路径.因而在路面状态由白线段表达出来后,根据路面的宽度和路边建立道路结构模型,根据这个模型生成期望路径.然后利用机器人运动参数反馈动态调整期望路径最终规划出一条平滑、合理的自主机器人行驶路径.下面介绍路径规划的具体过程.(1)得到期望路径.以路面有两条白线的情况为例,视野范围有两条白线时,期望路径在两条白线的中间;视野范围只有一条白线时,根据白线是左路边还是右路边向路中央延伸半个路宽得到期望路径;视野范围出现白线消失时,例如急转弯的情况,期望路径将根据前一控制周期的规划路径和运动控制参数得到本次期望路径.(2)动态调整期望路径.利用传感器实时信息反馈确定机器人姿态与道路之间的交角,来调整期望路径得到最终的规划路径.例如根据机器人姿态和道路模型方向(该方向定义为平行路边方向),利用多段折线逼近方法调整期望路径.图2展示了机器视觉和路径规划的处理过程.3 预瞄控制机器人平台的运动控制分为两层:处于高层的智能控制和处于底层的电机运动控制.要让机器人按规划路径行驶,必须由高层智能控制模块得到机器人下一时刻行驶的角速度和线速度.通过研究汽车驾驶员的驾驶行为,发现它是一个典型的预瞄控制行为.驾驶员找到当前道路环境下的预瞄点,根据预瞄点控制机器人行驶.地面自主机器人的控制和驾驶员对机器人控制相类似,因而采用预瞄控制算法,算法采用专家驾驶经验规则确定线速度和参数动态调整的P I D 控制确定角速度.下面分别介绍线速度控制算法和角速度控制算法.3.1 线速度控制算法实验中控制周期为80m s ,虽然在每个控制周期内线速度为常量,但是在不同的控制周期由于道路环境的变化,线速度也有所变化,因此总体来看机器人是在变速行驶.实验表明机器人前进的线速度主要取决于两个因素:道路的弯曲程度和机器人相对预瞄点的方向偏差.在经过机器视觉和路径规划后,自主机器人已经获得理想路径.理想路径通过一系列的点连接起来的折线段表示,路径的弯曲程度可以用这些折线段之间的夹角总和来表示.预瞄点的选取由以下几个方面来确定:(1)道路的弯曲程度,若道路弯曲程度大,则预瞄点的距离应该选得小,反之越大.(2)根据摄像机的视野范围,预瞄点应该在视野范围之内.(3)预瞄点的位置应该在规划路径的曲线上.在确定了预瞄点后,根据预瞄点与机器人相对坐标系的夹角Η和规划路径中起点到预瞄点之间的弯曲度W 的值确定该控制周期的线速度v .在实验中发现,速度分为三个档次比较合理,下面给出实验中得到的经验规则:(1)当Η、W 均小于10°,规划路径是直道,对应预瞄点的位置在机器人正前方位置时,v 取高速,在实验中取2.0m s .236浙 江 大 学 学 报(工学版) 第36卷 (2)当Η大于40°或W大于90°,规划路径弯曲,预瞄点严重偏离机器人正前方向时,机器人需要低速拐弯,v取低速,在实验中取0.5m s.(3)其他情况.规划路径稍有弯曲,预瞄点和机器人正前方位置有偏差,但是不大,机器人可以保持中速,并配合角速度调整机器人行驶方向,这时v取中速,在实验中取1.0m s.3.2 角速度P I D控制算法P I D控制简单、稳定、可靠性高,因而采用它来实现角速度的控制.算法的关键在于P I D参数的选取,要求参数在不同的控制周期能动态调整.当前k时刻角速度Ξ的P I D控制算式为Ξc(k)=k1x p+k2бp+k3Ξc(k-1)+k4Ξc(k-2).(1)式中:x p、бp分别为当前时刻机器人相对于参考路径上预瞄点的位置偏差和方向偏差;Ξc(k-1)、Ξc(k-2)分别为k-1、k-2时刻的角速度控制量;k1、k2、k3、k4分别为P I D控制器的参数.各参数的确定方法如下:k3、k4是过去两个时刻的角速度控制量的权系数,可设定为0.33,即当前时刻和前两个时刻的权重一致.最后只剩下k1、k2由仿真试验整定,但角速度P I D控制器参数的整定与移动机器人的线速度大小有关.k1、k2的整定方法为:根据前进速度的控制规则,分别通过仿真试验在计算机上设定高、中、低速对应的三种不同弯曲程度的路径,然后由仿真控制试验确定最佳预瞄距离d p和相应的k1、k2值,整定的结果是三组值(d p i,k1i,k2i),i=1,2,3.这三组值分别对应于三个前进速度下的角速度P I D控制参数.即机器人通过视觉获取预瞄参考路径的弯曲度,然后根据弯曲度大小确定线速度的控制档位,再根据确定的线速度档位,在线调整角速度控制的P I D参数,由此实现移动机器人路径跟踪的智能预瞄控制.为验证本文提出的控制方法的有效性,编写了一套仿真程序,仿真程序内建有移动机器人平台运动模型.只需设定各种形式的路径,即可进行仿真控制试验,以整定角速度P I D控制器的参数和观察控制效果,图3是部分路径跟踪的仿真试验结果.由图3可知,机器人在偏离设定路径的初始点(横向位置偏差为0.35m),经过约1.35m的行程后,就能逼近设定路径,整条路径上,最大位置偏差小于0.14 m,可见路径跟踪效果良好.所以通过仿真试验进行P I D控制器的参数整定是方便的.4 试验结果在A TRV22移动机器人平台上试验了视觉导图3 P I D控制仿真试验结果F ig.3 R esult of P I D contro ller si m ulati on航系统,机器视觉的图像采集采用单目彩色CCD摄像机和hauppauge公司采集卡,采用双P II CPU, L inux操作系统.图像处理算法经过MM X指令优化,控制周期在80m s.实验场道路环境为八字形环状跑道,中间为绿化区,水泥路面由左右两条白线标记,弯道角度大于100°.实际机器人自主行驶迹线的确定是采用在机器人底部中心处固定洒水装置,然后以地面上的水迹线来测量机器人自主行驶的实际迹线.通过这种方法在试验场地进行大量自主机器人行驶轨迹跟踪的重复实验.机器人的三档速度分别为0.5、1.0、2.0m s.试验表明在行驶过程中机器人90%以上时间行驶在道路中间,行驶过程平稳,路径平滑.经过长时间的试验发现机器人每圈的轨迹重叠程度达到80%Λ5 结 语试验结果表明,本文所介绍的基于视觉导航的地面自主机器人的实时性和鲁棒性都满足结构化道路环境的要求.但是由于试验环境中路况简单,它和真正的结构化道路环境还有很大的差别,比如道路白线标记可能不连续,宽度并非严格恒定不变,道路中还会有其他车辆的行驶以及天气变化等因素需要考虑Λ这些都有待作进一步研究.参考文献(References):[1]BER TO ZZ IM,BRO GG I A.Go ld:a parallel real2ti m estereo visi on system fo r generic obstacle and lane detec2 ti on[J].I EEE Tran s on I mage Processi ng,1998,7(1):62-81.[2]CH EN M,JOCH E M T,POM ERL EAU D.AU RORA:A visi on2based roadw ay departure system[A].I n Proceedi ngs of the I EEE Conference on I n telligen t Robots and Syste m s(vol.1)[C].P ittsburgh,PA,U SA: IEEE Computer Society,1995.243-248.[3]SH ER I DAN T B,T h ree models of p review contro l[J].I EEE Tran s on Hu man Factors i n Electron ics,1966,H FE27(6):91-102.336 第6期李欣,等:一种结构化道路环境中的视觉导航系统。