追寻信标的智能车最优导航策略
2018-08-09唐小煜劳健涛李智豪蒲小年戚慧珊胡静宜
唐小煜,劳健涛,李智豪,蒲小年,戚慧珊,胡静宜
(华南师范大学 物理与电信工程学院,广东 广州 510006)
近年来,随着人工智能等高新技术的发展与自动化控制的普及,智能化消费电子产品越发受到消费者的青睐. 在市场方面,机器视觉系统在全球的生产制造中扮演着越来越重要的角色,其应用深入覆盖于工业、农业、国防、科研等重要行业. 同时,在教育领域,越来越多的高校开展自动化专业的学科教学以及与自动化系统相关的科研项目. 其中,关于自动导航智能车项目的研究与竞赛受到各类高校的重视. 由中国高等教育学会发布的《中国高校创新人才培养暨学科竞赛评估结果》中,全国大学生智能汽车竞赛被纳入评估名单. 本文以追寻特殊发光信标为行驶目标的智能车为例,提出了适用于各类智能车竞赛的高效、低误判的最优导航策略.
1 最优导航策略研发背景
在国内外的大中学生参加的各类智能车竞赛中,竞赛成绩的高低往往取决于如何在硬件资源有限的情况下,智能小车能够实现自主导航,并且在最短时间内完成所有赛道. 显然,在追求完成时间最短的目标下,智能车能够无误判地顺利完成所有赛道点是对参赛选手的基本要求. 本文以全国大学生智能汽车竞赛官方指定的竞赛专用裁判系统[1]为例(如图1所示),分析在该信标系统下的智能车最优导航策略.
图1 竞赛场地信标系统布置图
2 导航策略设计
2.1 连通域图像扫描算法
由于竞赛所用的信标散发红光与红外光作为光信号,为更好地区分不发光信标与发光信标的位置,采取在智能车CMOS摄像头上安装红光滤光片的策略,使得摄像头下采集的图像,经二值化处理后能够较清晰地分辨出发光信标与背景[2]. 但在实际使用时,由于外界太阳光或信标光线的反射等不可控因素的存在,摄像头采集的图像中会出现多个类似实际发光信标的白色区域块. 为此,进一步采用基于连通域图像的扫描算法,对摄像头图像进行扫描与滤波,从而得出正确的发光信标位置.
对于摄像头采集的图像(已经进行二值化处理)进行2次逐行扫描(自上至下、自左至右),用四邻域法(图2)判断当前像素点是否与已经扫描的白点相邻. 对于第1次扫描(图3),若当前白点不存在与已经扫描白点相邻,则给予该像素点1个自增的label;若存在相邻,则给予与该像素点相邻的最小label值,并且将存在相邻点的label值存于1个数组(数组数与连通区域块数相同). 对于第2次扫描(图4),将同一数组里的label值的点更换为最小的label值,使得相同label值的点为同一连通域的点,从而可以准确标记出不同的连通区域块.
图2 四邻域图
图3 第1次扫描label图
图4 第2次扫描label图
由于信标的大小、摄像头的型号、安装高度及角度等参量在赛前已经固定,因此可以建立关于信标大小、形状与其在图像中位置的关系表,通过对多个连通域一一比对,即可得出发光信标的正确位置. 实验效果如图5所示,其中十字标记为正确发光信标中心点.
图5 信标扫描算法实际效果图
2.2 路线规划
2.2.1 追寻路线规划
智能车所追寻的发光信标为直径10 cm的半球体,与其相连的是直径45 cm的圆形线圈,以便让带磁铁的智能车切割线圈内磁感线. 根据线圈内磁场的变化,信标系统则判断为智能车寻到该发光信标,以此来点亮另1个信标. 因此,智能车如何以最短路径到达发光信标的边缘以及如何转向寻找下1个发光信标成为了路线规划的重点.
在寻找到发光信标后,首先判断当前信标位于摄像头视野的哪一侧,以最短直线路径[3]切过线圈该侧,固定最小转角,在转角过程中寻找下1个发光信标,重复上述路线行驶. 以小车在发光信标左侧为例,其路线规划如图6所示.
图6 路线规划图
2.2.2 直线路线规划
广角摄像头的视角和安装角度会造成赛道图像的梯形畸变,如图7所示. 由于摄像头视野下的发光信标为圆形光斑,在智能车行进过程中光斑会出现不同程度的畸变,尤其是水平上的畸变程度会随位置的不同而不同,导致在传统PID[4]调节舵机的情况下,智能车驶向信标的路线为曲线. 为使智能车驶向信标的路线为最短直线路线,采用基于映射关系的畸形矫正算法[5],通过映射公式对发光信标的图像进行畸变矫正,可以得出正视图下的信标位置,使得小车能够在传统PID的舵机调节下以最短直线路径切向发光信标,达到追寻信标效率最优.
图7 图像畸变对比图
2.3 避障策略
在多个信标的赛场上,追寻发光信标的线路上可能出现障碍物,如不发光信标、墙壁等,且不同类型的障碍物需不同的处理算法,如图8所示.
图8 常见避障情景及避障处理图
智能车在识别障碍物上有多种方法,如采用超声波、红外对管等传统的避障传感器. 该类传感器实现避障的方法简单,但对于在快速运动车体上的识别、曲面物体的识别与障碍物类型的识别还是存在较大误差. 智能车还常采用基于图像处理的障碍物识别传感器,如CMOS摄像头,但该类摄像头占据的硬件资源较多,同时由于智能车已使用1个带红外滤光片的摄像头用于发光信标识别,这会大大增加中央处理芯片的处理数据,对整体智能车的运行速度造成较大影响. 为此,经实际测试,采用线阵CCD摄像头[6]与接近开关相结合的方法作为最终的避障策略,其视野范围如图9所示,灰色为用于寻信标的CMOS摄像头视野,红色为避障传感器视野,分别为接近开关与线阵CCD作用区域. 其传感器安装如图10所示,自上至下分别为带红外滤光片的CMOS摄像头、线阵CCD摄像头以及接近开关.
图9 智能车传感器作用区域图
图10 智能车传感器安装实物图
由于智能车在寻找发光信标上为获得较大范围的视野,其带红外滤光片的CMOS摄像头的倾斜角度较大,以获得较远的前瞻以及较宽的广角范围,但远前瞻视野会导致智能车存在较大的视野盲区(位于智能车前部). 为此,用接近开关传感器来弥补此缺点,同时可以检测持续性的障碍特征,如堵在信标、挡板等情况,而做出后退或大角度拐角处理,防止了因阻塞状态带来的逻辑死区. 同时,基于线阵CCD摄像头的避障策略主要用于躲避不发光信标等障碍物. 相比于80×60像素的CMOS摄像头,仅有128个像素点的线性CCD传感器所处理的数据量会大幅减少,且CCD所占用的引脚资源也较少,可以在影响智能车整体运行速度较小的情况下,达到避障的目的.
3 实际案例分析
采用一般追寻策略与本文提出的策略进行智能车测试,验证该追寻策略的高效性与低误判性.
3.1 连通域图像扫描算法测试
将智能车置于存在场外光线影响的场地,使用CMOS摄像头采集场地图像,如图11和图12所示,分别采用连通域图像扫描算法以及一般的全扫描算法进行测试.
图11 场地图像1
图12 场地图像2
通过测试可知,基于连通域图像的扫描算法可准确识别出不同的联通区域,并且可准确标记出正确信标的中心点;而一般的全扫描算法无法正确分辨出多个联通区域,若采用随机选取联通区域或取所有白色区域平均值,会出现信标中心值判断错误的情况,且误判率高.
3.2 路径规划策略测试
将智能车置于如图13所示的赛道场景中,按照信标的发光顺序依次行驶,分别采用固定左向切灯策略、固定右向切灯策略及本文提出的路径规划策略,记录智能车完成所有赛道点的总时间. 经过多次实际测试,使用固定切向策略的赛道完成时间都超过23 s,固定左右切向分别23.16 s和25.33 s;而使用本文提及的路径策略,在行驶总路线上减少了5 m以上,且最终完成的时间为17.95 s,提高了智能车的行驶效率.
图13 赛道场景1
3.3 避障策略测试
将智能车置于如图14所示的赛道场景中,按照信标的发光顺序依次行驶,分别采用无避障策略、CMOS摄像头避障策略以及本文提出的避障策略,记录智能车完成所有赛道点的总时间. 经过多次实际测试,无避障策略在驶向第5个信标时出现误撞不发光信标而造成智能车行驶效率低下,甚至无法完成所有赛道点;在使用CMOS摄像头避障策略时,由于其程序执行的数据量明显增多,算法执行效率低,导致智能车速度更新变慢,切向转角距离增大. 使用CMOS摄像头避障策略的智能车的行驶时间为18.11 s,相比于使用本文提及的避障策略的16.23 s多出接近2 s.
图14 赛道场景2
4 结束语
提出了适用于智能车竞赛上使用的追寻信标导航策略,其中包含了基于连通域的信标扫描算法、路线规划以及避障策略等一系列的智能车驶向策略. 该策略适合运用在基于多传感器、单处理器控制下的智能车系统,可以类比应用到不同赛制的智能车竞赛,具有运行速度高、误判率低等特点,可以满足参赛选手的备战需求与培训教学需要.