智能车竞赛技术报告 | 节能信标组 - 合肥工业大学 - 烂虾队

Posted 卓晴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了智能车竞赛技术报告 | 节能信标组 - 合肥工业大学 - 烂虾队相关的知识,希望对你有一定的参考价值。

简 介: 本文以第十六届全国大学生智能车竞赛为背景,介绍了节能信标组智能汽车设计、制作的技术信息。针对比赛的具体情况,自制质量较轻、较为灵活性的车模。以 Infineon公司生产的 32位单片机 TC212为核心控制器,采用 AURIX DevelopmentStudio作为开发环境,自主构思控制策略和算法结构;智能车开发过程中,通过比较各种方案,我们决定采用摄像头寻灯三轮结构的车模。最终方案的思路是:首先通过 LCC无线接收模块将接收线圈获取的交流电能转换成直流电能,使用自制的超级电容组对电能进行储存和转换,通过数字摄像头采集信标信息, MCU对传感器所采集的数据进行处理分析,小车通过双电机差速进行灵活的转向,使小车在最短的时间内完成比赛。

关键词 智能车单片机PID控制信标节能

 

第一章


  能车是以汽车电子为背景,涵盖控制、模式识别、传感技术、电子、电气、计算机、机械等多学科的科技创意性设计,由主要路径识别、速度采集、角度控制及车速控制等模块组成。其设计与开发涉及控制、模式识别、传感技术、汽车电子、电气、计算机、机械等多个学科,可以分为三大部分:传感器检测部分、执行部分、 CPU。

  全国大学生智能汽车竞赛以“立足培养,重在参与,鼓励探索,追求卓越”为指导思想,旨在促进高等学校素质教育,培养大学生的综合知识运用能力、基本工程实践能力和创新意识,激发大学生从事科学研究与探索的兴趣和潜能,倡导理论联系实际、求真务实的学风和团队协作的人文精神,为优秀人才的脱颖而出创造条件,是一项鼓励创新的科技竞赛活动。智能车竞赛目前已经发展有基础四轮组、全向行进组、双车接力组、节能信标组、电磁越野组、单车拉力组、智能视觉组、专科基础组共八个竞速组别,以及创意组,赛车速度与比赛质量也越来越高,竞争更是日趋激烈。
  节能信标组要求在规定的汽车模型平台上,使用 Infineon公司的微控制器作为核心控制模块,通过增加道路传感器、电机驱动模块以及编写相应控制程序,制作完成一个能够自主识别信标并具有无线充电功能的模型汽车。针对节能信标组的任务要求,我们采用自制的结构性能稳定和转弯性能较好的三轮结构的车模,使用摄像头采集赛道信息,控制芯片选择更节能的 TC212单片机。

  本篇技术报告主要从机械、硬件、软件、调试工具等方面,详细的介绍了车模的设计和制作方案,以及我们做车过程积累的经验,希望对以后的参赛选手能够带来启发和帮助。

 

第二章 械结构


  能车的核心是控制策略和算法,但是,机械结构也是限制赛车的巨大瓶颈,如果一辆赛车的程序架构很好,但是机械部分做的不好的话,其运行状态也会被大大的限制,尤其对于今年要求更高的节能信标组。场地中安装有若干个无线节能信标,每个信标由白色和蓝色两个灯罩构成。白色灯罩下安装有信标灯板和无限发射线圈,高度较低;蓝色灯罩下安装有信标控制器,可将场地内所有信标串起来组成信标系统,高度较高,这就要求自制的车模不仅要具有充电和寻灯两个基础功能,还应具有越野功能。

  除此之外,充电线圈和磁标位置的摆放也是车模设计中的大问题,充电线圈位置太低容易受蓝色灯罩影响、太高会降低充电速度,磁标位置太高会对灭灯效果产生影响、太低同样会受蓝色灯罩影响,若架高车模则要防止车模在运行过程中不发生侧翻,同时基于节能角度考虑车模还不应太重,这对于参赛选手设计车模结构的能力实在是一个大考验。

2.1整车布局与车模选择

  (1)摄像头模块安装尽可能保证位于车模中央;
  (2)用轻便的碳纤杆作为摄像头杆的材料和车的主体框架;
  (3)磁标的安装尽可能的低和灵活;
  (4)所有布局尽可能保持小车的对称性。

  节能信标组可以自制车模,也可以使用成品车模,这样使节能信标组车模有更多的选择,但哪种最合适需要去测试。因为四轮车相比于三轮车的转弯半径比较大,而且可能不仅需要控制电机,还需要控制舵机。但三轮车只需对两个电机进行控制及可完成前进、转向等动作,因此最终采用三轮车。我们的第一辆车由 F车模改装而来,采用 F车原装电机,但由于车模过重,最终弃用。在最终车模确定之前,我们也尝试了 3D打印车模和激光切割碳纤维板,因为费用较高而且碳纤维板导电,所以也放弃这两个方法。为了减少能量消耗并发挥出电机的最佳性能,需要严格控制车的重量。最后我们通过使用碳素杆完成了整个车模的搭建,重量也得到了很好的控制。相关车模照片如图 2.1.1、图 2.1.2、图 2.1.3所示。

