西南石油大学-铁人一二三-技术报告_第1页
西南石油大学-铁人一二三-技术报告_第2页
西南石油大学-铁人一二三-技术报告_第3页
西南石油大学-铁人一二三-技术报告_第4页
西南石油大学-铁人一二三-技术报告_第5页
已阅读5页,还剩27页未读, 继续免费阅读

下载本文档

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

文档简介

1、第十四届“恩智浦”杯全国大学生智能汽车竞赛技术报告学校:西南石油大学队伍名称:铁人一二三队参赛队员:林泳希、冯仁庆、奉榆杰带队教师:杨超、彭名华目录第一章引言1第二章方案设计32.1 系统总体方案的选定32.2 系统总体结构32.3 系总体方案的设计3第三章智能汽车机械结构调整与优化53.1 智能汽车车头的改装53.2 超声波的安装53.3 智能车转向机构调整优化63.4 编码器固定结构的改装6第四章电路设计说明7主控板和驱动板的硬件设计74.14.1.1 电源管理模块74.1.2 电机驱动模块84.1.3 数模转换模块84.1.4 最小系统及其他电路部分设计9智能车传感器模块设计104.24

2、.2.1 电感传感器的原理104.2.2 磁传感器信号处理电路114.2.3 磁传感器的布局原理及改进13智能车停车模块154.3第五章智能车控制软件设计说明17I5.1 底层初始化175.2 电感采集处理算法175.3 模糊控制185.5 特殊元素制定策略215.3.1 直角策略225.3.2 环岛策略225.3.3 超声波误判的解决方法235.3.4 其他策略23第六章开发工具、调试过程说明256.1 开发工具256.2 调试过程256.2.1 上位机系统25第七章模型车的主要技术参数说明277.1 智能车外形参数277.2 传感器个数以及种类277.3 除了车模原有的驱动电机、舵机之外伺

3、服电机数量277.4 赛道信息检测精度、频率27参考文献28II第一章引言全国大学生智能汽车竞赛是以“立足培养、重在参与、鼓励探索、追求卓越”为指导思想,鼓励创新的一项科技竞赛活动。竞赛要求在规定的汽车模型平台上,使用恩智浦半导体公司的微控制器作为核心控制模块,通过增加道路传感器、电机驱动模块以及编写相应控制程序,制作完成一个能够自主识别道路的模型汽车。参赛队员的目标是模型汽车需要按照规则以最短时间完成单圈赛道。自从第五届出现磁导组开始到今年第十四届比赛,电磁小车已经在智能车的赛道上奔驰了十年。今年出现了新的电磁组别室外电磁,同室内电磁大相径庭,只不过没有了跑道约束,特殊元素增加,环境要求没那

4、么高,是一场速度与的较量,更具有观赏性。本文以第十四届全国大学生智能车竞赛为背景,介绍了智能赛车设计、制作的技术信息。该比赛采用大赛组委会规定车模L车车模,以Freescale半导体公司生产的32 位单片机MK60DN512VLQ15 为核心控制器, 采用IAR Embedded Workbench作为开发环境,自主构思控制策略和算法结构,硬件上采用HIP4082构建H桥驱动MOS管,用两路PWM波控制电机正反转,传感器采用普通工字电感构成谐振回路,通过感应赛道导线上方的磁场。硬件上通过对汽车动力学理论的学习来优化智能车的机械结构,软件上通过对单级PID控制,串级PID控制,模糊控制,来提高智

5、能车的稳定性,速度和鲁棒性。 关键词:智能车 单片机 电磁导航 PID 控制器1Chapter I IntroductionThe National Intelligent Automobile Competition for College Students is a scientific and technological competition with the guiding ideology of based on training, emphasizing participation, encouraging exploration and pursuing excellence

6、and encouraging innovation. The competition requires that on the specified vehicle model platform, the microcontroller of NXP Semiconductor Company be used as the core control module. By adding road sensors, motor drive modules and compiling corresponding control procedures, a model vehicle that can

