嵌入先锋技术报告 - 图文

更新时间:2024-04-16 06:12:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第四届“飞思卡尔”杯全国大学生

智能汽车竞赛

技 术 报 告

学 校: 队伍名称: 参赛队员: 带队教师: 五邑大学 嵌入先锋 刘南昌 杨朝跃 方俊强

李烨

关于技术报告和研究论文使用授权的说明

本人完全了解第四届“飞思卡尔”杯全国大学生智能汽车邀请赛关保留、使

用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。

参赛队员签名: 带队教师签名:

日 期:

1

目录

第一章 引言 .................................................................................................................... 1

1.1 概述 ................................................................................................................... 1 1.2 小车设计思路 ..................................................................................................... 1 1.3 本文结构 ............................................................................................................ 2 第二章 硬件电路设计 ...................................................................................................... 3

2.1电源电路设计 ...................................................................................................... 3

2.1.1CMOS摄像头供电 ...................................................................................... 3 2.1.2 舵机供电................................................................................................... 4 2.1.3其他电路模块供电 ..................................................................................... 5 2.2视频信号采集电路 ............................................................................................... 5

2.2.1视频信号分离电路 ..................................................................................... 5 2.3电机驱动电路 ...................................................................................................... 6

2.3.1MC33886电路连接 ..................................................................................... 6

2.3.2MC33886的散热设计 .................................................................................. 7 2.4主控制系统.......................................................................................................... 7 2.5本章小结 ............................................................................................................. 8 第三章 机械结构设计 ...................................................................................................... 9

3.1差速器的调节 ...................................................................................................... 9

3.2传动齿轮的调节................................................................................................. 10 3.3舵机的安装........................................................................................................ 10 3.4摄像头的安装 .................................................................................................... 10

3.4.1摄像头支架的安装 ................................................................................... 10 3.4.2CMOS摄像头视野的调整.......................................................................... 11 3.5光电编码器安装................................................................................................. 11 3.6其它部件的调节................................................................................................. 13 3.7本章小结 ........................................................................................................... 13 第四章 软件设计 ........................................................................................................... 14

4.1视频信号采集 .................................................................................................... 14

4.1.1图像采集电路图 ....................................................................................... 15

4.1.2图像采集原理 .......................................................................................... 17 4.2图像处理 ........................................................................................................... 19

4.2.1黑线提取方法 .......................................................................................... 19 4.2.2路径识别 ................................................................................................. 20 4.2.3起跑线的检测 .......................................................................................... 22 4.3控制策略 ........................................................................................................... 22

4.3.1经典PID控制算法介绍 ............................................................................ 22

4.3.2 单神经元PID速度控制器仿真 ............................................................... 24

第五章 开发与调试........................................................................................................ 28

1

5.1软件开发环境 .................................................................................................... 28

5.1.1 BDM调试器的使用.................................................................................. 32 5.1.2 BDM常见问题解决办法........................................................................... 34 5.1.3 烧写程序................................................................................................. 36 5.3电视机辅助调试................................................................................................. 37

5.3.1KT板辅助调试 ......................................................................................... 37 5.4遥控防撞 ........................................................................................................... 38

5.4.1调试环境 ................................................................................................. 40 第6章 比赛规则及赛场应赛策略................................................................................... 41

6.1 赛前60分钟调整 .............................................................................................. 41

6.2正确的比赛策略................................................................................................. 41 第7章 总结 .................................................................................................................. 44

7.1 本系统的所具有的特点.................................................................................. 44

7.2 本系统存在的问题......................................................................................... 44 7.3 本系统可行的改进措施.................................................................................. 44 参考文献 ....................................................................................................................... 46 附录 .............................................................................................................................. 47

2

第四届全国大学生智能汽车竞赛技术报告

第一章 引言

1.1 概述

“飞思卡尔杯”全国大学生智能汽车竞赛为在校大学生提供了一次难得的课外实践机会。在将近4个月的备赛过程中,我们从零起步,一步一个脚印的走过来;在数十次的试验和尝试过程中,我们从头摸起,如今建立起了一套科学合理的试验和研究方法,培养了迅速行动的良好习惯和大胆创新的开拓精神,为今后的工作和学习打下了坚实的基础;在无数次的各种交流和学习后,我们深刻认识到了努力学习、大胆交流和团结协作的重要性。

在整个备赛过程中,随着对小车各种性能要求认识的提高,我们的设计理念也随着不断的得到了更新。现在我们认识到,稳定的电路是小车运行的基本保证,优良的机械性能是小车快速稳定运行的有力保证,良好的控制算法能充分发挥硬件电路和机械性能的优势,再加上一定的应赛策略就能在比赛中取得好成绩。

基于以上的重要认识,在小车的制作过程中我们始终把硬件电路设计、机械调节与安装以及控制算法优化三个方面摆在同等重要的位置,同时入手,一齐改进,单把某个或两个方面作为重点来突破都无法取得满意的效果。

1.2 小车设计思路

小车整体在设计的过程中始终坚持稳定、简单、量轻与低重心的原则。 稳定指电路运行和机械安装的稳定。在电路设计过程中精心选用和合理布局元器件、巧妙布线以及有意识地采取一些抗干扰措施等来达到使电路稳定运行的目的。在机械安装上不仅要求各安装部件牢固合理地安装在小车的相应位置上,同时要能保证在日常的调试过程中尽量减少机械磨损和尽量避免因意外碰撞而导致的损坏。

简单指在能满足功能要求的前提下尽量简化电路设计和机械安装设计,以

1

第一章 引言

期达到更小的故障率,更少的能源消耗,更快的可修复性和更高的资源利用率,使得小车稳定、简洁美观。

量轻指通过简化电路设计和机械安装,以及选用合理的器件和部件等措施来减轻小车的重量,以达到减少机械磨损,增加部件寿命,提高机械响应速度和整车的可控性等目的。

低重心指通过合理的机械安装、机械调节和部件选择等措施来降低小车的重心,减小小车侧翻的可能性,提高小车运行的速度上限和可控性。

以上各原则相互配合、相互影响,通过精心设计后使得小车整体达到了比较理想的状态。

1.3 本文结构

全文按照智能车设计思路分为三个部分:硬件电路设计、机械安装与调节和比赛控制策略。第二章为第一部分,具体阐述了硬件电路的设计。第三章为第二部分,主要讲述了机械结构设计,一般汽车理论在智能车机械调节过程中的了应用。第四章为第三部分,讲述软件设计,具体分析了针对赛道的各种控制策略。除此之外,第五章为开发与调试,详细阐述了开发环境的合理利用和各种辅助的调试方法;第六章为总结。

2

第四届全国大学生智能汽车竞赛技术报告

第二章 硬件电路设计

硬件电路是整个小车系统运行的基本,因此小车硬件的设计制作必需仔细考虑,精心设计,最终可以稳定可靠地运行。基于这样的认识与综合小车的结构,合理地设计电路外形,合理的布局与布线,最终的框图如下:

图2.1 小车控制系统框图

拨码开关 测速 电机驱动 MC9S12DG128 控制器 图像采集 舵机 电源(12V、7.2V、6V、5V) 5V 7.2V 5V 12V 5V

2.1电源电路设计