▲ 图2.1.1 整车俯视图

▲ 图 2.1.2整车正视图

▲ 图 2.1.3整车侧视图

2.2摄像头的安装

  我们没有采用双摄像头的结构,原因有两个。第一,节能信标组应尽可能满足节能这一要求,双摄像头会增大功耗。第二,我们选择的是更低功耗的主核心 TC212,单片机系统的资源不能够支持两个摄像头的运行,并且,内存资源不能够支持双摄像头图像处理算法的执行。

  摄像头模块的安装尽可能保证位于在车模中央,用轻便的碳纤杆作为摄像头杆的材料,保证在行驶过程中摄像头受车体抖动影响最小。

▲ 图 2.2.1摄像头安装正视图

▲ 图 2.2.2摄像头安装侧视图

2.3磁标的安装

  磁标的安装对于节能信标组来说实在重要,选用什么样的磁标、装多少磁标、怎样安装磁标、将磁标装在哪里,这几个问题是一个整体,必须统一起来考虑。

  往年信标组的规则中对于磁标的安装都有几个限制,即“磁标最多允许安装四个,磁标距离车模底盘或者车轮直线距离不超过 5厘米”,但是对于今年的节能信标组则没有限制。我们根据实际调试情况猜测原因可能有两个。首先,信标灯不容易触发灭灯效果。今年所使用的节能信标灯触发灭灯是依靠位于信标灯板上的霍尔元件感应,而信标灯板被白色灯罩所罩住,磁标即使贴地也与霍尔元件有一定距离,速度一快就难以触发灭灯效果。如果这种情况下对磁标数量和位置还加以限制,那么比赛中会出现很多车围着信标灯转却灭不了灯的情况,非常影响观感和比赛体验。

  第二个原因,也是我们认为最重要的原因,那就是对于节能信标组来说,磁标的数量不会无限增加,磁标的位置也无法无限伸长。相信所有参赛选手都会以实际效果作为方案的取舍标准,即使有一些看似很好的想法,但试过之后发现效果一般,只能“忍痛”舍去。比如,我们曾经有过一个想法,既然今年对于磁标的数量和位置没有限制,那我们把磁标往前伸的很长,这样我们就可以提前灭灯了,每个灯我们少跑 10cm,那么 25个灯我们就能少跑 250cm,这可以省下一些能量和时间,也算是一种不错的优化方案。可当我们实际开始测试时才发现没有那么简单,磁标一旦伸长,车的转向就没有以前灵活了,同时车模的重心前移,后面驱动轮与地面的摩擦力就会减小,整个车的运行状态也就变了,严重的时候甚至会让车轮脱离地面。这个时候我们就想,那在车后面加一些配重,或者多加一些磁标增加磁标个数不就解决了吗?但是这样又违背了节能这一原则,节能车要求的是车模尽量的轻,如果为了能提前灭灯而让整个车的运行能耗变大,反而会使车的运行状态下降。

▲ 图 2.3.1合肥工业大学“臭鱼队”省赛车模

  在我们看来,今年节能信标组的车模设计,实在是一个矛盾的集合体,底盘不能太高不能太低、车速不能太快不能太慢、磁标不能太多不能太少。我们要做的,正是在这些矛盾中找到一个平衡点。于是,根据我们上面对于磁标安装的想法,我们自行设计了一款车模,作为我们学校参加省赛的另外一辆车,同时也是对我们想法的一种检验。这辆车除了充电模块是独立的电路板外,其余电路全部画在一块一体电路板上,这款一体板同时作为车模的底盘和主题框架,尽量减轻整车的重量。整个车模磁标数量很少,主要靠最前方的磁标和充电线圈前方的磁标进行灭灯。这辆车虽然不够节能,但效果还不错,在我们调试过程中按照省赛预赛规则灭 15个灯最好的一次仅用了 37秒,然而到了决赛的赛场上却没有发挥出这辆车的优势。经过我们赛后的分析,车前的磁标对于整车的运行影响是不可忽视的一个因素,这也从侧面反映出这种结构鲁棒性的欠缺。

  于是,我们不断尝试新的车模结构。车模结构一旦改变,磁标的位置也要跟着改变。我们最终采用了碳素杆搭建车模的结构,并将磁标放置在万向轮两侧,这样,车轮经过信标时磁标也经过霍尔元件,以此达到灭灯的目的,同时也在线圈周围安装了三个磁标,保证线圈在信标灯上时能触发充电。

▲ 图 2.3.2万向轮两侧磁标

▲ 图 2.3.3线圈两侧磁标

