分享
北京化工大学电磁二队.pdf
下载文档

ID:3492585

大小:1.69MB

页数:39页

格式:PDF

时间:2024-05-16

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
北京化工大学 电磁二队 北京 化工大学 电磁
第十届“飞思卡尔”杯全国大学生 智能汽车竞赛 技技 术术 报报 告告 学 校:北京化工大学 队伍名称:北化电磁二队 参赛队员:闫超 王玲艳 杨将 张超 带队教师:程杰 郭青 关于技术报告和研究论文使用授权的说明 本人完全了解第十届“飞思卡尔”杯全国大学生智能汽车邀请赛关保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。参赛队员签名:带队教师签名:日 期:引言-1-引言 本文设计的电磁双车智能车系统以 MKL26Z256VLL4 微控制器为核心控制单元,以安装在车体前的工字电感作为循迹传感器,采用干簧管检测起跑线,通过编码器检测模型车的实时速度,使用 PID 控制算法调节驱动电机的转速和转向舵机的角度,实现了对模型车运动速度和运动方向的闭环控制;同时后车通过超声波模块检测两车之间的距离,实现两车距离的控制。本文中,我们小组通过对小车设计制作整体思路、电路、算法、调试、车辆参数的介绍,详尽地阐述了我们的思想和创意,具体表现在电路的创新设计,以及算法方面的独特想法,而对单片机具体参数的调试也让我们付出了艰辛的劳动。这份报告凝聚着我们的心血和智慧,是我们共同努力后的成果。在准备比赛的过程中,我们小组成员涉猎控制、模式识别、传感技术、汽车电子、电气、计算机、机械等多个学科,这次磨练对我们的知识融合和实践动手能力的培养有极大的推动作用,在此感谢北京化工大学相关学院对此次比赛的关注,我们的成果离不开学校的大力支持及指导老师悉心的教导;还要感谢的是和我们一起协作的队员们,协助,互促,共勉使我们能够走到今天。关键字:MKL26Z256VLL4 电感 干簧管 PID 舵机 欧姆龙编码器第十届全国大学生智能汽车总决赛技术报告-2-目录 引言.-1-目录.-2-第一章 系统设计.-5-1.1 整车设计.-5-1.2 整车布局.-6-第二章 系统机械设计及实现.-7-2.1 智能车前轮定位的调整.-7-2.1.1 主销后倾角.-7-2.1.2 主销内倾角.-7-2.1.3 车轮外倾角.-8-2.1.4 前轮前束.-8-2.2 舵机安装结构的调整.-9-2.3 电感支架的安装.-10-2.4 轮胎的处理.-11-2.5 测速装置的安装.-11-2.6 智能车重心位置的调整.-11-第三章 电路设计说明.-12-3.1 主控板和驱动板的硬件设计.-12-3.1.1 电源管理模块.-12-3.1.2 电机驱动模块.-13-3.1.3 电感信号放大模块.-14-目录-3-3.1.4 单片机及其他电路部分设计.-14-3.2 智能车传感器模块设计.-17-3.2.1 电感传感器的原理.-17-3.2.2 磁传感器信号处理电路.-17-3.2.3 磁传感器的布局原理及改进.-20-3.2.4 超声波检测距离模块.-22-第四章 智能车控制软件设计说明.-23-4.1 底层初始化.-23-4.2 传感器采集处理算法.-23-4.3 寻线行驶算法实现.-23-4.3.1 定位算法.-23-4.3.2 基于位置式 PID 的方向控制.-24-4.3.3 基于增量式 PID 的速度控制.-25-4.3 弯道策略分析.-26-4.4 弯道策略实施.-28-4.5 双车距离控制策略分析.-28-第五章 开发工具、制作、安装、调试过程说明.-29-5.1 开发工具.-29-5.2 调试过程.-29-5.2.1 上位机系统.-29-5.2.2 控制算法的参数整定.-30-第六章 模型车的主要技术参数说明.-32-第十届全国大学生智能汽车总决赛技术报告-4-6.1 智能车外形参数.-32-6.2 电路部分参数.-32-6.3 传感器个数以及种类.-32-6.4 除了车模原有的驱动电机、舵机之外伺服电机数量.-32-6.5 赛道信息检测精度、频率.-32-结论.-33-参考文献.-34-附录 部分程序源代码.I 第一章 系统设计-5-第一章 系统设计 本章主要简要地介绍智能车系统总体设计思路,在后面的章节中将整个系统分为机械结构、控制模块、控制算法等三部分对智能车控制系统进行深入的介绍分析。1.1 整车设计 根据竞赛规则相关规定,电磁双车智能车系统采用大赛组委会统一提供的两辆 B 型车模,两车模均以飞思卡尔半导体公司生产的 32 位微控制器 KL26 作为核心控制器,在 IAR 开发环境中进行软件开发。赛车的位置信号由车体前方的电磁传感器采集,经内部 AD 进行模数转换后,输入到控制核心,用于赛车的运动控制决策。通过编码器测速模块来检测车速,并采用 KL26 的 LPTMR 功能进行脉冲计数计算速度;电机转速控制采用 PID 控制,通过 PWM 控制驱动电路调整电机的转速,完成智能车速度的闭环控制;两车之间的距离通过超声波模块检测,控制两车之间的距离。此外,还增加了键盘,拨码开关等作为输入输出设备,用于智能车的速度调整。图 1.1 双车整体布局 第十届全国大学生智能汽车邀请赛技术报告-6-1.2 整车布局(1)车模底盘降低,主板低放,以降低重心。(2)车模舵机卧式安装,降低重心,方便控制。(3)用轻便坚固的碳纤杆作为电感支架。(4)电池靠后放置,有利于重心分布。(5)前车为了防止后车爬上前车,后面添加了挡板。制作完成后的小车整体布局:图 1.2 双车整车布局 第二章 系统机械设计及实现-7-第二章 系统机械设计及实现 在整个调试过程中我们发现,车辆在高速情况对整车机械性能要求很高,为了能够使车在高速情况下更稳定流畅地运行,我们在前期装配时,对整车进行了系统的分析。我们尽量在规则允许的范围内改造车模,提高车模整体精度,使整车及机械性能进一步提升。舵机的灵敏程度对高速运行的车辆起着至关重要的的作用。因此,在整车的机械结构我们进行了多次的改进。2.1 智能车前轮定位的调整 现代汽车在正常行驶过程中,为了使汽车直线行驶稳定,转向轻便,转向后能自动回正,减少轮胎和转向系零件的磨损等,在转向轮、转向节和前轴之间须形成一定的相对安装位置,叫车轮定位,其主要的参数有:主销后倾、主销内倾、车轮外倾和前束。智能车竞赛模型车的四项参数都可以调整,但是由于模型车加工和制造精度的问题,在通用的规律中还存在着一些偶然性。2.1.1 主销后倾角 主销后倾角是指在纵向平面内主销轴线与地面垂直线之间的夹角。它在车辆转弯时会产生与车轮偏转方向相反的回正力矩,使车轮自动恢复到原来的中间位置上。所以,主销后倾角越大,车速越高,前轮自动回正的能力就越强,但是过大的回正力矩会使车辆转向沉重。通常主销后倾角值设定在 1到 3。模型车通过增减黄色垫片的数量来改变主销后倾角的,由于竞赛所用的转向舵机力矩不大,过大的主销后倾角会使转向变得沉重,转弯反应迟滞,所以设置为 0,以便增加其转向的灵活性。2.1.2 主销内倾角 主销内倾角是指在横向平面内主销轴线与地面垂直线之间的夹角,它的作用也是使前轮自动回正。角度越大前轮自动回正的作用就越强,但转向时也就越费力,轮胎磨损增大;反之,角度越小前轮自动回正的作用就越弱。通常汽车的主销内倾角不大于 8。对于模型车,通过调整前桥的螺杆的长度可以改变主销内倾角的大小,由于过大的内倾角也会增大转向阻力,增加轮胎磨损,所以在调整时可以近似调第十届全国大学生智能汽车邀请赛技术报告-8-整为 0到 3左右,不宜太大。主销内倾和主销后倾都有使汽车转向自动回正,保持直线行驶的功能。不同之处是主销内倾的回正与车速无关,主销后倾的回正与车速有关,因此高速时主销后倾的回正作用大,低速时主销内倾的回正作用大。2.1.3 车轮外倾角 前轮外倾角是指通过车轮中心的汽车横向平面与车轮平面的交线与地面垂线之间的夹角,对汽车的转向性能有直接影响,它的作用是提高前轮的转向安全性和转向操纵的轻便性。在汽车的横向平面内,轮胎呈“八”字型时称为“负外倾”,而呈现“V”字形张开时称为正外倾。如果车轮垂直地面一旦满载就易产生变形,可能引起车轮上部向内倾侧,导致车轮联接件损坏。所以事先将车轮校偏一个正外倾角度,一般这个角度约在 1左右,以减少承载轴承负荷,增加零件使用寿命,提高汽车的安全性能。模型车提供了专门的外倾角调整配件,近似调节其外倾角。由于竞赛中模型主要用于竞速,所以要求尽量减轻重量,其底盘和前桥上承受的载荷不大,所以外倾角调整为 0即可,并且要与前轮前束匹配。2.1.4 前轮前束 所谓前束是指两轮之间的后距离数值与前距离数值之差,也指前轮中心线与纵向中心线的夹角。前轮前束的作用是保证汽车的行驶性能,减少轮胎的磨损。前轮在滚动时,其惯性力自然将轮胎向内偏斜,如果前束适当,轮胎滚动时的偏斜方向就会抵消,轮胎内外侧磨损的现象会减少。像内八字那样前端小后端大的称为“前束”,反之则称为“后束”或“负前束”。在实际的汽车中,一般前束为 12mm。在模型车中,前轮前束是通过调整伺服电机带动的左右横拉杆实现的。主销在垂直方向的位置确定后,改变左右横拉杆的长度即可以改变前轮前束的大小。在实际的调整过程中,我们发现较小的前束,约束 2mm 可以减小转向阻力,使模型车转向更为轻便,但实际效果不是十分明显。虽然模型车的主销后倾角、主销内倾角、车轮外倾角和前束等均可以调整,但是由于车模加工和制造精度的问题,在通用的规律中还存在着不少的偶然性,一切是实际调整的效果为准。第二章 系统机械设计及实现-9-图 2.1 车模前轮定位 2.2 舵机安装结构的调整 B 车模的舵机为卧式安装,采用卧式安装可以降低重心,并且经过调整使得左右拉杆长度一致,使得左右转向对称。我们对舵机摆杆的一系列参数分析计算:舵机转矩=舵机摆杆作用力*力矩延长杆的长度 舵机的转动速度和功率是一定,要想加快转向机构的响应速度,唯一的办法就是调整力矩延长杆的长度。由于功率是速度与力矩乘积的函数,过分追求速度,必然要损失力矩,力矩太小也会造成转向迟钝,因此设计时就要综合考虑转向机构响应速度与舵机力矩之间的关系,通过优化得到一个最佳的转向效果。利用实际参数经计算,我们选择舵机摆杆的长度在28mm。同时最终的转向机构还应该尽量满足符合阿克曼转向理论,依据阿克曼转向几何设计的车辆,沿着弯道转弯时,利用四连杆的相等曲柄使内侧轮的转向角比外侧轮大大约24 度,使四个轮子路径的圆心大致上交会于后轴的延长线上瞬时转向中心,这样可以使车辆在过弯时转向轮处于纯滚动状态,减少过弯时的阻力,减小轮胎的磨损。我们为了减小重量,没有全部采用铜柱固定舵机,采用了一部分塑料柱来固定舵机,这样一来进一步减轻了整车的质量。第十届全国大学生智能汽车邀请赛技术报告-10-图 2.2 车模舵机安装 图 2.3 转向拉杆图 2.3 电感支架的安装 电磁组不同于其他两组,其主要差异在于电磁组没有前瞻,电感只能感应出其所在位置的感应电动势,而无法像光电和摄像头那样看到传感器前方0.5 米甚至2 米前的路况,所以必须把电感伸到车前方一段距离。伸的越远,预知路况的能力也就越强,但过于长就会带来控制难度增大,支架过于沉重的问题。经过实际试验,我们最终把两车模的支架做为45cm。对于固定的支架材料的选第二章 系统机械设计及实现-11-型,我们选用外径5mm 内径3mm 空心碳杆,以及3mm 的实心碳杆做支架,选择在杆子数量最少,支架最牢固的支架固定方式。2.4 轮胎的处理 B车模轮胎表面没有花纹,并且今年的跑道使用的是PVC耐磨塑胶地板,摩擦力非常小,新轮胎在跑道上非常滑。我们让车子在跑道上跑进行自磨损,当轮胎和跑道摩擦产生比较尖锐的吱吱响的声音之后,此时摩擦力最好。2.5 测速装置的安装 测速装置在智能车系统中占有非常重要的地位,其要求是分辨能力强、精度高和检测时间短。从精度要求来看,光电编码器最为合适,且集成性好,抗干扰能力强。最终采用欧姆龙旋转编码器作为系统的测速模块,但该编码器体积较大,会使车重增加。图 2.4 车模编码器安装 2.6 智能车重心位置的调整 为了达到较远前瞻,必须把电感架到较远的位置,会引起车重心特别靠前,后轮正压力不足导致甩尾。为了使重心后移,我们尝试了很多传感器支架的搭建方式,使得保证结构稳定的前提下尽量减轻重量。同时,我们把主板降低,驱动板后移,达到了预期的效果。第十届全国大学生智能汽车邀请赛技术报告-12-第三章 电路设计说明 3.1 主控板和驱动板的硬件设计 3.1.1 电源管理模块 为满足需要,本车模上存在 3 种供电电压:1)智能车使用镍镉充电电池,充满时电压在 7.88.2V,是所有模块的供电来源,经过电压转换后供给各个模块使用。为防止电池反接,在镍镉电池正极串接 IN5819。2)一些芯片器件使用直流 5V、直流 3.3V,5V、3.3V 电源选用开关型稳压芯片 LM1117-5 和 LM1117-3.3。为了隔离电机的干扰,LM1117 的输出端加磁珠。3)使用 6V 电源给舵机供电,采用直流稳压芯片 LM2941 电压转换,将电池 7.2V 转为 6V 给舵机供电。该部分电路如图 3.1 所示。图 3.1 电源管理模块原理图 第三章 电路设计说明-13-3.1.2 电机驱动模块 目前直流电机的驱动方式主要有 2 种形式:线性驱动方式和开关驱动方式。其中线性驱动方式可以看成一个数控电压源。该驱动方式的优点是驱动电机的力矩纹波很小,可应用于对电机转速要求非常高的场合;缺点是该方式通常比较复杂,成本较高,尤其是要提高驱动的功率时,相应的电路成本将提升很多。最终我们采用2个半桥智能功率驱动芯片BTS7970组合成一个全桥驱动器,驱动直流电机转动。BTS7970 是应用于电机驱动的大电流半桥集成芯片,它带有一个 P 沟道的高边 MOSFET、一个 N 沟道的低边 MOSFET 和一个驱动 IC。P 沟道高边开关省去了电荷泵的需求,因而减少了电磁干扰(EMI)。集成的驱动 IC 具有逻辑电平输入、电流诊断、斜率调节、死区时间产生和超温、过压、欠压、过流及短路保护功能。BTS7970 的通态电阻典型值为 16 m,驱动电流可达 43 A,调节 SR 引脚外接电阻的大小可以调节 MOS 管导通和关断时间,具有防电磁干扰功能。IS 引脚是电流检测输出引脚。INH 引脚为使能引脚,IN 引脚用于确定哪个 MOSFET 导通。当 IN=1 且 INH=1 时,高边MOSFET 导通,输出高电平;当 IN=0 且 INH=1 时,低边 MOSFET 导通,输出低电平。B 车模为单电机,电机驱动原理图如图 3.2 所示。图 3.2 单电机驱动模块原理图 第十届全国大学生智能汽车邀请赛技术报告-14-单电机驱动模块的实物图如图 3.3 所示。图 3.3 单电机驱动模块实物图 3.1.3 电感信号放大模块 由于 KL26 的内部 AD 比较精确,我们在测试外部 AD 后结果显示其结果与内部 AD 相差不大,而且方差较内部 AD 更大,当然这也有可能是测试方法有问题。内部 AD 较外部 AD 可以简化电路设计,综合考虑这下我们还是决定使用内部 AD,考虑到我们所使用的传感器数量,需要 6 个电感。3.1.4 单片机及其他电路部分设计 核心控制单元:KL26(主频 48MHz,100 引脚,FlashRom256KB,具备 SPI,SCI,IIC 等常用接口),根据需要引出适量的管脚。如图 3.4 所示。第三章 电路设计说明-15-图 3.4 单片机 PCB 第十届全国大学生智能汽车邀请赛技术报告-16-图 3.5 主控板原理图 测速模块:在电机下方架编码器,当电机转动时带动编码器转动,然后编码器输出方波信号,电机转速越快单位时间内输出的脉冲越多,通过单片机内部 LPTMR 模块对其计数,作为速度的反馈值。如图 3.5 所示。图 3.6 车模测速模块 人机交互:实验室的赛道电流、赛道摩擦等因素等并不和比赛的一致,所以临场调整速度等参数是必要的,而选择上,显示和输入设备当然是体积越小越好,最终显示上我们选用了体积小的OLED屏,增加独立按键,拨档开关3用于 第三章 电路设计说明-17-输入参数,策略调整,该部分整体电路如图3.7所示。图 3.7a 部分电路 图 3.7b OLED 实物图 3.2 智能车传感器模块设计 根据竞赛组委会的相关规定,我们选用磁传感器,磁传感器的应用首先在于选型,为了找出适合的磁传感器,我们查阅了许多的产品资料,进行了大量的电感测试,发现只有在 10mH 电感中,得到感应电动势曲线是较为规整的正弦波,频率和赛道电源频率一致,为 20kHz,幅值较其他型号的大,且随导线距离变化,规律为近大远小。其他电感得到信号不好,频率幅值变化杂乱,不宜采用。3.2.1 电感传感器的原理 根据电磁学,我们知道在导线中通入变化的电流(如按正弦规律变化的电流),则导线周围会产生变化的磁场,且磁场与电流的变化规律具有一致性。如果在此磁场中置一由线圈组成的电感,则该电感上会产生感应电动势,且该感应电动势的大小和通过线圈回路的磁通量的变化率成正比。由于在导线周围不同位置,磁感应强度的大小和方向不同,所以不同位置上的电感产生的感应电动势也应该是不同。据此,则可以确定电感的大致位置。3.2.2 磁传感器信号处理电路 确定使用电感作为检测导线的传感器,但是其感应信号较微弱,且混有杂波,所以要进行信号处理。要进行以下三个步骤才能得到较为理想的信号:信第十届全国大学生智能汽车邀请赛技术报告-18-号的滤波,信号的放大,信号的检波。1)信号的滤波 比赛选择 20kHz 的交变磁场作为路径导航信号,在频谱上可以有效地避开周围其它磁场的干扰,因此信号放大需要进行选频放大,使得 20kHz 的信号能够有效的放大,并且去除其它干扰信号的影响。使用 LC 并联谐振电路来实现选频电路(带通电路),如图 3.8 所示。图 3.8 LC 并联电路 其中,E 是感应线圈中的感应电动势,L 是感应线圈的电感值,R0 是电感的内阻,C 是并联谐振电容。电路谐振频率为:(2.1)已知感应电动势的频率f=20kHz,感应线圈电感为 L=10mH,可以计算出谐振电容的容量为 C=6.3310-9 F。通常在市场上可以购买到的标称电容与上述容值最为接近的电容为 6.8nF,所以在实际电路中选用 6.8nF 的电容作为谐振电容。2)方案的确定 因为电感感应出的电动势非常小而且是差分信号,若直接用单片机的AD 进行采集,单片机根本采集不到,所以我们得先把电感采集的数据进行放大。传感器电路中的放大电路通常有两种方案,一种是三极管放大,一种是采用放大器放大。两种方案各有优缺点。方案一 使用三极管放大电路具有电路简单、开关速度高、能很好的放大交流信号等优点。但是三极管放大静态工作点难调、放大倍数不高、容易出现各种失真、LC21f 第三章 电路设计说明-19-温漂等现象。方案二 使用运放的放大电路具有增益可调、放大线性度好、输出纹波小等优点。但是运放一般都需要正负供电电源;运放的输出电压范围要比输入电压低,从而限制了信号输入范围;且工作参数满足我们需求的运放价格都比较昂贵。经过讨论比较后,我们放弃了三极管,最后方案采用的 NE5532 作为运放模块,如图 3.9。虽然组委会的建议方案中提到运放的转换速度较慢,但实际测试中发现差别不明显。NE5532 需要负电源,因此我们采用了 7660S 集成电源芯片将 5V 电源转换得到-5V 电源。图3.9最终方案 图 3.10 7660s 负电源电路 第十届全国大学生智能汽车邀请赛技术报告-20-图 3.11 放大检波电路 PCB 图 3.12 放大检波电路 PCB 板 3.2.3 磁传感器的布局原理及改进 电磁车需要能够通过自动识别赛道中心线处由通有20kHz、100mA 交变电流的导线所产生的电磁场,进行路径检测。由于赛道的各种形状,使得磁场发生叠加,不同的赛道形状形成不同的特征磁场。磁场是矢量,在空间的分布为具有方向性,所以传感器检测到的信号也具有特定的方向性。在实际检测的时候 第三章 电路设计说明-21-发现,不同方向传感器的变化规律有很大的不同,所以一个合理的电感排布对信号的采集有着至关重要的作用。下面是我们试验过的几个方案。方案一 采用左右对称分布的两个电感,采用差和的方式进行偏差控制,这样的控制方式我们发现一个致命的缺点,当导线偏离两个电感之间区域之后解算变得很困难。经过一段时间的试用之后我们决定修改方案。方案二 三个电感与两个电感相比信息量增大了许多,而且处理起来也很方便,所以我们决定采用三个电感,三个电感过直角和弯道检测不准确,前车模采用三个垂直的电感来判断直角和弯道,后车采用三个水平的电感。最终我们采用此方案。图 3.13 前车电感排布检测方案 图 3.14 后车电感排布检测方案 第十届全国大学生智能汽车邀请赛技术报告-22-3.2.4 超声波检测距离模块 两车距离的检测我们采用了鸳鸯超声波模块,该模块为分离式测距模块,包含发送模块和接收模块。发送模块按照 50Hz 的频率发送声波,接收模块正常接收到信号时会输出 50Hz 的脉冲,脉冲宽度表示声波在空气中传播的距离。距离计算公式:Distance=Tw*340m/s 其中 Tw 单位是 s,Distance 单位是 m。图 3.14 超声波模块 第四章 智能车控制软件设计说明-23-第四章 智能车控制软件设计说明 控制程序是人的思想在车模体现,程序要体系化,模块化,稳定化,目标是将硬件电路和机械性能发挥到最大,让车模用最快的速度稳定的完成比赛。4.1 底层初始化 编写初始化函数 SystemInit(),初始化用到的模块,如下(子函数略):void SystemInit(void)gpio_init();/IO 口初始化 pwm_init();/pwm 波初始化 uart_init();/串口初始化 adc_init();/AD 初始化 LCD_Init();/LCD 初始化 4.2 传感器采集处理算法 编写采集函数 get_sensor(),其功能为控制 AD 采集某个通道(对应某个电感)的电压值,然后读出该值返回给函数。前车采取两排 6 个电感的排列方式,每一排三个电感,前排垂直的三个电感判断道路状况,后排三个水平的电感采集信号作为控制舵机使用,采用低通滤波,三个电感分为左中右三个位置。后车采用三个水平排布的电感采集信号。4.3 寻线行驶算法实现 4.3.1 定位算法 传感器的寻线原理:首先在程序中设置了导线分别在最左/中/右三个位置时三个电感所能感应到的电感值,然后调节传感器采集模块的放大倍数是其在导线处于最左/中/右时电感采集回来的值恰好等于所设置的值:寻线的核心思想是计算出导线相对于中间电感的位移量,当某一时刻一排的三个电感采集回来左中右三个电感的电感值,根据所设置的电感值计算出导线处于最左或者最右或者靠近中间,通过归一化处理把它归一到 0-300 之间,0 表示导线处于最中间,300 表示最左或者最右。第十届全国大学生智能汽车邀请赛技术报告-24-左右两个电感来判断方向,当 LR 时,导线相对于中间电感的位置偏左 当 RL 时,导线相对于中间电感的位置偏右 这种算法在直道和普通弯道的适应性挺强,但是在连续 S 弯道的时候就会出现 R 与 L 相差的很小,稍微受到一点干扰就是其方向判断出现问题。所以我们采用了权值法来处理。既是保存前一段时间 R 与 L 的值再乘以一个较小的权值再加上最新时刻的 R 与 L 值乘以较大的权值在进行比较来判断方向。4.3.2 基于位置式 PID 的方向控制 PID 控制是工程实际中应用最为广泛的调节器控制方法。迄今为止,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。单位反馈的PID控制原理框图如图4.4:图4.1 单位反馈的PID控制原理框图 单位反馈e代表理想输入与实际输出的误差,这个误差信号被送到控制器,控制器算出误差信号的积分值和微分值,并将它们与原误差信号进行线性组合,得到输出量u。dtdekupKd edtki e (4.2)其中,Kp、Ki、Kd分别称为比例系数、积分系数、微分系数。u接着被送到了执行机构,这样就获得了新的输出信号u,这个新的输出信号被再次送到感应器以发现新的误差信号,这个过程就这样周而复始地进行。数字控制系统中,PID控制器是通过计算机PID控制算法程序实现的。计算机直接数字控制系统大多数是采样-数据控制系统。进入计算机的连续-时间信号,必须经过采样和整量化后,变成数字量,方能进入计算机的存贮器和寄存 u e Y R Controller Plant 第四章 智能车控制软件设计说明-25-器,而在数字计算机中的计算和处理,不论是积分还是微分,只能用数值计算去逼近。用矩形数值积分代替上式中的积分项,对导数项用后向差分逼近,得到数字PID控制器的基本算式(位置算式):)Td(1TeeTeTiekunnnknpn (4.3)其中T是采样时间,pk、iT、dT为三个待调参数,在实际代码实现算法时,处理成以下形式:PWM=Kp*error+Ki*PreError+Kd*derr_F(4.4)根据以往资料和测试,将定位算法解算出的导线位置当作反馈值(Feedback),参考值(Ref)设为0,则有:error=Ref Feedback (4.5)derr_F=error-PreError 注:PreError 为上次的 error (4.6)PreIntegral+=error (4.7)为了防止频繁调节和意外输出过大,设置调节死区(-LOCA_DEADLINE,LOCA_DEADLINE)。error在死区内,不进行调节,维持上一状态。设置调节范围(-LOCA_MAX,LOCA_MAX),假如PWM算出结果越界,那么就赋给边界值 LOCA_MAX。4.3.3 基于增量式 PID 的速度控制 对位置式加以变换,可以得到PID算法的另一种实现形式(增量式):(4.8)在实际代码实现时,处理成 M_PWM+=(Kp*d_error+Ki*error+Kd*dd_error)(4.9)将测速模块得到的单位时间脉冲数给Feed_speed,Target_speed为设定速度。error=Target_speed-Feed_speed (4.10))2(1)(2111nnndninnpnnneeeTTeTeekuuu第十届全国大学生智能汽车邀请赛技术报告-26-d_error=error-vi_PreError (4.11)dd_error=d_error-_PreDerror (4.12)这里设计High,Middle,Low作为设定速度值(Target_speed),分别对应直道,弯道,最低速度(由传感器状态确定)。位于直道时,设定速度为最大。为提高稳定性,也设置相应的调节死区和调节范围。4.3 弯道策略分析 在车辆进弯时,需要对三个参数进行设定:切弯路径、转向角度、入弯速度。其中,切弯路径主要决定了车辆是选择内道过弯还是外道过弯。切内道,路经最短,但是如果地面附着系数过小会导致车辆出现侧滑的不稳定行驶状态,原因是切内道时,曲率半径过小,同时速度又很快,所以模型车需要的向心力会很大,而赛道本身是平面结构,向心力将全部由来自地面的摩擦力提供,因此赛道表面的附着系数将对赛车的运行状态有很大影响。切外道,路径会略长,但是有更多的调整机会,同时曲率半径的增加会使得模型车可以拥有更高的过弯速度。转向角度决定了车辆过弯的稳定性。合适的转向角度会减少车辆在转弯时的调整,不仅路径可以保证最优,运动状态的稳定也会带来效率的提高,减少时间。在考虑转向角度设置时需要注意以下几个问题:对于检测赛道偏移量的传感器而言,在增量较小时的转向灵敏度;检测到较大弯道时的转向灵敏度;对于类似 S 弯的变向连续弯道的处理。对于入弯速度的分析,应该综合考虑路径和转向角度的影响。简单而言,我们会采取入弯减速,出弯加速的方案,这样理论上可以减少过弯时耗费的时间。然而,在过去几届比赛中,通过观察各参赛车对弯道的处理后,我们发现并不是所有人都选择了相同的方案。正如前面说到的那样,不联系路径和转向角度,只是单纯地分析过弯速度,会造成思路的局限甚至错误。例如,在不能及时判断入弯和出弯的标志点就采取“入弯减速、出弯加速”的方案,会出现弯道内行驶状态不稳定、路径差,同时出弯加速时机过晚,一样会浪费时间。所以现在本系统参考实际驾驶时的一些经验,对过弯速度的处理方式确定为:入弯时急减速,以得到足够的调整时间,获得正确的转向角度;在弯道内适当 第四章 智能车控制软件设计说明-27-提速,并保持角度不变,为出弯时的加速节约时间;出弯时,先准确判断标志,然后加速,虽然会耗费一些时间,但是面对连续变向弯道可以减少判断出错的概率,保证行驶状态的稳定性,而且弯道内的有限加速对后面的提速也有很大的帮助。综合考虑用可以接收的额外时间换回行驶稳定性还是值得的。下面以常见的几种弯道转角处理方式解释各方案的优缺点,其中,横坐标表示由传感器采集回来的赛道中心线相对赛车中心线的偏移量,纵坐标表示转角大小。cbad偏移量e偏移量偏移量偏移量偏移量 图 4.2 弯道转角处理方式 a 图表示偏移量与转向角度呈线性关系,在计算及程序编写上都比较简单,也可以实现控制赛车行驶的目标,但是由于规则制定比较简单,对赛车实际行驶状态的分析不够全面,所以在实际应用时不能简单套用。b 图表示的是在赛车略微偏离赛道中心时,不要对行驶方向作太大调整,而是在当偏离度大到预定值时急速调整转角以保证过弯的及时,同时在以判断出是急弯后,也不要进行大的变动,因为此时转角的值已经很大,仅需对舵机进行微调就可以保证方向的正确性。这种方案的优点是综合考虑了赛车对个弯道的适应程度,同时保证了在直线行驶时的稳定性,和抗干扰性,但是对急弯的响应可能不够及时,这是该方案的主要缺点。c 图表示的对弯道的处理方案与 B 图恰好相反,它提高了相应灵敏度,降低了抗干扰性,对于多弯道,且弯道曲率半径较小的赛道有比较好的适应性。d、e 图是两种比较特殊的处理方案,它们不能用于赛车的全程控制,只是考虑到赛车的实际运行特点对某部分的偏移量有特别要求是使用。对于传统四轮车辆,转向时前轮有比较严格的角度关系,而它们的得到是由转向系统决定的。这样两套系统都对某个值做出了限制,必然会有矛盾,在车由 0 度转到最第十届全国大学生智能汽车邀请赛技术报告-28-大转角时,并不是每时每刻都能同时满足两种条件的限制,那么为了赛车行驶的稳定性,我们可能会在小范围内对转角波动,以得到附近最合适的转角值,减小矛盾。4.4 弯道策略实施 本系统采用了动态的参数 P 的位置式 PD 控制方向,P=(a*E2+b)*0.01 (a,b 为常数)这种控制方法可以使舵机在弯道时迅速打角,而且还避免了分段控制在分段点不连续有较大的干扰的问题,在直道时。位移偏差 E 变化很小且值也很小,所以 P 就很小,控制作用就比较弱,车模能在直道上平稳的沿着直线行进,当进入弯道时或在连续弯道时,E 值较大,且变化也较大,控制作用增强,控制就越灵敏。如图 4.6 所示 图 4.3 动态 P 仿真曲线 速度控制采用入弯减速(反转减速),进弯加速,直道加速,直道入弯是根据位移偏差的大小和偏差变化率来判断。4.5 双车距离控制策略分析 两车之间的距离采用超声波模块检测,根据检测到的距离,提出两种后车控制方案:方案一:采用串级控制方案,后车自身的速度环为内环,距离环为外环,均采用 PID 控制。方案二:后车通过距离自平衡,加补偿距离的方式使双车距离达到设定值。通过测试,方案二虽然容易实现,参数调整方便,但是方案一控制效果更好,因此采用方案一。第四章 智能车控制软件设计说明-29-第五章 开发工具、制作、安装、调试过程说明 5.1 开发工具 程序的开发是在 IAR 下进行的,包括源程序的编写、编译和链接,并最终生成可执行文件。IAR Embedded Workbench(简称 EW)的 C/C+交叉编译器和调试器是今天世界最完整的和最容易使用专业嵌入式应用开发工具。EW 对不同的微处理器提供一样直观用户界面。EW 今天已经支持 35 种以上的 8 位/16 位 32 位 ARM 的微处理器结构。EW 包括:嵌入式 C/C+优化编译器,汇编器,连接定位器,库管理员,编辑器,项目管理器和 C-SPY 调试器中。使用 IAR 的编译器最优化最紧凑的代码,节省硬件资源,最大限度地降低产品成本,提高产品竞争力 5.2 调试过程 5.2.1 上位机系统 要分析车模在赛道行驶的实时情况,必须采集并显示小车在行驶过程中各个功能模块的实时数据,我们采用 NRF 无线串口模块,将单片机采集到的数据实时传送到上位机并进行图形的绘制,进而进行对参数的调整;1)硬件方面 设计用于接收单片机传来的实时数据通过 NRF 无线模块传输到上位机,在单片机系统板上,已经引出了串口模块。二者之间通过 UART 传输数据。第十届全国大学生智能汽车邀请赛技术报告-30-图 5.1 NRF 无线模块 2)软件方面:用 IAR 编写一个简单的上位机接收程序(见图 5.2),车模在赛道跑时,数据通过 NRF 无线传输到机串口上,程序里面再通过传输数据的处理从而显示波形,并且可以在线调试参数。图 5.2 上位机程序界面 5.2.2 控制算法的参数整定 运用 PID 控制的关键是调整三个比例系数,即参数整定。PID 整定的方法有两类:一是理论计算整定法。它主要是依据系统的数学模型,经过理论计算 第四章 智能车控制软件设计说明-31-确定控制器参数。由于智能车整个系统是机电高耦合的分布参数系统,并且要考虑赛道具体环境,要建立精确的智能车运动控制数学模型有一定难度,而且对车身机械结构经常进行不断修正,模型参数变化较频繁,可操作性不强;二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单,采用了这种方法。1)方向控制算法的参数整定 方向控制采用位置式 PID 控制。由于小车循线本质上是一个随动系统,积分项在弯道累积的偏差错误地加在直道的跟踪上,造成在进入直道时转向不够准确,跑直道时虽然能跟踪电磁线,但是转向调整往往超调,导致车身在直道上左右震荡,这种震荡严重影响了车的整体表现。将积分项系数 Ki 设为 0,发现车能在直线高速行驶时仍能保持车身非常稳定,没有震荡,所以没有必要使用 Ki 参数。该控制方案调整为 PD 控制。Kp和 Kd 参数由工程整定得出,经过多次试验,得到一组稳定快速的参数为 10 和20。刚开始我们只使用了简单的增量式 PID,结果发现在直道的 PID 参数并不适用于弯道的运行,必须实时根据路况信息修改 PID 的参数采用,于是根据路况信息做出简单地判断,但是判断的条件过少,舵机会出现打角不连续的情况,判断的情况过多又会使得程序过多,不宜在中断里面运行。经过思考,舵机运行的主要调节参数为 Kp 参数,只要保证 Kp 随着路况信息的改变而改变就行,于是我们使用动态 Kp 的方法,将 Kp 设为偏差 e 的一元三次函数,就能很好的解决直道和弯道参数不匹配的问题。调节合适的调节死区,死区太小会造成调节不灵敏,太大则调节过于频繁。引起震荡,经过实验验证不灵敏区的界限为 e=70,当 e 在 70 以内的时候将 Kp设为一个较小值便可。2)速度控制算法的参数整定 速度控制采用增量式 PID 控制加棒棒控制算法的结合,实际是控制 PWM 波的占空比的输出。根据速度采集值与速度的给定值差的绝对值的范围选择使用增量式 PID 还是棒棒控制算法;当速度采集值与速度的给定值差的绝对值较大时,采用棒棒控制,以达到快速调节的作用,当速度采集值与速度的给定值差的绝对值较小的时候,采用增量式 PID 控制,已达到精确调节的目的。经过试第十届全国大学生智能汽车邀请赛技术报告-32-验,这种方法能够符合速度控制的要求。第六章 模型车的主要技术参数说明 6.1 智能车外形参数 B 车模:车长:70cm 车宽:25cm 车高:18cm 车重:约 1800g 6.2 电路部分参数 车模采用

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开