电源是小车系统的心脏,向各个电路模块提供能量,如果电源的任何一个出了小问题,都会使系统无法正常工作,因此供电部分一定要也必须要稳定可靠。考虑到各部分模块需要,我们设计的电源电路能够提供3个5V、1个6V、1个7.2V、1个12V的电压。其中3个5V的电压分别供给单片机、测速、视频分离模块,6V供给舵机,7.2V供给电机驱动,12供给摄像头。 2.1.1CMOS摄像头供电

在此部分,我们采用了升压电路,采用的芯片为MAX761。通过该电路直

3

第二章 硬件电路设计

接把电池的7.2V升压到12V,然后供给摄像头。升压电路如图2.2所示:

图2.2 12V摄像头供电电路

2.1.2 舵机供电

本想直接采用电池电压的7.2V为舵机供电,但实际上每个电池的实际电压却远远不只7.2V,有的甚至达到8点几伏,而且电池电压在整个系统运行的时候会有很大的波动,为了避免产生不必要的问题,我们最终采用6V电压为舵机供电,6V电压是从7.2V的电池电压中稳压下来的,采用的稳压芯片为LM1117。稳压电路如图2.3所示:

图2.3 6V舵机供电电路

4

第四届全国大学生智能汽车竞赛技术报告

2.1.3其他电路模块供电

除了以上两部分供电电路以外,还有单片机,视频分离电路,光电编码器等采用稳压芯片LM2940分别供电,为了减少各部分电路之间的影响与干扰,分别为以上三个模块都单独采用一片LM2940。供电电路如图2.4所示

图2.4 5V供电电路

2.2视频信号采集电路

我们的小车采用黑白CMOS模拟摄像头来采集路况信息。该摄像头重量轻、体积小、易安装是我们选用它的原因之一。 2.2.1视频信号分离电路

视频信号分离采用LM1881视频分离芯片,分离出模拟视频信号的行同步信号和场同步信号,单片机根据这些同步信号来搭建控制时序,完成信号处理和各种控制。如图2.5所示:

5

第二章 硬件电路设计

图2.5 LM1881视频分离电路

2.3电机驱动电路

电机驱动使用了集成驱动芯片MC33886,具有短路保护、欠压保护、过温保护等功能。采用4片全桥并联方式,有效减少了导通电阻。电路设计简单、稳定,有效提高了驱动能力,避免了调试过程中芯片发热严重的现象。 2.3.1MC33886电路连接

采用四片MC33886并联可以减少单片使用发热严重的问题,而且可以提高驱动能力,在试验过程中认识到MC33886并联使用时常常会遇到诸如各芯片发热不均等问题,这主要是不同的芯片之间因静态和动态参数的差异,以及PCB走线长度不相等等因素导致了各芯片分流不均。实际应用中抓住以下两要点就能有效避免不均流的现象:一是使用同一批次的芯片,使芯片之间的各种参数尽量接近;二是PCB走线一致,即使MC33886的导通时间尽量一致。电路如图2.6所示:

6

第四届全国大学生智能汽车竞赛技术报告

图2.6 MC33886驱动电路

2.3.2MC33886的散热设计

参考过以前多支队伍的技术报告,都说MC33886在使用过程发热比较严重,因此设计电路时,MC33886的散热问题不容忽视,由于MC33886的散热片在芯片的底部,所以我们在设计PCB时采用在芯片底部大面积敷铜的方法来散热。

2.4主控制系统

主控制系统相当于大脑,车子的转向,加速减速、识别、判断全都由它来完成。为了减少经费与制作的带来的麻烦,我们直接采用比赛提供的

MC9S12DG128B开发板,我们自己制作了一块电路板,用来把连接单片机与其

它外围电路。

7

第二章 硬件电路设计

2.5本章小结

1.CMOS摄像头供电由12V升压电路。 2.舵机直接采用6V供电。

3.使用LM2940为单片机等多数器件供电。 4.采用竞赛提供的开发板作为主控制系统。 5.采用光电编码器采集速度。 6.MC33886的应用和散热设计。

7.电源分出6部分电压,稳定的电压是电子系统工作的前提

8

第四届全国大学生智能汽车竞赛技术报告

第三章 机械结构设计

硬件软件的结合可以控制小车能够顺利地运行,但真正在赛道上跑的是小车,良好的机械的性能可以帮助小车更好地工作。就像一个真正的赛车手一样,要跑出好成绩,除了需要一个好车手以往,还需要一辆好车,两者缺一不可。基于这种想法,我们非常重视车模的机械结构。整体车模如图3.1所示:

图3.1 整体车模

3.1差速器的调节

差速器的松紧程度对模型车的转弯性能、加速性能有较大的影响。差速器越松对转弯越有利,但是不利于模型车的加速,如果差速器过松,还会导致差速器严重的滑动,使得编码器测得的速度与实际速度不符等。差速器越紧越有

9

第三章 机械结构设计

利于加速,但是不利于转弯。综上应选择一折中的程度,即半锁状态,新车模在未调节差速器时即处于这种状态。

3.2传动齿轮的调节

轮子的动力是电机通过传动齿轮传到后轮的,因此齿轮间的耦合十分重要。如果耦合过松则齿轮容易受损甚至会打坏齿轮,但如果过紧又会加重电机的负担,甚至造成磨擦过大或者卡死现象。所以要把齿轮调节到一个适当位置,使齿轮既可传动又不会因为磨擦过大发出噪声。同时,为了减小齿轮间的磨擦,我们给齿轮间加上润滑油。

3.3舵机的安装

舵机是车模中很重要的一个部分,车子的转向全靠它。舵机的安装得是否得当直接关系到车子的转向性能,因此考虑一个好的安装方法是十分重要的。但我们并没有在这个地方下足工夫,而是直接采用默认的安装方法,这种安装方法除了扭力大以外没有任何优点。如果加长舵机的转向力臂,那样车子的转向性能会更灵敏,适合车子快速过弯。所以我们的车子由于力臂短,在急弯的时候出现反应迟钝这种情况,在快速入弯的时候更是转向不足或者转不过来。

3.4摄像头的安装

摄像头是收集道路信息的核心部分,安装方法的好坏直接关系到车子的性能。因些必须选择一个合适的安装方法既可以让摄像头有足够广的视野,又不使车子的重心过高。 3.4.1摄像头支架的安装

支架不能太高,否则车子重心过高,使小车在快速过弯的时候容易发生侧倒的现象,但支架高有利于增加摄像头的视野,支架低可以降低车的重心,但必然会缩小摄像头的视野。为了加强支架的强度,我们采用铝合金制作了一个

10

第四届全国大学生智能汽车竞赛技术报告

强度较大的支架,即使在高速跑动时发生碰撞,该支架也不易发生变形,而且易于维修,如图3.1所示: 3.4.2CMOS摄像头视野的调整

摄像头的左右视野不对称,是一个不等腰梯形,因此必要在机械设计时做适当调整,如图所示:

图3.2 摄像头可视范围示意图

3.5光电编码器安装

编码器安装方法也有很多种,为了安装得牢固,我们采用刚性安装的耦合方法,直接采用齿轮带动编码器。本想在车模上直接打孔安装,但为了避免打孔打偏产生误差及可调性不好,我们放弃了这一想法。采用设计外部零件固定编码器的方法,最终设计了一个较好的安装零件,而且前后左右可调,可以理想地安装编码器。如图3.3所示为未装编码器时的模型:

11

第三章 机械结构设计

图3.3 编码器安装零件

图3.4 编码器安装结果

12

第四届全国大学生智能汽车竞赛技术报告

3.6其它部件的调节