2.4电机的选择

  对于节能电机的选择,通常最常用的方案有直流有刷电机、普通无刷电机和空心杯电机。有刷直流电机具有结构简单、成本较低和便于控制的优势,但是相对来说工作效率并不是很高,如果选择不合理,通常并不能在节能组的比赛中取得优异的成绩。普通无刷电机并没有有刷电机的换向器,无刷直流电动机是采用半导体开关器件来实现电子换向的,即用电子开关器件代替传统的接触式换向器和电刷。它具有可靠性高、无换向火花、机械噪声低等优点,而且无刷电机的效率相对于普通有刷直流电机要高上不少。但是控制更加复杂,需要对应的电子调速器,其制作的工作量与难度均大于目前的智能车直流电机驱动。

  在制作车模的过程中,我们首先使用了直流电机,它可以提供较高的速度和很大的扭矩,可以很顺利的完成比赛任务,但缺点也很明显——能耗较大,不太适合需要节能的组别。因此我们后来选用了空心杯电机。

  在电机选择时,我们重点关注电机的转速、扭矩、堵转扭矩、额定电流、堵转电流及转矩常数等参数。转速代表了小车理论上的最大速度;从扭矩和堵转扭矩上可以定性推断出该电机能否正常驱动小车,加速时间大概多久等;后面三个参数则与电机的能耗情况息息相关。除此之外,空心杯电机的转速一般较高,但扭矩很小,我们所设计的车模本身重量较大,不增加减速器很难驱动,选择多大的减速比也是我们必须考虑的一个问题。带有减速器的空心杯电机一方面增加了扭矩,另一方面又降低了减速,减速比过大车模速度很慢;减速比太小,车模需要较大的 PWM才能驱动,驱动时还要一段时间进行加速。减速的较大的电机更适合于短距离的找灯运行,减速比较小的电机则在长距离找灯中更有优势。

  总得来说,一款性能合适的空心杯电机加上一个具有减速比的减速器可以达到较好的效果。在选择空心杯电机时,我们主要考虑了 Faulhaber、maxon和驰海电机,驰海的空心杯电机大多没有自带编码器,设计机械结构较为困难,因此我们把目光放到了 Faulhaber和 maxon电机上,二者相比较而言,当电机的转速扭矩相差不大的情况下 Faulhaber电机要比 maxon重一些,但扭矩相对要大一些。由于原厂的电机价格太高,我们选择在网上购买二手电机,这就大大缩小了我们的选择空间,我们在网上买到了几款可能合适的 Faulhaber和 maxon电机进行了测试,最终选择了一款二手 maxonre系列电机。虽然存在质量较大、减速比不够完美等缺点,但也基本可以满足使用要求。

2.5车轮选择与安装

  我们在选择车轮时,主要考虑了电机的转速和扭矩。由于我们所选的电机减速比过大,导致其转速很慢,而扭矩较大,因此我们决定使用轮径更大的车轮来获取较高的车模运行速度,同时还可以保证车模的较高底盘,防止车模被灯罩卡住。我们最终选择了在网上买到的一款 70*21mm车轮,如下图所示:

▲ 图 2.5.1车轮示意图

  所选电机的出轴直径为 3mm,因此我们使用了一个内径为 3mm的法兰盘,并在车轮的对应位置打孔,进行轮子与电机的连接。为了节能,我们使用了重量较小的铝合金法兰盘。值得注意的是,铝合金法兰盘容易发生形变,使用时需要注意防范剧烈撞击以及不当操作。

▲ 图 2.5.2法兰盘示意图图、车轮安装图

 

第三章 件设计


3.1TC212单片机系统硬件设计框架

  节能信标车硬件的设计最重要的一个原则就是稳定,抗干扰能力强,其次才是高效。本设计以英飞凌公司的 32位单片机 TC212为核心,配有电源电路、传感器电路、测速电路,执行机构以及它们的驱动电路构成了智能车的硬件系统。硬件系统结构如图 3.1.1所示。

▲ 图 3.1.1智能车硬件系统结构图

  在图 3.1.1中, TC212是本系统的核心控制器。相对于 32位的英飞凌其他芯片,英飞凌的这款 TC212具有性价比高、功耗低、集成程度高等特点,其丰富的硬件资源也满足节能信标车的设计需求。

  单片机最小系统采用了自主设计的 TC212核心板,原理图如图 3.1.2所示。电源模块使用了输出为 5V的 LMS1117-5V和输出为 12V的 TPS61088,分别用于给编码器和电机驱动供电,同时还采用了输出为 3.3V的 TPS63070,用于给核心板、摄像头、 OLED、蓝牙无线通信模块供电。

▲ 图 3.1.2TC212核心板原理图

  其中,电机驱动及控制模块是用来控制电机转动,包括加减速、正反转及转向;测速传感器用来获取电机转速,以实现电机的闭环控制。 OLED与按键构成人机交互模块,用于系统参数的设定和系统运行状态的获取。电源管理模块用来为各个模块供电。

