竞赛用智能车的设计
- 格式:pdf
- 大小:502.09 KB
- 文档页数:6
图1智能赛车总体结构设计框图收稿日期:2009-03-04基金项目:安徽省自然科学基金资助(KJ2007B235)作者简介:孙辉(1964-),女,安徽安庆人,副教授。
文章编号:1671-7872(2009)03-0291-06竞赛用智能车的设计孙辉1,张参参2,史久根2(1.合肥学院,合肥230061;2.合肥工业大学,合肥230009)摘要:以16位单片机MC9S12DG128为核心控制器,设计能够自主识别道路且按照规定路线行驶的智能汽车。
采用中值滤波的方法进行图像处理,去除图像噪声,采用连续性寻线算法识别黑线,曲率算法进行路径识别。
实验结果证明,设计的智能车运行性能良好,行驶稳定、快速。
关键词:智能车;中值滤波;噪声;路径识别中图分类号:TP242.6文献标识码:A doi :10.3969/j.issn.1671-7872.2009.03.023Design of Smart Car for CompetitionSUN Hui 1,ZHANG Can-can 2,SHI Jiu-gen 2(1.Hefei College,Hefei 230061,China;2.Hefei University of Technology,Hefei 230061,China)Abstract :Using 16-bit single chip MC9S12DG128for the core controller,create a smart car that can self -identification and track the road automatically.Filtering methods of image processing is used to remove image noise,and continuous search algorithm is used to identify the black line,curvature algorithm is used to path identification.Experimental results show that the smart car performance is good,and it is stable,fast.Key words :smart car ;median filter ;noise ;path recognition智能车辆也称无人车辆,是一个集环境感知、规划决策和多等级辅助驾驶等功能于一体的综合系统。
为加强大学生实践、创新能力和团队精神的培养,教育部主办了全国大学生智能汽车竞赛,根据大赛的目标和任务[1],使用飞司卡尔半导体公司的16位微控制器作为核心控制模块,设计一个能够自主识别道路且按照规定路线行驶的模型汽车。
为使智能车正确沿线行驶,智能车系统通过道路传感器获得道路信息,测速传感器获得现行车速,对获得的图像信息进行分析和处理,经过控制算法计算得出最佳速度和舵机转角。
Vol.26No.3安徽工业大学学报第26卷第3期July 2009J.of Anhui University of Technology 2009年7月1智能车硬件系统智能车控制系统主要由电源模块、传感器模块、电机及其驱动模块、舵机转向模块、测速模块、调试模块和单片机模块构成[2-5]。
总体结构设计框图如图1。
(1)电源模块智能车控制系统根据各部件正常工作需要,对配发的标准车模用7.2V 1.8A ·h 的可充电Ni-Cd 电源。
其中单片机系统、图像采集的摄像头电机驱动模块速度检测模块调试模块传感器模块M C9S12DG128单片机舵机转向模块电源模块和速度检测电路用5V 电源供电,舵机使用6V 电源供电,直流电机直接由电池供电,如图2。
考虑到启动和运行时发生电压下降现象,采用低压差稳压芯片LM2940,该芯片可以在500mA 时稳压,最小压差仅为0.6V ,如图3。
安徽工业大学学报2009年(2)摄像头图像采集模块LM1881视频同步信号分离芯片可从摄像头信号中提取信号的时序信息,如行同步脉冲,场同步脉冲,奇、偶场信息等,如图4。
引脚2位视频信号输入端,经LM1881芯片处理,引脚1输出行同步信号,引脚3输出场同步信号,引脚7输出奇偶场信号,引脚5输出滞后行信号5.8μs 的后肩区同步信号。
图2低压差5V 稳压电路图3舵机6V 稳压电路图4同步信号分离电路(3)AD 转换模块为提高摄像头电压信号转换为数字信号的速度,系统不使用单片机自带的AD 转换模块,采用专门的AD 芯片,转换电路如图5。
图5AD 转换电路292第3期2智能车控制算法2.1视频信号的采集2.1.1摄像头采样机制摄像头的主要工作原理是:按一定的分辨率,以隔行扫描的方式采样图像上的点,当扫描到某点时,就通过图像传感芯片将该点处图像的灰度转换成与灰度一一对应关系的电压值,将此电压值通过视频信号端输出。
具体而言摄像头连续扫描图像上的一行,就输出一段连续的电压视频信号,该电压信号的高低起伏反映该行图像的灰度变化情况。
当扫描完1行,视频信号端就输出1个低于最低视频信号电压的电平(如0.3V ),并保持一段时间。
相当于紧接着每行图像对应的电压信号之后会有1个电压“凹槽”,此“凹槽”叫行同步脉冲,它是扫描换行的标志。
然后,跳过1行后(因为摄像头是隔行扫描的方式),开始扫描新的1行,如此下去,直到扫描完该场的视频信号,接着就1出现一段场消隐区。
此区中有若干个复合消隐脉冲(简称消隐脉冲),在这些消隐脉冲中,有个脉冲远宽于(即持续时间长于)其它的消隐脉冲,该消隐脉冲称为场同步脉冲,它是扫描换场的标志。
场同步脉冲标志着新一场的到来,不过,场消隐区恰好跨在上一场的结尾部分和下一场的开始部分,要等场消隐区过去,下一场的视频信号才真正到来。
视频信号如图6。
摄像头每秒扫描25幅图像,每幅又分奇、偶两场,先奇场后偶场,故每秒扫描50场图像。
奇场时只扫描图像中的奇数行,偶场时只扫描偶数行。
2.1.2数据采集流程整个程序中,场同步信号是以查询的方式检测的,而行同步信号是以中断的方式产生的,这样可以优化程序的运行复杂度。
当PT2端口查询到场同步信号时,行计数变量置零,行采集变量置零,打开行中断,若PT1端口产生了行同步中断,执行行同步中断函数,行采集变量加1,判断行采集变量是否满足大于4,若满足说明可以对视频信号进行采集。
采取在行中断中以查询的方式采集视频信号,可以提高AD 采集的速度。
因为用AD 中断方式采集数据会增多中断数量,各中断的时序不易控制,以致出现错误采集、漏采集数据的情况。
采集完数据后,在每隔5行的时间里对采集的行信号进行数据处理,提取黑线位置,计算每行的偏差,并存储在1个一维数组中。
在一场中,行中断产生1次,行计数变量增加1次,一直到行计数变量大于60为止,当其大于60时,该场结束,进入场处理函数模块,对采集到的60行图像数据进行处理,并控制舵机、后轮电机运作。
之后,准备下一场数据的采集。
2.2图像处理2.2.1二值化处理由摄像头采集的图像信号是视频信号,经过AD 转换后视频信号分别对应一组大小不同的灰度值。
为区分白色赛道和黑色引导线,可以设定一阈值(如38),对每一行图像信息,从头至尾比较各像素值和阈值的大小。
若像素值大于等于阈值,判定该像素对应的是白色赛道;若小于阈值,判定对应的是目标指引线。
2.2.2图像滤波在图像摄取过程中,由于摄像头、赛道周围环境的影响致使摄取的图像中含有噪声,本系统采用中值滤波的方法去除噪声[6,7]。
中值滤波原理:首先确定一个以某像素为中心点的邻域,一般为方形邻域,然后将邻域中各像素的灰度值进行排序,取其中间值作为中心点像素灰度的新值。
采用中值滤波的方法去除噪音,具有如下优点:(1)在去除噪音的同时,可以较好地保留边的锐度和图像的细节。
(2)对于一些细节较多的复杂图像,可以多次使用不同的中值滤波,然后综合所得的结果作为输出,这样可获得更好的平滑和保护边缘的效果。
(3)算法简单,实时性好、可靠性高等。
对于一个被干扰的赛道,中值滤波的处理效果如图7。
图6视频信号行消隐时间图像信号场消隐时间行扫描时间行同步信号复合消隐脉冲场同步信号行同步信号H 孙辉等:竞赛用智能车的设计293安徽工业大学学报2009年2.3路径识别路径识别就是把图像中反映路径的部分提取出来,是整个算法的重点,几乎所有的控制算法都是建立在路径识别上的[8-10]。
2.3.1黑线提取算法每一行黑线的中心位置均离上一行黑线的中心位置所在的列数很近,进行扫描时,均可利用上一行黑线的中心位置简化运算,称为基于连续性判断的寻线策略。
基本思想是:除了距离小车最近的一行外,每一行都以它的上一行作为本行找线的基准位置,向两边扫描一定的像素,因为相邻两行黑线中心位置的偏差一定小于某个值,将该值适当放宽,就可以保证快速找到真正的路径,同时把赛道周围的黑色干扰滤除。
原赛道图像如图8,采用黑线提取算法识别原赛道图像如图9。
图7图像处理效果(a )被干扰赛道图像(b)中值滤波图像2.3.2路径识别算法在提取黑色引导线的基础上,系统需要识别出弯道和直道,不同的道路需要使用不同的速度控制和方向控制,才能尽可能地节省时间,完成任务。
不同的路径信息代表不同的速度和方向控制算法,区分不同的赛道是小车高效而快速行驶的首要条件。
文中采用的是曲率算法。
由几何知识可知,不在同一条直线上的3个点可以确定1个圆,且同一个圆上的任意3个点确定的均为同一个圆。
这样就可以通过道路上的3个点计算出这3个点确定的圆的半径,半径的倒数即为曲率。
曲率采用平面三角形面积公式进行计算:定义:设平面上的3点及其坐标分别为:A (x 1,y 1),B (x 2,y 2),C (x 3,y 3),定义S (A,B,C )=(x 1-x 3)×(y 2-y 3)-(y 1-y 3)×(x 2-x 3)则三角形的外心为:x =S ((x 1×x 1+y 1×y 1,y 1),(x 2×x 2+y 2×y 2,y 2),(x 3×x 3+y 3×y 3,y 3))2×S (A,B,C )y =S ((x 1,x 1×x 1+y 1×y 1),(x 2,x 2×x 2+y 2×y 2),(x 3,x 3×x 3+y 3×y 3))2×S (A,B,C )三角形外心计算出来后,即可求出其外接圆半径,继而求出曲率。
在计算过程中需要注意的是,摄像头采集的图像和真正的道路有一定的区别,有近大远小的变形,所以在求取曲率之前,要先将图像进行还原。