其它部分的零件没有调节,直接采用初始时的机械状态,因为初始时的机械是比较好的。

3.7本章小结

1.机械性能决定了速度上限。 2.差速器机械的调节。

3.摄像头支架材料选取的重要性及其对重心的影响。 4.伺服电机的安装及转向分析。 5.编码器的安装。 6.新车模初始机械最佳。 7.传动齿轮的调节

刻苦耐劳,品德,坚固,智慧,才干

13

第三章 机械结构设计

第四章 软件设计

高效稳定的程序是智能车平稳快速寻线的基础。本智能车采用CMOS摄像头作为寻线传感器,图像采集处理就成了整个软件的核心内容。在智能车的转向和速度控制方面,我们使用了经典PID控制算法,配合理论计算和实际参数补偿等办法,使在智能车达到了稳定快速的效果。系统程序主要包括初始化程序、图像采集及图像处理程序和PID速度控制程序等。下图为系统软件流程图。

系统初始化主程序初始化采集一帧图像图像信息处理舵机控制驱动电机PID控制 4.1系统软件流程图

由于摄像头每秒扫描25 帧图像,每帧又分奇、偶两场,先奇场后偶场,故每秒扫描50 场图像。采集每场需要的时间大约为20ms,程序每采集一场图像执行控制一次,故速度控制也只能限定在20ms内调整一次。

4.1视频信号采集

CMOS视频模拟信号经LM1881视频分离芯片分离出场信号和行信号,以场信号和行信号作为视频信号时序根据,使用S12单片机片内AD对模拟信号进行采集。

本队采用的CMOS黑白摄像头每帧信息共320行,其中场头消隐22行,场尾消隐

14

第四届全国大学生智能汽车竞赛技术报告

11行(以LM1881分离出来的场信号跳变沿作分界),即有效的图像信息为287行。在单片机内存有限的情况下,如此大的信息量不可能完全被采集。根据摄像头安装位置和俯仰角度大小,以及考虑到图像的畸变等因素,本队采取跳行采集,所跳行数从近到远。根据需要共采集12行信息,每行采集52个点,从而形成12*52像素的图像数组用于路况分析。

为了检测起始线,采集到的一帧前面2行作为起始线的检测数据。按照本队摄像头的安装方案,从一帧的第100行到260行在路面上前后可以覆盖20cm的距离,按照4m/s的速度计算,摄像头每采集一帧图像(20ms)小车可前进8cm。所以能覆盖20cm的检测方案足以完成对所经过路面的路况检测,不会漏掉起始线。 4.1.1图像采集电路图

摄像头采样机制摄像头主要由镜头,图像传感芯片和外围电路构成。图像传

感芯片又是其最重要的部分,摄像头的指标(如黑白或彩色,分辨率)就取决于图像传感芯片的指标。摄像头通常引出三个端子,一个为电源端,一个为地端,另一个就为视频信号端(有的摄像头多出一个端子,那是音频信号端)。电源接多大要视具体的单板而定,目前而言,一般有两种规格,6-9V,或9-12V 。视频信号的电压一般位于0.5V-2V 之间。

摄像头的主要工作原理是:按一定的分辨率,以隔行扫描的方式采样图像上的点,当扫描到某点时,就通过图像传感芯片将该点处图像的灰度转换成与灰度成一一对应关系的电压值,然后将此电压值通过视频信号端输出。具体而言(参见图4.2),摄像头连续地扫描图像上的一行,就输出一段连续的电压视频信号,该电压信号的高低起伏正反映了该行图像的灰度变化情况。当扫描完一行,视频信号端就输出一低于最低视频信号电压的电平(如0.3V), 并保持一段时间。这样相当于,紧接着每行图像对应的电压信号之后会有一个电压“凹槽”,此“凹槽”叫做行同步脉冲,它是扫描换行的标志。然后,跳过一行后(因为摄像头是隔行扫描的方式),开始扫描新的一行,如此下去,直到扫描完该场的视频信号,接着就会出现一段场消隐区。此区中有若干个复合消隐脉冲(简称消隐脉冲),在这些消隐脉冲中,有个脉冲,它远宽于(即持续时间长于)其他的消隐脉冲,该消隐脉冲又称为场同步脉冲,它是扫描换场的标志。场同步脉冲标志着新的一场的到来,不过,场消隐区恰好跨在上一场的结尾部分和下一场的开始部分,得等场消隐区过去,下一场的视频信号才真正到来。摄像头每秒扫描25 幅图像,每幅又分奇、偶两场,先奇场后偶场,故每秒扫描50 场图像。奇场时只扫描图像中的奇数行,偶场时则只扫描偶数行。

15

第四章 软件设计

图4.2摄像头视频信号

检测赛道相对车模中心的偏移量、方向、曲率等信息是实现车模自主沿赛道运行基础,获取更多、更远、更精确的赛道信息是提高车速的关键。LM1881是针对电视信号的视频同步分离芯片,它可以直接对电视信号进行同步分离,准确地获得所需的视频图像信号,使用者可根据需要对该同步信号进行时序逻辑控制。

图4.3 LM1881应用原理图

图4.3引脚2 为视频信号输入端,摄像头信号即由此输入LM1881 。引脚1 为行同步信号输出端,它输出的信号波形只是输入的摄像头信号在黑屏电位之下的波形的简单复制(对比图中b 和a)。引脚3 为场同步信号输出端,当摄像头信号的场同步脉冲到来时,该端将变为低电平,一般维持230us,然后重新变回高电平(如图4.4中的c)。引脚7 为奇-偶场同步信号输出端,当摄像头信号处于奇场时,该端为高电平,当处于偶场时,为低电平。奇-偶场的交替处与场同步信号的下降沿同步,也就是和场同步脉冲后的上升沿同步(如图4.4中的d)。事实上,我们不仅可以用场同步信号作为换场的标志,也可以用奇-偶场间的交替作为换场的标志。

16

第四章 软件设计

图4.4 LM1881 信号时序图

视频信号中除了包含图像信号之外,还包括了行同步信号、行消隐信号、场同步信号、场消隐信号以及槽脉冲信号、前均衡脉冲、后均衡脉冲等,因此,若要对视频信号进行采集,就必须准确地把握各种信号问的逻辑关系。LM1881就是针对视频信号的同步分离而生产的,LM1881可以从0.5~2V的标准负极性NTSC制、PAL制、SECAM制视频信号中提取行同步、场同步、奇偶场识别等信号,这些信号都是图像数字采集所需要的同步信号,由此便确定采集点在哪一场,哪一行。本队的连接方式在前面硬件部分已经介绍了。 4.1.2图像采集原理

摄像头视频信号端接LM1881 的视频信号输入端,同时也接入S12 的一个AD 转换器口(选用AD0)。LM1881 的行同步信号端(引脚1)接入S12 的一个带中断能力的I/O 口(选用IRQ 口,S12 带中断能力的接口除T 口外还有H 口、P 口、J 口和E 口)。之所以选用中断IRQ 口是因为,行同步信号(即对应摄像头信号的行同步脉冲)持续时间较短,为了不漏检到行同步信号,若使用普通I/O 口,则只能使用等待查询的方式来检测到行同步信号,这会浪费不少S12 的CPU 资源。LM1881 的奇-偶场同步信号输出端接S12 的XIRQ口。在此,我们选择奇-偶场同步信号来作为换场的标志信号,而不是选用LM1881 引脚3 输出的场同步信号。这样做的好处是,当摄像头信号处于奇场或偶场时,则奇-偶场信号整场都相应地处于高电