3.2电源管理模块

  根据比赛的统一规则,节能信标组需要使用超级电容组给全部硬件电路提供电能。我们使用的是 5串 2.7V的 60F超级电容作为车模的供能元件,由于其自身特性,所储存的能量和电压有以下关系, J=1/2CU*U,所以其电压是不稳定的,而且放电是非线性。由于电路中的不同电路模块所需要的工作电压和电流容量各不相同,因此电源模块应该包括多个稳压电路,将超级电容组电压转换成各个模块所需要的电压。系统电压分配图如图 3.2.1所示。

▲ 图 3.2.1电压分配图

3.2.1主控及各种传感器的供电

  虽然节能信标组是第十六届全国大学生智能车竞赛新设立的组别,但节能组已经出现好几年了,出现了一个又一个优秀的方案,有一款芯片始终备受各参赛队伍的青睐,那就是德州仪器的 TPS63070。TPS6307x是一款具有低静态电流的高效降压-升压转换器,适用于那些输入电压可能高于或低于输出电压的应用。在升压或降压模式下,输出电流可高达 2A。此降压-升压转换器基于一个固定频率、脉宽调制 (PWM)控制器,此控制器通过使用同步整流来获得最高效率。在低负载电流情况下,此转换器进入省电模式以在宽负载电流范围内保持高效率。转换器可被禁用以大大减少电池消耗。在关断期间,负载从电池上断开。此器件采用 2.5mm*3mmQFN封装。

  核心板、摄像头、无线通信模块使用 3.3V供电,因此 3.3V的电源需要较大的功率,并且因为输入的电压是不稳定的,常见的低压差线性稳压芯片不太适用于此场景,因此我们选用了稳压芯片 TPS63070,电路原理图如图 3.2.1.1所示。

▲ 图 3.2.1.1传感器及主核心供电电路

3.2.2电机驱动供电

  电机驱动的供电电压通常是由选用的电机决定的,最后我们选择使用 12V作为电机驱动的供电电压,选用的芯片依旧是德州仪器的,此款芯片早年在充电宝上工作过,也算是经受过实战的考验。 TPS61088采用自适应恒定关断时间峰值电流控制拓扑结构来调节输出电压。在中等到重负载条件下, TPS61088工作在 PWM模式。在轻负载条件下,该器件可通过 MODE引脚选择下列两种工作模式一种是可提高效率的 PFM模式;另一种是可避免因开关频率较低而引发应用问题的强制 PWM模式。可通过外部电阻在 200kHz至 2.2MHz范围内调节 PWM模式下的开关频率。

  TPS61088还实现了可 (VQFN)封装编程的软启动功能和可调节的开关峰值电流限制功能。此外,该器件还提供有 13.2V输出过压保护、逐周期应用过流保护和热关断保护。 TPS61088采用 20引脚 4.50mm*3.50mm VQFN。原理图如图 3.2.2.1所示。

▲ 图 3.2.2.1电机驱动供电电路

3.3电机驱动模块设计

  智能车电机驱动的方案早已经非常成熟,目前智能车比较流行的驱动方案有 BTN和 BTS集成驱动和分立元件搭建的 MOS管全桥驱动, BTN只需要两块芯片和少许外围即可实现对单个电机的控制,相比之下分立元件搭建的电机驱动更加复杂,但是其驱动功率要比集成驱动大得多。由于我们选择了功率较低的空心杯电机,对于驱动功率的要求并不大,因此我们选择了功率更低且更为简单的集成驱动芯片。由于电机的额定电压可达 12V,我们最终选择 TB6612FNG 芯片。其最大的驱动电压有 15V,平均电流可以达到 1.2A,满足电机需求的同时体积小巧,电路简单,而且还较为节能。电机驱动原理图如下图所示。

▲ 图 3.3.1电机驱动电路原理图

3.4测速模块设计

  为了精确控制智能车的速度,需要设计速度反馈电路检测智能车运动速度,同时获取车模运动的里程信息。

  我们所选用的 moxon电机有 6根接线,分别为电机电源正极、 5V、A相、 B相、 GND以及电机电源正极。其中 5V和 GND分别为编码器的正负极, A相、 B相两根数据线输出编码器数据,我们使用了该编码器来获取电机的速度信息。此编码器为 16线编码器,每转一圈信号线就会产生 16个脉冲,将两根信号线分别接到单片机的 P02_8和 P33_5口进行脉冲累加,然后用单片机定时器定时,每 5ms记一次数据,作为小车速度的参考值,然后清空脉冲累加器,在定时计数。编码器接口电路如图 3.4.1所示。

▲ 图 3.4.1编码器接口电路

