分享
辽宁工程技术大学.doc
下载文档

ID:3502353

大小:3.26MB

页数:63页

格式:DOC

时间:2024-05-16

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
辽宁 工程技术 大学
第十一届“恩智浦杯”全国大学生 智能汽车竞赛 技 术 报 告 学 校:辽宁工程技术大学 队伍名称:挑战者 参赛队员:徐卿 李川 带队教师:李斌 摘 要 本文介绍了辽宁工程技术大学挑战者队制作的第十一届“恩智浦杯”全国大学生智能汽车竞赛的智能车系统。文中介绍了该系统的软、硬件结构及其开发流程。本文设计的智能车系统以K60微控制器为核心控制单元,通过TSL1401线性CCD检测赛道信息,使用模拟比较器对图像进行硬件二值化,提取黑色引导线,用于赛道识别;通过光电编码器检测模型车的实时速度,使用PID控制算法调节驱动电机的转速和转向舵机的角度,实现了对模型车运动速度和运动方向的闭环控制,并进行了大量硬件与软件测试。测试结果表明,该智能车能够很好地跟随黑色引导线,可以实现对应于不同形状的道路予以相对应的控制策略,可快速稳定的实现整个赛道的行程。 关键字:飞思卡尔智能车 K60 线性CCD PID控制算法 目 录 第一章引 言 5 1.1智能车大赛背景及应用前景 5 1.2概述 5 1.3系统结构图………………………………………………………………………………..6 第二章 智能车机械结构调整与优化………………………………………………………. 6 2.1总体思路 7 2.2智能车前轮定位的调整 7 2.3系统电路板安装…………………………………………………………………………..8 2.4舵机的安装………………………………………………………………………………..9 2.5线性CCD支架的设计安装……………………………………………………………..10 2.6测速模块安装……………………………………………………………………………11 2.7智能车部分结构安装及改造……………………………………………………………13 2.8小结…………………………………………………………………………………….16 第三章硬件系统电路设计与实现 3.1硬件设计方案 17 3.2电源电路设计模块 18 3.3 ccd供电电路设计 19 3.4线性ccd的选取和设计 20 3.5单片机供电电路设计 20 3.6电机驱动电路设计 20 3.7编码器供电电路 22 3.8舵机电源电路设计 22 3.9起跑线检测 23 3.10硬件电路部分小结 23 第四章 软件系统设计与实现 23 4.1赛道特征提取及优化处理 24 4.2弯道处理策略分析 25 4.3速度PID闭环控制 26 4.4路径控制策略 28 4.5小结 28 第五章 开发工具、制作、安装、调试过程 29 5.1开发工具 29 5.2调试过程 29 第六章 车模主要技术参数 31 第七章 结论 32 参考文献 33 第一章 引言 1.1智能车大赛背景及应用前景 随着科学技术的不断发展进步,智能控制的应用越来越广泛,几乎渗透到所有领域。智能车技术依托于智能控制,前景广阔且发展迅速。有研究认为智能汽车作为一种全新的汽车概念和汽车产品,在不久的将来会成为汽车生产和汽车市场的主流产品。全国大学生智能汽车竞赛是以智能汽车为研究对象的创意性科技竞赛,是面向全国大学生的一种具有探索性工程实践活动,是教育部倡导的大学生科技竞赛之一。面向大学生的智能汽车竞赛最早始于韩国,在国内,全国大学生“恩智浦杯”智能汽车竞赛已经举办了十一届,得到了各级领导及各高校师生的高度评价。该竞赛以“立足培养,重在参与,鼓励探索,追求卓越”为指导思想,旨在促进高等学校素质教育,培养大学生的综合知识运用能力、基本工程实践能力和创新意识,激发大学生从事科学研究与探索的兴趣和潜能,倡导理论联系实际、求真务实的学风和团队协作的人文精神,为优秀人才的脱颖而出创造条件。大赛为智能车领域培养了大量后备人才,为大学生提供了一个充分展示想象力和创造力的舞台,吸引着越来越多来自不同专业的大学生参与其中。 1.2概述 在本次比赛中,本组使用大赛组委会统一提供的竞赛车模,采用飞思卡尔16 位微控制器K60作为核心控制单元,自主构思控制方案及系统设计,包括传感器信号采集处理、控制算法及执行、动力电机驱动、舵机控制等,最终实现一套能够自主识别路线,并且可以实时输出车体状态的智能车控制硬件系统。 在制作小车的过程中,我们对小车的整体构架进行了深入的研究,分别在机械机构、硬件和软件上都进行过更进,硬件上主要是考虑并实践各种传感器的布局,改进驱动电路,软件上先后进行了几次大改,最终研究出一套实际可行的办法。 本文先从总体上介绍了智能车的设计思想和方案选择,然后分别从机械、硬件、软件等方面的设计进行论述,重点介绍了硬件电路的设计和路径识别的算法,接着描述了智能车的制作及调试过程,其中包含我们在制作和调试过程中遇到的问题及其解决方法,并列出了模型车的主要技术参数。 1.3系统结构图 图1-1系统结构图 第二章 智能车机械结构调整与优化 在小车的调试初期,由于速度较低,机械结构对小车的影响不是很明显,但当小车速度有了较大提高之后,机械性能对小车的影响越来越大,所以我们又重新调整了机械机构。根据本届赛道的特点,我们采用了低重心紧凑型的设计方案,并架高舵机以提高响应速度;各系统模块设计成面积较小方形电路板。同时固定线性CCD传感器的材料我们采用了质量较小,强度较大的碳纤维管。其整车布局如图2-1所示。 图2-1 车模整体结构 2.1总体思路 对于车模的机械调整,我们的入手方面为: (1) 整车重量:由于大赛使用统一的电池和电动机及传动齿轮,并不允许使用升压电路对电机进行升压,故车模的输出功率是一定的,这也意味着更轻的车模质量将使车模拥有更为优良的加减速性能,不仅如此,车模的转向灵活性也会有较大的提高,所以,我们采用了碳素杆作为摄像头支架,并拆除了车体上一些不必要的部件以减少车体重量。 (2) 重心位置:由于小车是以较高速度运行的,在过弯时,必然会有较大的离心力,而重心过高将会引起小车的侧翻。并且重心不在车体的几何中心会造成车体在较高速度下行进的不稳定,所以,在设计板子时尽量使板体左右重量对称。 (3) 传动装置:由于C车模使用的是电子差速,差速效果由后轮两个电机的出力决定,差速效果最终由算法决定。 (4) 车体响应速度:由于舵机输出的力矩是一定的,故力臂越长转向线速度越快,但输出力会大大减少,所以增长力臂的时候会在一定程度上增加转角速度,但可能会因摩擦力太大而打不动角。并且,我们在测试中发现,过长的舵机臂会限制导向轮的打角幅度,进而可能导致一些弯道无法转过,故舵机杆我们选取了一个恰当的值。 2.2智能车前轮定位的调整 (1) 主销内倾:主销内倾的调整应该保持在一个合适的范围,“一般来说0~8度范围内皆可”。在实际的调整中,只要将角度调整为5度左右就会对于过弯性能有明显的改善。如果赛道比较滑,可以将这个角度再调节的大一些。在实际制作中,这个角度调节为8度左右。主销内倾角调节示意图如图2-2所示: 图2-2 主销内倾角调节示意图 (2) 后轮前束:由于本届比赛B车模倒向运行,导向轮位于车体后方,故机械特性有所变化,但总体上仍然符合该原理。调节合适的前轮前束在转向时有利过弯,还能提高减速性。将前轮前束调节成明显的内八字,运动阻力加大,提高减速性能。由于阻力比不调节前束时增大,所以直线加速会变慢。智能车采用稳定速度策略或者采用在直道高速弯道慢速的策略时,应该调节不同的前束。后一种策略可以适当加大前束。根据我们小车的实际情况,我们选择了较小的前束。前轮角调节示意图如图2-3所示: 图2-3前轮角调节示意图 (3) 主销前倾:由于车模倒向运行,动力前置,转向特性与以往相反,采用主销前倾可以增加汽车直线行驶时的稳定性和在转向后使导向轮自动回正。由于主销后倾,主销(即转向轴线)与地面的交点位于车轮接地点的前面。这时,车轮因受到地面的阻力,总是被主销拖着前进。这样,就能保持行驶方向的稳定。当汽车转弯时,由于离心力的作用,地面对车轮的侧向反力作用在主销的后面,使车轮有自动回正的趋势。 主销后倾角越大,方向稳定性越好,自动回正作用也越强,但转向越沉重。实际汽车主销后倾角一般不超过30,由前悬架在车架上的安装位置来保证。本车模的实际主销后倾角大概在15-20度左右。由于智能车行驶的速度较低,可以适当减小主销后倾角。下方与车体连接孔的高度调节可以在一定范围内调整主销后倾角。主销前倾角调节示意图如图2-4所示:经调整后的导向轮效果如图2-5所示。 图2-4 主销前倾角调节示意图 图2-5 车模导向轮调节效果 2.3系统电路板安装 我们将系统做成一个手焊板上,划分为功率驱动电路区域,数字电路区域和模拟稳压部分。之前我们将电路板安装在电池的上方,结果发现在小车在以较高速度过急弯的时候非常容易侧翻,在用三线法测量小车的重心的时候发现小车的重心位于车体底盘中心上方5.5cm处,属于较高的车模重心。后来在设计PCB的时候确定了狭长的PCB形状,在不改变摄像头位置的情况下将主电路板填充于电池与线性CCD架之间,这种做法大大降低了小车的重心,在经三线法测量后小车重心降低了将近2cm,并在后来的测试中显示了更好的过弯性能,在各种道型上都较以前的稳定性有所提高。电路板安装如图2-6。 图2-6 主电路板的安装 2.4舵机的安装 舵机以前安装位置位于车体的中心,如图2-8所示,这种安装方式会大大减少小车本来就狭小的车体空间并且其安装高度太低,在这种长度的力臂下舵机输出的力将远远大于小车转向时所需要的力从而造成了舵机力量输出的浪费。而我们知道,力矩等于力乘以力臂长度,即: M=L×F 其中M为力矩,L为力臂长度,F为力。由此可知,当力矩一定时,力臂越短,输出力越小,相反的,力臂越长,输出力越大,而舵机恰好是一个恒力矩输出的装置,并且车模标配的SD-5舵机在5.5V供电时响应速度为0.14sec/60。。由于舵机输出角速度恒定不变,故力臂越长的话其臂端的线速度就越大,则车模的转向速度就越大,但同时也会带来一个问题,就是转向力量变小,甚至可能导致小车在转向时不能提供足够的力进行转向。所以反应速度与输出力之间是一个二次函数关系,该二次函数开口向下,存在着一个极值点,该点两坐标即为力与速度相平衡的最大值。在对舵机力臂进行适当加长时舵机臂的活动范围将会由于车模机械特性上的限制而减小,这就导致了舵机控制上的不连续,进而导致转向时不平滑。不但如此,当舵机臂加长时,由于臂端运行轨迹为圆弧,在水平方向上分解时越远离中心线的部分需要更大的打角才能产生相同的水平位移,故会造成舵机打角与转角间的非线性,增加系统的控制难度。所以在经过一系列的计算与权衡之后,我们选择了2.8cm长度的舵机臂长。舵机安装如图2-7。 图2-7 舵机的安装 图2-8 车模原有舵机安装方式 在确定了舵机的安装方式和摆臂的长度后,我们发现,本来想要刻意设计成的阿克曼转角由这种方式巧妙地达成了。为了确保使得车子在行驶过程中转弯的时候不发生侧滑,在近代造车工艺中才产生了阿克曼角,阿克曼角如图2-8示。 图2-9 阿克曼转角 2.5线性CCD支架的设计安装 为了保持车体寻迹具有较好的前瞻性,并且固定方法简单、轻巧并具有一定的刚度,我们最终选择了直径1cm碳纤维管,把线性CCD放在了车体较前的位置,撑出高度340mm,兼顾了线性CCD的高度要求与整车的重心高度要求,图2-10和图2-11为CCD传感器支架的安装实物图。 图2-10 CCD杆与底座的连接 图2-11 线性CCD的连接 2.6测速模块安装 速度传感器一般可以选择对射式光栅或光电编码器。对射式光栅的重量相对较轻,阻力也相当的小,但由于整个装置暴露在外界空气中,容易受到外界光线或粉尘的影响;并且一般外置式的光电码盘分割条数有限,返回线数较少,可能会造成计速不准确,而编码器就不存在此类问题。编码器的安装方式如图2-12所示: 图2-12 编码器的安装方式 所以测速模块我们采用的是欧姆龙单相500线增量式旋转编码器,通过编码器对电机转速的测定我们可以知道车模在某个时刻的速度,从而通过软件调整差值,使车模的速度达到我们想要的效果,让车模电机运转处于我们所要求的理想状态,从而形成一个速度闭环控制系统,我们使用了测速编码器去测量脉冲数,就可以得到当前电机的转速。 2.7智能车部分结构安装及改造 2.7.1轮胎的选用 规则中不允许对轮胎进行任何改变轮胎性能的处理,因此在调试过程中,我们尽量选择对称、圆的轮胎,对不规则的轮胎进行适度的打磨;尽量减少调试时间和调试次数;在不调试的时间里尽量避免四轮与地面接触,保证轮胎的形状不发生改变。 2.7.2重心高度的调整 重心的高度是影响智能车稳定性的因素之一。当重心高度偏高时,智能车在转弯过程中会发生后轮抬起,即‘抬脚’现象,严重时甚至翻车。本队重心高度的调节主要从以下方面着手: 一、车底盘高度调整:合理的底盘刚度和底盘高度调节会提高智能车的加速性能。智能车的重心应该越低越好,降低地盘时实现重心下降的较为直接的方式。应注意到底盘高度的调节是将智能车的其他性能提高以后间接的帮助加速性能提高。但是由于赛道中坡道的限制,底盘的高度在低于5mm时将会冲撞坡道,并不使地盘受到不必要的磨损和震荡,剧烈的冲击甚至会撞坏转向机构。因此地盘距离地面高度不能低于5mm。降低底盘的方式可以通过在前桥、后桥处增加垫片来实现 。 二、车体构件高度调整:在智能车改装过程中,我们一直把重心作为考虑因素之一。使重量的分布尽量靠近底盘。此外更小体积的电路板可以恰好镶嵌在底盘其他构件的空隙之中。 三、紧固螺丝:在智能车对于紧固程度要求不高的地方,如电路板固定螺丝,传感器定位螺丝等,采用尼龙材质的螺丝;在车底盘等高度较低的地方采用模型车原配螺丝;在安装外设的时候,尽量采用规格合适的螺丝钉。这样不仅可以降低整车重量,而且可以使重心高度尽量降低。 2.8小结 小车的性能与机械结构有着非常密切的联系。良好的机械结构是小车提高速度的关键。在同等的控制环境下,机械机构的好坏对其速度的影响十分显著。我们非常重视对小车机械结构的改进,经过大量的理论研究和实践,我们将线性CCD杆安装在车模的前半部分,以达到合适的前瞻;为了较好的调节四轮质量分布,在搭小车的过程中,我们尽量对称安装各部件,每一个环节都是建立在合理的四轮定位基础之上;为了使转向力与速度平衡,转向舵机采用立式安装方式。电池尽量安装在靠近底盘处,由于模型车的自身特点,模型车底盘可利用空间很小,硬件组成员改进了电路板形状,使电路板和模型车的底盘形成了完美契合。 第三章硬件系统电路设计与实现 3.1硬件设计方案 在硬件电路设计时我们遵循了可靠,紧凑,可扩展的原则。其中可靠性是硬件设计中的重中之重,小车的功能实现完全是建立在硬件电路稳定发挥作用的基础之上的,在设计中我们充分考虑了EMC,尽量避免在主控电路下走高速信号,在对单片机供电的电路中使用了二级稳压的方法,以增强其稳定性。 紧凑是指在设计当中尽量使其能够适应在小车的底盘指定区域的安装,为了充分利用双层板的布局空间,我们把元件布在了板的两面以有更多的空间去考虑EMC设计规则,并尽量减小元器件的使用数量,对元器件布局进行合理安排。 系统硬件电路主要由以下几个部分构成: 1)K60最小系统:龙邱K60; 2)电源电路:包括5v稳压电路、3V3稳压电路 3)赛道检测电路:采用TSL1401线性CCD传感器; 4)电机驱动电路:电机驱动采用全桥驱动; 5)舵机驱动电路:由于使用的电池是7.2v,不能直接适用于舵机,所以需要对舵机外加稳压电路; 6)车速检测电路:增量式旋转编码器。 3.2电源电路设计模块 电源模块的设计包括:传感器供电模块、单片机供电模块、驱动电机供电模块以及其它的外围辅助模块等。设计中我们注意了电源转换效率、噪声、干扰等。保证系统硬件电路可靠运行。 首先了解一下不同电源的特点,电源分为开关电源和线性电源,线性电源的电压反馈电路是工作在线性状态,开关电源是指用于电压调整的管子工作在饱和和截至区即开关状态的。线性电源一般是将输出电压取样然后与参考电压送入比较电压放大器,此电压放大器的输出作为电压调整管的输入,用以控制调整管使其结电压随输入的变化而变化,从而调整其输出电压,但开关电源是通过改变调整管的开和关的时间即占空比来改变输出电压的。从其主要特点上看:线性电源技术很成熟,制作成本较低,可以达到很高的稳定度,波纹也很小,而且没有开关电源具有的干扰与噪音,开关电源效率高、损耗小、可以降压也可以升压,但是交流纹波稍大些。 电源模块对于一个控制系统来说极其重要,关系到整个系统是否能够正常工作,因此在设计控制系统时应选好合适的电源模块。整个硬件电路的电源全部由7.2V,2A/h的可充电镍镉电池提供。由于电路中的不同电路模块所需要的工作电压、电流各不相同,因此需要多个稳压电路将电池电压转换成各个模块的所需电压。 3.3 CCD供电电路设计 由于整个系统中+5V电路功耗较小且CCD输出像素信号时为峰峰值很小的正弦波,如图3-3所示,所以极容易受到电源纹波的影响,我们本来打算使用高效率的开关电源稳压芯片LM2576S-5,但为了降低电源纹波,故选择使用串联型稳压电路,如图3-4所示。在实际制作过程中,曾选用过LM2940-5,但当电机启动,小车猛然加速或制动时,会出现小车冲出跑道的情况因为小车程序中加了起跑延时,而在小车冲出跑道后并没有过一段时间再启动,故排除了单片机复位的可能性,我们怀疑是CCD供电问题。于是我们取下了主板上给CCD供电的电源线,将一个4F 5.5V的超级电容充满电之后加在摄像头电源与地之间,由于该电容储电量巨大,所以可供CCD取电相当长的时间。当我们再把用电容供电的CCD小车放在跑道上运行时,就没有出现过冲出跑道的情况。后来我们用示波器检测小车悬空,电机加减速时LM2940的电压变化情况,发现在电机加减速时LM2940将出现将近1V的压降。而ccd在供电电压稍低于5V时就会出现画面有黑色竖条的情况,进而引起小车的误判,从而冲出跑道。之后我们将LM2940换为了TI公司的一款LDO,TPS76850,该芯片拥有超快的反应速度,能在输入端电压变化剧烈时保持输出电压不变,经我们示波器实际观测在电池电压剧烈波动时其输出电压毫无波动,后来确定最终使用该稳压芯片。CCD供电线路图如图3-1所示: 图3-1 CCD供电电路图 3.4线性ccd的选取和设计 ccd是智能小车系统信息提取关键,其信息输出信息的好坏将首先决定小车的性能。因此ccd的选取必须慎重,既要保证图像质量好,满足后续处理和赛道识别的要求,又要考虑到单片机采集和处理的能力。对于单片机来说,ccd分辨率不是越高越好。因为这样只会徒增单片机的负担。 ccd由镜头、图像传感芯片和外围电路构成。而图像传感芯片是摄像头最重要的部分。线性ccd TSL1401如图3-2所示: 图3-2 TSL1401 3.5单片机供电电路设计 对于整个车来说,单片机是最核心的东西了,就像是一个人的大脑一样,所以对于单片机的稳压电源莫过于是最重要的了,我们在开始的时候产用了7805,5v稳压芯片,但由于该芯片不太稳定,电流较小,而且单片机对稳压芯片要求非常严格,经过试验我们还是采用了与ccd一样的稳压芯片tps76850来给单片机进行供电。单片机供电电路如图3-3所示: 图3-3 单片机供电电路 3.6电机驱动电路设计 电机驱动电路对于竞速赛事的重要性是不言而喻的,一个好的加速与制动能力对小车整体速度的提升有着至关重要的作用。电机转速与电压成正比,转矩与电流成正比。一般直流电机调速多采用PWM技术,通过控制方波的占空比来控制加在电机两端的电压,进而控制电机的转速。 我们最初使用的是IGBT,MOSFET驱动专用光耦TLP250与IRF3205搭建H桥来进行对RS540电机的驱动,如图3-7。由于IRF3205有着较低的漏源电阻,故我们认为驱动性能将会很好。但在后来的测试中发现该电路在输入PWM高于5KHz时需要50%以上的占空比才能使电机转动,但在低频时PWM波将会使电机产生较为强烈的震动,故后来放弃了这种方案。之后我们选用了Infineon公司的半桥驱动器BTN7971B,该款半桥芯片在25℃时集成的PMOS与NMOS导通内阻分别为7毫欧与9毫欧,并且拥有着70A的电流上限,所以驱动能力较为强劲。并且没有出现高频PWM驱动不了的情况,比以前有效的减小了电机的震动。虽然BTN7971B驱动能力很好,但我们为了进一步减小内阻与芯片的发热量,采用了4片搭建两个并联的H桥的形式组成电路。如图3-4。 图3-4 电机驱动电路 3.7编码器供电电路 本系统中编码器部分需要5v电压供电,我们选用LM2940稳压芯片。 LM2940是一个低压差稳压器,旨在提供一个典型的500mV的压差电流高达1A的输出电压最大1V。它能够减少接地电流时的输入电压和输出电压之间的差,LM2940提供低静态电流,只有当稳压器在漏失模式(VIN-VOUT≤3V)下才存在较高的静态电流,但由于我们觉得tps76850有较高的稳定性,所以最终我们选用tps76850稳压芯片。编码器供电电路如图3-5所示: 图3-5 编码器供电电路 3.8舵机电源电路设计 舵机电源是5.5v,我们选用LM2576-adj,它是输出电压可调型,其技术参数为:输入电压3.5V-40V,输出电压1.23-37V,输出电流3A,具有热关闭和限流保护功能。由于小车有两个舵机需要用该芯片供电。舵机供电电路如图3-6: 图3-6 舵机供电电路 3.9起跑线检测 图3-7起跑线检测电路 3.10硬件电路部分小结 硬件部分是小车的基础,只有硬件电路功能完好,稳定,才能使小车系统正常工作。其中,供电部分是重点,能够为各个传感器及单片机提供稳定电源,为后续软件运行及调试打下坚实基础。在电路设计中将所有器件集中于一块电路板上,避免了使用导线或杜邦线进行各个部分之间的电气连接,从而减小了因导线接触不良或杜邦线接口松动造成的系统不稳定。 第四章 软件系统设计与实现 高效的软件程序是智能车高速平稳自动寻线的基础。我们设计的智能车系统采用CCD进行赛道识别,图像采集及校正处理就成了整个软件的核心内容。在智能车的转向和速度控制方面,我们使用了经典PID控制算法,配合使用理论计算和实际参数补偿的办法,使智能车能够稳定快速寻线。 主要流程图: 系统供电 图像采集 图像处理 判断有效性 否 舵机打角计算 是 电机转速计算 速度反馈 结束 图4-1 系统软件流程图 4.1赛道特征提取及优化处理 在进行图像的二值化之后,即开始对赛道的特征即黑线进行提取,由于引导黑线在赛道两边,也就是说边线将更难以检测,而且在转弯的时候更容易出现丟线的情况。由于小车在正常行驶时基本位于赛道的中心所以黑线不会出现在小车视野的中心,故我们在检测引导黑线的时候从图像的中心向两边进行扫描,在检测左边线的时候,从最下面的一行开始向左边逐个点进行判断在检测到黑点后再向左检测两个点,若仍然为黑点,则认为该黑点有效,黑线位置判定准确,再向上扫描的时候,从上一行检测到黑点的地方向右5个点处再向左扫描。因为赛道是连续的不会出现突变,以这种方法进行检测可大大减少单片机处理时间并降低错误概率,并且不会误把起跑线识别为边线,该方法称为边缘跟踪算法。在提取黑线后,取两边黑线的平均值,提取出中线。 在得到正确灰度图像后,二值化程度的关键就在阀值的设定。所说的阈值就是将灰度或彩色图像转换为高对比度的黑白图像,比阈值亮的像素转换为白色;而比阈值暗的像素转换为黑色。 4.2弯道处理策略分析 在车辆进弯时,需要对三个参数进行设定:切弯路径、转向角度、入弯速度。 其中,切弯路径主要决定了车辆是选择内道过弯还是外道过弯。切内道,路经最短,但是如果地面附着系数过小会导致车辆出现侧滑的不稳定行驶状态,原因是切内道时,曲率半径过小,同时速度又很快,所以模型车需要的向心力会很大,而赛道本身是平面结构,向心力将全部由来自地面的摩擦力提供,因此赛道表面的附着系数将对赛车的运行状态有很大影响。切外道,路径会略长,但是有更多的调整机会,同时曲率半径的增加会使得模型车可以拥有更高的过弯速度。 转向角度决定了车辆过弯的稳定性。合适的转向角度会减少车辆在转弯时的调整,不仅路径可以保证最优,运动状态的稳定也会带来效率的提高,减少时间。在考虑转向角度设置时需要注意以下几个问题:对于检测赛道偏移量的传感器而言,在增量较小时的转向灵敏度;检测到较大弯道时的转向灵敏度;对于类似 S 弯的变向连续弯道的处理。 对于入弯速度的分析,应该综合考虑路径和转向角度的影响。简单而言,我们会采取入弯减速,出弯加速的方案,这样理论上可以减少过弯时耗费的时间。然而,在过去几届比赛中,通过观察各参赛车对弯道的处理后,我们发现并不是所有人都选择了相同的方案。正如前面说到的那样,不联系路径和转向角度,只是单纯地分析过弯速度,会造成思路的局限甚至错误。例如,在不能及时判断入弯和出弯的标志点就采取“入弯减速、出弯加速”的方案,会出现弯道内行驶状态不稳定、路径差,同时出弯加速时机过晚,一样会浪费时间。所以现在本系统参考实际驾驶时的一些经验,对过弯速度的处理方式确定为:入弯时急减速,以得到足够的调整时间,获得正确的转向角度;在弯道内适当提速,并保持角度不变,为出弯时的加速节约时间;出弯时,先准确判断标志,然后加速,虽然会耗费一些时间,但是面对连续变向弯道可以减少判断出错的概率,保证行驶状态的稳定性,而且弯道内的有限加速对后面的提速也有很大的帮助。综合考虑用可以接收的额外时间换回行驶稳定性还是值得的。 4.3速度PID闭环控制 图4-2 PID控制工作原理 PID控制策略其结构简单,稳定性好,可靠性高,并且易于实现。其缺点在于控制器的参数整定相当繁琐,需要很强的工程经验。相对于其他的控制方式,在成熟性和可操作性上都有着很大的优势。所以最后我们选择了PID的控制方式。 在小车跑动中,因为不需要考虑小车之前走过的路线,所以,我们舍弃了I控制,将小车舵机的PID控制简化成PD控制。 本方案中舵机转角控制采用位置式的PD控制,速度闭环控制采用了增量式PID控制。在本方案中,使用试凑法来确定控制器的比例、积分和微分参数。 试凑法是通过闭环试验,观察系统响应曲线,根据各控制参数对系统响应的大致影响,反复试凑参数,以达到满意的响应,最后确定PID控制参数。试凑不是盲目的,而是在控制理论指导下进行的。 在控制理论中已获得如下定性知识: 比例调节(P)作用:是按比例反应系统的偏差,系统一旦出现了偏差,比例调节立即产生调节作用用以减少偏差。比例作用大,可以加快调节,减少误差,但是过大的比例,使系统的稳定性下降,甚至造成系统的不稳定。 积分调节(I)作用:是使系统消除稳态误差,提高无差度。因为有误差,积分调节就进行,直至无差,积分调节停止,积分调节输出一常值。积分作用的强弱取决与积分时间常数Ti,Ti越小,积分作用就越强。反之Ti大则积分作用弱,加入积分调节可使系统稳定性下降,动态响应变慢。积分作用常与另两种调节规律结合,组成PI调节器或PID调节器。 微分调节(D)作用:微分作用反映系统偏差信号的变化率,具有预见性,能预见偏差变化的趋势,因此能产生超前的控制作用,在偏差还没有形成之前,已被微分调节作用消除。因此,可以改善系统的动态性能。在微分时间选择合适情况下,可以减少超调,减少调节时间。微分作用对噪声干扰有放大作用,因此过强的加微分调节,对系统抗干扰不利。此外,微分反应的是变化率,而当输入没有变化时,微分作用输出为零。微分作用不能单独使用,需要与另外两种调节规律相结合,组成PD或PID控制器。 试凑法的具体实施过程为: 1、整定比例部分,将比例系数由小变大,并观察相应的系统响应,直至得到反应快、超调小的响应曲线。如果系统静差小到允许范围,响应曲线已属满意,那么只需比例控制即可,由此确定比例系数。 2、如果在比例控制基础上系统静差不能满足设计要求,则加入积分环节,整定时首先置积分时间为很大值,并将经第一步整定得到的比例系数略微缩小(如缩小为原值的0.8),然后减小积分时间,使得在保持系统良好动态的情况下,静差得到消除,在此过程中,可根据响应曲线的好坏反复改变比例系数和积分时间,以期得到满意的控制过程,得到整定参数。 3、若使用比例积分控制消除了静差,但动态过程经反复调整仍不能满意,则可加微分环节,构成比例、积分、微分控制器。在整定时,先置微分时间为零,在第二步整定基础上增大,同样地相应改变比例系数和微分时间,逐步试凑以获得满意的调节效果和控制参数。 4.4路径控制策略 由于CCD的前瞻性很好,故采用PD控制,基本的行驶策略是使赛车保持在引 图4-3 大S最优路线图 导线的中心线上,但这只适用于直道,对于普通弯道与大S弯道,如果不改变策略,肯定会影响全程时间,所以根据不同道路曲率调整舵机的参数,选取最优路线以减少路程,路线如图4.3所示,实线为实际道路,虚线为选取的行驶路线。 对小S弯道可按直道处理, 便可提速节省时间,路线如图4-4所示。 图4-4 小S最优路径 4.5小结 智能车中机械和硬件是基础,而算法程序就是小车的灵魂,因此软件系统的设计起着至关重要的作用,在小车的调试过程中我们曾几度修改过小车的循迹与控制算法,但最后发现还是经典的PID控制算法更适合我们的小车调试,所以后来我们保留了最基本最经典的控制算法。 第五章 开发工具、制作、安装、调试过程 5.1开发工具 程序的开发是在组委会提供的CodeWarrior 下进行的,包括源程序的编写、编译和链接,并最终生成可执行文件。 包括集成开发环境、处理器专家库、全芯片仿真、可视化参数显示工具、项目工程管理器、C交叉编译器、汇编器、链接器以及调试器。 5.2调试过程 通过组委会提供的CodeWarrior 编译软件的在线调试功能,可以得到大量的信息,为智能汽车的调试提供了很大的帮助。 在智能汽车的调试过程中,有针对性的开发一个便于人机交互的上位机系统,通过简单明了的可视化界面直观的显示智能汽车的状态对调试有很大帮助。我们开发了用于监测智能汽车实时状态的实时监测系统,大大提高了调试效率。智能汽车通过无线模块与实时监测系统进行通讯。通过该系统,我们可以实时了解到智能汽车的实际行驶路线,并且能够监测智能汽车在行驶过程中转角、传感器状态及速度等相关信息。实时监测系统还有一些其他辅助功能,为智能汽车调试过程提供了大量有用的信息。智能汽车实时监测系统用C#开发完成。该系统通过PC机串口与无线模块连接。上位机软件随着智能汽车调试进度做了很多版本。从一开始只能接收并处理一些简单的信息到最后可以完整的画出赛道图,我们的上位机软件有了很大的进步。最终形成了比较成熟的版本。实时监测系统主界面如图5.1所示: 图5-1智能车调试工具和 在该版本监控系统中,我们不仅可以监控智能汽车行驶过程中的状态,并且可以保存一些重要信息,比如各种特殊道路上传感器的状态,速度及赛车路径图等。通过该系统,我们可以综合智能汽车实际行驶中的信息,分析得出最优控制策略,进而得到最优控制策略。 车模主要技术参数 表6.1 模型车技术参数统计表 项目 参数 车模几何尺寸(长、宽、高)(毫米) 270×185×285 车模轴距/轮距(毫米) 164 车模平均电流(匀速行驶)(毫安) 1800 电路电容总量(微法) 1739 传感器种类及个数 CCD2个,500线编码器2个 新增加伺服电机个数 0 赛道信息检测空间精度(毫米) 10 赛道信息检测频率(次/秒) 33 除K60之外其它主要芯片 TPS76850, LM2576 车模重量(带有电池)(千克) 1.2 第七章 结论 我们从认识智能车比赛,到参与到其中,组装机械,焊接电路,编写程序再到参加比赛,经过了将近大半年的时间,在此期间,我们从对只能车的模糊认识,再到让小车以令人满意的速度跑起来,进行了了大量的摸索与探究,其间,有令人欢欣鼓舞的突破,也有令人绝望心碎的瓶颈,但我们都没有放弃对智能车速度与稳定性提升的追求。对专业知识的掌握程度还不够,考虑的问题也不够全面,小车中的一些问题没有得到圆满解决,但我们也没有让那通宵达旦调车的日日夜夜的努力白费,小车在东北赛区也没有表现得让人失望,在即将来临的大赛前我们依然有足够的信心相信小车仍然表现得不会令人失望。 参考文献 [1] 卓晴,黄开胜,邵贝贝等.学做智能车——挑战“飞思卡尔”杯[C].北京:北京航空航天大学出版社,2007. [2] 尹念东. 智能车辆的研究及前景[J].上海汽车 技术导向,1994. 2008. [3] 邵贝贝.单片机嵌入式应用的在线开发方法[M].北京:清华大学出版社,2004. [4] 余星毅,徐斌,余春贤,谭兴闻.吉林大学爱德2队技术报告. [5] Codewarrior使用指南. [6] 程学庆.LabVIEW图形化编程与实例应用[M]. 北京:中国铁道出版社,2005.5.1. [7] 吴铭鸿,叶增软,陈求兴.厦门大学至善队技术报告. [8] 齐鹏远,易筱,王洪阳.北京科技大学光电队技术报告. 附录:源程序代码 #include "FunctionLink.h" struct Pid { float SetSpeed; //设置速度 signed int Error; //误差 signed int ErrorLast; //前一个误差 float Kp,Ki,Kd; //P I D signed int Integrel; //积分值 unsigned int Voltage; //定义电压值 unsigned int ActualSpeed; //实际速度 unsigned int ActualAngle; //实际角度 unsig

此文档下载收益归作者所有

下载文档
收起
展开