17

第四章 软件设计

平或低电平,若检测到该信号发生变化,就可以知道摄像头信号换场了。因为每场信号持续的时间相对较长,所以也不用担心漏检到换场的发生。接奇-偶场同步信号时,用中断的方式来判断换场的发生同样是很方便的。上述CMOS、LM1881 电路和S12 就构成了本智能车定位系统的图像采样模块。该图像采样模块要达到的目的就是得到符合我们精度要求的图像数据。

采样思路,摄像头是采用隔行扫描的方式,奇场时只扫描画面的奇数线,偶场时只扫描画面的偶数线。摄像头每场信号的第23 行至第310 行为视频信号,即摄像头每场会扫描产生288 行的视频信号,也就是说,摄像头在纵向上有288 像素的分辨能力,这对于本智能车定位系统设计所需要有的图像传感精度来说远远够用。为方便设计,我们忽略奇场和偶场在扫描位置上的细微差别,认为奇、偶场的扫描位置相同。我们没必要对这288 行中的每行视频信号都进行采样。否则,会增大S12 存储和数据处理的负担,甚至会超出S12 的处理能力。再者,这样做是没必要的。事实上,我们的智能车定位系统的图像传感系统在单一方向上只要有30 像素的分辨能力就足够用了。因此,我们只需对这288 行视频信号中的某些行进行采样就足够了。

假设每场采样27 行图像数据,我们可以均匀地采样288 行视频信号中的27 行,例如采样其中的第14 行、第23 行、第32 行、……、第257 行、第266 行,即采样该场信号的第36 行、第45 行、第54 行、……、第279 行、第288 行(每场开始的前22 行视频为场消隐信号)。结合图6.5 中的电路图,当XIRQ 口的信号由高变低或由低变高时,表明新的一场到来了,由此时开始对行同步信号重新计数。当IRQ 口每检测到一个上升沿,表明一个行同步信号刚过去,让计数变量增1。当计数变量变为36 时,表明第36 行信号(即第14 行视频信号)开始了,对此行信号进行采样,直到下一个行同步信号到来为止。保持对每个行同步信号的计数,直到计数变量又增加9 个变为45 时,开始对到来的第45 行信号(即第23 行视频信号)进行采样,直到下一个同步信号到来为止。如此下去,计数变量每增加7 个,就采样随后的一行视频信号,直到采样完第288 行信号(即第266 行视频信号),然后就结束了对该场信号的采样。

具体的判断XIRQ 口信号(即奇-偶场信号)是否发生变化的方法是:设置一个奇-偶场信号变量标志(简称奇偶标志),并约定,当奇-偶场信号为高时,将奇偶标志置为1(表示“高”);为低时则置为0(表示“低”)。隔一定的时间来检测一次XIRQ 口的信号,若XIRQ口的高低与奇偶标志的“高”“低”属性不同,则表示XIRQ 口的信号发生了变化。每次检测完,都将奇偶标志置为与XIRQ口信号高低相对应的值。隔多长时间检测一次XIRQ口的信号可视摄像头信号处于场中的位置而定。如换场的发生刚过,往下可只需关注对该场视频信号的采样,不必检测XIRQ口的信号,因为只要该场的视频信号没完全结束,下一场信号就肯定每到。当该场中的视频信号全部结束,摄像头信号进入场消隐区时,可开始隔段时间检测一下XIRQ口的信号,所隔的时间要低于最短的行信号持续的时间(这样才可以确保当判断出换场有发生

18

第四章 软件设计

时,不会错过新场中的任一个行同步信号);甚至可以在估计着该场快临近结束时采用等待查询的方式。

如前面假设的例子,S12 是每9 行视频信号才采样其中一行,因此在这每9 行中那8 行不需要采样的信号持续的时间内,可让S12 处理别的任务,然后,隔段时间检侧一次PT 口有没有接受过新的上升沿或下降沿(表明有新的行同步信号过去),并相应地给计数变量增1。这样,既不影响摄像头视频采样,也不耽误智能车定位系统中别的任务的执行。

4.2图像处理

CMOS传回来的视频信号接入LM1881视频分离芯片,分离出模拟视频信号的行同步信号和场同步信号,单片机根据这些同步信号来搭建控制时序,完成信号采集,AD转换。每场图像采集12行52个点,即图像被单片机采集后存于12?52的数组中。采用跳变检测法,识别图像每行中的黑点,进而辨别出图像中的直道,大弯,急弯,还有小S弯等。 4.2.1黑线提取方法

根据采集点电平高低来提取前方路面黑点信息,低电平(数值小)表示黑点,高电平(数值大)表示白色路面,通过提取黑点位置来判断路况。黑线提取思路有: a) 直接利用原始图像逐行扫描,根据设定的阈值提取黑白跳变点;这方法费时且容易受干扰。

b) 黑线宽度有一个范围,在确定的黑线宽度范围内提取有效黑块,这样可 以滤除不在宽度范围内的黑点干扰;

c) 利用黑线的连续性,根据上一行黑线中心的位置来确定本行求出的黑线 中心是否有效;

d) 图像是远处小近处大,所以黑线宽度范围和前后行黑线中心的位置差别 都要动态调整;

e) 求黑线中心时,因为近处的黑线稳定,远处黑线不稳定,所以采用由近 及远的办法;

f) 图像数据量大,全部扫描一遍会浪费很多时间,利用前面已经求出的黑 线中心位置判断出黑线的趋势,从而推断出下一行的黑线大概位置,确定出扫描范围,避免整行逐点扫描,节约时间;

g) 提取出整场所有有效行的黑线中心后,根据预先设定好的权重计算出黑

线中心的加权平均,作为本场的黑线中心。

19

第四章 软件设计

本智能车通过片内AD每行采集52个有效点,其中赛道黑线采集1至5个有效点(最远处1个点最近处5个点),以第25个点为中心,提取每场采集到的12行信息,用于分析赛道类型。

根据提取到的黑点位置信息把路况分为下面几种情况。 4.2.2路径识别

我们从图像的30行采到240行,其中每隔17行采集一次,于是可得12×52的数组,采完后对数组进行识别处理。 第一,先利用单边搜索法寻找最近2行的黑点,若连续2行都没有发现黑点,则认为视野出界,什么也没有看到,这时停止搜索,直接进入控制程序,控制保持上次图像处理结果。若都发现黑点,则进行第二步。 第二,第1第2行都发现黑点后,我们记下黑点的位置,然后继续后面行的黑点搜索,并记下黑点位置。若黑点位置与前面黑点位置偏差太大,我们记下有一跳变标志。这个跳变可能是起跑线也可能是干扰,先把标准位记下,后面进一步处理。 第三,若没有跳变,则继续搜索下一行。若发现该行找不到黑点,而且前一点(row-1)的位置在图像的最左或最右区域,这时我们认为这行以后已经离开了黑线,即黑线到头了,应该是弯,记下head=row+1.我们后面用到head来判别急弯和普通弯。 第四,对跳变进行处理,先对跳变行进行起跑线判断。若是起跑线,则进行停车程序。若不是起跑线,则很可能是黑三角或十字交叉。我们用中值滤波滤波掉。

四步下来图像基本处理结束。最后进行的是识别程序,根据赛道情况我们细分下面几种情况:1.直道、小S,急弯50、普通弯60.

