




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
智能车系统设计方案智能车作为一个整体系统,包括机械、电路硬件、软件三个主要部分,三部分互相联系,相互影响。智能车系统框图见图2.1。主要输入电磁传感器 干簧管 摄像头测速传感器单片机K60机械部分主要输出舵机控制电机驱动四轮悬挂传动底盘其他输入键盘串口输入其他输出显示串口输出外部存储图2.1 智能车系统框图对这三个部分统筹设计是贯穿始终的原则,机械部分设计将决定智能车能力的最终极限,硬件电路将为智能车提供实现机械潜能所必需的能源、检测手段及控制能力,软件设计针对输入进行处理最终实现对智能车机械和电路的控制。2.1 智能车机械结构整体设计方案我们对机械设计部分总体的设计原则定位在:结构紧凑、连接稳固、减轻重量、合理调整重心四个方面。另外根据经典的机械原理,对智能车的传动结构、轮胎、车轮等进行规则允许范围内的调校。具体内容主要有电路板安装排布、支架固定、舵机改装、四轮定位等,具体内容将在第三章中介绍,最终车模整体见图2.2。图2.2 智能车整体外观2.2 智能车硬件电路整体设计方案智能车中的电路包括:微处理器最小系统、电源、传感器电路、电机驱动电路、测速器以及其他周边电路。主要设计原则是最简、实用、可靠和模块。因为电路复杂就增加了故障几率,只要符合要求,提供足够的应用功能就足够,而智能车最容易出现故障的环节往往是硬件电路部分,这部分出现问题的后果也比较致命,所以可靠的电路设计的重要原则之一,另外,模块化设计便于整个系统的修改、升级、更替。具体设计详见第四章。2.3 智能车软件整体设计方案软件部分的设计主要是对微处理器K60的程序编写,通过计算 对其各个端口进行读写控制,即将传感器获取的电信号通过单片机端口读入,并经过处理,进行控制算法,最终通过单片机端口输出给硬件电路,对车速、方向等硬件电路进行控制,最终实现对车辆机械部分的控制。软件的设计原则主要是:效率、结构化、规范、易读。因为软件部分涉及到端口输入输出数据的处理,要对车辆硬件进行控制,因此要提高软件处理的效率以达到控制的及时性。另外,整个控制环节有紧密的逻辑关系,因此,软件的结构合理和规范化的设计有助于调理逻辑关系,便于修改、调试、扩展及拥有较强的适应能力。程序编写选用IAR为编译环境,C语言为主要程序编写语言。具体软件设计详见第五章。2.4 智能车主要技术参数智能车主要技术参数包括物理尺寸、电路指标等,具体参数见表2.1。表2.1 智能车主要参数表项目单位参数车模尺寸(长宽高)毫米(mm)750180230, 270180230,车模重量(带电池)克(g)2300,2230车模轴距毫米(mm)170车模平均电流(匀速行驶)毫安(mA)8000电路电容总量微法(F)1600电磁传感器(电感电容谐振回路)个6寻车传感器(摄像头)个1电感值mH6传感器间距毫米(mm)200干簧管个6赛道信息检测空间精度毫米(mm)6赛道信息检测频率次/秒200,30核心处理器种类及个数MK60DN512VLL101个智能车名称(前车)春香智能车名称(后车)梦龙注:由于设计报告书写期间智能车仍然在进行改进,因此有些数据未能更新。之后的内容中涉及到的参数、程序、图片也有类似情况,不做逐一说明。V第一章 机械设计制作及调整智能车机械部分设计主要包括制作和调整两部分内容,制作部分的内容主要是对车模没有的部分进行设计,包括传感器支架、电路板固定、防撞、测速轮安装等。调整部分则主要是针对智能车车模本身已经有的机械部分,在规则允许范围内进行调整,改装,提高其运动性能,以适应高速行驶和快速控制,这部分主要包括舵机改装、底盘调整、避震调整、四轮定位等。本章内容主要对电路板安装、传感器支架以及机械调校部分进行介绍。3.1 机械结构制作部分设计由于大赛提供车模本身是运动型模型车通用车模,并没有提供专门为智能车安装电路、传感器等电路部分的部件,因此这部分机械结构需要自行设计制作并安装。制作部分主要原则为:轻、牢、简,所以我们主要选择铝合金、尼龙等原材料制作,所有自制结构,都是由我们手工制作。3.1.1 电路板及传感器安装根据前期传感器测试,我们得到电磁传感器的前瞻、架设高度、仰角等参数,根据参数,我们设计了电磁传感器的架设结构如图 3.1。图3.1 电磁感和摄像头的架设另外一个传感器是测速传感器,码盘测速方式。具体安装如图 3.2所示。图3.2 测速感器的安装3.2 车模机械结构的调整与改装车模本身的机械结构是通用结构,并不适合智能车竞赛的要求,因此要对这些部分进行改装,另外,为了提高车模的运动性能,对一些机械结构还需要调整,比如车轮前束等。这部分着重介绍舵机改装、底盘等部分的调整和改装。3.2.1 舵机改装为了提高舵机反应速度,在相同转角下,有尽可能大的线行程,因此需要延长舵机臂。另一方面,由于舵机扭矩和转角精度的限制,不能无限制延长舵机臂,这样就确定了舵机臂的长度,并使用铝合金片加工成形,尺寸为24mm38mm。图3.5是舵机安装实物图,四个螺丝将舵机牢固安装在支架上。图3.3 舵机改装3.2.2 底盘改装由于赛道特性,底盘改装目标是尽可能低(能保证通过坡道),这样可以最大程度保证智能车行驶的稳定性。因此我们降低了底盘高度。另外,由于赛道整体属于平坦路面,没有较大较多的颠簸,所以我们把后避震拆除,并紧固后桥连接件。3.2.3 前轮定位B型车模前轮可以调整的角度有主销前倾、内倾、前束等,这些角度的调整根据每个车的机械性能不同而不同调整,我们的智能车由于重心位置在中心偏后,因此前轮压力较小,转向负担不大,因此为了增加抓地力和稳定性,选择了主销内倾和负前束的调整。另外,由于车模本身的精度限制,这部分角度的调整并不是主要的,仅仅是为了避免负面影响以及修正车模本身的不对称和不平衡问题。图3.4所示图3.4 前轮定位主销内倾角是指在横向平面内主销轴线与地面垂直线之间的夹角,它的作用也是使前轮自动回正。角度越大前轮自动回正的作用就越强,但转向时也就越费力,轮胎磨损增大;反之,角度越小前轮自动回正的作用就越弱。通常汽车的主销内倾角不大于8。 对于模型车,通过调整前桥的螺杆的长度可以改变主销内倾角的大小,由于过大的内倾角也会增大转向阻力,增加轮胎磨损,所以在调整时可以近似调整为03左右,不宜太大。主销内倾和主销后倾都有使汽车转向自动回正,保持直线行驶的功能。不同之处是主销内倾的回正与车速无关,主销后倾的回正与车速有关,因此高速时主销后倾的回正作用大,低速时主销内倾的回正作用大。3.2.4车轮外倾角前轮外倾角是指通过车轮中心的汽车横向平面与车轮平面的交线与地面垂线之间的夹角,对汽车的转向性能有直接影响,它的作用是提高前轮的转向安全性和转向操纵的轻便性。在汽车的横向平面内,轮胎呈“八”字型时称为“负外倾”,而呈现“V”字形张开时称为正外倾。如果车轮垂直地面一旦满载就易产生变形,可能引起车轮上部向内倾侧,导致车轮联接件损坏。所以事先将车轮校偏一个正外倾角度,一般这个角度约在1左右,以减少承载轴承负荷,增加零件使用寿命,提高汽车的安全性能。 模型车提供了专门的外倾角调整配件,近似调节其外倾角。由于竞赛中模型主要用于竞速,所以要求尽量减轻重量,其底盘和前桥上承受的载荷不大,所以外倾角调整为0即可,并且要与前轮前束匹配。3.2.5 前轮前束所谓前束是指两轮之间的后距离数值与前距离数值之差,也指前轮中心线与纵向中心线的夹角。前轮前束的作用是保证汽车的行驶性能,减少轮胎的磨损。前轮在滚动时,其惯性力自然将轮胎向内偏斜,如果前束适当,轮胎滚动时的偏斜方向就会抵消,轮胎内外侧磨损的现象会减少。像内八字那样前端小后端大的称为“前束”,反之则称为“后束”或“负前束”。在实际的汽车中,一般前束为012mm。在模型车中,前轮前束是通过调整伺服电机带动的左右横拉杆实现的。主销在垂直方向的位置确定后,改变左右横拉杆的长度即可以改变前轮前束的大小。在实际的调整过程中,我们发现较小的前束,约束02mm可以减小转向阻力,使模型车转向更为轻便,但实际效果不是十分明显。虽然模型车的主销后倾角、主销内倾角、车轮外倾角和前束等均可以调整,但是由于车模加工和制造精度的问题,在通用的规律中还存在着不少的偶然性,一切是实际调整的效果为准。3.3智能车转向机构调整优化理想的转向模型,是指在轮胎不打滑时,忽略左右两侧轮胎由于受力不均产生的变形,忽略轮胎受重力影响下的变形时车辆的的转向建模。在这种理想的模型下,车体的转向半径可以计算得到。图3.5 智能车转向示意图如图3.5,假设智能车系统为理想的转向模型,且其重心位于其几何中心。车轮满足转向原理,左右轮的轴线与后轮轴线这三条直线必然交于一点。转向机构在车辆运行过程中有着非常重要的作用。合适的前桥和转向机构可以保证在车辆直线行驶过程中不会跑偏,能保证车辆行驶的方向稳定性;而在车辆转向时,合适的转向机构可以使车辆自行回到直线行驶状态,具有好的回正性。正是由于这些原因,转向系统优化设计成为智能车设计中机械结构部分的重点,直接关系到赛车能否顺利地完成比赛。在实际操作中,我们通过理论计算的方案进行优化,然后做出实际结构以验证理论数据,并在实际调试过程中不断改进。在模型车制做过程中,赛车的转向是通过舵机带动左右横拉杆来实现的。转向舵机的转动速度和功率是一定,要想加快转向机构响应的速度,唯一的办法就是优化舵机的安装位置和其力矩延长杆的长度。由于功率是速度与力矩乘积的函数,过分追求速度,必然要损失力矩,力矩太小也会造成转向迟钝,因此设计时就要综合考虑转向机构响应速度与舵机力矩之间的关系,通过优化得到一个最佳的转向效果。经过最后的实际的参数设计计算,最后得出一套可以稳定、高效工作的参数及机构。3.4智能车重心位置的调整为了达到较远前瞻,必须把电感架到较远的位置,会引起车重心特别靠前,后轮正压力不足导致甩尾。为了使重心后移,我们尝试了很多传感器支架的搭建方式,使得保证结构稳定的前提下尽量减轻重量。同时,我们把舵机和电池均往后移,达到了预期的效果。3.5其它机械结构的调整另外,在模型车的机械结构方面还有很多可以改进的地方,比如说车轮、悬架、底盘、车身高度等。模型车在高速的条件下(2.3m/s-3.5m/s),由于快速变化的加减速过程,使得模型车的轮胎与轮辋之间很容易发生相对位移,可能导致在加速时会损失部分驱动力。在实验中调试表明,赛车在高速下每跑完一圈,轮胎与轮辋之间通常会产生几个厘米的相对位移,严重影响了赛车的加速过程。为了解决这个问题,我们在实际调试过程中对车轮进行了粘胎处理,可以有效地防止由于轮胎与轮辋错位而引起的驱动力损失的情况。此外,我们还对车身高度,以及底盘的形状和质量等,都进行了相应的改进和调整,均取得了不错效果。 由于今年赛题加入双车追逐,所以做车的时候要求两车的一致性很高,因此摄像头车选用B车第二章 电路设计说明智能车电路部分主要的模块包括:单片机最小系统、电源模块、传感器模块、驱动模块以及其他周边调试模块。各模块的总体设计原则是:紧凑、易于拆换、稳定可靠。但根据各模块的不同,又有不同的设计要求,本章对各个模块的设计进行详细描述。4.1 单片机最小系统这次设计选用的单片机是MK60DN512VLL10 (以下简称K60),100引脚封装,这款单片机的运算速度、存储容量以及端口(ATD, I/O, PWM, SCI等)足够满足智能车设计要求。15为了使电路板紧凑,较少车重,系统板仅对所用到的必要引脚引出,适当留有备用端口,其中包括PWM接口、FTM、普通I/O口、JTAG接口、SCI接口等。端口作用规划见表4.1。表4.1 单片机端口规划表端口作用D2、4、6、8、9、B5、6电磁传感器AD转换A1转向舵机控制D11测速A7、8、10,C2、3电机驱动控制C7起跑线检测(干簧管)市面上有多款K60单片机最小系统板出售,但是由于性能及价格并不符合我们智能车的设计要求,因此,我们自己设计了单片机最小系统板,电路板实物尺寸为42mm42mm。4.2 电源模块设计电源是为智能车各个模块提供动力的能量来源,周边转接电路是起到将最小系统板各个引脚引出的重要模块,将两者划分到一块不但可以更安全的让所设计的电路工作,还可以减少设备中不必要的跳线。因此此段落分为两部分,电源及周边转接电路。4.2.1 电源管理模块稳定的电压和合适的电流是电源的首要指标,它是整个硬件系统的心脏,电源模块的布线应该尤为讲究,7.2V 大电流应用足够宽的线且还应正反布线。相应 5V 线可略微细些,最细的是信号线等。电源的不稳定会带来很多问题,比如电池没有必要的损耗、单片机复位、舵机反应迟钝、比较电压的不稳定等问题,因此即使和周边硬件电路做在了一起,也必须优先考虑。智能车所需的电源电压有 5V 和 7.2 V。图 4.2 为智能车所需要的模块及其供电。图4.1 电源分配规划示意图根据规划,5V供电我们选择了LM2940-5,比起7805,2940的优点是低压差稳压,它的稳压压差可以小于500mV,这样保证电池在低电压的情况下,仍能使单片机和传感器正常工作,同时,LM2940的输出电流可以达到1A11足够供应放大电路和键盘显示电路的工作。设计原理图如图4.2所示。3.3V供电我们使用了AMS1117-3V3芯片作为稳压芯片。其电路原理是该芯片的典型电路,在这里不做赘述。其原理图如4.3所示。我们使用的 5V 稳压芯片是 LM2940-5,LM2940-5(后文简称LM2940)相比于其他芯片(7805,2940等)最显著的特点就是低压差稳压,稳压压差可以小于500mV,这样的设计可以是我们的智能车在低电压情况下仍可以正常工作,以免因为不及时检测电压,使得小车不稳定从而发生复位、碰撞等不必要危险。图 4.2 为我们所使用的 LM2940 的原理图。图4.2 LM2940-5稳压电路原理图因为 K60 的供电等都是 3.3V 电压,因此在设计上非常方便,我们直接使用 LM2940 即可。但是需要注意的时,在设计过程中,电源的导线需要谨慎处理,否则会给之后调202试等带来极大的障碍和危险。4.3 传感器电路设计与实现本设计中,传感器分为四部分:主巡线传感器(电磁感器)、起跑线传感器(干簧管)、速度传感器(光电码盘)和摄像头。4.3.1电感传感器的原理根据竞赛组委会的相关规定,我们选用磁传感器,磁传感器的应用首先在于选型,为了找出适合的磁传感器,我们查阅了许多的产品资料,进行了大量的电感测试,发现只有在10mH电感中,得到感应电动势曲线是较为规整的正弦波,频率和赛道电源频率一致,为20kHz,幅值较其他型号的大,且随导线距离变化,规律为近大远小。其他电感得到信号不好,频率幅值变化杂乱,不宜采用。根据电磁学,我们知道在导线中通入变化的电流(如按正弦规律变化的电流),则导线周围会产生变化的磁场,且磁场与电流的变化规律具有一致性。如果在此磁场中置一由线圈组成的电感,则该电感上会产生感应电动势,且该感应电动势的大小和通过线圈回路的磁通量的变化率成正比。由于在导线周围不同位置,磁感应强度的大小和方向不同,所以不同位置上的电感产生的感应电动势也应该是不同。据此,则可以确定电感的大致位置。4.3.2磁传感器信号处理电路确定使用电感作为检测导线的传感器,但是其感应信号较微弱,且混有杂波,所以要进行信号处理。要进行以下三个步骤才能得到较为理想的信号:信号的滤波,信号的放大,信号的检波。1)信号的滤波比赛选择20kHz的交变磁场作为路径导航信号,在频谱上可以有效地避开周围其它磁场的干扰,因此信号放大需要进行选频放大,使得20kHz 的信号能够有效的放大,并且去除其它干扰信号的影响。使用 LC并联谐振电路来实现选频电路(带通电路),如图4.3所示。图4.3 LC并联电路其中,E是感应线圈中的感应电动势,L是感应线圈的电感值,R0是电感的内阻,C 是并联谐振电容。电路谐振频率为:(4.1)已知感应电动势的频率=20kHz,感应线圈电感为L=10mH,可以计算出谐振电容的容量为C=6.3310-9 F 。通常在市场上可以购买到的标称电容与上述容值最为接近的电容为 6.8nF,所以在实际电路中选用 6.8nF的电容作为谐振电容。2)信号的放大由第一步处理后的电压波形已经是较为规整的20kHz正弦波,但是幅值较小,随着距离衰减很快,不利于电压采样,所以要进行放大,官方给出的如下参考方案即用三极管进行放大,但是用三极管放大有一个不可避免的缺点就是温漂较大,而且在实际应用中静电现象严重。图4.4共射三极管放大电路因此我们放弃三极管放大的方案,而是采用集成运放进行信号的放大处理,集成运放较三极管优势是准确受温度影响很小,可靠性高。集成运放放大电路有同相比例运算电路和反相比例运算电路,我们在实际中使用反相比例运算电路。由于运放使用单电源供电,因此在同相端加vcc/2的基准电位,基准电位由电阻分压得到。图4.5 放大电路原理图4.3.3磁传感器的布局原理及改进对于直导线,当装有小车的中轴线对称的两个线圈的小车沿其直线行驶,即两个线圈的位置关于导线对称时,则两个线圈中感应出来的电动势大小应相同、且方向亦相同。若小车偏离直导线,即两个线圈关于导线不对称时,则通过两个线圈的磁通量是不一样的。这时,距离导线较近的线圈中感应出的电动势应大于距离导线较远的那个线圈中的。根据这两个不对称的信号的差值,即可调整小车的方向,引导其沿直线行驶。对于弧形导线,即路径的转弯处,由于弧线两侧的磁力线密度不同,则当载有线圈的小车行驶至此处时,两边的线圈感应出的电动势是不同的。具体的就是,弧线内侧线圈的感应电动势大于弧线外侧线圈的,据此信号可以引导小车拐弯。另外,当小车驶离导线偏远致使两个线圈处于导线的一侧时,两个线圈中感应电动势也是不平衡的。距离导线较近的线圈中感应出的电动势大于距离导线较远的线圈。由此,可以引导小车重新回到导线上。由于磁感线的闭合性和方向性,通过两线圈的磁通量的变化方向具有一致性,即产生的感应电动势方向相同,所以由以上分析,比较两个线圈中产生的感应电动势大小即可判断小车相对于导线的位置,进而做出调整,引导小车大致循线行驶。采用双水平线圈检测方案,在边缘情况下,其单调性发生变化,这样存在一个定位不清的区域(如图4.6箭头所指)。同一个差值,会对应多个位置,不利于定位。另外,受单个线圈感应电动势的最大距离限制,两个线圈的检测广度很有限。图4.6 双线圈差值法有定位不清区域现提出一种优化方案:架设传感器时也需要特别注意,为了更适合无赛道的新课题,我们将前瞻拉长至46cm,并且在这基础上抬高前瞻至 21cm 从而可以适应 15坡,图 4.4为我们架设的方法。传感器架设参数如图4.6所示。200mm460mm210mm前轮图4.7 电磁感器安装参数示意图4.3.4 起跑线检测传感器的设计按照比赛规则要求,跑完一圈后赛车需要自动停止在起始线之后三米之内的赛道内。如图4.8所示,起始线是导引线两边的长度10cm的黑色线,起始线中间安装有永久磁铁,每一边各三只。磁铁参数:直径7.5-15mm,高度1-3mm,表面磁场强度3000-5000Gs1。500mm45mm100mm电磁铁x3图4.8 起跑线磁铁布置示意图针对上述要求,利用干簧管设计起始线检测。干簧管是磁机械效应的磁场传感器,其内部是一个常开触点开关,在磁场强度超过其阈值时,开关闭合。不管车子以什么样的姿态过起跑线,为了保证准确率,我们使用了6个干簧管并联为“线或”关系,任何一个干簧管检测到磁铁,A12端都会输出高电平,程序检测到上升沿后使赛车停车。干簧管排布示意图如图4.8所示。+3.3VI/O图4.8 红外传感器电路实物及安装4.3.3距离检测传感器的设计图4.94.4 驱动电路设计驱动电路为智能车驱动电机提供控制和驱动,这部分电路的设计要求以能够通过大电流为主要指标。驱动电路的基本原理是H桥驱动原理,目前流行的H桥驱动电路有:H桥集成电路,如MC33886;集成半桥电路,如BTS7970等;MOS管搭建的H桥电路。我们对三种电路都进行了搭建并测试,MC33886的优点是电路简单12,外围元件少,但缺点是内阻较大,通过电流有限,可以通过两片MC33886并联的方式进行改善。MOS管搭建的H桥电路可以通过较大电流,但由于每个MOS管体积较大,因此电路板面积较大,另外,MOS管H桥电路可能会发生脉冲上升沿下降沿由于不够陡峭而带来的瞬间短路、功率过高等问题,为了避免这些问题,无疑要增加电路复杂程度。最终我们选择了目前比较流行的两BTS7970半桥集成电路组成H桥。BTS7960的内阻为上半臂7m,下半臂9 m,完全导通后全部内阻为16 m,可通过电流为43A13,远远大于智能车电机需求。电路原理图如图4.10所示。图4.10 BTS7960搭建H桥电路原理图第三章 智能车软件设计说明软件系统是对传感器等输入设备输入的信息进行处理,然后通过一定算法,得到控制输出,对现有的硬件电路进行调度和控制,从而使智能车按照赛道前进。软件系统要达到的最终目的是让智能车更快更稳的在赛道上行驶,从而真正达到“智能”。软件主要流程图如图5.1所示。开始初始化(端口、变量、程序)延迟启动电机是否启动电机赛道检测两车距离获取转向舵机控制速度获取速度控制是否坡道坡道处理函数是否终点刹车速度是否0终止YYYYNNNN图5.1 程序流程总框图下面的内容中,我们着重介绍赛道信息提取、方向舵机控制、距离获取、速度控制等主要部分。5.1 赛道信息和两车距离提取赛道信息提取部分是最基础的程序,之后的控制程序都源于赛道信息的正确提取,这部分程序主要包括硬件端口读取、数据处理及分析归类三部分。首先介绍硬件端口信息读取部分,为了存储赛道信息,我们建立一个float类型变量Position用来存储当前赛道扫描结果。程序如下:void getInfo(void)int k=8;int m=0,i=0,j=0;float c=0,d=0;while(k!=0) hw_adc_convertstart(0, 12, 12);/ADC0 while( ADC0_SC1A & ADC_SC1_COCO_MASK ) != ADC_SC1_COCO_MASK); RightAD=ADC0_RA; ADC0_SC1A &= ADC_SC1_COCO_MASK; RightEye= RightAD + RightEye; k-; RightEye= RightEye/8; /求平均 获取当前扫描数据后,就要对数据进行处理,提取赛道信息,以便对赛道分类,判断特殊赛道类型。根据传感器测值和计算,Position的值和两端传感器电压的比值(LvR)成正比关系,计算Position的程序如下:void DirecionCalculate(void) int i=0,m=0,j=0,k=0;float position_final=0;int LvR_final_int=0;if(LvR_final=1)LvR_final=1;if(LvR_final=-1)LvR_final=-1;LvR_final_int=(LvR_final+1)*100;position_final=kLine*LvR_final; position= position_final;/赋值结束丢线处理:尽管我们尽量让他紧跟着中线,但是还是无法避免会出现丢线的情况,在两个电感采回来的值都很小的情况下,我们是这样处理的:程序里左右两个电感都有其最小值,这是我们实际测回来的值。在两个电感丢线,即两电感值都很小之前总有一个电感是先比另一个电感小于其最小值的,如赛道从左边丢了,那么肯定是右边电感先小于其最小值,知道这个情况则可以作标志位。这样我们则可以获得准确的信息。两车距离获取:根据规则只能提取前车的图像信息。以摄像头图像为参考系,前车的位置和姿态信息包括在图像中的位置和相对转角。图2中,(a)是前车相对转角0度,(b)是相对转角45度,(c)是相对转角90度。(a)相对转角0度(b)相对转角45度(c)相对转角90度图2 前车相对于摄像头视野的转角图像扫描行列找到车模图像的四个顶点的坐标,就可以计算出车模相对夹角以及车模几何中心位置。(x3, y3)a(x2, y2)(x1, y1)(x4, y4)bO图3 前车姿态示意图如图3,设前车四个顶点坐标(xk , yk),(k=1, 2, 3, 4),摄像头视角中心线与前车轴线间的夹角为,则有:tan=a/ b=(y3-y4)/(x3-x4),在程序处理中选择用tan定性判断赛道类型,而不需要对进行计算。同时可求得前车的几何中心点O的位置(xO, yO):xO=(x1+x3)/2 , yO=(y2+y4)/2根据xO对后车进行PID控制,根据tan和yO对后车速度进行控制从而调整辆车间距。 iv、使用LED灯定位抗干扰在实际情况下,赛道上会有干扰,根据规则,赛道背景颜色不确定,赛道上可能会有干扰色块或反光,同时在行进中,前车可能会从后车的视野中丢失,因此仅用形状提取前车信息容易发生误判,如图4所示为赛道色块干扰和车模图像信息。(a)车模图像和车模的摆放位置(b) 干扰色块(鼠标垫)图像和摆放位置图4 车模和干扰色块的图像如图5,赛道外信息和车模图像连在一起时对车模姿态信息的提取及跟踪扫描带来了困难。图5 车模在弯道时与背景连在一起为了解决这些问题,给前车几何中心处加装一个LED灯,图6所示为加装LED等后的前车图像。(a)车模在直道 (b)车模在弯道图6 加装LED灯后的车模图像通过判断黑色斑块中是否有白色亮斑,白色亮斑在黑色斑块中的相对位置及大小,可以有效地排除干扰信息。同时,LED安装在车模中心,可省略计算前车中心位置的程序。另外,白色亮斑的位置可作为下次扫描的起始位置,提高了前车信息的提取效率。在设计的过程中,对LED光源的波长需要进行选择,既能降低功耗,同时避免反光干扰。原始图像信息的处理:摄像头拍摄到的图像需要处理,图像的处理分硬件和软件两部分。硬件主要是二值化,软件进行去噪和畸变矫正。图像在采集、传输和二值化处理的过程中会产生噪点,这些噪点在存储图像信息的过程中通过判决算法去除。二值化和去噪点后进行畸变矫正。畸变矫正主要针对镜头光学特性导致的失真和架设角度导致的透视变形。这些畸变影响对前车姿态信息提取的准确性。广角镜头失真严重,影响较大是桶形失真,通过原图形和畸变图形的坐标关系,对畸变的图形进行坐标关系的逆变换1。桶形失真在X方向上(横向)和Y方向上(纵向)的失真程度一般不同,所以在X和Y上的校正系数也不同,矫正计算公式如下:x=k1 1+k2x(x2+y2) x , y=k1 1+k2y(x2+y2) y式中k2x和 k2y分别为X和Y方向上的校正系数。校正系数的测定是用MATLAB对实拍图像矫正调试得到。图1(a)、(b)是桶形失真校正前后对比。摄像头安装位置导致图像因为透视关系产生梯形变形2。 通过拍摄黑色网格,并用MATLAB进行相应变换,比照输出结果与原图像即可测定相关系数校正梯形失真3。x=(k1x+k2y+k3)/(k7x+k8y+1)y=(k4x+k5y+k6)/(k7x+k8y+1)式中(x, y)和(x, y)分别是校正前后图像像素点的坐标,ki(i=1, 2, ,8)是矫正比例系数,通过选择特征点的对应关系求得。图1(c)是梯形校正后的图像(使用白底黑色等间距网格作为被拍物)。(a)原始图像 (b)桶形矫正后 (c)梯形矫正后图1 畸变矫正前后图像对比5.2转向舵机控制5.2.1 PID控制原理PID控制以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。PID控制就是根据系统的误差,利用比例(P)、积分(I)、微分(D)计算出控制量进行控制的。目前PID控制在工业控制系统中无处不见,随着控制效果的要求不断提高,PID逐渐向智能化发展,但形形色色的现代控制理论最终还是源自经典PID理论。PID解决了自动控制理论所要解决的最基本问题,既系统的稳定性、快速性和准确性。调节PID的参数,可实现在系统稳定的前提下,兼顾系统的带载能力和抗扰能力,同时,在PID调节器中引入积分项,系统增加了一个零积点,使之成为一阶或一阶以上的系统,这样系统阶跃响应的稳态误差就为零。由于自动控制系统被控对象的千差万别,PID的参数也必须随之变化,以满足系统的性能要求。因此PID参数的确定是PID控制中重要的部分之一。10PID控制的基本原理如式1所示: (1)式中,u(t) - 控制量KP- 比例系数Ti- 积分时间常数Td - 微分时间常数将式1离散化,即将描述连续系统的微分方程代之以等效的描述离散系统的差分方程,就可以得到相应的数字PID调节器。当控制周期也就是积分时间足够小的时候,利用矩形法进行数值积分,即以求和代替积分,以差分代替微分,可得到数字形式的PID控制方程如式2所示: (2)式中T为控制周期,当T足够小时离散化的控制模型可以逼近连续式的PID控制模型。另外,可以将式2中的T提取出来,把Kp分配进去,分别与1/Ti和Td组成比例项系数KP,积分项系数KI和微分项系数KD,式2可简化为式3: (3)式3也就是常说的位置式PID控制方程,但是由于积分项累加计算比较复杂,而且在程序计算中极容易出现溢出现象,因此人们考虑每一次不是给出绝对的控制量,而是根据上一次的控制,给出本次需要增加的控制量即可。根据这一想法,我们首先考虑上一次(即k-1时)给出的控制量u(k-1)为: (4)式3-式4可得k时刻需要给出的增量 (5)由式5得输出u(k)也可表示为: (6)式6就是增量式PID控制方程,由此可以看出,增量式PID消去了积分项的累加部分,这样便于程序编写。5.2.2 转向舵机控制实现转向舵的控制通过简单的PD控制的方法可以很好的实现最佳路径,并不需要过多的处理。但是对PD参数的调节很重要,代码部分非常简单:void Direct_Ctrl()float DirectionPWM_Buffer=0.0;DirectionPWM=-(P_en*gfX0+gidKD*(gfX0-gfX1);if (DirectionPWM=RLIMIT) DirectionPWM=RLIMIT;FTM2_C0V=DirectionPWM+CENTER;5.3 速度控制速度控制并不像方向控制那样精确,只要在短时间内达到目标速度即可,而误差是允许的,因为作为智能车这个惯性系统来说,速度不会徒增骤减(与控制周期比较),因此我们使用了P控制,经过调试,选择合适的P系数后,加速可以很快也不会过冲,控制效果很好。5.4 特殊赛道类型判断根据赛道参数规定,特殊赛道类型主要有坡道和终点线。由于终点线靠干簧管通过上升沿中断来检测,比较简单,所以,这部分我们对坡道类型判断的原理进行介绍。因为坡道对于第五轮测速的车以及电磁传感器来说,有一定影响,因此要进行特殊处理。在临近坡道的一段时间内,由于传感器先是靠近你赛道,在一定范围内会增加磁力线的通过,且两边电感值同时变大的,继续接近坡道的时候,由于传感及更贴近赛道,导致磁力线几乎与电感正交,两边传感器值又会同时变小。这个过程中,传感器将出现同时变大再变小的现象,这在赛道别的部分基本不会发生。我们就靠这样的规律来检测坡道。下坡其实也是这样的一个过程,我们根据出现过一次后又出现一次这样的现象来判断坡道结束。当判断坡道到来后,程序控制车身摆正,控制智能车前进方向,直到通过坡道。5.5 两车距离控制两车距离较远时后车适当提高目标速度,两车距离太近时后车适当降低目标速度,使两车距离保持在一定范围内,还要尽量避免两车相撞第四章 开发环境和调试方法本章主要介绍设计中所需要用到的开发环境以及智能车制作时的一些调试方法和经验。6.1 开发环境开发环境包括硬件开发环境和软件开发环境,硬件开发环境我们主要使用的是Protel 99se版本进行开发。对于某些需要仿真的地方,我们选用了EWB5.0进行简易的方针。图6.1 硬件开发环境Protel 99se此次智能车大赛的软件开发平台为 CodeWarrior开发软件。CodeWarrior包括构建平台和应用所必需的所有主要工具 - IDE、编译器、调试器、编辑器、链接器、汇编程 序等。另外,CodeWarrior IDE支持开发人员插入他们所喜爱的工具,使他们可以自由地以希望的方式工作。CodeWarrior 开发工作室将尖端的调试技术与健全开发环境的简易性结合在一起,将C/C+源级别调试和嵌入式应用开发带入新的水 平。开发工作室提供高度可视且自动化的框架,可以加速甚至是最复杂应用的开发,因此对于各种水平的开发人员来说, 创建应用都是简单而便捷的。它是一个单一的开发环境,在所有所支持的工作站和个人电脑之间保持一致。在每个所支 持的平台上,性能及使用均是相同的。无需担心主机至主机的不兼容。在整个系统中我们主要用了MK60DN512VLL10以下几个模块:时钟PIT 、PWM、IO模块、AD 模块、串口模块。PIT 模块:我们采用其内部定时模块,定时周期为 1500微秒,总共4个中断,即一个程序周期为6毫秒.PWM 模块:此模块为电机,打角舵机.驱动舵机的 PWM 信号的频率为 50Hz,电机的 PWM 信号的频率为 15KHz。AD 模块:本系统采用MK60DN512VLL10的 AD 模块对 20khz 交流电进行采样。6.2 调试方法和经验从 6.1 小节看出,本设计使用的开发环境非常普通,并没有用到过多的特殊软件,之所以能够顺利研发,得益于研发的整个过程,硬件电路制作前期,做了详尽系统分析和需求分析,并做了很多基础实验;软件制作前期,做了严谨的理论推导工作,程序编写严格按照规范,先做流程图,再做代码规划,然后才进行代码编写,最后调试的过程也很规范。6.2.1 硬件调试首先,我们要根据需要的技术指标,查阅大量资料,尤其是数据手册,进行元件选型,然后确立硬件制作的标准,对于每一个硬件模块,都有不同的设计要求,比如最小系统板要求稳定工作、输入输出端口满足要求并适当备份;电源模块要求供电稳定;传感器电路则要求几何精度和参数精度等。为了提高精度,不得不制作电路版,而把实验用电路板送到制板厂加工制作无疑会带来巨大的成本浪费,节约成本是我们制作智能车必须考虑的。因此 我们通过学习,发现了一种自己加工电路板的方法:三氯化铁腐蚀覆铜板。有很多资料介绍这种方法,我们通过多次实验对现有方法进行了改善,使得加工精度达到最小线宽8mil,最小线距10mil,这些都足以满足实验电路精度,不足的地方是我们的制作中,由于焊孔是手钻制作,精度不高,所以焊盘最小只能到70mil。 辅助调试工具:在系统的设计制作和调试的过程中,不管是软件的开发还是硬件电路的仿真和电路板的制作都离不开PC机。所以对于PC机上的各种辅助设计软件必须要有一定的熟悉程度。这样可以提高开发的效率。6.2.2软件调试软件调试主要包括:程序在线调试法、逻辑分析法、参数实验和辅助工具法。在线调试通常是使用BDM,用IAR+自带的调试工具,通过加入断电、单步执行等方法进行调试。逻辑分析法通常是把程序多余的计算当部分剔除,只对程序框架进行逻辑推导,发现逻辑问题进行解决。 参数实验法一般是用于PID等参数的确定,这种方法通常需要调试经验,主要的数值确定使用的是两分法原理。利用辅助工具调试是在车速提高以后,对行驶状态进行分析的必要调试手段,我们采用了SD卡记录行驶数据,录像分析等方法。我们在这方面的调试手段并不完善,还有待于以后的工作中进一步改进。6.2.3机械调试机械调试是我们最薄弱的环节,也是最值得研究的部分,因为机械理论的缺乏,我们的调试方法基本以实验为主。通常根据资料对当前行驶状态分析,然后按照理论进行调整,调整的原则是尽量固定其他环节包括测试环境,只改变一个环节,然后进行试跑,记录下状态,然后反复调整,试跑,总结规律。6.3 基于LABVIEW的上位机与蓝牙模块及SD卡的合作虽然IAR有着良好的在线调试功能,但是必要的实时调试仍是必须的,以往各届喜欢采用无线模块来实时通信传递数据,但是由于受无线传输速度的影响,会改变单片机对智能车控制周期和赛道信息采集周期,这样在调试的时候车的速度路径与不加无线时有区别,这也就是为什么我们分别采用两种方式进行调试的原因。SD卡实时性差但数据准确全面,无线模块实时性好,但数据不够全面。经过研究,我们最后采用了SD模块,非常快速的把传感器的值写入SD卡中,通过串口发送至上位机中,记录数据且显示波形,通过分析数据获得信息。此外,用蓝牙模块对车运行时的状态进行上位机观测,今年的制作中,我们用LebView编写了上位机调试程序,但由于经验不足,发现传输速率、可靠性上有一些缺陷,编码效率也不够高,在今后的工作中,需要进一步完善。最终的用户界面如图6.2,本上位机可以显示4个通道的数据,并可以保存这4个通道的数据。图6.2 基于LABVIEW的上位机第五章 总结与展望在这整整的一年备战中,我们体会了很多,遇到挫折长久攻破不下的忧愁,烧坏单片机,各种电路板的悲伤,瓶颈突破时的喜悦,收获友谊的快乐,这一年,我们成长了很多。总结下来,我们做的主要工作有: 仪表放大电路的设计及参数确定; 电磁传感器电路的设计及参数确定; 机械部件的设计、加工与制作,车上增加的机械部件全是我们手工制作,没有一个是订制加工的; 行驶状态及赛道信息的分类采集; 各种电路的实验与设计; 控制算法和程序设计的研究及编写、调试; 大
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 控制方法与技术
- 老年人外科疾病课件
- 期末综合试题-初中数学人教版八年级下册(含解析)
- 赏析小说情节(知识清单)-2026年高考语文一轮复习解析版
- 生物与环境(综合提分练)-中考生物二轮高效复习
- 人教版八年级英语下册专项复习:补全对话(选择型)含答案
- 人教版八年级英语下册专练:重点句型及专练(含答案)
- CN120203662A 一种关节镜下韧带修复用可控伸缩闭锁穿刺缝合器
- CN120199440A 基于智能穿戴设备的体检指引方法、电子设备及存储介质
- 热点15 种群与群落-高考生物专练(新高考专用)
- GB/T 2679.7-2005纸板戳穿强度的测定
- GB/T 18884.2-2015家用厨房设备第2部分:通用技术要求
- 文化政策与法规(第一课)
- 色彩基础知识ppt
- 寻找消失的滇缅路:松山战痕课件
- 中小学教师职业道德规范解读
- 政府预算理论与实务(第四版)全套教学课件
- 四年级上册美术课件第1课 送给老师的花|沪教版
- 轧机设备安装施工方案
- 最新开工报告范文
- 制药企业仓库温湿度分布的验证
评论
0/150
提交评论