基于组合路径检测和预报校正控制的智能车方案设计.doc_第1页
基于组合路径检测和预报校正控制的智能车方案设计.doc_第2页
基于组合路径检测和预报校正控制的智能车方案设计.doc_第3页
基于组合路径检测和预报校正控制的智能车方案设计.doc_第4页
基于组合路径检测和预报校正控制的智能车方案设计.doc_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于组合路径检测和预报校正控制的智能车方案设计学 校:哈尔滨工业大学 关于技术报告和研究论文使用授权的说明本人完全了解第一届“飞思卡尔”杯全国大学生智能汽车邀请赛有关保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。参赛队员签名: 带队教师签名: 日 期: 目录第1章 引言11.1 智能车方案设计概述11.2 路径参数及速度检测方法11.3 控制算法研究21.4 微处理器资源利用情况21.5 文献综述21.6 本文主要内容3第2章 智能车机械设计说明42.1 主板机械设计42.2 红外光电管阵列机械设计42.3 CCD图像传感器机械设计52.4 车速检测模块机械设计62.5 实验结果7第3章 智能车硬件系统设计83.1 组合式路径参数检测83.1.1 红外光电管阵列模块83.1.2 CCD图像传感器模块93.2 车速检测及显示模块103.2.1 车速检测模块103.2.2 车速显示模块113.3 电机驱动123.3.1 舵机驱动123.3.2 动力电机驱动123.4 电源模块133.5 实验结果13第4章 系统控制算法144.1 转向控制算法144.2 车速控制算法154.3 实验结果15第5章 系统调试165.1 红外光电管阵列调试165.2 测速部分调试165.3 车速显示部分调试165.4 驱动电机调试165.5 系统联调17第6章 调试工具及模型车技术参数186.1 调试工具186.2 模型车技术参数186.3 传感器种类及数量186.4 电机使用情况196.5 赛道检测精度及频率19第7章 结论20参考文献I附录1II第1章 引言第1章 引言1.1 智能车方案设计概述针对智能车主动寻迹过程中对于速度和稳定性的要求,本方案综合使用红外光电管阵列和CCD图像传感器来检测路径参数。红外光电管阵列用于探测短距离的路径信息,CCD图像传感器用来完成对远距离路径信息采集,为车模转向提供预报,并根据该信息调节车速。为了提高车速调节的相应速度,系统设计过程中利用测速环节构成速度闭环控制。利用单片机的PWM资源和MC33886驱动芯片完成小车动力电机驱动。并利用单片机的模块驱动4个数码管显示车速。由于系统运行过程中需要根据小车状态及路径信息来调节转向和速度,因此控制算法要在保证稳定性的前提下尽量提高系统响应速度。本方案采用预报-校正的方法对舵机的转向进行控制。采用PID控制策略控制小车速度。实验结果表明该算法具有响应速度快,稳定性好等特点。1.2 路径参数及速度检测方法通常情况下,可用于识别黑色导引线的传感器种类有很多,包括红外光电管阵列、CCD图像传感器、激光扫描器等。每一种传感器都有相应的优缺点,一般红外光电管阵列可以用来检测短距离路径信息,控制小车的转向;CCD图像传感器可以检测到较远距离的路径信息,能够提前确定路径参数变化趋势,控制算法中可以根据该参数变化趋势来调节小车的速度以及为转向提供预测。综合考虑各种传感器的特点,本方案采用了红外光电管阵列和CCD图像传感器的组合检测方式。红外光电管阵列安装于车的前方,用于探测短距离的路径信息,从而控制智能车的转向。CCD图像传感器用来完成对远距离路径信息采集,从而为车模转向提供预报,并根据该信息调节车速。路径参数采集过程中,通过微处理器MC9S12DG128的内部定时器设定每隔10ms采集一次红外光电管阵列所检测到的路径信息。在CCD图像采集过程中考虑到传感器的数据传输速度快、数据量较大,受到微处理器片上存储器容量以及主频的限制等因素,引入了分频电路,每隔5行采集一行数据。将两种传感器采集到的数据按一定规律融合到一起来控制转向和车速,这样既能充分利用微处理器的片上资源,又会提高路径参数的检测精度。为了提高车速调节的响应速度,系统设计过程中引入了速度检测模块,它是通过红外光电管和光栅来模拟码盘原理实现的,通过单片机中ECT_16B8C模块的Pulse Accumulator定时累计速度传感器的脉冲数来获得车速。同时为了增强调试时的可视化程度,方案中还利用单片机的模块驱动4个数码管显示车速。1.3 控制算法研究系统运行的稳定性和快速性很大程度上取决于转向控制和速度控制的好坏。转向控制决定了小车是否能沿着黑色导引线稳定运行,速度控制决定了小车是否能以最佳速度跑完全程。本方案中转向舵机的控制采用了分段式控制方法。对于直道采用光电管阵列加权平均控制转向,弯道时则把通过CCD图像传感器得到的路径参数变化信息作为预报校正值参与转向控制。速度控制分为两种情况,直道时利用红外传感器检测的路径信息设置期望速度,弯道时在红外传感器的基础上引入CCD传感器检测的路径信息设置期望速度。每一种情况下的调速都使用PID控制策略,通过实验方法确定一套PID参数,使得小车能够在稳定运行的前提下,以最快速度为寻优指标跑完全程。1.4 微处理器资源利用情况为了充分利用微处理器的片上资源,方案设计时通过I/O口中的PA口和PJ口采集红外光电管数据;利用中断响应模式通过PT口采集CCD图像传感器的数据,中断资源利用了PE1和PH0两路中断;电机驱动部分使用了微处理器片上的PWM模块;测速环节则利用微处理器的Capture功能实现;车速显示部分充分利用了单片机片上模块;片上存储器分为两个部分其中一部分用于存储系统程序,其余部分用于存放图像数据。方案设计过程中充分利用了单片机资源,减少了外电路的设计从而减轻了车重。1.5 文献综述方案设计过程中参考了一些相关文献,如参考文献所列。其中文献1和文献2是控制理论的基础,介绍了关于控制的基本思想和各种控制方法。文献3到文献5介绍了微处理器MC9S12DG128的片上资源和使用方法。文献6到文献8介绍了CCD图像传感器的应用和一些数据处理方法。文献9和文献10介绍了PID控制策略的参数整定方法。文献11介绍了单片机嵌入式应用的在线开发方法。1.6 本文主要内容本文的主要内容安排如下:第一章 引言 本章给出了智能车主动寻迹方案设计概述,对路径检测和算法研究做出了说明。第二章 智能车硬件系统设计 本章给出了智能车硬件系统的整体框架,详细介绍了各功能模块的设计方法。第三章 系统控制算法 本章给出了基于预报校正的转向控制方法和基于PID控制策略的速度调节算法。第四章 系统调试 本章详细介绍了各功能模块的调试过程及实验结果,并给出了系统联调的方法。第五章 模型车技术参数及调试工具 本章给出了智能车的具体技术参数以及调试过程中使用的工具。第五章 结论 本章对前面各章节进行了简要总结,给出了模型汽车制作过程整体情况和技术指标。指出了其中存在的问题和改进方向,提出了自己的见解。- 3 -第2章 智能车机械设计说明第2章 智能车机械设计说明2.1 主板机械设计为了能将单片机最小系统板方便地安装到车身上,主板设计时按照最小系统板数据接口的位置预留了双排插针,使得系统板能够通过接插件与主板相连,同时传输数据。主板机械安装过程中主要考虑到路径检测传感器要安装于小车的前方,使得整个系统的重心前移,导致驱动轮与地面间产生的动力减小,影响小车运行的稳定性和速度,因此设计时将其安装于车身的后部,利用主板的重量将系统重心重新移到中后部。主板设计时充分利用了车身上原有的固定架,通过在主板上设置定位孔实现定位。具体安装如图2.1所示。图2.1 主板机械安装图2.2 红外光电管阵列机械设计红外光电管阵列的布局会对路径信息检测产生一定的影响,通过实验发现,设计成V字型的阵列要比直线型效果好。同时为了减小红外光电管之间的相互干扰,设计时将每对红外光电管的外面套上了黑色热缩管,这样就可以加大光电管密度,提高检测精度。安装时,利用两片铝合金制成的支架将红外光电管阵列电路板固定于车前。电路板固定时,理论上应该尽量靠前,但考虑到转向速度及大赛对于车长的要求,而将电路板固定于距离车前处,高度则可根据场地光线的强弱灵活调节。红外传感器路径检测的可靠性受到电路板安装时倾角的影响,一般倾角较大时检测距离较远,但可靠性会变差,通过实验发现,倾角为时效果较好。这种安装方式可以最大限度地将小车相对于导引线的参数信息实时检测出来。具体安装如图2.2所示。图2.2 红外光电管阵列安装图2.3 CCD图像传感器机械设计CCD图像传感器用于采集远距离的路径信息。为了提高图像采集的清晰度,安装时要求尽可能高,但安装过高又会导致车身重心提高,影响稳定性。根据实验结果对比发现,对于本方案中使用的CCD模块,安装高度定为时比较合适。CCD图像传感器安装时利用铝片固定在用螺钉支撑的板子上,这样可以防止镜头颤动,进而提高图像采集的清晰度。镜头的俯仰角以及高度则可以通过铝片的弯曲程度来调节。具体定位情况如图2.3所示。图2.3 CCD图像传感器安装图2.4 车速检测模块机械设计车速检测模块的机械尺寸设计要求足够小,从而能够安装于驱动齿轮和车轮之间,外形的设计则要考虑到传感器位置以及实际空间限制等因素。机械安装时利用螺钉将速度检测模块电路板固定在铝片上,再将铝片固定在距车后轮轴线的电机架上。具体情况如图2.4所示。图2.4 车速检测模块安装图2.5 实验结果通过小车的实际运行发现,方案中采用的机械设计方法和安装位置能够保证各个功能模块间的可靠连接,提高小车运行时的稳定性,并使得路径信息检测达到最优的状态。- 7 -第3章 智能车硬件系统设计第3章 智能车硬件系统设计模型车的硬件电路结构分为路径检测模块、车速检测模块、车速显示模块和电源模块等几个部分,结构框图如图3.1所示。图3.1 模型车硬件电路结构框图3.1 组合式路径参数检测本方案采用了红外光电管阵列和CCD图像传感器的组合路径检测方式。光电管阵列用来感应短距离路径信息,控制小车的转向;CCD图像传感器检测较远距离的路径信息,提前确定路径参数变化趋势,调节小车速度,为转向提供预报。3.1.1 红外光电管阵列模块为了提高转向控制的连续性,避免转向过程出现振荡,一般要求尽可能增加红外光电管阵列的密度,但传感器密度加大又会产生相互干扰,使得可靠性变差。通过实验发现,十个红外光电管TCRT5000构成的V字形阵列能够兼顾稳定性和可靠性,达到综合最优。设计时利用不同颜色的路面对于红外线的反射率不同来识别路径。红外发射管发射红外线信号,经反射后被接收管接收,接收管接收到的信号强度将取决于路面的颜色。发射管的发射功率会受到上拉电阻值的影响,因此设计时使用滑线变阻器来调节发射功率,从而消除器件检测距离的差异。通过设定电压比较器LM2903的阀值可以将接收管接收到的模拟信号转化为数字信号送到微处理器的IO口,从而确定当前光电管是否处于导引线上。对于10光电管构成的阵列只需要5个电压比较器。红外光电管设计电路如图3.2所示。图3.2 红外光电管电路原理框图3.1.2 CCD图像传感器模块CCD图像传感器的选型是根据微处理器的内存容量以及主频的速度来确定的,这里使用十万像素的CCD传感器,并配以分频电路,使得每帧数据占用3K的内存容量,这样既充分利用了微处理器的片上资源,又不会对路径参数的检测精度造成较大影响。CCD数据图像的采集精度会受到供电稳定性的影响,因此设计时把传感器的供电电路分成为模拟和数字两个部分,采用单独供电方式。CCD传感器在一帧数据准备好后会首先给出帧同步信号,随后用于数据采集的行同步和列同步信号会依次给出。由于该型号的CCD传感器时钟频率最低为10M,速度相对于微处理器较快,故设计时引入了分频电路,每8列采集一列数据,每5行采集一行。经过实验发现,每帧图像采集36*36个数据就能够有效地得到前方赛道的参数信息。数据采集之后,经过变换,将镜头的镜像还原成真实图像,进行预处理得到图像中黑色导引线的位置,从而获得黑线的斜率值和相对于车的偏置值,为转向控制提供预报值。整个数据采集过程使用了中断模式,提高了响应速度。CCD图像传感器设计电路如图3.3所示。图3.3 CCD图像传感器设计电路框图3.2 车速检测及显示模块3.2.1 车速检测模块一般情况下,车速检测可以通过测速电机以及码盘等传感器实现,本方案设计过程中为了减轻车重而采用了鼠标内的滚轮传感器模拟码盘原理,实现车速的测量,降低了系统的成本。车速检测模块的工作原理是:将光栅固定于小车的驱动齿轮上,使之随车轮一起转动,同时在光栅的两侧安装一对红外传感器,红外接收管接收到的光强会随着光栅的转动而发生变化,将变化的模拟信号经过电压比较器LM2903处理后转化为数字信号,通过累计单位时间内的脉冲信号就可获得小车的速度。实验结果表明该测速方法完全能够满足速度测量的精度要求,而且稳定性较好。车速检测模块原理如图3.4所示。图3.4 车速检测模块原理框图3.2.2 车速显示模块为了将小车速度实时显示出来,便于算法调试,方案中采用4个8段数码管动态扫描显示车速。利用微处理器片上的模块和驱动芯片SAA1064的复用模式来驱动8段数码管,即用一片SAA1064实现对4个八段数码管的显示控制。转速显示模块原理如图3.5所示。图3.5 车速显示模块原理框图3.3 电机驱动电机驱动分为舵机驱动以及动力电机驱动两个部分。电机驱动的重点在于提高响应速度和驱动能力,从而提高小车运行时的稳定性和速度。3.3.1 舵机驱动舵机的响应速度会直接影响到小车运行的稳定性。考虑到舵机的型号已经固定,这里通过提高舵机的输入电压来提高响应速度,设计时采用LM7806为舵机提供6V供电电源。通过实验方法确定舵机转角和PWM占空比的关系,从而根据光电管阵列的加权平均控制舵机的转角,使得小车能够沿着黑色导引线稳定运行。3.3.2 动力电机驱动小车动力电机的驱动是采用微处理器内部的PWM模块和驱动芯片MC33886来实现的。MC33886是Motorola公司的一款单芯片集成的H桥直流电机驱动芯片,芯片集成了内部控制逻辑,和MOSFET输出电路,能够控制感应直流负载的最大电流为5A,PWM最大频率为10KHz,每个PWM芯片有两个PWM输入,输出为同等占空比的输出电压,因此通过单片机给出一定占空比的PWM就可以得到相应的速度。然后通过速度传感器测得小车的实际运行速度,与软件内部设定的期望速度相比形成速度反馈。利用速度差调节PWM的占空比,将该PWM信号通过MC33886后驱动电机,使之达到期望速度。动力电机驱动电路如图3.6所示。图3.6 车速显示模块原理框图3.4 电源模块由于系统运行过程中采用7.2V的电池作为供电电源,因此提高电源的利用率成为设计时需要考虑的一个主要因素。本方案中采用LM7805作为系统板的DC转换模块,在输入输出电压差较小的情况下该模块的转换效率较高,相对于PWM斩波电路而言,具有电路设计简单等优点,同时还可以减轻小车的重量。小车转向舵机的灵敏性很大程度上取决于输入电压值,为了尽可能提高舵机的灵敏性,减小控制器的滞后,这里采用了LM7806为舵机提供电源。电源模块如图3.7所示。图3.7 电源模块原理框图3.5 实验结果实验结果表明,路径检测模块能够快速准确检测到路径参数及变化趋势,车速检测及显示模块能够实时获得小车运行速度,并显示出来,电机驱动模块可以保证小车的响应速度和运行速度满足实际运行时的需要,电源模块的设计最大程度上提高了电池的利用率。- 13 -第4章 系统控制算法第4章 系统控制算法本系统中控制算法给出的控制量包括转向控制和速度控制两个方面,它们共同决定了小车的稳定性和响应速度。转向控制决定了小车是否能沿着黑色导引线稳定运行,控制时要求尽量提高舵机的响应速度,当路径参数变化较大时还要求舵机能够提前转向,防止由于响应速度慢而导致冲出跑道的情况发生。由于赛道曲率会发生变化,因此要求根据路况信息来调节小车的速度,以保证小车不会冲出跑道。速度控制的重点在于调速过程的响应速度是否足够快,使得小车能够针对不同曲率的路径以不同的速度运行。本方案中转向舵机的控制采用了分段式控制方法。对于直道,利用红外光电管阵列采集到的路径信息进行加权平均控制转向;对于弯道则采用预报-校正的方法对舵机的转向进行控制,预报值由CCD图像传感器检测到的远距离路径信息提供。速度控制分为两种情况,直道时利用红外传感器检测的路径信息设置期望速度,弯道时在红外传感器的基础上引入CCD传感器检测的路径信息设置期望速度。每一种情况下的调速都使用PID控制策略,通过实验方法确定一套PID参数,使得小车能够在稳定运行的前提下,以最快速度为寻优指标跑完全程。4.1 转向控制算法由于舵机转角与PWM的占空比近似于线性关系,因此转向控制过程实际上就是调节PWM的占空比过程。直道转向控制时,通过安装于车前的红外光电传感器检测车身是否位于导引线的中间位置,如果车身偏离了导引线,则红外传感器传输给单片机的二进制序列会发生变化。当10对红外传感器的中间两对位于黑色导引线上时表明车身没有偏离,此时将转向舵机摆正。当小车偏离导引线时,对于两侧的4对传感器赋予不同的权值,当他们位于黑色导引线上时,则在正常运行时PWM占空比的基础上加上相应的权值来调节PWM的占空比,进而调节转向。该方法的优点在于可以避免交叉跑道对于小车运行产生的影响,当小车位于交叉跑道上时,10对红外传感器均位于黑色导引线上,左右两侧的信息加权会相互抵消,从而使得小车按照原方向运行。弯道控制时,首先调节车速,将车速调节到小车能够顺利通过的状态,弯道曲率的检测是依靠CCD图像传感器获得的。弯道转向控制过程中要求舵机驱动器的驱动能力足够大,响应速度足够快。为了克服实际舵机响应速度无法满足要求的问题,需要根据路径检测信息提前转向,即加入一定的预报值。预报值的大小取决于弯道曲率以及车身和导引线的夹角,控制时利用CCD图像传感器可以获得弯道上某几点的斜率,根据斜率的变化趋势来确定弯道曲率以及车身状态,对于不同的斜率采用不同的加权值作为转向控制的预报值。该方法可以间接地提高舵机的响应速度,使得小车能够以更快的速度跑过弯道。4.2 车速控制算法车速控制过程采用了分段式控制方法,分为直道和弯道两种情况。直道时通过红外传感器检测到的车身状态设定期望速度。与转向控制类似,当中间的两对传感器位于黑色导引线上时,表明小车没有偏离导引线,此时以最快速度作为期望速度去调节车速,当两边的传感器检测到黑色导引线时,表明小车已经偏离导引线,此时根据检测到黑线的传感器权值系数去调节期望速度,使得车速减慢。对不同的传感器赋予不同的权值系数,使得当车身偏离越严重时车速越慢。弯道时采用了两级调节期望速度的方式,首先根据CCD传感器检测到的弯道曲率,将期望速度降到小车能够顺利通过的程度,在此基础上再通过红外光电传感器进行二次调速,从而保证小车的稳定运行。一般情况下小车的实际速度与期望速度之间会有一定的差异,而且该差异会随着路径曲率的变化而发生变化,为了使得小车能够以最快速度跟踪期望速度,调速过程中采用了PID控制策略。PID控制算法具有稳定性好、响应速度快等特点。增加比例项P和微分项D可以加快响应速度,但稳定性会变差,增加积分项可以减小稳态误差,但响应速度会减慢。实际使用时是利用测速模块获得小车的实际运行速度,与期望速度相比较构成闭环控制,并根据实验结果对比来确定PID参数值,使得小车能够在稳定运行的前提下尽可能提高响应速度,从而缩短调速过程。4.3 实验结果通过小车实际运行发现,上述控制算法保证了小车的稳定性,使其能够沿着黑色导引线可靠地运动,同时车速也得到了较大提高,整个过程的综合速度达到最优状态。- 15 -第5章 系统调试第5章 系统调试5.1 红外光电管阵列和CCD传感器调试对于红外光电管阵列,利用单片机开发板上自带的LED灯,对车模前排的红外光电传感器进行调试。将传感器固定在车模上,让传感器经过黑线和白板。当经过黑线时,LED灯亮。调节红外传感器发射部分的滑阻可调节红外传感器发射部分的发射功率。当所有传感器压低和抬高红外传感器探测正常时,可认为红外传感器可以工作正常。CCD图像传感器具有7条数据线,2条电源线,5条信号线,调试时,首先用示波器观察各个信号线的频率相位关系是否正确,然后通过程序控制采集数据,由于CCD的像素时钟为6MHz(晶振为12MHz),因此调试时加入8分频电路,得到750KHz的信号,即每一像素读取的周期是1.33us将单片机主频超频到40Mhz的时候,就可以足够速度要求。在单片机内开辟的存储器用来存储采集的图像。为了便于调试,程序中还将采集的图像通过串口发到电脑上来观察数据是否正确。通过镜头调焦,最终可以得到稳定的图像,为转向预报提供足够精确的赛道信息。5.2 测速部分调试红外传感器的输出电压会随着光栅的转动而放生变化,将变化的模拟信号经过电压比较器LM2903处理后,将输出二值化的数字信号,利用示波器观察输出信号,可以看到方波,方波频率取决于光栅的转动速度。由于模拟输出信号有小的电压抖动,经实验调试,加滤波电容后可以有效去除电压抖动。5.3 车速显示部分调试车速显示部分采用SAA1064驱动四个数码管来实现,SAA1064是专用的数码管驱动芯片,可通过向其控制寄存器写入控制字来控制数码管是否复用,数码管驱动电流,以及控制数码管的刷新频率。由于转速变化较快,速度传感器检测到的速度值每20次显示一次,这样就可观察小车当前的近似速度。由于单片机的总线时钟40M,通过模块的分频寄存器进行分频,才能满足总线的传输速率要求,要显示的速度值,则通过总线向SAA1064的相应寄存器写入。5.4 驱动电机调试驱动电机的控制是采用PID控制,所要调试的主要参数是PID的三个参数,比例,积分和微分环节。由于这三个参数对驱动电机的速度控制性能至关重要,因此实验中专门用一段时间调节这三个参数,当电机在空载情况下,其对象的传递函数与有负载情况下有很大区别,因此调试需要每一组参数都要在车的实际运行中观察控制效果,三个参数对控制系统的效果有以下原则:(1)比例环节:成比例的反映控制系统的偏差信号,增大比例环节,可以提高快速性,但会产生较大超调。(2)积分环节:主要用于消除静差,提高系统的无差度。增大积分环节,会使系统的响应速度变慢,或者引起系统振荡。(3)微分环节:反映偏差信号的变化趋势,增大微分环节可以提高系统的快速性。遵循以上原则,反复联调,最终得到一组较好的PID参数值。调试过程中遇到的问题主要有:车速较慢时,驱动电机的堵转力矩相对较大,驱动电流瞬间上升,当使用一片LM7805给所有5V电路供电时,单片机的供电就会受到影响,单片机内的程序运行会出现跑飞的情况,因此在软件中加入看门狗复位程序,防止程序跑飞,增加车模的可靠性,使整个系统的鲁棒性得到提高。5.5 系统联调各部分硬件模块测试正常后,进行系统的整体调试。作为一个系统,车模的最大行驶速度与转向算法密切相关,因此联调试的目的有两个:(1)CCD图像传感器信息与红外传感器信息的融合提高转向的反应速度和稳定性;(2)根据转向反应速度,对车模进行调速控制。避免转向时由于车速过快,而冲出跑道。实验时,购买与大赛赛道相同的材料,利用胶带模拟黑色导引线构成模拟跑道,按最小曲率半径设计弯道,经过反复调试,算法调整,最终得到一组最优的控制策略。其控制思想在控制算法中详细介绍。 - 17 -第6章 调试工具及模型车技术参数第6章 调试工具及模型车技术参数6.1 调试工具系统设计过程中使用的调试工具如表6.1所示。表6.1 调试工具列表调试工具种类备注多功能数字万用表DY2106测量电压、电阻等数字示波器TDS2012观察信号波形信号发生器AFG310产生固定频率的波形直流稳压电源提供电源输入BDM仿真器程序下载CodeWarrior 3.1调试软件6.2 模型车技术参数模型车的技术参数如表6.2所示。表6.2 模型车技术参数表类别备注车重尺寸(长宽高)电路空载总功耗电容容量注: 其中,小车及电路重,电池重。 其中,主板功耗、单片机最小系统功耗、转速显示模块功耗、红外光电管阵列功耗、CCD传感器功耗,其余部分为电机功耗。 电路中所使用的电容均用于滤波。6.3 传感器种类及数量表6.3列出了模型车所使用的传感器种类及数量。表6.3 传感器种类及数量表(单位:个)传感器种类型号数量备注红外光电传感器TCRT500010无测速传感器不详1自制光栅CCD图像传感器OV66201外加镜头注: 该测速传感器使用的是机械式鼠标中用来定位鼠标位置的红外光电传感器,没有标明型号。6.4 电机使用情况本方案设计时除了车模原有的驱动电机、舵机之外没有引入新的电机。6.5 赛道检测精度及频率本方案采用光电管阵列与CCD图像传感器组合检测路径信息。赛道信息检测分为近距离红外检测和远距离CCD图像检测。近距离红外传感器检测距离车前轮约处、宽度为的V字形赛道信息,检测频率为;CCD图像传感器经过镜头对焦可以采集到车前约处的路径信息,并可以根据实际需要进行调整,数据采集范围为的赛道信息,能有效辨别黑线和进行毛刺处理。采样频率约为。- 19 -第7章 结论智能车的主动寻迹是依靠安装于车上的传感器来识别小车所经过的路径,根据固化于微处理器内的算法来调节小车的转向以及速度来实现的。主动寻迹的性能取决于路径参数(位置、角度、曲率等)的检测精度和路径参数变化的提前预报,也受到微处理器片上资源利用效率以及控制算法的影响。当以最快速度为控制系统的寻优指标时,如何提前预报路径参数变化显得尤为重要。为了提高小车整个运行过程的综合速度,本方案中采用了红外光电管阵列和CCD图像传感器的组合路径检测方式。红外传感器用于检测短距离的路径信息,CCD图像传感器用于检测远距离路径信息及参数变化趋势,为小车的转向和调速提供预报。该检测方法有效地提高了路径检测的精度和距离。对于小车转向和期望速度的调节,方案中采用了分段式调节方法。针对不同的路径参数采用不同的调节策略,使得小车的全程综合速度达到最快。调速过程中采用了PID控制策略,提高了小车的稳定性和响应速度。本方案中尚有一些问题尚有待于进一步深入和完善,如: 通过改变机械结构安装时使用的材质来减轻车重; 为系统配备冗余传感器以保证参数检测可靠; 优化控制算法软件,提高系统运行的稳定性和响应速度。参考文献1 王广雄. 自动控制系统设计. 宇航出版社. 1986.2 李友善. 离散系统理论. 国防工业出版社. 1981.3 CRG Block User Guide V02.07 S12CRGV2/D.4 HCS12 Inter-Integrated Circuit (IIC) Block Guide V02.07 S12IICV2/D.5 PWM_8B8C Block User Guide V01.16 S12PWM8B8CV1/D.6 黄永庆. 基于CCD摄像的视觉跟踪误差信号提取J. 广西大学梧州分校学报, 2005, 15(4): 97101.7 李绍民, 刘任平. 全自主足球机器人视觉系统的方案分析与比较J. 微计算机信息, 2004, 20(9): 6061.8 齐国清, 胡晓初. 线形CCD高速图像采集与处理系统J. 大连海事大学学报, 2004, 30(3): 6568.9 解丽华. PID过程控制及其参数整定J. 科技情报开发与经济, 2006,16(5): 169170.10 宋士伟, 陈惠岩, 席军强. 基于模糊PID的遥控转向技术J. 汽车科技, 2006.11 邵贝贝. 单片机嵌入式应用的在线开发方法. 北京: 清华大学出版社, 2004.附录1 程序代码:#include /* common defines and macros */#include /* derivative information */#pragma LINK_INFO DERIVATIVE mc9s12dg128b#pragma MESSAGE DISABLE C5905#pragma MESSAGE DISABLE C12056#define FODD PTH_PTH3/ODD AND EVEN INDUCTOR#define HREF PTH_PTH2/HREF SIGNAL/#define KKP 20/50/10/30 /50 #define KKI 30/36/30/40 /36#define KKD 5#define KP 20 /50,16,2 30,16,2 #define KI 16 /36#define KD 2#define Sample25000/10ms#define SEND_RECE_LOOP 0xfff0#define image_debug 0int PRETURN=-30; /-20/-int PREBIAS=0; / 10/10 / 30 /-byte Espeed1=100;byte Espeed2=90;byte Espeed3=80;byte Espeed4=60;int Speed;int image_i=0,image_j=0;byte fff=0; / frame finish flag; byte image3636;int m=1;unsigned int sum,x=0; unsigned int ad10=3800,3700,3550,3350,3250,3150,2980,2850,2700,2600; unsigned int ad_line10=3600,3500,3400,3300,3250,3150,3100,.3000,2900,2800;int last=3200,last1=3200;int current=3200;unsigned char forward10;unsigned char table10=0x07E,0x012,0x0BC,0x0B6,0x0D2,0x0E6,0x0EE,0x072,0x0FE,0x0F6;int error;int Speedexp,Speedexp1;int error1=0;int error2=0;int error3=0;int pwmpty23=80,pwmpty67=3200;int bias=0,lastbias=0;int turnfru=0,lastturn=0; int F=10,flag=1,straight_flag=3;int Preturn=0,lastPreturn=0;int servo_error=0;int servo_error1=0;int servo_error2=0;int servo_error3=0;int PWM67_TEMP=0;void servomoto(void);void start(void);void stop(void);void iicsend(unsigned char);void disp(int value);void IICInit(void);void SendChar(byte);void SCI0Init(void);void IRQInit(void);void imagedeal(void);/= void main(void)REFDV =7; / set the REFDV register SYNR =19; / set the SYNR register to give us a 24 MHz E-clock.while (CRGFLG&0x08)=0); /wait for pll stable CLKSEL|=0x80; /lock pll to bus clock _FEED_COP(); DDRJ=0; DDRA = 0x00; DDRB = 0xff; DDRH=0X02; PTH_PTH1=0; DDRT =0x00; PORTB =0x00; PIEH=0; /ENABLE PTH_PH0,IF CLEAR FLAG ,PIFH=1; PPSH_PPSH0=0; /=expspeed choice switch= switch(PTH_PTH4*2+PTH_PTH5) case 0:Speedexp1=Espeed1;break; case 1: Speedexp1=Espeed2;break; case 2: Speedexp1=Espeed3;break; case 3:Speedexp1=Espeed4;break; default: Speedexp1=Espeed4; /= SCI0Init(); IRQInit(); IICInit(); /=pwm initial= PWMPOL=0Xc0;/polarity 67 as positive PWMCLK=0XFF;/SA SB IS THE clock of pwm PWMPRCLK=0X11;/CLOCK A AND B IS 40/2=20MHz PWMCAE=0X3c;/6,7,4,5 CENTER AGLIGN PWMCTL=0XE0; /67 45 23 合用 PWMSCLA=0X05; /CLOCK SA=20MHz/10=2MHz PWMSCLB=0X05; /CLOCK SB=20MHz/10=2MHz PWMPER23=200;/PWM23=5KHz PWMPER45=200;/PWM45=5KHz PWMPER67=40000;/PWM67=50Hz PWMDTY23=100;/duty23=20% forward drive PWMDTY45=0;/duty45=20% backward drivePWMDTY67=3200;/servo innitial center PWME=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论