7、 independently identify the road is produced. The goal of the participants is that the model car needs to complete the single-lap track in the shortest time according to the rules. Since the fifth appearance of the permeability group and the fourteenth competition of this year, the electromagnetic c

8、ar has been running on the track of the smart car for ten years. A new electromagnetic group, outdoor electromagnetic, has emerged this year.Based on the background of the 14th National University Intelligent Car Competition, this paper introduces the technical information of the design and producti

9、on of the Intelligent Car. The competition adopts the L-car model stipulated by the Organizing Committee of the competition, the 32-bit MCU MK60DN512VLQ15 produced by Freescale Semiconductor Company as the core controller, the IAR Embedded Workbench as the development environment, the self-conceived

10、 control strategy and algorithm structure, the hardware adopts HIP4082 to construct H-bridge driving MOS tube, and the two-way PWM wave control. The motor is in positive and negative turn. The sensor uses common inductance to form a resonant circuit and induces the magnetic field above the track wir

11、e. In hardware, the mechanical structure of intelligent vehicle is optimized by learning the theory of vehicle dynamics. In software, the speed and robustness of intelligent vehicle are improved by PID control.Key words: Intelligent vehicle MCU electromagnetic navigation PID controller2第二章方案设计本章主要简要

12、地介绍智能车系统总体设计思路,在后面的章节中将整个系统分为机械结构、硬件设计、控制算法等三部分对智能车控制系统进行深入的介绍分析。2.1 系统总体方案的选定根据竞赛规则相关规定,智能车系统采用大赛组委会统一提供的 L 型车模, 以飞思卡尔半导体公司生产的 32 位微控制器 K60 作为核心控制器,在 IAR 开发环境中进行软件开发。赛车利用陀螺仪获取当前赛车角速度,由车体前方的电 磁传感器采集,经内部 AD 进行模数转换后,输入到控制核心,用于赛车的舵机运动控制系统。运用了模糊控制,提高速度的同时,增强了小车的稳定性。通 过编码器测速模块来检测车速,并采用 K60 的正交解码功能进行脉冲计数计

13、算速度和路程;电机转速控制采用 PID 控制,通过 PWM 控制驱动电路调整电机的转速,完成智能车速度的闭环控制。此外,还添加了超声波模块进行距离测定。2.2 系统总体结构系统总体结构框图如图 2.2.1图 2.2.1 整体框架2.3 系总体方案的设计3第十四届全国大学生智能汽车邀请赛技术报告根以上系统方案设计,赛车共包括九大模块:K60 主控模块、电磁采集模块、电源模块、电机驱动模块、速度检测模块、测距模块、舵机控制模块、停车模块和辅助调试模块。各模块的作用如下:1、K60 主控模块:作为整个智能车的“大脑”,将采集电感传感器、编码器等传感器的信号,根据控制算法做出控制决策,驱动两个直流电机

14、,舵机完成对智能车的控制。2、电磁采集模块:是智能车的“眼睛”,电磁向外支出具有一定的前瞻性, 可以提前感知前方赛道的信息,结合特殊的电感排布情况,可以分别识别不同路况信息。3、电源模块:为整个系统提供稳定且合适的电压 12V 供给电机,5V 供给超声波、陀螺仪、激光模块,3.3V 供给 OLED 显示屏。4、电机驱动模块:通过主控芯片给出的信息驱动直流电机完成智能车的加减速控制。5、速度检测模块:编码器反馈智能车后轮的转速,结合 PID 控制器用于速度的闭环控制。6、测距模块:超声波检测车与障碍物距离,加上激光模块辅助判断,能有效避免其他元素的干扰,检测到障碍信息后,赛车提前减速打角让小车顺

15、利通过障碍。7、舵机控制模块,通过小车的眼睛前瞻的电感采集回来的值来决策舵机打角的方向与位置,加上小车的动态 P 调整,能很好的实现直道稳定,弯道打角顺滑。8、停车模块,通过干簧管检测起跑线,但会出现失灵的现象,没检测到,稳定性略差,但室外干扰较多,相比摄像头检测,线圈检测,是个不错的选择。9、辅助调试模块:主要用到蜂鸣器,OLED 显示器,蜂鸣器用于提示赛道元素,能有效避免盲调,OLED 指示相关信息。主要用于智能车系统的功能调、赛车状态监控等方面。4第三章智能汽车机械结构调整与优化智能汽车各系统的控制都是在机械结构的基础上实现的,机械结构影响着赛车的速度,因此在设计整个软件架构和算法之前一