20

第四章 软件设计

算法流程图

当所有黑点的位置都落在中心线区域内时,我们认为此时图像显示的是直道或小S道,如图直道小S道识别图:

直道识别图

当head某个值时,我们进行急弯和普通弯的识别,通过电视机辅助调试,我们取值为3.当head大于3时,我们认定为急弯,小于等于3为普通弯。如图所示:

弯道的判别图

21

第四章 软件设计

4.2.3起跑线的检测

本智能车采集每帧信号的第1行至2行信息作为起始线的检测数据。根据对起始线特征(黑白黑白黑)的判断,当检测到某行的电平有“低高低高低”的特征时就认为是起始线。为了不产生误检测,通过判断连续3行以上起始线特征数据行才确认为起始线。当确认为起始线之后,马上屏蔽起始线检测2秒,以保证智能车顺利通过起。

4.3控制策略

有了一定的路径识别算法后,要想小车快速稳定,我们需要很好的控制算法。系统根据识别到的路径信息进行有效的速度控制。当检测到为直道时小车以设置最高目标速度高速行驶,当进入弯道时,以次高速行驶。识别到急弯时速度进一步降底。根据不同的弯道路况,速度控制也是有所区别。为了尽量提高车速,采用直道上设置最高目标速度,转入弯道立即减速,并把车速调整到过弯极限速度,保证小车顺畅过弯且不出跑道。

要使小车高效完成比赛,则小车的速度将如图3所变化:(假设小车是依次经过直道,大弯,急弯,再小S弯,最后回到直道)。

目标速度v直道大弯急弯小S弯直道t图3不同路况中小车速度变化图

4.3.1经典PID控制算法介绍

在生产过程自动控制发展历程中,PID控制方式历史最久、生命力最强,其原理简单、适应性好和鲁棒性强等优点使之成为工业过程控制的主要技术之一。PID 控制原理框图如图 4.11 所示。

22

第四章 软件设计

扰动目标速度—编码盘图4.11 单位反馈的PID控制原理

ePID控制器控制作用PWM控制直流电机

为了使小车能较好跟踪图3的目标速度,我们先采用常规PID算法。通过旋转编码器实现智能车的速度采样,进行闭环PID速度控制。通过速度反馈可以快速、有效的调节PWM的占空比,使小车跟踪目标速度。系统利用测速模块反馈的当前速度值,通过增量式PID算法进行调节。

增量式PID算法的优点:增量式每次输出并不与整个过去状态有关,计算式中没有用到过去偏差的累加值,不容易产生较大的积累误差。增量式只需计算增量,当存在计算误差或精度不足时,对控制量计算的影响较小。

增量式PID的算式为:

?u(k)?KP[e(k)?e(k?1)]?KIe(k)?KD[e(k)?2e(k?1)?e(k?2)] (2)

该算法已经在小车上实现了,其中C语言代码是这样实现的: last_lastspeed_e=lastspeed_e; lastspeed_e=speed_e;

speed_e= speed_target -pa_count;

speed=lastspeed+2*Kp*(speed_e-lastspeed_e)+Ki*speed_e+Kd*(speed_e-2*lastspeed_e+last_lastspeed_e);

lastspeed=speed;

其中

speed_target:目标速度

pa_count:反馈捕获到的当前速度 speed_e:第k次(当前)速度偏差量

lastspeed_e:第k-1次(上次)速度偏差量

last_lastspeed_e:第k-2次(上上次)速度偏差量 speed:驱动电路输给直流电机的PWM控制量 Kp:比例系数 Ki:积分系数 Kd:微分系数

简单来说,PID各系数的作用如下:

(1)比例系数Kp 及时成比例地反映控制系统地偏差信号,偏差一旦产生,控

23

第四章 软件设计

制器立即产生控制作用,以减少偏差。比例系数加 KP 大,使系统的动作灵敏,速度加快。KP 偏大,则振荡次数增加,调节时间加长。KP 太大,系统会趋于不稳定。KP 太小,又会使系统动作缓慢。

(2)积分系数Ki主要用于消除静差,提高系统的无差度。Ki太大,系统将不稳定。

(3)微分系数Kd能反映偏差信号的变化趋势(变化速率),并能在偏差信号值变化太大之前在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减小调节时间。

各系数作用不同,故在我们的系统中,Kp和Kd系数最为关键,考虑到积分效果对本系统所使用的电机容易产生积分饱和,没用到积分量,故Ki直接赋予0。因为Kd能提前预知偏差变化,能提前动作,有利于速度控制。所以保留 Kd。

本大赛统一使用的是RS-380SH直流电机,其工作电压范围3.0-9.0V额定电压值7.2V。无负荷转速16200rpm无负荷电流0.50A,额定转速 14060rpm 额定电流 3.29A 额定转距 111g.cm 额定功率 16W ,起动转矩 840g.cm 起动电流 21.6A。传递函数可认为是:

G(s)?1Js?Bs2 其中,J?0.0067,B?0.10。

4.3.2 单神经元PID速度控制器仿真

在实验中,该算法能满足一般的控制要求。但当平均速度加大时,控制系统的响应速度不够,小车容易冲出赛道(未能及时刹车),再者,由于更换电池后电量变化较大,PID系数也要变化。所以系数非常难调,花了大量的时间才调出个比较理想的参数。就此我们引入单神经元PID控制算法。

单神经元作为神经网络的基本单位具有自学习和自适应能力,而且结构简单、易于计算。而PID控制器的参数与被控对象联系密切,将两者结合组成具有自适应能力的单神经元PID控制器,可以实现电机负载变化时控制器参数的自动调节.图4所示单神经元控制器结构图。

24

第四章 软件设计

Z(k)目标速度R(k)转换器x1(k)x2(k)x3(k)△U(k)∑K+Y(k)对象电机Z-1图4单神经元控制器结构图

图中转换器的输入为R(k),输出为Y(k),经过转换器转换后得神经元的输入量

x1(k)、x2(k)、x3(k),即积分、比例和微分三个分量。且有:

(3)

x1(k)?e(k)?R(k)?Y(k)x2(k)?e(k)?e(k?1) (4)

(5)

x3(k)?e(k)?2e(k?1)?e(k?2) (6)

w(k)(i?1,2,3)x(k)设i 为对应于i的加权,K为神经元的比例系数,K?0。单神经元控制器通过有监督的Hebb学习规则调整加权系数。控制量u(k)为:

3z(k)?e(k)

u(k)?u(k?1)?k?wi(k)xi(k)i?13 (7)

wi(k)?wj(k)/?|wj(k)|j?1 (8)

(9) (10) (11)

w1单神经元PID控制器的控制学习算法为:

w1(k?1)?w1(k)??iz(k)u(k)(e(k)??e(k))w2(k?1)?w2(k)??pz(k)u(k)(e(k)??e(k))w3(k?1)?w3(k)??dz(k)u(k)(e(k)??e(k))KK上面的式中,?e(k)?e(k)?e(k?1),z(k)?e(k),

K,

w2,

w3分别对应增量式

PID控制器的3个参数i,p, d,i、p、d为比例、积分、微分的学习速率。 为了更清楚准确的比较两个算法的差异,我们在MATLAB中进行仿真比较,系统的输入,控制对象都相同。常规增量PID控制方式时,由于积分项容易产生饱和,影响系统的稳态性能,积分项Ki=0,其它参数分别为Kp=1.2、Kd=4,采样时间为20ms(由于受图像采集和处理影响,控制部分只能20ms运行一次)。

