飞思卡尔智能汽车设计技术报告_第1页
飞思卡尔智能汽车设计技术报告_第2页
飞思卡尔智能汽车设计技术报告_第3页
飞思卡尔智能汽车设计技术报告_第4页
飞思卡尔智能汽车设计技术报告_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

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

文档简介

第九届“飞思卡尔”杯全国大学生智能汽车竞赛技术报告学校:武汉科技大学队伍名称:首安二队参赛队员:韦天肖杨吴光星带队教师:章政敏I关于技术报告和研究论文使用授权的说明本人完全了解第九届“飞思卡尔”杯全国大学生智能汽车竞赛关保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。参赛队员签名:带队教师签名:日 期:II目录第一章引言 11.1概述 11.2内容分布 1第二章系统总体设计 22.1设计概述 32.2控制芯片的选择 32.3线性CCD检测的基本原理 32.3系统结构 5HYPERLINK第三章机械系统设计 73.1底盘加固 73.2轮胎处理 73.3四轮定位 83.4差速器的调整 123.5舵机的安装 133.6保护杆的安装 153.7CCD的安装 163.8编码器的安装 173.9检测起跑线光电管及加速度计陀螺仪的安装 18第四章硬件系统设计 194.1最小系统版 204.2电源模块 214.3CCD模块 224.4驱动桥模块 234.5车身姿态检测模块 244.7测速模块 24HYPERLINK4.8OLED液晶屏及按键、拨码 25第5章程序设计 27III5.1阈值计算 275.2赛道判别 285.3舵机控制 285.4电机控制 295.5PID介绍 30第六章相关工具介绍 326.1软件开发平台 326.2蓝牙模块及超级示波器 35第七章车模主要技术参数说明 37第八章总结 38IV第一章 引言1.1概述全国大学生“飞思卡尔杯”智能汽车竞赛,以“立足培养、重在参与、鼓励探索,追求卓越”为宗旨,培养大学生的综合知识运用能力、基本工程实践能力和创新意识,激发大学生从事科学研究与探索的兴趣和潜能,倡导理论联系实际、求真务实的学风和团队协作的人文精神。该项竞赛以智能自循迹小车作为载体,以小车的速度、智能启停能力和自主寻路及处理能力作为考核标准,其中由组委会提供一个标准的汽车模型、直流电机和可充电式电池,并规定使用飞思卡尔半导体公司的8位、16位或32位微控制器作为核心控制模块,再加上限定范围的传感器,由各队队员自主完成硬件电路设计、系统软件设计和机械结构改装,经调试后到规定地点进行比赛。整个系统涵盖了机械、电子、电气、传感、计算机、自动化控制等多方面知识,具有很强的实际考核意义。这届光电组使用B型车模,但与以往不同的是,改掉了以往摩擦力大的轮胎,禁止使用轮胎橡胶套,而摩擦力又是保证车速的重要因素。在这份报告中,我们将从总体方案、机械、硬件、算法等方面详细介绍我们的智能车系统。1.2内容分布本技术报告采用先总后分的结构,先对系统总体设计进行介绍,然后依次详述车体机械结构、硬件电路和控制算法(软件)三部分。本报告的具体组织方式如下。第一章 引言,概述飞思卡尔竞赛背景及技术报告内容;第二章 系统总体设计,主要介绍了智能车的总体设计思路及相关原理;第三章 车体机械结构设计,主要包括底盘加固、轮胎处理、四轮定位、差速器的调整、舵机的安装等第四章 硬件系统设计,主要包括单片机模块、电源模块、CCD模块、电机驱动模块、车身姿态检测模块测速模块、辅助调试模块等。-1-第五章程序设计,包括阈值计算、赛道判别、舵机和电机的控制;第六章系统开发工具介绍,介绍了DXP,IARworkbench等。第七章 车模主要技术参数。第八章总结本设计的主要特点以及在设计过程中遇到的问题和解决办法。-2-第二章 系统总体设计设计概述CCD采集赛道信息后传送给MK60FX512控制器处理后,控制器根据赛道信息控制舵机打角及电机转速,让智能汽车能准确的在赛道上前进。车上装载了OLED屏及蜂鸣器,方便观察参数的设定,及特殊赛道元素是否判断准确,极大的方便调试。另外主板上留有蓝牙接口,以便观察小车在行驶过程中的一些变量,例如电池电压,行驶速度,车身角度等数据。控制芯片的选择根据赛事组委会的统一要求,参赛队伍可以选用的微控制器芯片包括飞思卡尔公司提供的32位Kinetics等系列以及16位微控制器和8位微控制器系列。作为智能车控制的核心,无疑,MCU的选择是至关重要的,将直接影响到硬件电路的搭建以及程序的整体架构。我们是光电组,需要处理的内容包括陀螺仪、加速度计和3个线性CCD,数据采集频率较高,于是我们选择了MK60FX512。线性CCD的基本检测原理本次大赛,根据竞赛秘书处的指定要求,光电平衡组采用的是Texas公司生产的Tsl1401系列的线性CCD。如下图:-3-图2.1Tsl1401内部结构图这种线性CCD包括一个1×128阵列的光电二极管,相关的电荷放大器电路和一个具有能够同时对128个像素点开始曝光、停止曝光的内部像素数据保持功能的电路,该传感器的内部控制逻辑要求只有一个串行输入(SI)和一个时钟信号输入端(CLK),一个AO口依次输出各像素点的模拟量的电压值信号。当曝光时间过短时,采的像素点电压值会整体很低,不足以提取出真实的赛道信息,然而当曝光时间过长时,采的像素点电压值又会过高,达到输出的饱和状态,可以看到,曝光时间的确定对提取稳定、真实的赛道信息是一个很关键的因素。参考往届技术报告,结合考虑程序处理时间,我们决定将曝光时间定为8ms,采集的数据稳定,不会出现明显的波动,能够抵抗环境的干扰。-4-2.4系统结构为了保证小车既能稳定运行,又能提升速度,我们需要使整个系统控制具有良好的实时性和周期性,因此除了既要能实现功能的完整性,还要使其能够在既定的时间里稳定执行相应的任务,在设计时,需要用到定时器中断来完成。然而,在设计时,毕竟中断时间有限,不能将所有的执行程序都放入中断。所以在程序执行时,从主函数开始,首先完成对系统资源的初始化设定,然后打开定时中断,再进入一个主循环函数,在该循环函数中是一些对控制实时性要求不高或使用频率较低的辅助性函数,如液晶显示屏显示、拨码及按键情况扫描等函数,主要是在中断函数执行完后的空余时间里执行,我们可以将其称为后台。而对于其他需要具有较好的周期性和实时性的控制类函数,则主要放在了定时中断函数里面,如信号采集、信号处理、控制运算、控制输出等子函数,这样以保证系统运行的稳定性,可以将其称作为前台。这样既可以提高执行效率,又可以对各个部分做到精确的控制。图2.2主循环结构图-5-中断结构图进中断AD采集及数据处理制度向速方出中断图2.3中断结构图-6-第三章机械系统设计在小车的调试过程中,我们发现前期车速较低时,对小车的机械结构要求并不高,越是到后期,车速较高的时候,对机械结构要求很高。为了保证小车能在高速的情况下能稳定行驶,我们在规则的约束下,尽量改造小车,提高车模整体精度,减轻车身重量,最大程度优化小车的机械结构。因此,我们队小车进行了多方面的改造。3.1底盘加固原装B型车模后悬挂底板与底盘采用的是活动柔性连接,但这种方式会占用底盘空间,并且小车在行驶过程中具有不可控因素,行驶不稳定,于是小组决定改掉这种结构,采用刚性连接,使后悬挂底盘与底盘成为整体。对于前轮的前摆臂处增加垫盘,调整后轮轴固定座方向,使底盘尽量低,降低车身重心,这对智能车降速转弯及通过障碍物时非常有利。3.1电机连板CAD图轮胎处理摩擦力分为静摩擦力和滑动摩擦力两种。小车在直道前进时,受到的主要是静摩擦力,静摩擦力越小,说明小车前进阻力越小;在转弯处,小车受到的7摩擦力主要为静摩擦力,轮胎与赛道接触为小车提供的静摩擦力越大,小车在转弯处稳定通过的速度也就越大。F=mv2(F:静摩擦力所提供的向心力;m:小车质量;v:小车r转弯处的线速度即稳定速度;r:小车的转弯半径。)同时减轻车身重量也能提高转弯处的稳定速度。这届的轮胎处理是一个棘手的问题,不能对轮胎过度打磨,禁止使用轮胎橡胶套,还对轮胎粘性有限制。我们对轮胎最初的处理采用自然打磨法,小车在光滑的地板上跑一段时间后,轮胎表面的轮胎渣就会被磨掉,变得光滑平整,在跑道上轮胎效果较好。但是小车行驶时间加长后,轮胎问题又会出现。这种方法不仅麻烦,还会因为打磨频繁,缩短轮胎的使用寿命。轮胎摩擦力变差的原因,主要是轮胎表面起渣,导致轮胎与赛道表面不能良好的接触。我们用水洗干净轮胎表面的物资,用毛糙的毛巾使劲擦拭轮胎表面,是表面尽量平整。实际验证这种对轮胎的处理方法有较好的效果。四轮定位汽车的转向车轮、转向节和前轴三者之间的安装具有一定的相对位置,这种具有一定相对位置的安装叫做转向车轮定位,也称前轮定位。前轮定位包括主销后倾(角、)主销内倾(角、)前轮外倾(角)和前轮前束四个内容。主销后倾角从侧面看车轮,转向主销(车轮转向时的旋转中心)向后倾倒,称为主销后倾角。设置主销后倾角后,主销中心线的接地点与车轮中心的地面投影点之间产生距离(称作主销纵倾移距,与自行车的前轮叉梁向后倾斜的原理相同),使车轮的接地点位于转向主销延长线的后端,车轮就靠行驶中的滚动阻力被向后拉,使车轮的方向自然朝向行驶方向。设定很大的主销后倾角可提高直线行驶性能,同时主销纵倾移距也增大。主销纵倾移距过大,会使转向盘沉重,而且由于路面干扰而加剧车轮的前后颠簸。8图3.2主销后倾结构示意图主销内倾角从车前后方向看轮胎时,主销轴向车身内侧倾斜,该角度称为主销内倾角。当车轮以主销为中心回转时,车轮的最低点将陷入路面以下,但实际上车轮下边缘不可能陷入路面以下,而是将转向车轮连同整个汽车前部向上抬起一个相应的高度,这样汽车本身的重力有使转向车轮回复到原来中间位置的效应,因而方向盘复位容易。此外,主销内倾角还使得主销轴线与路面交点到车轮中心平面与地面交线的距离减小,从而减小转向时驾驶员加在方向盘上的力,使转向操纵轻便,同时也可减少从转向轮传到方向盘上的冲击力。但主销内倾角也不宜过大,否则加速了轮胎的磨损。9图3.3主销内倾结构示意图前轮外倾从前后方向看车轮时,轮胎并非垂直安装,而是稍微倾倒呈现“八”字形张开,称为负外倾,而朝反方向张开时称正外倾。使用斜线轮胎的鼎盛时期,由于使轮胎倾斜触地便于方向盘的操作,所以外倾角设得比较大。汽车一般将外倾角设定得很小,接近垂直。汽车装用扁平子午线轮胎不断普及,由于子午线轮胎的特性(轮胎花纹刚性大,外胎面宽),若设定大外倾角会使轮胎磨偏,降低轮胎摩擦力。还由于助力转向机构的不断使用,也使外倾角不断缩小。尽管如此,设定少许的外倾角可对车轴上的车轮轴承施加适当的横推力。10图3.4前轮外倾结构示意图前轮前束采用这种结构目的是修正上述前轮外倾角引起的车轮向外侧转动。如前所述,由于有外倾,方向盘操作变得容易。另一方面,由于车轮倾斜,左右前轮分别向外侧转动,为了修正这个问题,如果左右两轮带有向内的角度,则正负为零,左右两轮可保持直线行进,减少轮胎磨损。图3.5前轮前束结构示意图起初,我们队车模的四轮定位是采取增大接触面的原则,将前轮调为主11销垂直车轮垂直,有较好的效果。但调试一段时间后,我们发现小车由于机械磨损会出现转向沉重,轮胎单边磨损、偏磨等问题,这时就需要对前轮重新定位。后经过一段时间的调整及分析,车在转弯中,受力面主要为外侧轮胎的外边沿,使其发生较大形变,导致外侧轮胎的内边沿离开地面,这样就减小了前轮接触面,向心力减小,通过转弯处的稳定速度降低。为增加轮胎的受力面,将前轮调为主销内倾,相对于在转弯处对前轮进行补偿,使前轮与赛道的接触面增加。小车在小车转弯情况虽然好转,但是在转弯过程中受到较大阻力,不能快速达到期望速度。另外安装四轮时要注意尽量减少四轮虚位,尤其是前轮。可以增加垫片或是减小前轮轴承间隙,使前轮不能左右晃动,这样可以提高小车在行驶过程中的稳定性。图3.6前轮实际效果123.3差速器的调整差速器的作用是在车模转弯的时候,降低后轮与地面之间的滑动;并且还可以保证在轮胎抱死的情况下不会损害到电机。差速器的特性是:阻力越大的一侧,驱动齿轮的转速越低;而阻力越小的一侧,驱动齿轮的转速越高。以此次使用的后轮差速器为例,在过弯时,因外侧后轮轮胎所遇的阻力较小,轮速便较高;而内侧前轮轮胎所遇的阻力较大,轮速便较低。差速器的调整中要注意滚珠轮盘间的间隙,过松过紧都会使差速器性能降低,转弯时阻力小的车轮会打滑,从而影响车模的过弯性能。另外差速器齿轮与电机齿轮及编码器齿轮的咬合程度也需要注意。如果咬合太紧,相当于对电机增加了额外的负载,对电机产生额外的消耗,对电机控速造成影响。也不能咬合太松,否则会导致扫齿,磨损齿轮。用一张A4打印纸隔在齿轮中间,能轻松转动轮子即可。3.4舵机的安装对于舵机,我们采用经典的立式安装,舵机的安装位置决定了打角死区,连杆的长度由舵机的安装位置及舵机摆杆的长度共同决定。为了减小打角死区,提高打角范围,决定将舵机稍微靠车头安装,舵机高度适中。对于摆杆,我们设计了不同长度的摆杆,通过实际检验,确定舵机摆杆长度,并通过多组实验得出符合智能车在高速情况下稳定运行的适合长度。舵机摆杆是将舵机的旋转运动转换成横摆运动的一种机构。在智能车比赛里,通过它将舵机转矩传递到连接轮子上面的横拉杆,实现轮子的左右转动,从而实现转向。转向在智能车比赛中是至关重要,而摆杆的设计直接关系到智能车转向灵敏度。舵机转矩=舵机摆杆作用力*摆杆长度通过公式可以得出:拉杆作用力越大,反应越灵敏,转向速度越快!转矩一13定时,摆杆越长,作用力就越小,所以摆杆又不能太长。同时前轮的转向度数由横杆的位移决定,摆杆越长,舵机需要打角的度数越小。这就要求我们在舵机反应灵敏度与响应时间上找到一个合适的值。经过试验,我们选择了舵机摆杆长度为32mm.图3.7舵机安装图3.8摆杆CAD14同时最终的转向机构还应该尽量满足符合阿克曼转向理论,依据阿克曼转向几何设计的车辆,沿着弯道转弯时,利用四连杆的相等曲柄使内侧轮的转向角比外侧轮大大约2~4度,使四个轮子路径的圆心大致上交会于后轴的延长线上瞬时转向中心,这样可以使车辆在过弯时转向轮处于纯滚动状态,减少过弯时的阻力,减小轮胎的磨损。图3.9阿克曼转向示意图3.4保护杆在调车的过程中我们发现如果保护杆过于强硬,即使与障碍物轻微的碰撞也会使小车受到较大的冲击力,使车身状态发生较大改变,甚至被障碍物挡住,不能继续前进。后将保护杆改为用环氧树脂材料雕刻成的窄板,富有弹性。在轻微的碰撞中,保护杆受力倾斜,既对力有一个缓冲的效果,又能使前进方向上的力变换方向,使小车得到旋转的力,避过障碍物。安装时要注意与前轮的距离,当小车检测道路失败,冲出跑道,猛地撞到墙壁,窄板可能会与前轮接触,阻止舵机打角,时间较长的话,会烧毁舵机。15图3.10保护杆安装当然避障主要是靠程序算法来解决,但是在障碍检测时可能车身不正,导致打角不及时或打角度数不够,保护杆就可以起到作用了。3.5CCD的安装为了确保CCD能稳定采集赛道信息,CCD底座的牢固性很关键。我们先后采用了两种方案:第一种是购买的塑料底座,但是在安装的过程中,发现该种底座,占地面积大,总共需要六颗螺丝才能将CCD杆基本稳定;第二种为铝合金底座,质量轻且牢固,占地面积少,底座高度较适合,能与碳素杆紧密咬合。只需要在底盘打四个孔就能将CCD碳素杆稳定。螺丝固定在车模底盘中心位置。CCD安装的位置与车模的前瞻量以及视野宽也有直接关系,CCD的安装位置低了,视域不够广阔,影响寻线的有效范围;安装过高,整车系统会因重心抬高而稳定性变差。所以CCD的安装的位置应同时考虑到机械性能的需要和图像的要求。CCD传感器重量相对车架来说具有不可忽略的影响,从车模的性能上考虑,车模的重心越低越好。CCD与主板的连线较多,建议使用牢固纤细的飞线,然后再对飞线处理,16这样既避免了线多的麻烦,也能减轻线的重量。图3.11CCD的安装3.6编码器的安装编码器是测速环节重要的传感器,因此我们选用了测速精度高的欧姆龙500线编码器。欧姆龙编码器连接线有四根,棕色为+5V,蓝色为负极,细黑和白色为信号输出,信号线需上拉电阻5—10K,正反转是通过相位差判断。编码器的安装要注意防干扰,因此我们在没有被屏蔽线包裹的部分使用锡箔纸包裹,防止信号干扰。另外因为这届飞思卡尔竞赛坡道较高,为避免在不对称坡道中蹭到跑道,我们改变了马达座C板的摆放方式,从而为提高编码器留出空间,提高编码器17的位置。调整好编码器的位置,使编码器齿轮与后轮大齿适当咬合,不紧不松,太紧会增加电机负载,太松则可能导致掉齿且会磨损齿轮。3.12CCD的安装检测起跑线光电管及加速度计的安装为避免光电管撞到障碍物,我们决定将检测起跑线放到车身后面,加速度计平放在后轮轴中心上方图3.13检测起跑线装置的安装18第四章 硬件系统设计我们将主控板与驱动桥、键盘融为一体,充分利用K60本身具有的OLED屏接口,减少了连接导线的数量,这样既能保证了车体的整洁和美观,又能减轻车身重量。下面是主板PCB图及实物图图4.1主板PCB布局19图4.2主板4.1最小系统版往届学长在使用自己焊接的系统版中容易遇到静电复位等问题,且焊接较为困难,我们决定使用市场购买的最小系统版,虽然体积较大且重,但是工作稳定,在使用的过程中,没有遇到复位等问题。单片机最小系统板使用K60单片机,144引脚PQFP封装,为减少电路板空间主板上仅将本系统所用到的引脚引出,包括PWM接口、计数器接口、外部中断接口、若干普通IO接口等。还包括电源滤波电路、时钟电路、复位电路、串行通讯接口、JTAG下载接口和SD接口20图4.3K60接线图4.2电源模块电源作为整个智能车系统的能量供给站,要求能够满足不同模块的电能需求,确保整个系统运行的稳定性。因此,电源稳压模块具有非常重要的意义。通过对小车系统各模块对电能的需求分析,我们把整车电源系统分为了三类:即核心处理器电源、传感器电源和其他外设的电源。智能车常用的稳压电源有:线性稳压电源(如LM2940、LM7805、AMS1117)和开关型稳压电源(如LM2576、LM2574)。线性稳压电源的特点是输出电压纹波小,外围电路简单,只需要加几个电容滤波,其中LM2940带载能力最强,可达1A以上,LM7805与AMS1117带载能力相当都在500mA-800mA。开关型稳压电源带载能力强,纹波相对较重,外围电路相对复杂,在需要升压的场合比较适用。智能汽车使用的都是高速运转的高精度芯片,电源的好坏决定了芯片工作的稳定性。我们对CCD模块,单片机供电使用AS1117-3.3V。其他模块主要使用的稳压芯片及升压模块有LM2576-5V、LM2576-ADJ、及B0512S-2W。21图4.4电源模块原理图我们在电池电压处加入了电源电压采集模块,实时监测电压。图4.5电压采集原理图224.3CCD模块竞赛规定光电组采用TSL1401系列的线性CCD,我们按照芯片手册连接线路,进行了测试。刚开始外围电路简单,只在电源和AO输出端口加入了滤波电容,结果输出信号的AD采样值很低,AD采集的精度不够,输出波形很不稳定。后来对电路做了一些改进,在信号输出端加了运放芯片LMV358,放大倍数通过电位器可调,这样可以适应不同光线强度的环境。为了改善输出信号的稳定性,在CCD的输出端加了一个510欧姆的下拉电阻,在运放的输入输出端各加了一个104的滤波电容,在电源地的入口处串联了一个100uH的电感,最终CCD采集到的信号达到了理想效果。CCD电路部分如下图:图4.6CCD模块原理图4.4驱动桥模块利用2个N沟道功率MOSFET和2个P沟道功率MOSFET驱动电机的方案,控制电路简单、成本低。但由于加工工艺的原因,P沟道功率MOSFET的性能要比N沟道功率MOSFET的差,且驱动电流小,多用于功率较小的驱动电路中。而N沟道功率MOSFET,一方面载流子的迁移率较高、频率响应较好、跨导较大;另一方面能增大导通电流、减小导通电阻、降低成本,减小面积。综合考虑系统功率、可靠性要求,以及N沟道功率MOSFET的优点,本设计采用4个相同的N沟道功MOSFET的H桥电路,具备较好的性能和较高的可靠性,并具有23较大的驱动电流。考虑到实际驱动电流可能很大,故采用4片IRF3205组成全桥驱动电机。额定工作电流可以达到100A以上,而且内阻很小,大大提高了电动机的工作转矩和转速。由于电机在急减速或急加速的时候都会将电源的电压拉低,因此在电源两端接大电容滤波。4个MOS管在主板上的摆放既要节省空间,方便布线,还要注意散热。图4.7驱动桥原理图4.6车身姿态检测模块起初我们使用了两块MMA8451加速度计模块,对小车转弯进行受力分析,计算出转弯半径,但由于车速较快,实际受力情况复杂,导致计算出的转弯半径偏差较大,后舍弃这种方案。只保留一块加速速计,计算车身方向,然后结合赛道信息进行处理。另外我们也使用了MPU6050陀螺仪模块,对坡道进行检测。4.7测速模块24由于智能车车速一般较快,对测速要求精度高,我们使用的是欧姆龙500线的编码器,使用较小的金属齿轮与后轮大齿衔接,这样也能提高测速精度。编码器对工作电压要求较高,我们发现在电机猛加速时,会拉低电池电压,使编码器出电压不能稳到正常工作电压范围,导致测速脉冲丢失,导致电机不能被控制。这个问题还需要改善。OLED液晶屏及按键由于平时要进行大量参数的调试,反复下载程序调试效率很低,且OLED屏可以显示调试时需要观察的变量数据。同时,因为竞赛规则,不允许现场更改程序,人机交互设备就很重要了。该显示模块具有以下特征:①该OLED液晶显示屏为0.96寸,分辨率为128×64,模块支持3.3v、5v供电。②SPI操作,只需四根信号线就可以对其进行操作,节省MCU管脚。③高亮度,低功耗,有很好的显示效果,体积小,质量轻。④固态结构,没有液体物质,因此抗震性能更好,不怕摔。⑤几乎没有可视角度的问题,即使在很大的视角下观看,画面仍然不失真。⑥响应时间是LCD的千分之一,显示动态画面不会有拖影的现象,低温特性好发光效率更高,能耗比LCD要低。为方便的调节参数,我们增加了6个按键加一个四位拨码,方便参数的修改。25图4.8OLED屏显示效果图4.9按键及拨码原理图26第五章程序设计5.1阈值计算本届光电组采用线性CCD作为检测跑道传感器,其内部的128个光电二极管采的象素电压经AD转换后存储在一维数组里,赛道的黑线部分AD电压值较低,赛道的白色部分AD电压值较高。在小车实际跑动过程中,由于光线的不稳定,往往波形会出现很多的毛刺,如果不对这些数据进行处理,小车会受到较大的干扰,甚至完全算出错误的偏差。我们采用的方法是对像素电压处理,创建灰度值数组。灰度值最大的为白色,灰度值最小的为黑色。每次比较连续的三个灰度值的像素点,从灰度值最大处开始,找到像素点最多的灰度值,为白色灰度,记录下来;从灰度值最小处开始,找到像素点最多的灰度值,为黑色灰度值,记录下来。白色灰度与黑色灰度的平均值即为黑白阈值。这种动态阈值算法不仅能算出阈值,并且能够随环境的变化自适应的改变分割值,弥补静态阈值法的不足。灰度值数组的处理for(i=8;i<120;i++){line_latch[pic[i]/10]++;intmid=(pic[i+1]+pic[i])/2;line_latch[mid/10]++;line_latch[(pic[i]+mid)/20]++;

line_latch[(pic[i+1]+mid)/20]++;//插值法四倍超分辨率}寻找白色灰度for(i=LATCH_LINE-1;i>1;i--)//找连续三组和最大的地方{if(line_latch[i]+line_latch[i-1]+line_latch[i-2]>=total||total<15){total=total+line_latch[i-2]-line_latch[i+1];}//向暗处移动,找白色的最大分布点else{ccd_white_latch=i;break;}//此处为白线灰度}27同理可以寻找黑色灰度。有了阈值,小车就能看清前方道路,控制器再对道路信息进行处理,就能得到一条较为完整的道路。扫描赛道边线:int8findroad(u16*ccd,u16latch,u8x)//找路{inti,j,find=0;i=j=0;while(j<127){for(i=j;i<127;i++){if(ccd[i]>=latch)break;}for(j=i;j<127;j++){if(ccd[j]<latch)break;}if(j-i>x){road[0][find]=j-i;road[1][find]=j+i;rule_L[find]=i;rule_R[find]=j;find++;}}returnfind;}5.2赛道判别人字弯虽然CCD在人字弯的调头区域看不到赛道信息,但能判别方向,在调头区域,舵机强制打到一定角度,使小车通过调头区域,但是需要确定是否已经退出调头区域。我们用陀螺仪在调头区域的水平方向角速度的积分值来判别,如果积分差值大于设定值,即认为已经转过。Direction+=0.500*(double)gyz[gypoint]/32768;坡道CCD在入坡道时,由于仰视,CCD看不到坡道信息,且CCD检测不出是否处于坡道。我们利用陀螺仪在垂直水平面的方向上的角速度积分来判别,当积分值大于设定值,即认为,处于上坡阶段。同样也能判别下坡。28Gy_angle=Gy_angle+Gy_omiga*0.001+gyk*(Gy_arfa-Gy_angle-Gy_omiga*0.001);5.3舵机控制我们对舵机采用的是PD控制。我们使用了三个CCD,前瞻:40cm,70cm,100cm,在不同类型赛道上,有效CCD并不相同,例如在长直道上有效CCD为前瞻最近和最远处的,使用soerr1和soerr3的加权平均值对舵机进行控制。在波浪弯处,只有前瞻最近的CCD的偏差有效。这种方法使用了最可靠的中线偏差,然后对偏差信号处理,舵机打角使车身回正,对不同赛道类型,均有较好的打角效果。当CCD3有效时If(abs(ccd3wcave)==ccd3wcaveabs)//一段距离内,偏差方向一致soop=(sokp-sokp13)*soerr1+sokp3*(soerr3+fadd(soerr3,30)/5);//舵机Pelsesoop=(sokp-sokp13)*soerr1+sokp3*soerr3;fadd函数为死区函数,fadd(soerr3,30)表示在soerr的绝对值在小于30的范围内,输出为0.5.4电机控制我们队智能汽车行驶时进行受力分析,结合电力拖动自动控制系统原理,对电机建立反馈控制闭环直流调速系统动态数学模型,利用自动控制原理,对模型进行能观能控分析。具体分析过程为下建立电机转动模型 T−TL=jdndt(T:电机提供的动力;TL:负载阻dn

力;j:转动惯量;dt:转向加速度。)电磁电动势模型 u=Ceφn+iR+Ldtdi(电机感应电势E=Ceφn,此处磁通Ce简写成Ce,可省略方便计算;R为电机内阻;L为电机内部电感两端电压。)29电磁转矩模型 T=CTφi(T为电机的电磁转矩;CT为转矩系数;i为电流。)转化为状态空间模型1CT∆Tn(k+1)ji(k+1)=−Ce∆T1−R∆TLL00L