16、定要对整个模型车的机械结构有一个全面清晰的认识。本章将主要介绍智能汽模型车型车的机械结构和调整方案。3.1 智能汽车车头的改装此次比赛选用的赛车车模采用 L 型车模。我们在初期发现没有适合放碳杆的位置,所以我们将前面部分用 3D 打印出一个固定结构,这样既保证了碳杆所在位置的稳定性,又保证了碳杆处于水平位置,还可以调节高度,比较方便,整体效果图如图 3.1.1。图 3.1.1 智能汽车外形图3.2 超声波的安装 本届新增添了避障元素,最开始我们使用的是 VL53L0X,这款激光测距模块,但后来发现在阳光的照射下,激光测距的值会受到阳光的较大影响,故我们选择受外界影响因素较小的 Risym US

17、-100 这款超声波来避障。5第十四届全国大学生智能汽车邀请赛技术报告同时障碍物的长为 45cm,高为 20cm,宽为 20cm。我们将碳杆到地面的垂直距离设置为 14cm,由于受坡道影响,我们把超声波的安装距离提高了 2cm,这样就将坡道和障碍物分开了,再加上红外模块的辅助,便可以避免误判。3.3 智能车转向机构调整优化 L 车模的转向是依靠舵机让前轮进行转动,后轮保持不变。这就造成车子的转弯半径很大,遇到直角等急弯就非常容易丢线,所以我们就改装了后轮,好处就在于通过一个舵机带动前轮后后轮的左偏和右偏相反,这样就减小了转弯半径3.4 编码器固定结构的改装 L 车模原装编码器与电机的接头之间有

18、松弛状态,所以我们单独买了逐飞科技的编码器接头进行加固。6第四章电路设计说明4.1 主控板和驱动板的硬件设计从最初进行硬件电路设计时我们就既定了系统的设计目标:可靠、高效、简洁,在整个系统设计过程中严格按照规范进行。可靠性是系统设计的第一要求,我们对电路设计的所有环节都进行了电磁兼容性设计,做好各部分的接地、屏蔽、滤波等工作,将高速数字电路与模拟电路分开,是本系统工作的可靠性达到了设计要求。4.1.1 电源管理模块首先了解一下不同电源的特点,电源分为开关电源和线性电源,线性电源的电压反馈电路是工作在线性状态,开关电源是指用于电压调整的管子工作在饱和截至区即开关状态的。线性电源一般是将输出电压取

19、样然后与参考电压送入比较电压放大器,此电压放大器的输出作为电压调整管的输入,用以控制调整管使其结电压随输入的变化而变化,从而调整其输出电压,但开关电源是通过改变调整管的开和关的时间即占空比来改变输出电压的。 从其主要特点上看:线性电源技术很成熟,制作成本较低,可以达到很高的稳定度,纹波也很小,而且没有开关电源具有的干扰与噪音,开关电源效率高、损耗小、可以降压也可以升压,但是交流纹波稍大些。电源模块对于一个控制系统来说极其重要,关系到整个系统是否能够正常工作,因此在设计控制系统时应选好合适的电源模块。竞赛规则规定,比赛使用智能汽车竞赛统一配发的标准车模用 7.2V 2000mAh Ni-cd 供

20、电为满足需要,本车模上存在 5 种供电电压:1)智能车使用镍镉充电电池,充满时电压在 7.88.2V。可直接用于电机供电。2)一些数字器件使用直流 5V,5V 电源选用线性稳压芯片 LM2940。为了隔离电机的干扰,通过隔离芯片 ADUM1200 进行隔离。3)使用 3.3V 为运算放大器、OLED 供电,采用线性稳压芯片 TPS7333。输入端接 LM2940 输出端。7第十四届全国大学生智能汽车邀请赛技术报告4)电机驱动模块使用直流 12V,使用一款 5-12V 升压电源模块 B0512S。5)采用 AS1015 为 SD-5 舵机提供 6V 电压,保证舵机性能。该部分电路如图 4.1.1

