基于摄像头的自动寻迹智能车控制系统设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1基于摄像头的自动寻迹智能车控制系统设计雷钧,李峰波(湖北汽车工业学院电气与信息工程学院,湖北十堰442002)摘要:本文介绍了基于飞思卡尔MC9S12DG128单片机控制的智能车系统,该系统以摄像头传感器作为路径识别装置,通过图像识别提取路径信息。文章对智能车寻线控制系统的软、硬件设计思路和控制算法等进行了论述。测试结果表明智能车能准确稳定地跟踪引导线。关键词:智能车;自动寻迹;MC9S12单片机;图像识别中图分类号:TP273;TP242.6文献标识码:A0概述自动寻迹智能车涉及到当前高技术领域内的许多先进技术,其中最主要的是传感技术、路径规划和运动控制。本课题是以智能车竞赛为背景,以单片机作为核心控制单元,摄像头作为路径识别传感器,以直流电机作为小车的驱动装置,舵机控制小车转向。车模竞赛的赛道是一个具有特定几何尺寸约束、磨擦系数及光学特性的KT板,其中心贴有对可见光及不可见光均有较强吸收特性的黑色条带作为引导线,宽度为2.5cm。在行驶过程中,单片机系统通过摄像头获取前方赛道的图像数据,同时通过测速传感器实时获取智能车的速度,采用路径搜索算法进行寻线判断和速度分析,然后做出控制决策,控制转向舵机和直流驱动电机的工作[1-4]。智能车通过实时对自身运动速度及方向等进行调整来“沿”赛道快速行驶。1智能车系统方案作为能够自动识别路径的智能车,自动控制器是设计智能车的核心环节。自动控制器是以飞思卡尔16位单片机MC9S12DG128(简称S12)为核心,配有传感器、电机、舵机、电池及相应的驱动电路,在保证智能车可靠运行前提下,电路设计应当尽量简洁紧凑,以减轻系统负载,提高智能车的灵活性。信息处理与控制算法由运行在单片机中的控制软件完成。因此自动控制器设计可以分为硬件电路设计和控制软件两部分,系统基本控制过程如图1所示。图1系统基本控制流程2系统硬件结构本设计中系统的硬件结构大致可以分为以下几个模块,如图2所示。2图2智能车硬件系统结构(1)MCU处理器模块:本设计的核心器件,采用MC9S12DG128单片机。(2)图像采集模块(包括CMOS摄像头):采进来的视频信号经过A/D转换成单片机可以识别的信息,为后来的控制程序做准备。(3)PC串行通讯接口:主要是为调试而设计的,便于计算机与单片机数据的交流,从而能准确地掌握程序的运行状况,为算法的改进提供科学依据。(4)电机驱动模块:可以直接利用电机驱动芯片,也可以自行设计一个大功率电机驱动电路实现相应的驱动。在本设计中直接利用了Freescale公司的MC33886芯片来驱动直流电机。(5)舵机驱动模块:控制舵机转向,舵机用PWM波控制,其占空比不同,舵机就能转过相应的转角。(6)测速传感器模块:目的是为了检测小车的速度,让系统运行速度形成闭环,易于调控。(7)电压转换模块:本智能车系统采用7.2V/2000mAh的镍铬蓄电池供电,需要经5V转换为单片机供电,经12V转换为摄像头供电,7.2V直接给舵机和直流电机供电。(8)车模:上面安装有直流电机和舵机,后轮驱动。本系统I/O口[5]具体分配如下:PAD01为用于摄像头视频信号的输入口;PT2为用于摄像头奇–偶场同步信号的输入捕捉口;PT3为用于摄像头行同步信号的输入捕捉口;PT6、PT7为用于车速检测的输入口;PORTB为用于显示小车的各种性能参数;PWM01为用于伺服舵机的PWM控制信号输出;PWM23、PWM67为用于驱动电机的PWM控制信号输出;RXD0、TXD0为用于单片机与计算机的串行通讯口。3系统图像采集路径识别的主要功能是准确、快速地采集路面信息,把它转变成电信号,传送到单片机中处理。智能车在赛道上行驶时,装在车前端的摄像头实时检测路径信息,按照一定的分辨率,以隔行扫描的方式采样图像上的点,当扫描到某点时,就通过图像传感芯片将该点处图像的灰度转换成与灰度成一一对应关系的电压值,电压值越低,表明图像越黑,反之,图像越白。然后此电压值通过视频信号端输出,摄像头连续的扫描图像上面的一行,就输出一段连续的电压视频信号,该电压的高低起伏正好反应了该行图像的灰度变化情况。视频信号中除了包含图像信号外,还包括了行同步信号、3行消隐信号、场同步信号、场消隐信号以及槽脉冲信号、前均衡脉冲、后均衡脉冲等,因此要对视频信号进行采集,就必须准确的把握好各种信号之间的逻辑关系。LM1881芯片就是针对视频信号的同步分离,它可以从0.5—2V的标准负极性NT—SC制、PAL制、SECAM制视频信号中提取复合同步、场同步、奇偶场识别等信号,这些信号都是图像数字采集所需要的同步信号,可以为实时的图像信号处理提供信号基准。摄像头视频信号端接LM1881的视频信号输入端,同时也接入单片机的一个A/D转换口(选用PAD01)。LM1881的行同步信号端(引脚1)接入S12的一个输入捕捉口(PT3)。因为行同步信号(即对应摄像头信号的行同步脉冲)持续时间较短,为了不漏检行同步信号,选用S12输入捕捉口。若使用普通I/O口,则只能使用等待查询的方式来检测行同步信号,这会浪费S12的CPU资源。同样LM1881的奇—偶场同步信号输出端(引脚7)也接S12的输入捕捉口(PT2)。本智能车选择奇—偶场同步信号作为换场的标志信号,而不是选用LM1881输出的场同步信号(引脚3),这样设计的优点在于当摄像头信号处于奇场或偶场时,则奇—偶场信号整场都相应地处于高电平或低电平,输入捕捉口若检测到电平发生变化,就可以知道摄像头信号换场了。CMOS摄像头通过行扫描方式,将图像信息转换为一维的视频模拟信号输出。信号变化很快,比如PAL制式的视频信号,每秒钟输出25幅图像,每幅图像又分为奇、偶两场,先奇场后偶场。如果选择320线的OmniVisionCMOS摄像头,则每场图像有320行,每行图像信号时间为64us,去除行同步脉冲时间,有效的图像信号不足60us。S12的A/D转换速度较低,在不超频的情况下进行10位A/D转换需要的时间为7us。这样单行视频信号只能采集8个点,若宽度仅2.5cm的黑色引导线的位置恰好位于相邻两采样点之间,就会漏检该条引导线。S12每场图像可以采集320行的图像信息,去除场消隐区,有288行有效的视频信号,故图像的垂直分辨率较高。在安装CMOS摄像头时旋转90°,输出的图像信息也将旋转90°,这样采集图像信息的水平分辨率与垂直分辨率会发生的互换,变成水平分辨率高,垂直分辨率低的图像,可以满足道路检测的需要。相对于光电管传感器,摄像头可以获得较远的路径信息,可以同时获得多行黑线信息。经过图像算法处理后,得到的信息是关于前瞻范围内黑线的具体位置,以便于后面转向和速度控制。4系统软件设计智能车是一个硬件和软件紧密结合的产品,整个系统的稳定工作不仅要求硬件设计合理,软件设计也同样重要。由于赛道是未知的,要求寻迹程序必须适应各种类型的赛道。由于S12处理数据的能力有限,不可能在短短的20ms内处理整场图像。在不影响道路检测精度需要的前提下,本系统采用隔行采集来压缩图像数据,即每隔4个有效行采集一行数据,一共可采集72行数据。此外为了进一步提高A/D转换的速度,本系统还适当地将S12的CPU超频运行并且设置A/D转换器的精度为8位,这样每行能采样到22个点。4由于CMOS摄像头安装时是旋转90°后使用的,故在图像采集后应将其还原,方便后面的图像处理。具体方法是通过设置1×16的VideoLine[i]和16×72的VideoImage[i][j]两个数组实现的:先将采集到的行(对应实际图像中的列)数据(考虑到行消隐区的存在,故舍去22个采样点的前后各3个,只取中间16个,以保证所提取出的点为有效采样点)存到VideoLine[i]中,然后行列交换转存在VideoImage[i][j]的列中。实验证明,将这种图像处理算法应用到智能车中,足可以在20ms内采集到一幅16行×72列的图像,完全满足赛道路径识别的需要。图3图像识别流程图轨道只有黑白两种颜色组成,因此反应在图像数据中就是电压的变化。由于智能车系统对实时性的要求很高,过于复杂的黑线提取算法,会导致决策周期溢出,使程序崩溃,所以必须采用简单高效的图像识别算法。具体实现流程如图3所示,对于第一场的第一有效行数据,计算前后两个采样数据的差值,找到差值绝对值最大的两个坐标值,这是从白色像素到黑色像素的下降沿和从黑色像素到白色像素的上升沿的位置,然后计算上升沿和下降沿的位置差,如果大于一定的标准值,即认为找到了黑线。如果找到黑线,则求出所有黑色像素的平均值Value_Black和所有白色像素的平均值Value_White,并设置门槛值为(Value_Black+Value_White)/2,把得到的像素值进行二值化处理,凡是大于门槛值的置为“1”,小于门槛值的置为“0”。第n+1行采集数据可以用第n行的门槛值进行二值化处理,并用第n+1行数据更新门槛值。下一场的第一行采样数据可以用上一场最后一行的门槛值。由于前后两行距离近,并且门槛值会随当前行采样值发生变化,可以为下一行提供准确的5门槛值。实验证明这种算法简单可行,黑线的提取能够不受光线明暗的影响,鲁棒性较强。提取的黑色引导线应该是连续的,可以根据处理得到的“0”的分布情况进行图像滤波,例如两个中间有黑线的行之间不能有全白行,前后两行黑线不能突变,否则丢掉当前行的数据。为了使小车运行得快而稳,必须寻找出黑线距离车身中心轴的偏差量Offset,要求出这个偏差量至少应考虑两个因素:最远行黑线位置linepos[topline]、16行黑线平均位置averlinepos。其计算式如下:Offset=a×linepos[topline]+b×averlinepos公式中a、b为各量的比例系数。考虑最远行黑线位置是为了及时了解赛道的走向趋势,这样不仅可以方便智能车准确提前转舵机,还可以让智能车进弯道时提前减速,出弯道时提前加速,从而保证智能车始终以一个较快的速度顺畅行驶。考虑16行黑线平均位置是为了有效利用各行路径信息,通过偏差正负相消平滑小弧度S弯道,使之近似等同直道。此外为了提高智能车的鲁棒性,借助分段控制的思想,根据不同的情况,本智能车采用不同的比例系数a、b以适应各种赛道路况。\5结论在此次系统设计过程中,对摄像头的主要参数进行了分析,提高了信号检测的准确性。摄像头旋转90°使用符合路径识别的需要。压缩了采集的图像信号,提取黑线并实现了动态门槛值的设定,偏差采用了非均匀分度,保证了较好的寻迹效果。只有将软硬件部分进行有效的融合,并进行充分的实验、测试和标定,才能使智能车有一个相对良好的整体性能。实际测试结果表明,智能车能以较快的速度平稳的行驶完成各种符合要求的赛道,达到了预期的效果。参考文献[1]梁业宗,李波,赵磊.基于路径识别算法的智能车控制系统的设计[J].自动化技术与应用,2009,28(1):121-123.[2]孙辉,张参参,史久根.竞赛用智能车的设计[J].安徽工业大学学报,2009,26(3):291-296.[3]云康,高超.基于CMOS摄像头的智能寻迹车的设计与实现[J].华北水利水电学院学报,2008,29(5):55-57.作者简介:雷钧(1975-),男,讲师,主要研究方向为计算机控制技术。

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功