3.5功率检测模块设计

  此模块用于检测车模运行功率的功率检测。加入这个功能,最初的想法就是为了在后期调试车模时能够发现因为控制不利而导致的功率异常情况,以此来优化控制,降低功耗,并且该功能还可以对堵转等异常情况实现保护。主要电路的构成是由电阻分压的电压检测和电流检测构成,通过单片机 ADC端口对电压和电流进行采集,计算出当前功率,通过无线模块传回上位机进行分析。原理图如图 3.5.1所示。

▲ 图 3.5.1功率检测电路

3.6人机交互模块设计

3.6.1拨码开关电路

  设计拨码开关电路如图 3.6.1.1所示。拨码开关有四位,每位可以独立开合。 SW1~SW4端分别接单片机的 I/O端口。当开关闭合时,相应端为低电平。当开关断开时,相应端为高电平。改变拨码开关的开合状态,可以改变单片机 I/O口的值,单片机根据从 I/O口读到的值进行相应的操作,从而实现了单片机的控制, I/O口采用内部上拉。

▲ 图 3.6.1.1拨码开关电路

3.6.2蓝牙电路设计

  蓝牙是一种无线技术标准,可实现固定设备、移动设备之间的短距离数据交换。将 PC机蓝牙与蓝牙设备连接,编写程序与通讯协议,通过 PC机可以实现远程小车状态检测。

▲ 图 3.6.2.1蓝牙电路

3.6.3OLED电路设计

  通过 OLED显示屏可以用来实现调参、状态检测等功能。

▲ 图 3.6.3.1 OLED电路

3.6.4状态指示灯电路设计

  设计状态指示灯主要也是为了便于通过观察小灯状态便于智能车的调试与监测。

3.7无线充电电路设计

  在第十六届全国大学生智能车竞赛中的节能信标组,通过无线信标发送的高频( 150kHz,遵循无线充电(电力传输)设备无线电管理暂行规定)磁场获得最大不超过 50W的充电功率,为车模上的超级法拉电容充电。由于充电功率最高限制,因此车模所使用的电量越小,所需充电时间越少,进而节省了比赛时间。相比于往届无线节能组的充电方案,今年节能信标组在无线电磁波频率、输出功率上限,还是在恒功率控制方案等方面都与之前无线节能组比赛系
  统有所不同,所以在高效电能接收方面也会与以前电能接收不同。

  在以前智能车竞赛无线节能组电能接收方面,主要方式有两大类:

  ① 恒功率接收方案。这个方案在“如何把大象装进冰箱”中进行了描述。很多参赛队伍在此基础上进行了改进。
  ② 简单直接充电方案,也称傻充方案。由于往届无线充电功率较小,虽然电能发送模块限制为 30W,但是实际电路接收到的功率也只有十几瓦,因此无论是恒功率接收、还是建议接收方案都不会对电路有特殊的要求。但是随着充电功率的增加,在无线电能接收方案、

  电路制作、器件选择等方面都需要进一步的优化,以保证充电电路的高效、可靠。

3.7.1充电方案的选择

  通过阅读卓老师文章《火中取栗》,对于节能信标组充电方案进行了对比。新的无线发送模块不仅提高了发送功率上限,也通过 LCC网络补偿保证了无线电磁场恒定,这就使得接收线圈方案可以更加的稳定可靠。

  充电方案可以简单的给电能接收线圈串联(注意:不是并联)谐振电容,然后通过全桥整流后直接对法拉电容充电。这种方案利用发送模块的功率限制能力保持在充电的稳定性。但是在充电一开始会有很大的电流冲击,有可能会造成整流二极管损坏。充电最高电圧主要取决于电容组耐压值和电源电路方案的选取。 LCC电路具有恒流特性,电流值大小取决于谐振的电感电容值,卓老师推文中给出了基本计算公式,基于理论计算值进行后期微调,可以得到较好的充电效果。

  在接受电路中通过 LCC补偿网络,可以保证接受电流的稳定性。同时在不改变接收线圈尺寸和匝数的情况下,只是通过调整 LCC的参数便可以调整接受电流的大小。由于 LCC补偿网络的恒流特性,法拉电容充电电压理论上可以非常高,因此,需要在接受的过程中即时观察法拉电容上的电压,一旦超过阈值,则需要车模迅速离开充电区域。

  经过对比与实验,最终采用 LCC网络补偿的充电方案。

3.7.2充电线圈的选择

  无线充电接收线圈通常是使用纱包线制作而成的,主要原因是因为电流在高频的情况下电流分布变得不均匀。大部分电流会集中在导体表面附近。这种现象称之为趋肤效应。除了使用纱包线外还可以使用铜箔绕制线圈。这两种方法都尝试过,因为最终整流方案的选择,所以最后还是选用纱包线制作的成品线圈。和往年不同的是,今年接收功率有所增加,故选取的接收线圈为 200股利兹线绕制而成的。

3.7.3整流电路的选择

  目前比较常见的整流方案有全桥整流、全波整流、倍压整流等,这三种方案对比来看,全波整流的效率理论是最高的,其次是倍压,最后是全桥。

  结合前面 LCC补偿网络的方式,经过实验,最终采用 LCC补偿网络+全桥整流的方式给法拉电容充电。