21、 所示: 图 4.1.1 电源管理模块原理图4.1.2 电机驱动模块驱动的设计尤为重要。常用的电机驱动有两种方式:一、采用集成电机驱动芯片;二、采用 N 沟道 MOSFET 和专用栅极驱动芯片设计。由于分立的 N 沟道 MOSFET 具有极低的导通电阻,大大减小了电枢回路总电阻。另外,专门设计的栅极驱动电路可以提高 MOSFET 的开关速度,使 PWM 控制方式的调制频率可以得到提高,从而减少电枢电流脉动。并且专用栅极驱动芯片通常具有防止同臂导通、硬件死区、欠电压保护等功能,可以提高电路工作的可靠性。因此我们采用通过 HIP4082 芯片驱动由 IRLR7843 构成的 H 桥电路,该部分电路

22、如图 4.1.2 所示: 图 4.1.2 驱动部分示意图 4.1.3 数模转换模块8第四章电路设计说明我们在测试外部 AD 后结果显示其结果与内部 AD 相差不大,而且外部的方差较内部 AD 更大,当然这也有可能是测试方法有问题。内部 AD 较外部 AD 可以简化电路设计,综合考虑这下我们还是决定使用内部 AD,考虑到我们所使用的传感器数量,引出 6 路 AD。其接线方法如图 4.1.3 所示。 图 4.1.3 接线图4.1.4 最小系统及其他电路部分设计考虑到我们对单片机的熟悉程度以及经济方面的各项因素,我们决定采用K60 单片机作为我们的 MCU 控制模块。K60 是一款针对汽车电子市场的

23、高性能32 位单片机,具有速度快、功能强、成本低、功耗特点。总线速度可以为50、72、100MHZ,在超频的情况下能在 200MHZ 稳定的工作。具有 512KB 的程序 Flash 和 8KB 的 Data flash,用于显示程序和数据的存储,均带有错误校正码(ECC),且配置了 8 位、10 位和 12 位 ADC,4 通道 16 位计数器,32 位的 DMA,8 通道的 PWM,易于实现电机控制核心控制单元:K60,根据需要引出适量的管脚。如图 4.1.4 所示。 图 4.1.4 最小系统 PCB9第十四届全国大学生智能汽车邀请赛技术报告测速模块:在电机上方架编码器,当电机转动时带动编

24、码器转动,由此获取速度信息。用编码器测速较光栅片测速精度更高。测速模块供给主板的信号要经过整波,使用上拉电阻提高其峰值电压,再使用非门将波形整为矩形波。设计时要注意编码器的镜像。测试模块实物如图 4.1.5 所示。 图 4.1.5 测速模块距模块:采用超声波测距方案。依据超声波测距所返回的测量值使赛车提前减速。如图 4.1.6 为测距模块。5 图 4.1.6 测距模块 4.2 智能车传感器模块设计根据竞赛组委会的相关规定,我们选用磁传感器,磁传感器的应用首先在于选型,为了找出适合的磁传感器,我们查阅了许多的产品资料,进行了大量的电感测试,发现只有在 10mH 电感中,得到感应电动势曲线是较为规

25、整的正弦波,频率和赛道电源频率一致,为 20kHz,幅值较其他型号的大,且随导线距离变化,规律为近大远小。其他电感得到信号不好,频率幅值变化杂乱,不宜采用。4.2.1 电感传感器的原理10第四章电路设计说明根据电磁检测原理,在通有交变电流的直导线周围存在电磁场。智能车竞赛中路径导航使用的交变电流为 20KHZ,100mA 电路,产生的电磁波属于甚低频(VLF)电磁波。甚低频频率范围处于工频和低频电磁破中间,为 3kHz30kHz,波长为 100km10km。根据电磁学,我们知道在导线中通入变化的电流(如按正弦规律变化的电流),则导线周围会产生变化的磁场,且磁场与电流的变化规律具有一致性。如果在