在此条件下,小车的速度给定波形如图5所示。(其中最高速为直道4.5m/s,急弯最小,为1.5m/s,普通弯和小S弯为2.5m/s和3.5m/s。)

??? 25

第四章 软件设计

图5 小车给定速度波形

常规PID跟踪结果如图6,其中蓝色是小车给定的目标速度,红色是实际跟踪速度。其中上升时间约为300ms左右,存在一个波动。

图6 单纯PID控制小车速度波形

w1?0.15当采用单神经元PID速度控制时设速度控制器PID参数的初始值为

w2?0.12w?0.12w1,

,3;学习速率I为0.2, 2学习速率P为0.01,3学习速率D为0.001,神经元的比例系数K为0.6。同样小车在速度给定波形如图5所示时,图7为单神经元PID速度控制方式下小车稳态时速度波形。

对图6和图7所示的试验波形做比较,可以看出,采用了单神经元PID控制方式的控制效果好于单纯的PID控制方式,上升时间没有受到参数整定计算影响都是150 ms左右,有很小的超调量并且稳态运行时速度的稳定性非常好。再由图7可以看到当速度给定为图5波形时系统在单神经元PID控制方式下有很好的快速性和稳定能。

?w?w? 26

第四章 软件设计

图7 单神经元PID控制速度波形

由仿真结果可以看出,采用单神经元自适应PID控制算法,智能车在加速或减速时能在较小的增幅或减幅范围内快速调节到目标速度,从而保证了模型车的平稳过渡而不影响整体速度。由于单神经元的连接权值可调,使得基于单神经元的PID控制器具有在线调整参数,自学习以及自适应的能力。在智能车速度控制中,单神经元PID优于常规PID,能快速提高智能车运行速度。从而为智能车快速、平稳的前进、转弯以及制动控制提供更好的判断依据

27

第四章 软件设计

第五章 开发与调试

好的开发和调试工具以及测试环境能够加快产品开发速度,提高调试精度,减少工作量。本章将对开发和调试工具以及测试环境作相关说明。本智能车在开发和调试中所使用开发环境为Metrowerks公司的集成开发环境MetrowerksCorewarrior IDE4.7和与之配套使用的调试软件 hiwave,调试器为清华大学工程物理系开发的 BDM,辅助调试工具有电视机、KT板、刻度尺等。通过以上各工具配合使用,再加上良好的测试环境,使得小车开发和调试能够顺利而快速地完成。

5.1软件开发环境

Corewarrior IDE 是 Metrowerks 为其 DSP 和微处理芯片所推出的专用可视化集成开发环境,功能强大,除了能编译代码外还具有芯片仿真等功能。下面以一个简单的实例来说明使用 Corewarrior IDE 开发全过程。

建立工程:打开 Corewarrior IDE,有如下画面。

图 5.1 Corewarrior IDE界面

点击Create New Project进入如图 5.2 所示复选框,新建一个工程。

28

第四章 软件设计

图 5.2新建工程

按下一步中选择相应单片机(MC9S12XS128),如图5.3所示。

29

第四章 软件设计

图5.3 选择单片机

之后就可以按照向导默认选项,直到设置完成出现图 5.4所示界面

图 5.4 新建工程结束

由图 5.4 可见位于左边工程项目管理器中已经包含了一些文件,这些文件是开

30

第四章 软件设计

发环境自动生成的,下面讲述其中主要文件的用途。

readme.txt 是 Metrowerk 对工程文件结构的说明。

Sources 文件夹中包含了源文件 main.c,用户自定义的头文件(.h 文件)也要放在该文件夹下面。

Startup Code 文件夹中有一个初始化文件 Start12.c,其作用是初始化硬件系统和建立 C 语言程序运行环境。

Prm文件夹中包含.prm文件,其定义了编译和下载的信息,主要用来设置程序下载地址和安装中断向量。

3.添加代码:双击工程项目管理器 Sources 文件夹中源文件 main.c,主函数代码就添加在该文件里,如图 5.5 所示小车的程序代码。

图 5.5向主函数中添加代码

代码中年所包含头文件hidef.h中包含一些宏定义,其中最常用的属EnableInterrupts和DisableInterrupts,它们分别用来允许所有中断和禁止所有中断。

31

第四章 软件设计

而#pragma LINK_INFO DERIVATIVE \是链接信息,对代码而言,这句话可以不要。

添加完代码之后就可以对代码进行编译,执行Project|Make命令(或者按F7),就可以完成编译过程,同时编译环境会在相应工程目录下 bin 文件夹里生成.abs 文件,该文件可以通过串口或 BDM 下载到单片机中运行。

5.1.1 BDM调试器的使用

1.在开发环境安装目录 prog 文件夹下可以找到名为 Hiwave.exe 的图标,双击它即可打开调试软件。

2.然后将 BDM 调试器与计算机相连,此时系统会提示安装相应驱动程序,选择配套光盘目录下 2-TBDML DLL Driver 文件夹下 bin_tbdml_win_driver_11 文件夹即可完成驱动安装。在右下角命令窗口中输入 set gdi 命令,同样要添加光盘 2-TBDML DLL Driver 文件夹下的 bin_tbdml_gdi_dll_11 文件,添加完确认后会提示设置相关参数,如图 5.6 所以应将晶振频率设置为 16.00(M)。然后选择OK,设置完成该项参数。

32

第四章 软件设计

图5.6 Hiwave调试环境设置

3.将 BDM 与单片机连接,然后在命令窗口中通过键盘方向键调出刚才输过的 命 令set gdi , 回车确认后有提示选择相应单片机型号在此选择MC9S12XS128,如图 5.7 所示。至此完成了所有基本参数设置。

图 5.7 选择单片机型号

BDM连接成功之后,就可以向单片机下载程序。下载程序之前必须通过Hiwave 对单片机进行复位,否则会使 Flash 擦除不成功,甚至导致 Flash 保护等错误。复位可以通过选择 TBDML HCS12|Reset 菜单命令或者单击工具栏快捷图标来实现。复位后单片机程序停止运行,选择 TBDML HCS12|Flash?命令打开如图 5.8 所示内存擦写窗口,先选中后三行内存进行擦除(Erase),擦除之后下载(Load)新程序即可。

33

第四章 软件设计

图 5.8 程序擦写窗口

Hiwave具有丰富的调试功能,现对其各窗口功能作简单介绍如下:

Source:查看所下载的代码,并具有设置断点,单步调试等功能。二者相互结合能很快的找出程序里的 BUG。

Data1:显示程序中的静态变量。在对摄像头的调试中,能查看所有采集点的对应数值,从而找出对应黑线位置。

Assembly:显示汇编代码。 Registers:显示当前寄存器值。 Memory:显示内存数值。

Command:命令行,具体命令可以键入 help 查看。 5.1.2 BDM常见问题解决办法

BDM for S12(TBDML)设计了跳线开关,允许用户对BDM for S12(TBDML)进行一些特定的设置,以此满足用户的特定要求。打开BDM for S12(TBDML)硬件包装盒,可以看到有3个跳线可以进行设置,分别是J4、J5和J6。

BDM引脚定义,跳线J4用于选择BDM电缆的信号定义。 默认状态为J4闭合。 当J4闭合(有跳线)时,BDM电缆的信号定义如图1所示;

34

第四章 软件设计