−1∆TJn(k)010i(k)+L∆Tu10L输出:n(k)y=[100]i(k)T(k)Lu=Kp(n*−n(k))+Cen(k)根据理论分析电动机在转动的过程中会产生感应电动势,使稳定速度达不到期望速度,于是我们对电机给定电压进行补偿,且补偿电压与当前速度有关。但在实际过程中,由于速度变化较为频繁,补偿电压如果与变化的速度有关,会加剧速度的变化,使小车速度的变化不够平稳,后改为固定的关于期望速度的补偿电压,得到了较好的效果。5.5PID介绍在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。PID控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。即当我们不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。PID控制,实际中也有PI和PD控制。PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。比例(P)控制比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号成30比例关系。当今有比例控制时系统输出存在稳态误差。积分(I)控制在积分控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统(SystemwithSteady-stateError)。为了消除稳态误差,在控制器中必须引入“积分项”。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。微分(D)控制在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。其原因是由于存在有较大惯性组件(环节)或有滞后(delay)组件,具有抑制误差的作用,其变化总是落后于误差的变化。解决的办法是使抑制误差的作用的变化“超前”,即在误差接近零时,抑制误差的作用就应该是零。这就是说,在控制器中仅引入“比例”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。所以对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改善系统在调节过程中的动态特性。31第六章相关工具介绍6.1软件开发平台由于我们采用了基于ARMCortex™-M4架构内核的K60微控制器,我们采用了支持ARM的IAREmbeddedWorkbench作为软件开发工具。界面如下图:图6.1IAR操作界面IAREmbeddedWorkbenchforARM是IARSystems公司为ARM微处理器开发的一个集成开发环境。比较其他的ARM开发环境,其具有入门容易、使用方便和代码紧凑等特点。IAREWARM中包含一个全软件的模拟程序(simulator)。用户不需要任何硬件支持就可以模拟各种ARM内核、外部设备甚至中断的软件运行环境。从中可以了解和评估IAREWARM的功能和使用方法。32IAREWARM的主要特点如下:高度优化的IARARMC/C++Compiler;IARARMAssembler;一个通用的IARXLINKLinker;功能强大的编辑器:支持多字节字符(汉字);上下文相关的帮助系统;根据句法着色;无限制的undo/redo;搜寻、替换和增量搜寻;自动括号配对;智能缩排;类似网页浏览器的前向/后向源码查阅;代码断点的设置/清除/使能/禁止;命令行编译连接工具;功能强大的调试能力:完全集成的源代码和反汇编程序调试器;非常细化的执行控制(函数调用级步进);复杂的代码和数据断点;丰富的数据监视功能;Locals,Watch,Auto,LiveWatch和QuickWatch等变量查看窗口;寄存器和存储器查看窗口;支持STL容器;C/C++调用栈窗口,同时还可以显示将要进入的函数;双击调用链上的任何函数将更新编辑器、局部变量、寄存器、变量查看和反汇编窗口,以显示在该函数调用时的状态;跟踪功能,可以检查执行的历史记录。在跟踪窗口中移动时将更新编辑器和反汇编窗口以显示合适的位置;类似C语言的宏系统,可扩充调试器的功能;由主机执行的应用程序系统调用仿真;代码覆盖率和执行时间分析工具;通用的FlashLoader程序及开发指南;同时支持多颗Flash的FlashLoader程序;支持OSEKRun-TimeInterface(ORTI);提供为调试器扩充第三方功能的软件开发包,如RTOS调试扩充和仿真器驱动扩充;命令行调试工具。我们调试采用BDM(BackgroundDebuggingMode)仿真器,可直接在线烧录Flash以及进行RealTimeSimulation,非常方便,我们可以完全专注于算法的分析而不必纠缠于微控制器底层问题。6.2蓝牙模块及超级示波器蓝牙信号的收发采用蓝牙模块实现,具有片内数字无线处理器DRP(DigitalRadioProcessor)、数控振荡器,片内射频收发开关切换,内置ARM7嵌入式处理器等。接收信号时,收发开关置为收状态,射频信号从天线接收后,经过蓝牙收发器直接传输到基带信号处理器。基带信号处理包括下

温馨提示

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

评论

0/150

提交评论