26、此磁场中置一由线圈组成的电感,则该电感上会产生感应电动势,且该感应电动势的大小和通过线圈回路的磁通量的变化率成正比。由于在导线周围不同位置,磁感应强度的大小和方向不同,所以不同位置上的电感产生的感应电动势也应该是不同。据此,则可以确定电感的大致位置。4.2.2 磁传感器信号处理电路确定使用电感作为检测导线的传感器,但是其感应信号较微弱,且混有杂波,所以要进行信号处理。要进行以下三个步骤才能得到较为理想的信号:信号的滤波,信号的放大,信号的检波。1)信号的滤波比赛选择 20kHz 的交变磁场作为路径导航信号,在频谱上可以有效地避开周围其它磁场的干扰,因此信号放大需要进行选频放大,使得 20kHz

27、 的信号能够有效的放大,并且去除其它干扰信号的影响。使用电路(带通电路),如图 4.2.1 所示。LC 并联谐振电路来实现选频图 4.2.1 LC 并联电路11第十四届全国大学生智能汽车邀请赛技术报告其中,E 是感应线圈中的感应电动势,L 是感应线圈的电感值,R0 是电感的内阻,C 是并联谐振电容。电路谐振频率为:f = 1 2 LC(4.1)f已知感应电动势的频率=20kHz,感应线圈电感为L=10mH,可以计算出谐振电容的容量为 C=6.3310-9 F 。通常在市场上可以购买到的标称电容与上述容值最为接近的电容为 6.8nF,所以在实际电路中选用6.8nF 的电容作为谐振电容。2)信号的

28、放大由第一步处理后的电压波形已经是较为规整的 20kHz 正弦波,但是幅值较小, 随着距离衰减很快,不利于电压采样,所以要进行放大,官方给出的如下参考 方案即用三极管进行放大,但是用三极管放大有一个不可避免的缺点就是温漂较大,而且在实际应用中静电现象严重。图 4.2.2 共射三极管放大电路因此我们放弃三极管放大的方案,而是采用集成运放进行信号的放大处理, 集成运放较三极管优势是准确受温度影响很小,可靠性高。集成运放放大电路有同相比例运算电路和反相比例运算电路,我们在实际中使用反相比例运算电路。由于运放使用单电源供电,因此在同相端加 vcc/2 的基准电位,基准电位由电阻分压得到。 3)信号的检

29、波 12第四章电路设计说明测量放大后的感应电动势的幅值 E 可以有多种方法。 最简单的方法就是使用二极管检波电路将交变的电压信号检波形成直流信号,然后再通过单片机的AD 采集获得正比于感应电压幅值的数值。我们采用的为竞赛组委会给出的第一种方案即使用两个二极管进行倍压检波。倍压检波电路可以获得正比于交流电压信号峰峰值的直流信号。为了能够获得更大的动态范围, 倍压检波电路中的二极管推荐使用肖特基二极管或者锗二极管。由于这类二极管的开启电压一般在 0.10.3V 左右,小于普通的硅二极管(0.7V),可以增加输出信号的动态范围和增加整体电路的灵敏度。这里选用常见的的肖特基二极管 1N5819。 最终

30、方案确定如下图 4.2.3 最终方案 图 4.2.3 最终方案4.2.3 磁传感器的布局原理及改进对于直导线,当装有小车的中轴线对称的两个线圈的小车沿其直线行驶, 即两个线圈的位置关于导线对称时,则两个线圈中感应出来的电动势大小应相同、且方向亦相同。若小车偏离直导线,即两个线圈关于导线不对称时,则通过两个线圈的磁通量是不一样的。这时,距离导线较近的线圈中感应出的电动势应大于距离导线较远的那个线圈中的。根据这两个不对称的信号的差值,即可调整小车的方向,引导其沿直线行驶。对于弧形导线,即路径的转弯处,由于弧线两侧的磁力线密度不同,则当载有线圈的小车行驶至此处时,两边的线圈感应出的电动势是不同的。具