3.7.4LCC网络的制作与效果

▲ 图 3.7.4.1计算公式

  制作 LCC电路过程中,我们尝试了 5A,10A,20A的肖特基二极管,最终选取了 20A肖特基二极管。电感、电容值的选取,主要基于以上公式,其中,串联、并联的高频电容值,对充电效果影响较大的是串联电容值,因此配电容时应基于理论值进行微调,使谐振频率稳定于 150kHz。制作结果以 5个 30F/2.7V法拉电容串联为例,可以控制在 10s内充电至 10V。

 

第四章 法实现及软件设计


  件是存在于单片机内一系列指令的集合,是智能车设计的核心部分,需要花费很多的精力去设计编写。优秀的软件运行在良好的硬件平台上,将使智能车能够平稳高速地行驶。

  根据节能信标组的规则我们知道,如何快速平稳地寻找信标灯,如何优化自己的路径,如何让车运行消耗的能量更少,如何权衡速度与节能之间的比重关系,这些在比赛中尤其重要,但是难点就在信标灯的全局检测以及赛道信标灯的位置和亮灯顺序的不确定性。所以选择一种稳定可靠的方式就特别重要。主要思路有以下几点:

  1、图像采集与处理

  对于摄像头采集到的信标图像,通常为不规则图形,所以需要进行一定的处理(如取坐标中值等算法)准确地确定其位置。除此之外,场地内部还有若干蓝色灯罩,如若能识别出蓝色灯罩并进行规避,则会在整场比赛中较大的提升车模的整体运行状态和运行速度。然而,想要在算法上通过单个数字摄像头同时准确识别出信标灯和蓝色灯罩实在困难,并且会降低图像的处理速度,属于得不偿失的行为。因此,我们在算法上并不对蓝色灯罩进行识别,而是在车模的机械结构上加以改进,使其具有一定的越野功能。

  2、关于中途充电策略的思考

  本次比赛中节能信标组所使用的信标系统有一大特点,即每个信标灯上都能进行充电,只要车模能停在灯上并触发信标的霍尔元件。这就使得今年的节能组相较于往年的节能组有着较大特殊之处,能在比赛中途补充电能。关于中途充电,大致可以分为两种类型,一种是当电能运行到一定时间时,让车模平稳的停下来,并使充电线圈停落在白色灯罩的合适位置上进行充电,充完电后继续运行;还有一种是将充电线圈放置在车模正下方,每找完一个灯后让车在信标的正上方原地旋转,在这个间隙补充电能。我们分别对这两种方案进行了测试,它们的优点都在于能减少第一次充电的时间,但缺点也很显著,即无法保证车模中途停落的位置,尤其是当蓝色灯罩放在小车的行驶路径上且距离目标信标的很近时,这使得车模运行过程中的不确定性因素大大增加。综合各种方案的优缺点与实际调试情况,我们最终决定“中途偷电”的方式。在保证能一次灭灯且迅速转向的前提下,让小车转向的过程中停留在充电线圈上,使其“自行充电”。同时找到一个平衡点,使其第一次充的电量加上中途“偷来”的电量能跑完全程。

  3、电机 PID算法

  采用增量式 PID。设置期望速度,解算出当前速度与期望速度值的偏差,通过闭环控制使当前速度快速的达到期望速度。

4.1图像采集与处理

  我们使用带有红外滤光片的逐飞 MT9V034总钻风摄像头,滤除可见光的干扰,保留红外光,从而识别出信标发出的红外光,判断出信标的具体位置。

▲ 图 4.1.1普通算法处理识别

  然而,使用带有红外滤光片的摄像头识别信标灯容易受到外界杂光的干扰,尤其是阳光的干扰。对于今年的节能信标组,快读准确的找到信标灯在比赛中尤为关键,因此我们针对这种现象设计了抗干扰性较强的阳光算法,实测效果如下所示。

▲ 图 4.1.2阳光算法处理识别