当J4断开(无跳线)时,BDM电缆的信号定义如图2所示。

目标板供电方式选择 ( 跳线J5和J6)

默认状态是目标板由+5V外部电源供电。跳线J5、J6用于选择目标板的工作电压,以及供电方式。J5、J6跳线具体设置如表1所示。 表1 跳线J5、J6设置目标板工作电压 设置类跳线J5 跳线J6 型 压 闭合 断开 1(默(有跳(无跳认) 线) 线) 闭合 闭合 2 (有跳(有跳线) 线) 断开 闭合 3 (无跳(有跳线) 线) 断开 断开 4 (无跳(无跳线) 线) 目标板工作电目标板供电方式 +5V 自供电 由BDM供电(不推荐,因为USB供电不足) 自供电 +5V +3.3V 无效 【常见问题之一】正确安装了BDM for S12(TBDML)的驱动程序和动态链接库后,并用BDM连接了目标单片机后,在Hiwave.exe的【TBDML HCS12】菜单中,没有出现“Flash...”项,无法对目标单片机进行调试。

解决办法:首先,用户应该确保目标板供电正常,BDM for S12(TBDML)默认的电源工作方式是目标板自供电;如果,还有问题,用户应该打开BDM的包装小盒,查看跳线J4是否已经短接,原因见上文。

【常见问题之二】驱动程序安装正常,跳线也没有问题,目标板也供电了,但BDM还是不工作。

解决办法:出现这一问题,最大的可能是,用户的CodeWarrio版本不对,没有利用CodeWarrio V4.1以上的版本进行调试。安装高版本的CodeWarrio即可解决问题。

【常见问题之三】BDM调试目标板基本正常,能够下载程序、擦除FLASH、设断点调试,但是,在某次使用中FLASH突然被“锁死”,之后目标板无法继续使用。

解决办法:Freescale 公司的HCS12 系列单片机具有片内FLASH 的加密功能,对于加密或保护后的FLASH,用户是无法通过BDM 调试工具对其FLASH 进行诸如程序擦除、读取等操作。同时,如果用户在利用BDM 调试单片机时操作不当,

35

第四章 软件设计

同样会使单片机出现FLASH 无法读取、擦除和下载等问题。我们的监控程序在$F000 到$$FFFF,这一段加了保护,但并没有加密。即使对加了密的S12,也可以使用我们生产地串行接口地BDM 工具方便的解锁和擦除。对于FLASH没有进入“保护模式”的单片机,如果利用BDM for S12 (TBDML)调试单片机,当用户点击【TBDML HCS12】菜单下的【Flash…】命令时,会出现如图12所示的正常情况。从图中可以看出,当前目标板的单片机的FLASH_C000存储区域已下载有程序,状态为“Programmed”;其余模块为空,状态为“Blank”。因此,可以继续对该单片机的FLASH进行读取、擦除Erase和下载Load等操作。但是,在出现上述FLASH加密问题后,HCS12系列单片机就进入了“FLASH保护模式”,即Secure Mode。这时,如果利用BDM for S12(TBDML)调试单片机,当用户点击【TBDML HCS12】菜单下的【Flash…】命令时,图12中部分FLASH区域的状态就会显示为“Skipped”。此时,用户便无法再对FLASH进行正常操作。因此,需要解除FLASH的“保护模式”(Secure Mode),执行Unsecure的操作。BDM for S12(TBDML)提供了Unsecure的功能,具体的操作过程较为复杂,请参阅用户手册。 5.1.3 烧写程序

前面工作做好后,给单片机烧写程序就非常简单了,编译通过了后直接按下图的【Debug】就行了。

烧好后可以在线调试了。

36

第四章 软件设计

5.3电视机辅助调试

因为没有无线模块做辅助调试,我们没法直观的看到摄像头传回来的图像,但有个简单的办法就是把电视机拿到实验室,方便摄像头的安装和调试。

5.3.1KT板辅助调试

用KT板结合电视机,我们很容易去测量一些参数,比方说,摄像头视野,大小弯调整,S道识别。下图是我们调试现场的照片:

也正是通过电视机辅助,我们才发现摄像头的中心与图像的中心不一致的,而是偏左,所以,左右视野是不对称的,如上图。实际表现是小车左转时容易失去视野,从而左转容易出界。解决的办法是安装摄像头时要装靠左斜,使图像的中心跟小车中心一致。

37

第四章 软件设计

5.4遥控防撞

为保护赛车,防止测试中撞击而导致的硬件损坏现象发生,本队根据电视机遥控原理,制作了简易的遥控模块,只要接收部分捕获到一定的脉冲,赛车则立即反转制动,不仅有效的防止了撞车现象,也方便了调试。接收部分电路原理图如下图3.8.1所示:

38

第四届全国大学生智能汽车竞赛技术报告

图 2.12 遥控接收部分原理图

接收部分核心芯片为 HS0038A,是一种具有解码功能的红外接收器。当遥控器按一按钮时,会发出特定编码信息,接收器接收到后自动解码并通过 3 号引脚输出解码后信号。任意按钮按下,解码后输出信号都为具有一定宽度脉冲,利用这一原理,只要单片机 PT1 口捕获到一定数量脉冲则立即发出制动信号。HS0038A 型红外接收器如下图 2.13 所示:

图 2.13 HS0038A 型红外接收器

发射部分是普通电视机遥控,如下图 2.14 所示:

图 2.14 电视机遥控器

39

第五章 开发与调试

5.4.1调试环境

大赛道,小赛道。

测试环境很重要。赛前测试赛道及其周围环境应与赛时接近,主要体现在赛道摩擦系数、地板颜色状况和光线等。赛道摩擦系数应尽可能大,地板颜色应尽可能与比赛赛道颜色相同,光线应尽可能均匀和分散,尽可能消除斜影。 若平时调试过程中赛道不标准,摩擦力达不到要求,加上各种环境干扰,会浪费很多时间于抗干扰算法上,真正比赛时却派不上用场,反而增加了控制难度,影响比赛效果。

我们由于受场地的影响,测试赛道分为小赛道和大赛道。小赛道是在实验室内,这里光线较好,有窗帘灯泡安装均匀,估几乎没有斜光。但赛道太小,很多参数没法在小赛道上测量出来。大赛道铺在实验室外,可以完整铺下比赛要求中的赛道图,如大小S、交叉圆和坡道。但由于靠近窗前,有斜光射入。晚上灯光也不是很理想,如果有条件当然希望进行改进,但整体来说两个赛道都能用。

组委会没有具体通知赛道背景颜色,本智能车在调试过程中模仿使用第三届赛道;这是我们这次学校摄像头吃亏最大的地方。直到到了华南理工比赛前我们以为这届场地颜色也会是浅色(网上早就有提是蓝色),当放下小车进行第一次调试时傻了眼。在学校跑的好好的车连最基本的测试赛道都跑不完,同来的另一队也是。用电视机辅助调试一看,原来深蓝色的背景对小车很大干扰。 试过几次不行后,我们飞快想办法进行改进,因为给我们校4支队伍调试的时间只有短短的2个小时。

改进方法在后面进行详细阐述。图为我们的大,小赛道。

40

第五章 开发与调试

第6章 比赛规则及赛场应赛策略

经过了几个月的辛苦努力,终于可以前往比赛赛场。但要取得好的名次,就离不开好的应赛策略。每年都有不少优秀的队伍由于应赛策略不对,没有能跑出成绩来,非常遗憾。结合我们自身比赛经验和分析,我们得出下面建议。

