长大四队智能汽车邀请赛技术报告Word下载.docx
《长大四队智能汽车邀请赛技术报告Word下载.docx》由会员分享,可在线阅读,更多相关《长大四队智能汽车邀请赛技术报告Word下载.docx(43页珍藏版)》请在冰豆网上搜索。
![长大四队智能汽车邀请赛技术报告Word下载.docx](https://file1.bdocx.com/fileroot1/2022-11/26/b40d3519-e7a6-4e4e-806b-bbfe871e5752/b40d3519-e7a6-4e4e-806b-bbfe871e57521.gif)
第五章软件系统的设计与实现31
5.1软件功能概述31
5.2系统的初始化32
5.2.1AD模块32
5.2.2PWM模块33
5.2.3串口模块34
5.2.4时钟模块35
5.2.5ECT模块35
5.2.6I/O口模块36
5.3黑线检测算法36
5.3.1二值化方法36
5.3.2边缘检测算法36
5.4赛车的方向控制算法38
5.4.1赛车转弯时弯道曲率半径的计算39
5.4.2赛车转向系统的标定40
5.4.3方向控制算法数学模型的建立44
5.4.4赛车速度的控制45
第六章智能小车系统调试49
6.1开发调试工具49
6.2智能小车硬件的调试.50
6.3软件的调试51
6.4智能小车整体调试52
6.4.1实验赛道环境及参数52
6.4.2智能小车整体调试与结果54
第七章结论57
7.1赛车主要技术参数说明57
7.2总结57
参考文献59
摘要
智能车辆是当今车辆工程领域研究的前沿,它体现了车辆工程、人工智能、自动控制、计算机等多个学科领域理论技术的交叉和综合,是未来汽车发展的趋势。
本文是在第三届飞思卡尔全国大学生智能汽车竞赛背景下诞生的,具体介绍了一种基于CMOS摄像头的智能寻迹赛车的设计和实现。
赛车完成的主要功能是能够自主识别黑色引导线并根据黑线走向实现快速稳定的寻线行驶,并且在规定的要求下实现自动停车。
赛车系统以Freescale16位单片机MC9S12DG128作为系统控制处理器,采用基于摄像头的图像采样模块获取赛道图像信息,通过PID控制策略和PWM控制技术来对赛车的方向和速度进行控制。
本文阐述了智能小车系统的设计方案,具体介绍了赛车硬件系统的设计,包括传感器模块、电源模块、驱动电机模块、转向舵机模块、测速模块等,同时提出了基于CMOS摄像头的黑线识别算法并对其相应的控制策略进行了详细的介绍。
此外,文中还将详细说明赛车机械结构和调整方法,叙述赛车系统开发过程中所用到的开发工具、软件以及各种调试、测试手段方法等。
关键词:
智能车,CMOS摄像头,速度传感器,PID控制,Freescale16位单片机
ABSTRACT
Intelligentvehicleisthetoplevelintheresearchfieldofvehicleengineeringnowadays.Itinvolvesinthecombinationofmultipleacademicsubjectsandintegrationofmultiplehightechnologieswhichrepresentsthedevelopmentdirectionofautomobiletechnology.
ThispaperisbornunderthebackgroundofthethirdFreescaleCupNationalUndergraduatesIntelligentCarContest.Inthispaperwewilldemonstrateadesignandexecutionofauto-searchingfortrackbyusageofCMOSimage-sensormodulebasedoncameraonanintelligentmodelcar.Themainfunctionthattheintelligentcarmayachieveisthatthecarshouldtracktheblack-guide-lineautomaticallyandmoveforwardfollowingthelineasfastandstableaspossible.Theintelligentcarsystem,withtheFreescale16-bitsingle-chipMC9S12DG128asitscontrolmicroprocessor,usesimage-sensortoobtainlaneimageinformation,andadoptssignalPIDcontrolstrategytogetherwithPWMtechnologytohaveacontrolonthesteeringangleandspeedofthesystem.
Thispapergivesanoveralldesignblueprintoftheintelligentcarsystem,introducethehardwaredesignincludingCMOSsensormodule,powersupplymodule,motordrivemodule,servomotormodule,velocitycollectionmoduleandetc.CertainkindsoflinetrackingalgorithmbasedonCMOSsensorswillbeemployedtoanalyzethelanestyleandtheircorrespondingcontrolstrategywillalsobediscussed.
Inaddition,wewilldetailedlydisplaythemechanicalstructureandadjustmentmethodofthemodelcar.Afterthat,thedevelopingkit,software,andvariousdebuggingandtestingmethodsduringthedevelopmentofthisintelligentcarsystemwillalsobeintroduced.
KEYWORD:
IntelligentVehicleSystem,CMOSImageSensor,ControlStrategy,
Debugging,Testing,Freescale16-bitSingle-chip
第一章引言
1.1大赛背景介绍
大学生智能汽车竞赛源自韩国,在韩国已经成功举办了五届。
为加强大学生实践、创新能力和团队精神的培养,促进高等教育教学改革,2006年教育部高等教育司自动化专业教学指导委员会将该赛事引入我国,由清华大学成功主办了第一届全国大学生智能汽车竞赛。
2007年8月,第二届“Freescale”杯全国大学生智能汽车竞赛在上海交通大学成功举办。
目前该比赛已经列入教育部主办的全国五大竞赛之一,是全国大学生科技创意性重要赛事。
2008年8月底,第三届“飞思卡尔”杯全国大学生智能汽车竞赛即将在东北大学举办。
比赛吸引了来自全国各高校六百多支参赛队参加,本次比赛由飞思卡尔(Freescale)半导体公司赞助,大赛组委会提供MC9S12DG128型单片机、直流电机、可充电电池以及一款带有差速器的后驱模型赛车,要求各参赛队在一定限制条件下设计制作一个能够自主识别路线的智能小车,在专门设计的跑道上自主寻线行驶。
在保证小车运行稳定不冲出跑道并且在规定的时间内自动停车的前提下,单圈成绩最短的队伍为优胜者。
制作智能模型车,需要参赛队伍学习MC9S12DG128型单片机并应用嵌入式软件开发工具CodeWarrior和在线开发手段,自行设计路径识别方案,电机驱动电路,模型车车速传感电路等,其专业知识涉及自动控制、模式识别、传感技术、汽车电子、电气电子、计算机和机械等多个学科,对于提高各高等院校在汽车电子领域及智能车领域的研究水平和加强在校学生的实践能力、创新能力和团队协作精神培养,具有长期良好的推动作用。
1.2相关文献综述
今年是我校第二次参加全国大学生智能车竞赛,因此对我们而言是一次难得的机遇和挑战。
智能车竞赛涉及到的知识较为宽泛,为了设计出性能优异的智能赛车,我们在赛车的设计开发过程中,参考了许多很有价值的文献资料。
以下对所阅读的文献资料进行简要说明。
首先,我们从Freescale公司官方网站下载得到S12单片机开发技术手册。
通过仔细阅读各个功能模块文件,了解了相关寄存器功能。
同时,结合比赛组委会配发的《单片机嵌入式应用的在线开发方法》,熟悉CodeWarrior的使用方法。
此外,通过浏览中电网论坛,Freescale公司论坛,了解所需的S12单片机开发知识。
赛车的设计制作方案主要参考的是卓晴等老师编撰的《学做智能车》一书。
该书将第一届全国大学生智能车竞赛各参赛队的技术方案进行了详细的介绍和总结,对智能车的设计提出了许多很有价值的建议。
本次比赛我们采用了摄像头作为寻线传感器,因此需要参考相关视频采集和处理文章。
主要参考了葛亚明的一篇《视频同步分离芯片LM1881及其应用》,了解基于LM1881的视频采集方法。
之后,为了提取赛道黑线,检索到大量关于边缘提取的视频处理方法,重点参考的是一篇吉林大学王荣本的文章。
他采用的是二值化加hough变换的方法,实现边缘检测。
赛车的整体控制采用了经典的PID控制策略,因此在PID控制器参数及其整定方法方面查阅了很多参考文献,主要有《PID控制器参数整定方法及其应用研究》、《单片机实现的仿人智能PID控制器》等文章,这对于赛车PID控制参数的选定和控制策略的研究提供了参考。
赛车本身是一个车辆系统,在比赛中我们意识到赛车的机械参数的调整对于赛车良好的行驶表现至关重要。
因此,在对赛车的机械系统进行调整的过程中重点参考了陈家瑞主编的《汽车构造》和余志生主编的《汽车理论》,该书详细介绍了汽车系统动力学的基本理论,为赛车的机械改装提供了有力的理论支持。
1.3本文的主要内容
本报告是参赛队员在老师的指导下完成的,是对参赛赛车的技术方案、设计思路、机械改装、制作调试过程的全面总结。
整篇技术报告共分6章。
主要介绍智能车竞赛的相关背景、文献综述、以及全文的结构安排。
第二章设计的系统方案和技术概要
简要说明赛车设计的总体思路,硬件系统设计和软件系统设计的基本实现方案。
第三章机械部分的设计与实现
在不违反大赛规则的情况下,对赛车的机械部分做了相关调整和改造,使小车的机械性能得到提升,为赛车良好的行驶表现奠定基础。
第四章硬件系统的设计与实现
详细介绍了赛车硬件电路的设计方案,其中包括电源管理模块、视频采集模块、驱动电机模块、转向舵机模块以及测速模块。
第五章赛车软件系统的设计与实现。
首先介绍了赛车系统设计中用到的各个S12功能模块,并对其初始化方法进行简要说明。
接下来具体介绍了黑线提取算法,最后对赛车的方向控制以及速度控制方案进行了细致说明。
第六章赛车系统的调试
详细介绍赛车软硬件系统的调试方法,并对赛车在模拟赛道上的行驶表现进行评估。
第七章结论
详细介绍赛车的主要技术性能参数,对赛车设计制作过程进行总结,指出今后改进的方向。
第二章系统设计方案和技术概要
2.1赛车系统的设计要求
根据大赛要求,设计的赛车要能够在白色赛道上识别出黑色引导线,并根据黑线走向自动控制车轮转角和车速,从而实现赛车高速稳定的自主寻线行驶。
为使赛车沿着规定的赛道自动寻找黑色引导线并尽可能的高速前进,赛车必须具备一套能对黑线进行检测并实时控制车速、方向的智能处理系统,同时需要赛车本身提供强有力的机械支撑。
比赛对赛车系统具体的设计要求如下:
智能竞赛车模的规定
1)禁止改动车底盘结构、轮距、轮径及轮胎;
2)禁止改动驱动电机的型号及传动比;
3)禁止改造滚珠轴承;
4)禁止改动舵机,但可以更改舵机输出轴上连接件;
5)禁止改动驱动电机以及电池,车模主要前进动力来源于车模本身直流电机及电池;
6)为了车模的行驶可以安装电路、传感器等,允许在底盘上打孔或安装辅助支架等。
电路器件及控制驱动电路限制
1)核心控制模块可以采用组委会提供的HCS12模块,也可以采用MC9S12DG128自制控制电路板,除了DG128MCU之外不得使用辅助处理器以及其它可编程器件;
2)伺服电机数量不超过3个;
3)传感器数量不超过16个(红外传感器的每对发射与接受单元计为1个传感器,CCD传感器记为1个传感器);
4)直流电源使用大赛提供的电池;
5)禁止使用DC-DC升压电路为驱动电机以及舵机提供动力;
6)全部电容容量和不得超过2000微法;
电容最高充电电压不得超过25伏。
赛道基本参数(不包括拐弯点数目、位置以及整体布局)
1)赛道路面用专用白色基板制作,在分赛区以及决赛区进行初赛阶段时,跑道所占面积不大于5000mm*7000mm,跑道宽度不小于600mm;
决赛阶段时跑道面积可以增大。
赛道路面制作材料型号会在网站给出。
2)跑道表面为白色,中心有连续黑线作为引导线,黑线宽25mm;
3)跑道最小曲率半径不小于500mm;
4)跑道可以交叉,交叉角为90°
;
5)赛道直线部分可以有坡度在15度之内的坡面道路,包括上坡与下坡道路。
6)赛道有一个长为1000mm的出发区,如下图所示,计时起始点两边分别有一个长度100mm黑色计时起始线,赛车前端通过起始线作为比赛计时开始或者与结束时刻。
2.2赛车系统的设计方案
仔细研究比赛规则和竞赛要求,我们对赛车系统设计的基本策略作出以下分析:
第一,智能车竞赛是基于同一开发平台上设计的赛车进行竞速比赛,因而赛车的速度和稳定性是决定比赛成绩的关键。
在保证赛车稳定行驶的前提下,车速越高,比赛成绩就越好。
因此,在赛车的设计中应该遵循稳中求快的基本原则。
第二,赛车需要实现自主寻迹,因而需要选择合适的寻线传感器。
目前普遍采用的寻线方案主要有光电管寻迹和CCD摄像头寻迹。
光电管通过红外收发管检测接收到的反射光强,以此判断赛道黑线,反应速度快,电路简单。
但是比赛对赛车传感器数量有要求,因而采用光电管寻迹的精度就受到限制,并且光电管寻迹前瞻性较差,容易受干扰;
而CCD摄像头则是通过图像采集,动态拾取路径信息来进行寻线判断。
采用CCD摄像头寻迹则能大幅度提升赛车的前瞻距离,有利于赛车提高车速。
但是它是以实现小车视觉为目的的,数据处理量比较大,算法较为复杂。
经过方案讨论,我们最终选取CCD摄像头作为赛车的寻线传感器。
第三,竞赛车模本身是一个机械系统,赛车的机械性能对于赛车的行驶表现具有很大的影响。
因此,在大赛规则允许的范围内,结合汽车构造和汽车系统动力学的相关理论对赛车运动模型进行分析并对其机械结构和运行参数进行优化和调整。
第四,由于速度是比赛的关键,那么在赛车的设计中应尽可能的减轻系统负载。
在硬件电路的设计过程中,在避免相邻电磁干扰的情况下应尽量考虑将各种芯片放在一起,减少飞线,提高电路稳定性。
2.3系统硬件结构设计
整个系统以MC9S12DG128B为核心,为了能够让系统快速有效的工作,设计了视频采集模块、电源管理模块、电机驱动模块、车速采集模块和单片机处理模块。
同时辅助于一定的机械结构设计,使整个有机的结合在一起,赛车的整体结构如图1-1所示。
视频采集模块是赛车的眼睛,本次比赛赛车采用CCD摄像头作为寻线传感器,利用螺杆将CCD摄像头架设在车体上方,架设高度和镜头角度可以自由调节。
视频采集由S12单片机的AD模块,外围芯片(LM1881)和电路,与摄像头组成。
其功能是获取前方赛道的图像数据,以供S12作进一步分析处理。
赛车系统由额定电压为7.2V的蓄电池进行供电,而赛车各模块需要不同的电压供给,因此需要进行电压调节。
为此设计了电源管理模块,电源模块在智能车控制系统中好比人的心脏,它可以根据不同模块的用电需求,对各模块进行分开独立供电。
直流电机驱动没有采用大赛组委会提供的MC33886型驱动芯片,而是自制了H桥驱动电路,经过测试,不仅能提供较大的驱动电流,同时还可以双向驱动,因此能够使赛车在比赛中加速性能更加优越,制动效果更加理想。
为了能够实时的监控赛车的行驶速度,我们设计了车速测量模块。
采用RPR-220型红外反射式光电传感器作为基本的采集单元,在赛车减速齿轮上贴上自制的带有黑白条纹的码盘,当赛车前进的过程中,传感器检测码盘反射光线,产生类似正弦波形,借助整形电路,将正弦波变成标准的方波。
通过S12单片机的Inputcapture功能模块计算出车速。
单片机处理模块是整个系统开发的重中之重,根据实际的需要,我们主要应用了单片机MC9S12DG128的A/D模块、PWM功能模块、SCI模块、定时器模块和信号输入捕捉模块。
其中采用S12的A/D模块采集来自摄像头的信号,PWM模块产生PWM信号控制前轮舵机转向和电机的转速,定时器模块主要用来产生实时中断,对整个系统的信息进行实时监控处理,SCI模块用于人机交互、信号输入捕捉模块主要用来采集车速信号,对车速进行计算。
单片机采用C语言为基本的工具进行开发,对于各个功能模块的底层开发以单片机的说明书为指导进行。
赛车系统的硬件结构参数如下表:
表2.1模型车技术参数统计:
项目
参数
路径检测方法(赛题组)
摄像头组
车模几何尺寸(长、宽、高)(毫米)
279×
162×
240
车模轴距/轮距(毫米)
202/137/139
车模平均电流(匀速行驶)(毫安)
5000
电路电容总量(微法)
1.022
传感器种类及个数
7
新增加伺服电机个数
2
赛道信息检测空间精度(毫米)
赛道信息检测频率(次/秒)
60
主要集成电路种类/数量
核心板/1
车模重量(带有电池)(千克)
1.2
2.4系统软件件结构设计
如果说系统硬件对于赛车来说是它的骨架和躯体,那么软件算法就是它的思想。
有了健壮、灵敏的躯体还需要有聪明、智慧的大脑。
所以软件系统对于赛车来说至关重要。
首先,赛车系统通过视频采集模块获取前方赛道的图像数据,同时通过速度测量模块实时获取赛车的速度。
然后利用边缘检测算法从图像数据中提取赛道黑线,求得赛车于黑线位置的偏差,接着采用PID方法对舵机进行反馈控制。
最终赛车根据检测到的速度,结合我们的速度控制策略,对赛车速度不断进行恰当的控制调整,使赛车在符合比赛规则情况下沿赛道快速前进。
三章机械系统的设计与实现
赛车的机械性能对于其行驶表现具有非常重要的影响,任何控制算法和软件程序都需要通过赛车的机械结构来执行和实现。
为使模型车在比赛中发挥出最佳的机械性能,使其直线行驶稳定,入弯转向灵活,结合汽车理论相关知识对赛车的运动特性作出分析,并据此对赛车的底盘结构进行相应的调整和参数优化。
3.1智能小车的整体结构
本次比赛采用了大赛组委会提供的仿真车模,其主要尺寸参数如下:
车长:
316mm
车宽:
172mm
轴距:
204mm
前轮距:
142mm
后轮距(可调):
138mm~148mm
赛车机械系统可分为两大块:
转向机构和驱动装置。
转向机构主要由舵机、转向拉杆、梯形臂和前轮组成。
这四个部分相互连接,形成一个梯形结构。
转向机构的工作原理是:
舵机根据接收到的转向控制信号正向或反向旋转,带动转向拉杆横向移动,转向拉杆通过梯形臂牵动前轮使其绕前轮主销发生旋转,从而实现赛车的转向。
本次比赛车模采用后轮驱动,驱动装置包括直流电机,减速齿轮,差速器和后轮。
后轮转速由直流电机通过减速齿轮来进行调节和控制,差速器主要作用是有效地弥补了左右两个后轮的行程差,使两个后轮都在无滑动状态下过弯。
3.2舵机的安装
舵机是赛车控制中的一个滞后环节,响应速度偏慢,有很大的时间延迟。
舵机的响应速度直接影响到赛车过弯时的转向性能;
响应速度越快,赛车转弯时就越灵敏,车子在不发生侧滑的情况下所能达到过弯车速就越高。
因此,想办法提高舵机的响应速度是提升赛车整个赛段平均车速的一个关键。
实验可知,舵机的响应速度与舵机的工作电压和输出转向传动比密切相关。
单从机械方面考虑,增加转向传动比可以提高舵机的响应速度。
根据大赛规则,舵机不允许改动,但是舵机的连接件和安装位置可以改变。
这就为设法提高舵机输出转向传动比提供了依据。
本文对舵机的外围结构和安装位置进行了研究并作出相应的调整。
具体的做法如图所示,我们改变了舵机的放置方式,把舵机纵向放置并增加舵机个数,使一边的舵机控制一边的转向轮,然后将转向拉杆连接在输出臂的末端。
这样就可以增加输出臂的长度。
增加输出臂的目的在于增大转向拉杆与舵机连接点到舵机轴心之间的距离,相当于增大力臂,及灵敏度。
舵机自身硬件特性决定了在给定电压一定时,空载和负载时舵机转动的角速度ω分别保持定值,而线速度V=ω·
R,正比与舵机输出臂的长度R。
这样一来,在相同的舵机转速条件下(即ω不变),增加舵机的输出臂的长度R可以使转向拉杆移动的线速度得到提高,前轮转向就越快,反应就越敏捷。
显然这样利用舵机的转矩余量可以提高其响应速度,从而提高了整个赛车转向控制的速度。
要改动舵机的安装位置,首先要考虑的是能够实现前轮的正确转向,即前轮转向满足阿克曼原理。
阿克曼原理(Ackermann)是指汽车以低速转弯行驶忽略离心力影响和轮胎侧偏影响的情况下,两轴汽车转向轴的理想内、外轮转角关系满足一定的几何关系,如图3.2所示。
图3.2阿克曼原理示意图
此时各车轮绕同一瞬时中心进行转弯行驶,两转向前轮轴线的延长线交于后轴的延长线上,这一几何关系用公式表示为:
其中K为轮距;
L为轴距。
从上面的公式中我们不难看出,在赛车转弯时,内轮的转角要大于外轮。
基于此,在满足阿克曼原理的前提下将舵机进行了竖直安装。
将舵机整体竖直安装,输出轴中心位置加高20mm,舵机输出臂增长至23mm。
改装后的舵机在增加舵机输出臂的同时使转向拉杆与舵机输出臂基本保持垂直,这样既提高了舵机的响应速度,又保证了舵机的输出力矩。
一举两得。
3.3前轮定位参数的选择
为保证赛车直线行驶稳定、转向轻便灵活并尽可能的减少轮胎磨损,需要对赛车的前轮定位参数进行调整。
赛车的前轮定位参数主要包括:
主销后倾角、主销内倾角、前轮外倾角和前轮前束。
这四个参数反映了前轮、主销和前轴三者之间在车架上的位置关系。
主销后倾是指主销在汽车的纵向平面内有一个向后的倾角。
它使车辆转弯时产生的离心力所形成的力矩方向与车轮偏转方向相反,从而纠正车轮偏转。
因此,主销后倾角越大,车