4.2过程优化

  对于今年的节能信标组来说,中间过程的优化非常关键。尤其是在国赛的规则下,在 3分钟的比赛时间内,比拼最终灭灯数量。试想,若是能优化跑灯过程中的某一个动作,比如灭完一个灯去寻找下一个灯的衔接动作,让这个动作变得更快更节能,那么将带来非常可观的收益。例如,经过我们在国赛之前的测试,我们在 3分钟内最好的情况下可以灭 67个灯,如果每一个灯的找灯过程能节省 0.1秒,那么整个过程便可以节省 6.7秒,这节省下来的时间可以用来多灭 2个灯,或是用来多充一些电;同理,如果每一个过程多节省一点能量,那么最终节省的能量将是 67个过程节省的总能量,这样我们便可以缩短充电时间多跑几个灯。当然,这种过程的优化并不是无限制的。总有那么一个拐点,过了这个点后会发现整个效果没有以前好了,我们要做的就是无限逼近这个拐点。节能组嘛,就是要追求卓越,玩的是细节,挑战的是更极限。

  运行速度是智能车竞赛的一大看点。对于往届的信标组,在运行速度上几乎不需要多加思考,提速就行了,抢灯是越快越好。然而节能信标组不行,因为它受到节能这个条件的制约。速度一旦大了,转向时要么减速,要么需要一个很大的转弯半径,这两种无论哪一种都会消耗更多的能量,使充电时间增加,也就是说,速度大了反而会使总运行时间变长。但速度很慢同样不行,毕竟中间过程也很长,这样同样会使总运行时间变长。因此,如何在速度与节能之间进行权衡也很重要。

  除此之外,灭灯的准确率也很重要。相信今年节能信标组的车友都遇到过车从灯上过却灭不了灯的情况,如果能保证一次灭灯,那么将节省很多时间和能量。当然,这需要在机械上和程序上同时下功夫,根据车的机械结构来修改程序,根据车的程序需求来修改机械。

  总结来说,过程的优化需要机械、硬件和软件的同时进行,不能将其分割开来。例如,如果我想保证一次灭灯,那么我就需要在适当的地方增加磁标来触发霍尔元件,但这会使得车的重量增加,从而加大了能量消耗;如果我降低车的底盘让磁标高度更低,那么我需要考虑磁标是否会碰到蓝色灯罩从而影响车的整体结构;如果我采用在程序上降速的方法实现稳定灭灯,也得考虑总体运行时间是否会变长。正所谓“牵一发而动全身”,如何在这些矛盾中权衡,是我们过程优化的关键,最好的方法就是根据实际调试情况进行权衡。

4.3PID算法介绍

【通用经典控制论,省略..】

 

第五章 能车开发调试


5.1开发工具

  程序开发在 AURIX Development Studio下进行, AURIX Development Studio是英飞凌公司于 2019年底推出的免费的集成开发环境,支持英飞凌 TriCore™内核 AURIX™系列 MCU;ADS是一个完整的开发环境,包含了 EclipseIDE、C编译器、 Multi-core调试器、英飞凌底层驱动库( low-level driver,iLLD),同时对于编辑、编译及调试应用代码没有时间及代码大小的限制。

▲ 图 5.1.1 AURIX Development Studio开发环境

5.2调试工具

5.2.1NRF及上位机调试

  车模在同样的赛道上走过的路都是不一样的,所以我们无论怎么考虑车的状态都是不够完全的,因此需要有一套完备的方案来解决对运行中的车辆进行实时监控。为了解决这个问题,我们使用 NRF模块配合上位机进行实时观测车模运行状态。 NRF模块如图 5.2.1.1所示

▲ 图 5.2.1.1 NRF模块

  为了方便实时地监视小车在行进过程中的各种参数,采用名优科创研发的上位机软件并利用 NRF收集回来的各种参数传输到电脑上,用上位机直观的看出波形的变化,这样方便了调试,提高了调车的效率,名优科创上位机软件界面如图 5.2.1.2所示

▲ 图 5.2.1.2名优科创上位机界面

5.2.2 OLED屏、按键调试

  在小车的调试过程中需要不断地修改变量的值来达到整定参数的作用,对此我们选用了 OLED配合按键的调试方法。此外,比赛的时候,修改参数我们同样用这个模块进行修改。我们选用 OLED屏,该屏幕具有以下特点:

  (1)尺寸较小 ,显示尺寸仅为 1.3寸,分辨率为 128*64,保证了显示清晰度的同时拥有较小的体积,用在小型车模上特别合适。

  (2)价格远小于 LCD彩屏液晶,耐久度高,不易损坏。

  (3)正常显示时仅为 0.06W,拥有超低功耗,消耗更少的单片机资源,用于节能车上特别合适。

▲ 图 5.2.2.1 OLED

 