31、体的就是,弧线内侧线圈的感应电动势大于弧线外侧线圈的,据此信号可以引导小车拐弯。13第十四届全国大学生智能汽车邀请赛技术报告另外,当小车驶离导线偏远致使两个线圈处于导线的一侧时,两个线圈中感应电动势也是不平衡的。距离导线较近的线圈中感应出的电动势大于距离导线较远的线圈。由此,可以引导小车重新回到导线上。由于磁感线的闭合性和方向性,通过两线圈的磁通量的变化方向具有一致性,即产生的感应电动势方向相同,所以由以上分析,比较两个线圈中产生的感应电动势大小即可判断小车相对于导线的位置,进而做出调整,引导小车大致循线行驶。采用双水平线圈检测方案,在边缘情况下,其单调性发生变化,这样存在一个定位不清的区域(

32、如图 4.2.4 箭头所指)。同一个差值,会对应多个位置, 不利于定位。另外,受单个线圈感应电动势的最大距离限制,两个线圈的检测广度很有限。图 4.2.4 双线圈差值法有定位不清区域但由于还有特殊元素要判断,所以我们又增加了内八字电感,与外八字电感来判别不同元素。具体电感排布方法如下图 4.2.5 所示。14第四章电路设计说明图 4.2.5 电感排布两个水平放置的电感按“一”字排布,间距大约为 30cm(见图 4.11),这样覆盖赛道范围约为 60cm。中间内八字的电感可以大大提高提前检测效率,加上长前瞻,就能很顺滑的完成入弯,入环岛。外八字的电感在直角,环岛的时候又特殊值变化,根据这些特殊值

33、就可以检测对应的标志,判断赛道元素。4.3 智能车停车模块根据本届比赛的规定,赛车在完成一圈的比赛后要在起跑线后 3M 的区域内停车。电磁组则需要检测埋在起跑线下的三个永磁铁来判断起跑线位置。为此我们在车体加入了五个干簧管来检测起跑线,经过多次尝试,发现要 N 级或者 S 级靠近时才有效果,考虑到现场安装时磁铁位置不确定就以中线为基准向两边延申,对称排布,检测效率较高,并用直接检测 IO 口电平的方式触发,检测到起跑线后直接依靠电机闭环控制停车。图 4.3.1 为停车检测模块。图 4.3.2 为对应的安装位置。15第十四届全国大学生智能汽车邀请赛技术报告图 4.3.1 停车检测图 4.3.2

34、干簧管安装方向与位置16第五章智能车控制软件设计说明控制程序是人的思想在车模体现,程序要体系化,模块化,稳定化,目标是将硬件电路和机械性能发挥到最大,让车模用最快的速度完成比赛。 5.1 底层初始化编写总的初始化函数 ALL_INIT(),初始化用到的模块如下:void ALL_INIT() motor_init(); LCD_Init();pit_init_ms(PIT0,1);/编码器pit_init_ms(PIT1,1);/adc 采集,舵机,速度控制,oled 显示/超声波初始化HC_SR04_init();stop_car_IO_INIT();/停车线检测/状态检测蜂鸣器beep_i

35、nit();zhangai_IO_init();/障碍中断 IO 口ADC_INIT();KEY_Init();5.2 电感采集处理算法我们一共采用了六个通道的电感值进行处理,首先将六个通道的电感值进行排序,将数据从大到小将进行排序,然后将中间的三个值进行求平均,最后再将这些值进行滑动滤波和归一化处理则得到这个位置的电感值。程序如下::冒泡排序法for(i=0;i6;i+)/6 个电感排序for(j=0;j4;j+)/五个数据排序for(k=0;k AD_dataik+1) /前面的比后面的大则进行交换temp = AD_dataik+1; AD_dataik+1 = AD_dataik; A