6.1 赛前60分钟调整

正式比赛前一天的赛前调试非常重要。尽管小车在自己学校跑得很好,去到比赛的新赛道上未必能跑好。赛前测试时间非常宝贵,它可能决定你好成绩的取得,每个队只有60分钟调试(上下午各30分钟),所以要充分利用调试时间进行一些参数的修改。我们队到了赛场才知道赛道的背景颜色是深蓝色,这对小车的图像处理产生了很大干扰,小车连最基本的赛道都没法跑完。在重大失误面前,我们冷静的对硬件和程序进行大调整,这有这样才能扭转现状,否则几个月的努力到头来连安慰奖的拿不回去。

小车跑不好的原因是我们的摄像头看得太“远”太“多”了,把赛道外的边界看到了,误把赛道和背景的边界认为是黑线,从而产生干扰,因为我们的程序是单边检测。解决的办法只有让它尽可能的少看。在硬件方面,先把摄像头视角调低,从原来的1.50米调到视野为60-70厘米,只有能识别到弯道就行。图像处理方面,剔除图像的42-52列,这样视野大大减小。重新对弯道识别参数进行静态调整。调整后试车,发现此方法可行,但由于前瞻大大减小,小车提速受到限制。只能跑原来的最低档。毕竟我们4个队才有短短的2个小时调试,时间非常有限。很多参数调不好,控制部分没能调出来。但比开始时已经大大改善了,调试非常紧张。最后得以比赛顺利进行。

6.2正确的比赛策略

为什么很多优秀的队伍都全军覆灭呢,比如像这次华南赛区的深大,为了追求快速,连续三次跑出赛道,除了跟小车的稳定性有关外,还跟应赛策略有很大关系,首先比赛前一定要充分利用好编码开关进行档位设定,先在测试跑道上测出个最低档位,最低档是为了能保证小车稳定顺利跑完。而后在最低档位上适当加速,在标记档位,依次类推。比赛时经常有队伍连续2次出界后也减不了速,我推测就是因为他们没有设定好最低速度。眼睁睁的看着自己的小车第

41

第五章 开发与调试

三次出界。

要是出现连最低档都出界的话,那也是有办法的,那次比赛时,我们的赛车就出现了这问题,当时我的做法就是用手拿起小车,让它空转一段时间,进行放电,让电池的电力减小。因为电机的电流是直接来自电池,电池放电后电压会下降。所以小车速度也会跟着减小来,最后比赛顺利完成。

那么正式比赛还要注意好好研究比赛规则,比赛一般分上午赛和下午赛两场,每场比赛最多有三次机会,就是记录完整跑完一圈的成绩,若跑出赛道,可以拿回来再跑,但最多只有三次机会。那么面对这样的规矩其实是要讲究策略的。因为每一辆车都不能保证百分百的稳定性,要想把自己小车的最佳水平跑出来,我们应该这样安排。

上午赛务必确保有成绩。

上午赛有成绩了,下午就可以放心加速冲了。因为顺利跑完全程的小车才有成绩,否则被记为120秒,即连续三次小车冲出赛道。所以说,上午赛是求稳。未必在三次机会内,小车顺利跑完。有些队伍上午就拼命加速,最后连续三次出赛道,上午赛成绩为120秒。那些上午没有成绩的队伍下午一定很谨慎了,若是再以上午的速度连续出界就话就只能留下来争安慰奖。深大CCD队就是这样。

下午赛务必加速。

若上午赛有了成绩后,就相当于吃了定心丸。下午赛就可以在上午速度的基础上再加速。但这也有诀窍,不能顺便加速,应该是上午赛档位上加两档,先试车观察。若试车很容易出界,则减一档,若试车小车很稳定,则继续加两档。一直调到小车有一定的高速,且也具有一定我稳定性。成功跑完的概率为60%-70%。那么这时正式比赛是最佳的。由概率学我们可以知道,若小车平均每次成功跑完的概率为60%时,那么三次机会下跑成功的概率为1-0.4×0.4×0.4=93.6%。当单圈跑完概率为70%时,三次机会成功概率为97.3%。93.6%-97.3成功概率对去冲击来说已经很高了。

倘若当单圈跑完概率可以高达80%,那么三次机会成功概率则高为99.2%,这就十拿九稳了。

就算运气糟糕透顶,掉进了6.4%里面,即连续三次出界,也无妨,因为我们上午赛还保留了成绩,只能说冲击失败。

随机应变

这主要是对队伍安排在比赛顺序后面队伍的应策。因为比赛顺序被安排在比赛后面,所以队员有充分多的时间来分析赛场赛事变化,及时做出对比赛有益的决策。尤其是进入决赛的队伍更加可以体现这一点,决赛时很多情况是每个队都开足马力去冲一等奖,所以很多队伍可能连续三次出界。这时应策好的弱队在求稳的前提下可能取得好成绩。所以对于顺序在后面而且了解赛况的队伍

42

第五章 开发与调试

来说,立马应当做出决定,到底是冲还是求稳?

43

第四届全国大学生智能汽车竞赛技术报告

第7章 总结

7.1 本系统的所具有的特点

设计制作过程当中,通过小组成员的努力思考与探索,同时结合其它学校的技术报告,我们在以下几个方面引入了自己的设计特色:

1、鉴于小车快速稳定的要求,我们的小车尽力降低重心和质量,小车上能减轻质量的东西一点都放过,在同类开发板小车中属于优秀硬件设计。

2、本小车全部硬件都队员手工制作,没有外出制板,达到了很好的硬件制作训练。

3. 小车上出现连线过少,电路整洁。

7.2 本系统存在的问题

尽管我们作了很大的努力,但是由于时间紧迫以及缺乏经验等原因,本系统仍然存在着一些问题,主要有以下几点:

1、对比赛赛场背景颜色没有进行测试,导致产生干扰。

2、摄像头中心位置没有调正,导致左右视野不对称。

3、舵机没有应用直立安装,影响响应速度。

4、小车底板很多部分没有进行改进和调整,失去一定的先天优势。 5、摄像头有点靠前,盲区较大,且车辆的重心前移,在转向的过程中没有理想中轻盈。

6、系统控制算法采用经典的PID算法。可以考虑更加高级的控制算法以改进系统性能。对于一些先进的控制方法没有做到深入的研究。

7、我们选用的单片机用的是开发板,质量重,体积大,安装不方便。

7.3 本系统可行的改进措施

在条件允许的情况下,本系统可以做以下几个方面的改进: 1、使用跟踪搜索法寻找黑线,排除背景颜色的干扰。

2、可以考虑数字摄像头。

3、S12单片机拥有独具特色的模糊控制指令集,很方便用来实现模糊控制等

44

高级运算。模糊控制的实现将有利于系统性能的大幅度提升。

4、考虑丢弃开发板,直接用单片机画PCB板,并拿出去制板,减轻质量。 5、CMOS图像传感器,图像稳定度差,且易饱和。CCD图像传感器同CMOS图像传感器相比,能够大大提高图像质量以及对场地光线条件的适应性。

6、目前已有的升压模块采用集成功率MOS管的MAX761芯片,电流输出能力较差。可以考虑采用外置功率MOS管的升压控制芯片,以提高输出电压在大电流下的稳定性。

45

本文来源:https://www.bwwdw.com/article/0a4p.html

Top