第六章 结与体会


  文从机械、硬件、软件等方面详细介绍了车模的设计和制作方案。从机械和硬件方面,我们力求电路的稳定可靠,尽量将车模做的轻快灵活;在软件方面,我们努力追求最有效的行驶路径,最节能、最省时的行驶过程,不断优化各方面策略,车模结构的设计构思、阳光算法的设计、主核心的选择和设计等是我们的创新点。

  在车模制作过程中,我们学到很多知识,逐渐对单片机控制、电路设计等有了比较好的认识,很感谢仪器学院能够给我们这样的平台,感谢合肥工业大学的各位指导老师和学长学姐的指导。经过近一年的辛苦准备,我们也积累了很多经验,深刻认识到坚持不懈的重要性,不断地发现问题解决问题,坚持为比赛付出时间和精力。

  从机械安装到各个模块研究整定,再到一个完整车体模型的搭建成功,进行调试,小组人员日夜不息,查阅、搜寻、浏览,终于不负汗水辛劳,车子的调试过程日渐可人明了。在此,感谢唐慧和胡慧勤两位同学,虽然最终参加国赛的大名单内没有她们,但她们的努力和付出依然是我们整个节能信标组获得优异成绩的关键。针对节能信标比赛过程中可能遇到的越野、充电、找灯等种种问题,特殊考虑对待,逐个解决创新,这方面收获着实不少,到了后期临近国赛的时候,我们甚至能在一天之内搭好一辆车并调试好配套程序。便是在这样的过程中,我们切身体会了理论与实践的重要联系。在这样一个环境下,我们小组五个人分工得当,各任己职,过程中相互扶持,努力奋斗,收获的同时锤炼了组员学习动手能力,增强了团队合作意识。特此,由衷感谢主办方提供的参赛机会,感谢合肥工业大学智能车基地这个大家庭,感谢学校给予的理解支持,指导老师的指导帮助,十分感谢!

■ [参考文献]

[1]卓晴,黄开胜,邵贝贝.《学做智能车——挑战“飞思卡尔”杯》[M].北京:北京航空航天大学出版社,2007.
[2]华成英,童诗白.《模拟电子技术基础》[M].北京:高等教育出版社,2006.6.
[3]阎石.《数字电子技术基础》[M].北京:高等教育出版社,2006.5.
[4]凌阳科技股份有限公司.《PID调节控制做电机速度控制》,2006.6.
[5]黄惟一,胡生清.《控制技术与系统》[M].北京:机械工业出版社, 2006.2.
[6] Brian W.Kermighan ,Dennis M.Ritchie.The C Programing Language ,Second Edition
[7]邵贝贝.《单片机嵌入式应用的在线开发方法》[M].北京:清华大学出版社, 2004.10.
[8]谭浩强.《C程序设计》[M].北京:清华大学出版社,2005.
[9]黄开胜,金华民,蒋狄南.韩国智能模型车技术方案分析[J].电子产品世界, 2006,3:150~152.
[10]王宜怀,李跃华.《汽车电子 KEA系列微控制器》.北京:电子工业出版社,2015.8.
[11] Jinghua Zhong. PID Controller Tuning: A Short Tutorial. Mechanical Engineering, Purdue University, 2006.
[12] Freescale Semiconductor. PK10N512VLL100 Reference Manual. http://freescale.com, 2011.

■ 附录 A源程序代码

/******************************************************************** 
*@file main 
	@author合肥工业大学节能信标组马仕亮胡慧勤曹乐强唐慧邹梦龙 
	TC212 
	2021-08-11 

*******************************************************************/ #include "headfile.h" 
intcore0_main(void) 
{ unsigned char locationx_cha[9]={'x',':','\\0'}; unsigned char locationy_cha[9]={'y',':','\\0'}; unsigned char power_cha[9]={'p','o','w','e','r','\\0'}; 
unsigned char display_locationx[5] = {'\\0'}; unsigned char display_locationy[5] = {'\\0'}; unsigned char display_power[8] ={'\\0'}; 
unsigned char left_cha[5]={'l','e','f','t','\\0'}; unsigned char right_cha[6]={'r','i','g','h','t','\\0'}; unsigned char left[7] ={'\\0'}; unsigned char right[7] = {'\\0'}; 
get_clk(); 
mt9v03x_init(); parm_init(); motor_counter_init(); motor_init(); Speed_Init(RUN_SPEED,RUN_SPEED); uart_init(UART_0,115200,UART0_TX_P14_0,UART0_RX_P14_1); adc_init(ADC_0,ADC0_CH7_A7); pit_init(CCU6_0,PIT_CH0, 5000); pit_init(CCU6_0,PIT_CH1, 300000); HCI_init(); HCI_handle(); 
enableInterrupts(); while(TRUE) 
{ if(power_flag) { 
pit_close(CCU6_0,PIT_CH1); } if(gpio_get(P33_8)) { 
print_str8x16(0,0,0,locationx_cha); print_str8x16(3,0,0,locationy_cha); print_str8x16(6,0,0,power_cha); 
Data_Split(location_x,3,display_loca

以上是关于智能车竞赛技术报告 | 节能信标组 - 合肥工业大学 - 烂虾队的主要内容,如果未能解决你的问题,请参考以下文章

智能车竞赛技术报告 | 节能信标组 - 太原工业学院 - 晋速-天槊星

智能车竞赛技术报告 | 节能信标组 - 安徽工业大学 - 摸鱼大队

智能车竞赛技术报告 | 节能信标组 - 北京科技大学节能信标组

智能车竞赛技术报告 | 节能信标组 - 华南理工大学 - 华工雨花队

智能车竞赛技术报告 | 节能信标组 - 宿迁学院 - MAkkaPakka

智能车竞赛技术报告 | 节能信标组 - 兰州交通大学 - 先锋队