36、D_dataik = temp; :取中间稳定的值17第十四届全国大学生智能汽车邀请赛技术报告/求中间三项的和for(i=0;i6;i+)ad_sumi = AD_datai1 + AD_datai2 + AD_datai3;AD_avei = ad_sumi / 3;:滑动滤波for(i = 0;i 3;i +)/滑动滤波后面一位往前面一位移动AD_temp0i = AD_temp0i + 1;AD_temp1i = AD_temp1i + 1; AD_temp2i = AD_temp2i + 1; AD_temp3i = AD_temp3i + 1; AD_temp4i = AD_temp

37、4i + 1; AD_temp5i = AD_temp5i + 1;for(i = 0;i 4;i +)AD_sum0 += AD_temp0i; AD_sum1 += AD_temp1i; AD_sum2 += AD_temp2i; AD_sum3 += AD_temp3i; AD_sum4 += AD_temp4i; AD_sum5 += AD_temp5i;5.3 模糊控制为了提高小车转弯时候的圆滑以及直道上反应没那么灵敏,我们用模糊控制来确定小车的动态 p 参数,根据不同电感值的误差大小,改变不同路段的速度,让过弯更顺滑,并没有瞬间加速,瞬间减速的顿挫感。18第五章智能车控制软件设计说

38、明大致过程如下:先建立模糊规则表,根据对应的误差求出隶属度论域,将对应的隶属度带入规则表算出一个此时确定的值作为输出,实现的模糊转确定的一个操作。我们控制并不算太复杂我们就用一维的模糊控制器就能满足任务的要求,效果也比较理想,具体框图如图 5.3.1 所示。图 5.3.1 模糊规则对应的框图模糊规则的建立大体参数如图 5.3.2,需要根据自己的情况适当调整对应的值。图 5.3.2Kp 对应的模糊规则有了对应变化的论域同建立好的模糊规则,我们就可以实现解模糊得到一个对应的确定输出值给对应的控制机构,具体解参数如下,后面还有速度的论19第十四届全国大学生智能汽车邀请赛技术报告域、隶属度、解模糊,K

39、D 的论域、隶属度、解模糊形式都差不多就不在一一赘述了,只要把对应的规则按照实际的误差对应关系整理好就可以套用。num = rule_kppecpe;U1Fuzzy_kp0 =Rule_kpnum*eFuzzy0*ecFuzzy0; num = rule_kppecpe+1;U1Fuzzy_kp1 =Rule_kpnum*eFuzzy1*ecFuzzy0; num = rule_kppec+1pe;U1Fuzzy_kp2 =Rule_kpnum*eFuzzy0*ecFuzzy1; num = rule_kppec+1pe+1;U1Fuzzy_kp3 =Rule_kpnum*eFuzzy1*ec

40、Fuzzy1; U1Fuzzy_kp_add=U1Fuzzy_kp0+U1Fuzzy_kp1+U1Fuzzy_kp2+U1Fuzzy_kp3;5.4 动态参数调整经过实时验证,我们希望的是在偏差比较小的时候用到的打角力度不是很大,而在转弯处时打角力度加大,能顺利圆滑转过弯。在此基础上我们总结出了可能的偏差对应的打角情况如图 5.4.1偏移量偏移量偏移量abc偏移量偏移量de图 5.4.1 偏移量与对应的误差关系a 图表示偏移量与转向角度呈线性关系,在计算及程序编写上都比较简单, 也可以实现控制赛车行驶的目标,但是在赛道上的效果并不是最理想的,打角的稳定性还与速度有关,当速度低的时候通过性能比较

41、好,当高速行驶的时候20第五章智能车控制软件设计说明就会出现直道甩头,弯道过不去的情况,对赛车实际行驶状态的分析不够全面, 所以在实际应用时不能简单套用。b 图表示的是在赛车略微偏离赛道中心时,不要对行驶方向作太大调整,而是在当偏离度大到预定值时急速调整转角以保证过弯的及时,同时在以判断出是急弯后,也不要进行大的变动,因为此时转角的值已经很大,仅需对舵机进行微调就可以保证方向的正确性。这种方案的优点是综合考虑了赛车对个弯道的适应程度,同时保证了在直线行驶时的稳定性,和抗干扰性,但是对急弯的响应可能不够及时,这是该方案的主要缺点。c 图表示的对弯道的处理方案与 b 图恰好相反,它提高了相应灵敏度

