基于STM32的智能小车摄像头循迹系统Word格式.docx
《基于STM32的智能小车摄像头循迹系统Word格式.docx》由会员分享,可在线阅读,更多相关《基于STM32的智能小车摄像头循迹系统Word格式.docx(36页珍藏版)》请在冰豆网上搜索。
院(系):
姓名
王坤
学号
200813503229
毕业届别
2012
专业
电子信息工程
毕业论文(设计)题目
指导教师
杨尚明
学历
本科
职称
教授
所学专业
无线电技术
具体要求(主要内容、基本要求、主要参考资料等):
主要内容:
设计一个抗干扰能力强的智能小车循迹系统。
基本要求:
通过对本课程的设计,能够利用OV7670实现黑白线信息采集;
并且能够达到一定的抗干扰效果;
能够实现实时采集外界环境信息的效果。
主要参考资料:
[1]陈启军.嵌入式系统及其应用:
基于Cortex-M3内核和STM32F103系列微控制器的系统设计与开发.[M].北京:
同济大学出版社,2008.
[2]谭浩强.C语言程序设计.[M].北京:
清华大学出版社,2010.
[3]曾星星.基于摄像头的路径识别智能车控制系统设计[J].湖北汽车工业学院学报,
2008(6):
P76-80.
进度安排:
第一阶段:
1~4周通过资料、网络、导师了解本设计所需要的知识、资料、相关软件及设计思路方案;
第二阶段:
5~8周请教老师查阅资料按要求并由实际情况逐渐得出设计方案及方法;
第三阶段:
9~11周根据方案在老师的指导下完成相关的软硬件设计;
第四阶段:
12~13周撰写论文(分初稿、定稿、审合、打印论文);
第五阶段:
14周进行优化调试达到目标并进行论文答辩。
指导教师(签字):
年月日
院(系)意见:
教学院长(主任)(签字):
年月日
备注:
[摘要]现在人们越来越喜欢安全、节能、环保、智能化和信息化的汽车了,在智能汽车新时代,无人驾驶技术,得到了飞越的发展,成为了智能车时代的新标志。
智能小车不但逐步提高了车辆的控制水平和驾驶水平,而且也保障了车辆行驶的安全、畅通、高效特性。
本文主要讨论了智能车系统的设计方案,并且对智能车自主行驶的决策以及控制,算法也进行了相应的研究。
本论文首先设计了智能车的硬件结构,硬件方面以Cortex-m3为控制核心,另外其他辅助模块包括:
电源模块,图像传感模块,速度控制模块以及其他功能模块进行辅助,从而来完成智能车的硬件设计。
由于智能车有一个比较复杂跑道,传统的控制算法在复杂跑道情况下已经无法解决智能车的控制参数的问题。
因此本论文做了一些改进,本论文采用理论结合实际,我们采用了模糊PID控制算法来实现对智能车的控制,并进行了一定的实验。
在该系统中,由CMOS摄像头来实现路径识别,通过对小车的闭环控制,使小车能按照给定的黑色引导线平稳地循迹。
该系统能够很好地满足智能车对路径识别性能和抗干扰能力的要求,稳定误差小,调节相应时间比较快,具有较好的动态性能和良好的稳定性。
实验证明,所设计的智能车具有速度快,适应性强的特点。
[关键词]智能车;
图像处理;
比例积分微分
[Abstract]Nowmoreandmorelikesafety,energyconservation,environmentalprotection,intelligenceandinformationofvehiclesintheneweraofsmartcars,unmannedtechnology,hasbeenflyingoverthedevelopment,becamethenewlogoofthesmartcarera.Thesmartcarhasgraduallyincreasedthelevelofcontrolandthestandardofdrivingofthevehicle,butalsotoprotectthesafeandsmoothtraffic,efficientperformance.Thearticlefocusesonthedesignofintelligentvehiclesystems,andsmartcarindependentdrivingthedecision-makingsystemandcontrolalgorithmswerealsostudied.ThesisdesignsthemechanicalhardwarestructureoftheintelligentvehiclehardwaretocontrolthecoreCortex-m3,otherancillarymodulesinclude:
thepowersupplymodule,theimagesensormodule,thespeedcontrolmoduleandotherfunctionalmodulestocarryoutassisted,andthustocompletethesmarthardwaredesignofthecar.Doesnotmatchthesmartcaramorecomplicatedrunway,controlalgorithmsinthecontrolparametersofthesmartcarhasbeenunabletosolvecomplexrunwaycase.Therefore,thispaperhastodoimprovements,thepresenttheorywithreality,wehaveadoptedafuzzyPIDcontrolalgorithmtoachievecontrolofthesmartcar,andcarryoutcertainexperiments.
Inthissystem,theCMOScameraheadpathidentification,closed-loopcontrolofthecar,cartrackingsmoothlyinaccordancewiththeblackguidelinesgiven.Thesystemisabletomeettherequirementsoftheintelligentvehiclepathrecognitionperformanceandanti-jammingcapability,smallsteadystateerrorandadjusttheresponsetimeisfaster,hasbetterdynamicperformanceandgoodstability.
Theexperimentsshowthatthedesignofintelligentvehiclespeedadaptability.
[Keywords]IntelligentCar,ImageProcessing,PIDControl
绪论
随着智能小车技术的不断提高和增强;
智能化,安全化,环保性逐渐得到了人们的亲睐,在当今这个公路等级不断改善的情景下,特别是飞速发展的高速公路,人们对汽车的行驶速度有了更高的要求;
同时,在人们的物质生活水平和消费水平不断飞速提高的情况下,汽车的数量也随之逐渐快速的增加,车流量越来越大,汽车碰撞的发生几率也越来越大,,然而这些情况,在智能车出现以后,在很大情况下大大减少了因驾驶疏忽而造成交通事故的可能,也使得交通更加畅通,从而很大程度上保证了车辆行驶的安全,同时也保证了其他的人的人身和财产安全,因此发展智能小车是很重要的。
现在,国际上很多的研究机构已经开始关注智能交通系统(ITS)方面的研究工作了,并且也取得了很大的成果,已经研发出了一些智能化的原型车辆,并且进行了相应的测试。
然而这种智能化原型车研发,其整个过程得益于一些交叉学科的相关领域知识,如机器人技术、人工智能、自动控制、电子通讯、信号处理技术等,从中得到许多新观点,新方法。
从近来几年的发展来看,汽车电子的迅猛发展必将逐步满足人们对节能、安全、环保以及信息化和智能化的需求。
[1]
现在的智能控制在很多工厂和车间都有很大的应用舞台;
人性化,智能化是下一代智能控制的研究方向,目前,我国的研究广度和深度还是不够大,在很多领域几乎是零,需要我们进一步的加深对智能控制的研究,比如汽车电子控制,航天控制,轮船控制等等,在芯片性能上,国内的研究和开发也是欠缺的,芯片的稳定性在很大程度上限制了很多领域的进展,大多都是被国外垄断,这些都是需要我们来面对和改进的地方,也正是发展的重点。
此外,智能汽车在高速公路,山地,野外,现代物流业,现在制造系统及柔性制造系统中都有广泛运用,该研究已成为人工智能领域的一个非常重要的热点之一。
本文所研究的智能车是一个比较好的智能模型,通过摄像头循迹来获得路面的信息,通过处理后从而来引导小车的运行,达到一定的智能化。
1智能车系统总体介绍
1.1整体设计概述
本论文所设计的智能车,能够实现在一个闭环的跑道上完成自主循线运行的功能,跑道表面通过白纸来覆盖,其中心有30mm宽度左右的连续黑线,作为小车运行的引导线。
同时也作为识别道路状况的标志、该论文的整体智能车可以看作是一个自动控制的系统。
图1.1为系统模型框图。
图1.1系统模型框图
该系统通过面阵CMOS摄像头来实现路径识别功能,将CMOS摄像头采集过来的视频信号二值化后送入微处理器进行处理,根据路面信息来决定智能小车的行驶方向;
而车速控制采用的是PID算法。
另外,在软件设计中,本课题采用实时采集路况信息方法和实时控制智能小车的速度,最终达到实现整个系统的闭环控制,使小车可以自主的按照路面信息快速行驶。
智能车首先将路面上的白纸黑线信息进行检测,再将该智能车的姿态信息一起送给控制器STM32,控制器STM32将采集过来的路面黑线信息和智能小车的行驶信息的数据进行相应的处理、分析、决策、最终分别得出对电机的控制量和对智能小车的控制量,并对驱动电机的转速和转向加以控制,另外,通过速度检测单元,将电机转速(即智能车的速度)及时的反馈给控制器STM32,从而实现对智能小车的合理控制,即达到实时性也达到对精度的控制。
[2]
为了实现上述对智能车的控制,智能车必须具备以下主要功能模块:
一般的智能车要必备如下功能模块才能达到对智能小车控制的目的和效果,使小车稳定的行驶。
首先要实现对路面信息采集和实时监测,并且要达到一定的抗干扰能力,从而给控制器STM32提供一个很好的决策依据。
要达到一定的实时性,首先控制器的处理速度要快,只有控制器的处理速度达到一定的速度了,才能相应的使小车的行驶速度快,实现一个稳定的实时系统。
再次,该智能小车需要一个稳定的电量来源,给行驶的小车一个可靠的能量储备,来驱动小车电机模块和该智能小车的控制器等模块的能量利用。
另外,要实现对该智能小车的控制达到闭环控制的效果,要有对该智能小车的速度有一定的控制,这就需要测速模块来提供一个速度反馈回来的信息给处理器STM32。
还有就是电源管理部分,对于该智能小车中的不同的模块,需要不同级别的电压情况,需要采取一些措施来合理的分配电源的电压,供给不同的应用模块,是小车正常的行驶。
为了调试的方便还要有人机交互模块。
1.2关于直流电机的简要介绍
直流电机里边固定有环状永磁体,电流通过转子上的线圈产生洛伦磁力,当转子上的线圈与磁场平行时,再继续转,受到的磁场方向将改变,因此此时转子末端的电刷跟转换片交替接触,从而线圈上的电流方向也改变,产生的洛伦磁力方向不变,所以电机能保持一个方向转动。
直流电机的分类:
按结果主要分为直流电动机和直流发电机按类型主要分为直流有刷电机和直流无刷电机,励磁方式的直流电机是指对励磁绕组如何供电、产生励磁磁通势而建立主磁场的问题。
该实验课题,我用的是单级直流电机。
是一种电枢导电部分始终工作于单一极性磁场中的直流电机。
它是一种低压大电流无换向器的直流电机。
图[单极直流电机原理示意]示一台圆筒形电枢单极直流电机的原理结构。
当两个环形励磁线圈通直流电时,电机气隙的整个圆周上将产生单一极性的磁场。
当转轴带动圆筒形铜质电枢旋转时,枢轴向两端即感生电动势,其方向是固定不变的。
此电动势由电刷从电枢两端引出。
单极直流电机电压低,电流大。
电压只有几伏或十几伏,而电流可达几百安,几千安,甚至上万安。
因此电刷的接触损耗和发热相当大,磨损也快。
实用上应尽可能加多并联电刷的数目,采用接触电压降小的铜-石墨电刷,或用导电和导热更好的液态金属,如水银或钠钾合金等做电刷。
要提高单极直流电机电压,就必须提高气隙磁通密度和转速。
转速受旋转体机械强度的限制,气隙磁通密度则受铁磁饱和限制,都不能过高。
如采用超导技术则可使单机功率比普通电机提高十几倍以上。
1.3CMOS图像传感器的特点
1.3.1CMOS图像传感器的特性
(1)光照特性
CMOS图像传感器的主要应用也是图像的采集,也要求能够适应更宽的光照范围。
因此也必须采用非线性的处理方法和自动调整曝光时间与自动增益等处理方法。
结果与CCD相机一样损失了光电转换的线性,正因为此项,它也受限于灰度的测量。
(2)输出特性
CMOS图像传感器的突出优点在于输出特性,它可以部分输出任意区域范围内的图像。
(并非所有CMOS传感器都具有这个功能,如果生产厂家没有给您提供)这个特性在跟踪、寻的、搜索及室外拍照等的应用前景非常之好。
也是CCD传感器所无法办到的。
(3)光谱响应
光谱响应受半导体材料限制,同种硅材料的光谱响应基本一致,与CCD的光谱响应基本一致。
(4)光敏单元的不均匀性
光敏单元的不均匀性是CMOS图像传感器的弱项,因为它的光敏单元不像CCD那样严格的在同一硅片上用同样的制造工艺严格制造,因此远不如CCD的光敏单元的一致性好,但是它内部集成单元多,处理能力强能够弥补这个缺陷。
1.4OV7670的性能特点与工作方式
1.4.1OV7670的性能和参数
OV7670是一款采用24脚封装的芯片,30万像素CMOSVGA图像处理传感器。
该模块具有体积小、工作电压低等特点,可以实现对单片VGA摄像头和影像处理器的所有功能;
通过SCCB控制总线控制,可以实现输出整帧、子采样、取窗口等方式的各种分辨率的8位影像数据;
同时最高的数据帧可达30FPs,这样用户可以完全控制图像的质量,数据的格式和传输的方式,所有的图像处理功能伽马曲线,白平衡,饱和度,色度等,都可以通过对I2C总线的控制以SCCB方式进行配置,另外感光阵列是640x480的,可以很好的输出(4:
2:
2)的格式数据。
OV7670模块,带AL422FIFO,超宽工作电压,带24MHZ有源晶振,带380KB大容量的FIFO
AL422B,非常适合慢速MCU直接通过I/O采集图象数据,带OV7670必须的稳压LDO,超宽单工作电源3.3V~5V,I/O直接连接无须电平转换,工作温度0~50度,镜头为全玻璃镜片,镜头焦距3.6毫米650nm波段。
1.4.2OV7670的功能
1.高灵敏度特性适合低照度的应用场合。
2.很低的电压适合嵌入式的应用。
3.该芯片具有标准的SCCB接口,并且兼容IC接口。
4.支持VGA,GIF,和CIF到40x30的各种尺寸。
5.VarioPixel子采样方式。
1.5OV7670的数字图像输出
1.5.1OV7670的输出信号时序
像素数据输出时序和帧与行有效信号时序分别如图1.5.1和图1.5.2所示。
像素时钟与主时钟同频,在一帧图像开始输出时帧有效信号由低电平变为高电平,一帧输出结束时由高电平变为低电平;
而行有效信号则在一行数据输出有效时由低电平变为高电平,一行数据输出完成后由高电平变为低电平。
根据OV7670的输出信号时序就能正确地采集整帧图像。
图1.5.1中,P为帧消隐区,A为有效数据区,Q为行消隐区。
图1.5.1为像素数据输出时序图,图1.5.2为帧与行有效信号时序图。
图1.5.1像素数据输出时序图
图1.5.2帧与行有效信号时序图
2方案论证
2.1控制模块的介绍
方案一,采用ATMEL公司的AT89C51。
51单片机价格便宜,应用广泛,但是功能单一,但其运算速度低,RAM、ROM空间小,如果系统需要增加语音播报功能,还需外接语音芯片,实现较为复杂;
另外51单片机需要仿真器来实现软硬件调试,较为烦琐。
方案二,采用STM32系列单片机。
这款单片机采用了Tail-Chaining中断技术,完全基于硬件进行中断处理,最多可减少12个时钟周期数,在实际应用中可减少70%中断。
它具有一个32位的核,处理速度明显优于MSP430。
方案三,采用ARM7,ARM7底层驱动很复杂,平时用的也不是很多。
三个方案都能满足题目要求。
但小车实时处理要求高,处理速度应尽量快。
完成题目基本上不会使用到430单片机的五种低功耗模式。
ARM虽然在性能上优于另外两个方案,但其价格高。
综上所述,综合考虑时间、性价比和低功耗等因素,我们选择方案二。
2.2车身车体的介绍
方案一,使用坦克式小车。
小车体积大,可承载模块多;
摩擦力大,可走崎岖不平的路径;
运动可快可慢,快时用于行进,慢时用于位置精密调节。
缺点:
功耗大,灵敏度低。
方案二,使用四轮矩形车体。
小车功耗较低,运动灵活,车速较快。
适于平整地面快速运行。
方案三,使用圆形车体。
左右两个单向轮,前后两个万向轮。
功耗和灵敏度明显优于方案二。
经研究,决定选用方案三,并在万向轮上加入减震设备,使小车运行过程平稳。
另外小车车体中加载9V可充电电池(环保且可持续利用),通过稳压模块稳定为5V和3.3V,分别给小车驱动和M3处理器等模块供电。
车轮表面贴有码盘,可用红外实时感测车轮的运动状态,并输入单片机进行实时调整。
2.3电机选择与驱动模块的介绍
方案一,使用直流电机。
直流电机机械特性的线性度好,速度快,反应灵敏,转动力矩大,体积小,重量轻,成本低,另外,直流电机带负载能力强,调速平滑,PWM调整范围广。
不易于精确调节和准确定位。
方案二,使用步进电机。
步进电机是将脉冲信号转化为角位移或线位移的器件,其精度高,效率高,可靠性高,另外,步进电机只有周期误差而无积累误差,可以精确的控制转动的角度和位移。
体积大,力矩小,速度慢,且力矩在高转速时急剧下降。
我们选择直流电机,利用L298集成芯片组成驱动电路可产生PWM脉冲。
利用PWM脉冲驱动直流电机,可以提高直流电机的精确度,又不会影响其速度的优势。
用于提供小车行驶的动力,速度快,灵敏度高,使之满足题目要求。
2.4路径识别的方案设计与论证
方案一:
基于光电传感器阵列的智能控制
光电传感器的排列方法、个数、彼此之间的间隔都与控制方法密切相关。
但一般的认识是:
在不受外部因素影响的情况下、能够感知前方的距离越远,行驶的效率越高。
由于光电传感器电路板的大小有限,其延伸的距离太短,因此大多制作者通过调整了光电传感器与地面信息的的方向,从而使光电传感器可以获得更远地方的路面的跑道情况。
[3]
下图2.4.1和2.4.2是两种典型的光电循迹的方案,图2.4.1中模型车采用了8对光电传感器分布得比较宽;
图2.4.2中模型车只采用了3对光电传感器,放置在向外伸出的小电路板上,探测的范围比较小。
具体在实际中将采用哪种方案更合适,这个与光电传感器扫描前方的距离和宽度以及所控制的策略是十分相关的。
下面的图2.4.1为8路红外发射管方案,图2.4.2为3路红外发射管方案。
图2.4.18路红外发射管方案图2.4.23路摄像头方案
在光电循迹方案中,为了得到质量较高的接收信号,一般还附加一些电阻电容组成的RC高通滤波器。
这样就能够在一定程度上避免由外部光线引起的路线识别不正确的问题。
有的模型车设计的传感器离地面距离较远,为了能够接收到更多的从发光传感器发射过来的光线,也有使用凸透镜的情况。
基于反射式红外传感器的光电传感器阵列的路径检测方法具有较高的可靠性与稳定性,信息更新速度快且易于单片机处理。
但是它易受环境光线的干扰,而且存在着检测距离近的的问题,硬件电路复杂。
为了获得远方的信息需要将传感器伸的尽可能远,从而增加了车体高速行驶时的转动惯量,限制了智能车的最高速度。
方案二:
基于面阵CCD传感器的控制
基于面阵CCD传感器的路径检测方法具有探测距离远(后文将这种前方探测距离称为“前瞻“)的优势,能够尽可能早地感知前方路径的信息并进行预判断,实现提前减速过弯。
而且这样还可以提高转弯的最高速度。
同时还可以结合利用单片机内部的A/D,在小车的前方虚拟出24个光电传感器,采用单一传感器,硬件结构简单且高速运行时转动惯量小,从而增加了小车的最高速度。
这样不仅能够克服传统光电传感器的缺点,又能够精确的感知黑色引导线的位置,为智能车的稳定运行提供保障。
但是,在调试过程中我们发现这样面阵摄像头在市场上很少,不易购买。
图2.4.3CMOS摄像头小车
方案三:
基于面阵CMOS传感器的控制
基于黑白面阵CMOS摄像头传感器的路径检测方法具有以上两种方案的所有优点,同时面阵CMOS摄像头输出的复合视频信号,采集到的信息将是前方整个一副图像。
利用单片机内部的A/D转换器,并配合从视频信号分离出的同步信息,该单片机可以直接将图像信号采集到内部的RAM中,然后通过软件对图像信息进行处理。
这样不仅可以识别道路的中心位置,同时还可以得到跑道的方向,跑道的曲率等信息。
这样可以有效地对车模进行运动控制,提高车模路径跟踪速度和运行速度。
但是面阵CMOS摄像头的延时比较大(20ms),因此对信息的采集和处理有一定的约束。
图2.4.3为CMOS摄像头小车。
综合以上分析,为了更好的获得路况信息和取得大的前瞻,本设计选择方案三,并对其进行可改进。
3智能车系统硬件设计
3.1智能车系统硬件设计总体结构
本系统是利用了市面上很流行的处理器STM32作为本系统的主要控制模块,我们采用了CMOS摄像头作为识别路面信息的传感器,通过控制器STM32对摄像头采集过来的信息进行分析和判别,才实现对智能小车直流电机的控制从而达到实现自动循迹的目的。
众所周知,一个系统的硬件是一个系统能否稳定运行的关键,在设计智能车硬件的总体架构时,该系统充分考虑了这方面的因素,使该系统能够很好的运行,使小车的行驶速度更快更稳定。
如图3