42、,降低了抗干扰性,对于多弯道,且弯道曲率半径较小的赛道有比较好的适应性,但是在使用的时候就会出现直道改变比较明显,不宜与控制。d、e 图是两种比较特殊的处理方案,它们不能用于赛车的全程控制,只是考虑到赛车的实际运行特点对某部分的偏移量有特别要求是使用。对于传统四轮车辆,转向时前轮有比较严格的角度关系,而它们的得到是由转向系统决定的。这样两套系统都对某个值做出了限制,必然会有矛盾,在车由 0 度转到最大转角时,并不是每时每刻都能同时满足两种条件的限制,那么为了赛车行驶的稳定性,我们可能会在小范围内对转角波动,以得到附近最合适的转角值, 减小矛盾。所以综上我们采用 b 图的控制策略,为此我们程序上

43、使用了动态参数调整具体如下:quan_err= 0.75*err_store0+0.15*err_store1+0.1*err_store2;move_kp=Fuzzy_kp*quan_err*quan_err*100+3; turn_pwm=move_kp*quan_err+turn_mid; quan_err_last=quan_err;首先将采集回来的误差通过一个低通滤波,使误差变化很顺滑,不会出现突然变化很快的值,打角也会很顺滑,move_kp 为动态参数 P 的自整定,达到当误差较小的时候不去打很大的角,当误差超过一定值时整体就是一个关于quan_err 的三次函数,此时变化明显能够

44、顺滑通过弯道,Fuzzy_kp 是对应的模糊控制参数,当误差小的时候对应的输出较小,当误大的时候就可以输出一个比较大的值,来适应弯道转弯滞后的情况。5.5 特殊元素制定策略21第十四届全国大学生智能汽车邀请赛技术报告首先将四个电感放在同一水平位置,其中两个电感与碳杆成 90 度(AD1、AD2),两个电感成内八字(AD3、AD4),后面 5cm 再放置两个成外八字的电感进行辅助判断(AD5、AD6)5.3.1 直角策略当车子跑到右直角时,AD2 的电感值会突然减小到很小,AD4 的电感值增大到很大,选取其零界值作为右直角的特征值。当电感值满足这一条件时舵机就右。程序如下:if(AD2300 &

45、 ABS(max_ad-AD4)350 & Circle_In_Flag=0 &zhijiao_flag_L=0)/右直角 zhijiao_flag=1; zhijiao_flag_R=1; Beep_on();else if(AD1300 & ABS(max_ad-AD3)350 & Circle_In_Flag=0 & zhijiao_flag_R=0)/左直角zhijiao_flag=1; zhijiao_flag_L=1; Beep_on();5.3.2 环岛策略环岛大概思路和直角判断一样,分为两个步骤,分为左、右环岛。程序如下:if(AD1+AD21350 & AD6600 & AD

46、6AD5 & first_stage_left=0&first_stage_right=0 & out_circle_flag=0)Circle_In_Flag=1; first_stage_right = 1;first_stage_left = 0;else if(AD1+AD21350 & AD5600 & AD5AD6&first_stage_right=0& first_stage_left=0 & out_circle_flag=0)Circle_In_Flag=1; first_stage_right = 0;first_stage_left = 1;22第五章智能车控制软件设计

47、说明if(first_stage_right=1 & AD4650 &second_stage_left=0 &/左右得出的电感值不太一样second_stage_right=0)second_stage_right = 1;second_stage_left = 0; Beep_on();else if(first_stage_left = 1 & AD3650 & second_stage_right=0 & second_stage_left=0)second_stage_right = 0;second_stage_left =1; Beep_on();5.3.3 超声波误判的解决方法超声波产生的声波是成一个发散的角度,所以有时候颠坡路段会被检测成路障,我们的解决方法是用锡箔纸叠成一个长方形形状,缠绕在超声波的接收端,保证接收到的声波都是

温馨提示

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

评论

0/150

提交评论