第一章 引言
全国大学生智能汽车竞赛是全国大学生以智能汽车为研究对象的科技竞赛"以培养为基础,注重参与,鼓励探索, 追求卓越"指导思想。比赛形式有信标组、创意组等。
声音信标组,比赛任务是在比赛场地上有一定数量的信标灯,响起的信标灯会发出250-2万Hz频率的chirp声音信号、95MHz的FM信号。参赛队采用四轮驱动麦克奈姆轮车模型进行规则改装,汽车定位响起的信标灯,进入信标灯感应线圈,切换信标灯。比赛采用省级排名和全国比赛对抗的方式进行。
第十五届信标组比赛采用H车模式,信标模式由灯光转变为声音,使新信标组比赛各组队伍的车更具挑战性和多样性。本文主要讲述了杭州电信标志团队智能汽车的生产过程,阐述了机械设计、电路设计、软件系统等内容。英飞凌公司采用了第十五届四轮驱动的H车模型,以方便同时使用四个编码器。TC264DA-40F200W(后文简称TC264)多个麦克风模块和无线收音机模块作为车辆主控器获取信标位置信息的重要传感器传感器。同时,由于信标灯整体为亮银壳,与现场区别较大,可安装彩色摄像头获取前方信标位置,使汽车能够避开未响起的信标。
准备比赛的结果离不开学校的大力支持和老师的精心教学。我衷心感谢学校和老师。
第二章 整体设计
2.1 设计框架概述
与灯光信标相比,由于定位精度与麦克风的数量和相对距离有关,在使用声音定位后MCU限制自身的计算速度和内存空间大小。我们最终使用六个麦克风模块来确定信标的角度信息,并配合无线接收模块来确定信标的距离信息。结合H车模麦克奈姆轮全向运动的特点,通过麦克风计算出的360度角度范围实现灵活的标准切割任务。
四个麦克纳姆轮的状态计算四个麦克纳姆轮的速度,然后通过编码器脉冲计数获得速度反馈信息PWM波以及PID实现电机速度的控制,可以实现汽车的全面运动。通过陀螺仪获得的角速值可以实时估计车辆的偏差,并利用角速度和偏差信息优化车辆控制。
系统中的OLED而且五向按钮可以方便地调整参数试汽车。
下图为系统框架的设计,根据框架设计相应的电路系统、机械系统等。
▲ 图2.1 系统框架
2.2 车模整体布局
根据功能细分汽车可分为主控模块、图像处理模块、电源模块、电机驱动模块等传感器模块。由于本次信标组比赛只允许H车模比赛。麦轮的运动分析一般基于几何中心,声源定位的角度信息也基于汽车的几何中心,因此汽车的整体布局对其性能有一定的影响。均匀稳定的车模是必不可少的。同时,重心应尽可能靠近模型几何中心,因此电路主要分为主控模块、电源驱动模块和麦克风转接模块三部分。通过三块电路板FPC连接排线。
▲ 图2.2 车模整体布局
第三章 车模机械结构设计
3.1 安装编码器
获取电机速度对控制电机速度至关重要。同时考虑到TC264所带的GPT我们采用了龙邱的迷你脉冲计数功能mini512线编码器采用增量测速,直接输出,与正交解码兼容。只用一块TC264可以简单地同时测量四个电机的速度。编码器固定在配套的编码器支架上,相对简单。然而,调整编码器齿轮、电机齿轮和轮胎齿轮之间的间距非常重要。尽量保持传动齿轮平行,使传动部分轻松光滑,并在齿轮间涂抹润滑脂,尽量减少齿轮传动之间的噪音。
▲ 图3.1 编码器安装
3.固定主传感器
3.2.1 安装安装固定
因为只能用单个基础,所以只能用单个基础NXP的OPENMV为了方便H车前后车头的调试,我们用舵机旋转摄像头。对于摄像头仰角的调整,我们的调整原则是尽可能远地看到信标,同时确保障碍物识别ROI尽可能少地区内的干扰项。相机固定杆采用轻质坚固的碳纤维管作为舵机安装材料,然后采用底座和3D打印支架将摄像头固定下来。摄像头仰角,由3D确定打印支架的斜倾角。
▲ 图3.2 固定摄像头
3.2.2 安装和固定麦克风和无线收音机模块
因为各麦克风与小车几何中心的相对位置对角度解算有着至关重要的影响,所以麦克风位置必须精确固定,我们利用麦克风转接盘使六个麦克风模块的咪头均匀分布于以小车几何中心为原点,以14cm在半径的圆周上。并通过模块中的两个定位孔固定在转盘上。
无线接收模块没有安装位置要求,但为了保证理想的接收效果,天线应焊接在模块上,天线应尽可能垂直向上。因此,我们将天线固定在碳纤维杆上方,并尽可能伸直,见图3.3。
▲ 图3.3 安装和固定麦克风和无线收音机模块
3.3 固定系统电路板
系统电路板电路板的固定非常重要。我们的三个板之间由尼龙柱架构成三层结构,通过FPC布线及翻盖式FPC座椅连接。这种连接方式使板间连接稳定,连接线易于梳理。
电源驱动模块和电池保护板模块固定见图3.4.主控模块和麦克风转接模块的固定见图3.5。
▲ 图3.4 固定底板 图3.5 固定上电路板
3.4 车头的设计
由于第15届信标变为扁平,对前部的要求很高,我们通过行程开关防止汽车冲向信标。然而,原开关的触发区域很小,由于模具长度的限制不能向前延伸太多,很难简单地安装在前部,所以我们使用它SOLIDWORKS该软件设计了自己的传动装置,以稳定地触发后开关。
前部的具体结构如图3所示.6.白色固定支架用于安装两个行程开关和两个弹簧固定件,红色零件以底盘为导轨,将前碰撞力传递给后行程开关。
▲ 图3.6 前部的具体结构
车头底部安装固定件,规范红色传动件的运动方向,防止车头因信标斜面引起的斜向力弯曲卡住。详见图3.7。
▲ 图3.7 车头底部结构
3.5 设计吸声棉结构
因为H车的麦克纳姆轮对地摩擦力较小,所以运动时轮子噪声与齿轮噪声对于声源定位的运算影响较大,所以我们采用吸音棉包裹每一个轮子,并且在麦克风转接盘的底部安装吸音棉,同时用吸音棉包裹麦克风模块,使下方轮子产生的噪音尽可能地被吸收,使麦克风接收到的只有上方信标发出的声音信号,提高信噪比,使汽车定位更加准确。具体结构见前文图2.2。
第四章 硬件电路设计
4.1 硬件电路框架设计
从最初进行硬件电路设计时我们就既定了系统的设计目标:可靠、高效、简洁,在整个系统设计过程中严格按照规范进行。可靠性是系统设计的第一要求,我们对电路设计的所有环节都进行了电磁兼容性设计,做好各部分的接地、屏蔽、滤波等工作,使本系统工作的可靠性达到了设计要求,采用IR2104结合MOS管的驱动电路具有稳定高效的特点,在硬件设计过程中为了尽量减轻整车重量,降低模型车的重心位置,应使电路设计尽量简洁,尽量减少元器件使用数量,缩小电路板面积,使电路部分重量轻,易于安装。我们在对电路进行了详细分析后,对电路进行了简化,合理设计元件排列、电路走线,以达到简洁的要求。
▲ 图4.1 硬件电路框架设计图
4.2 电机驱动电路设计
驱动电路为智能车驱动电机提供控制和驱动,这部分电路的设计要求以能够通过大电流为主要指标。驱动电路的基本原理是 H 桥驱动原理,目前流行的H 桥驱动电路有;集成半桥电路,如 BTS7960等;MOS 管搭建的 H 桥电路,如 IR2104。我们对种两电路都进行了搭建并测试,最终我们采用IR2104驱动芯片结合IRLR7843MOS管的H桥双桥驱动实现将芯片产生的电机控制信号转换成电压控制电机转动,经实践,由IR2104与MOS管搭建的电路在维护维修以及稳定性上有更大的优势。
▲ 图4.2 电机驱动电路原理图
关于IRLR7843的资料,经查阅如下:
4.3 系统电源电路设计
由于规定比赛采用一组电池供电,为各个电路模块提供稳定的直流电源,保证各个模块稳定工作。电源模块为小车系统的其他各模块提供所需要的电源。设计中,除了需要考虑电压的范围和电流容量等基本参数外,还要在电源转换效率,降低噪声,防止干扰和电路简洁方面进行优化。可靠的电源方案是整个硬件电路稳定可靠运行的基础。全部硬件电路由两块3.7V、2600mAH 的可充电锂电池提供,而各个系统硬件需要不同的电压来进行供电,所以我们采用的电源电路包含了多种稳压电路,将电池电压转换成各个模块所需要的不同的电压。7.4V 电池电压直接接到电机启动模块,5V为速度传感器供电、摄像头,摄像头,舵机等,3.3V为单片机、OLED屏幕、麦克风阵列供电。
通过LM2596S-ADJ芯片对 7.4V 稳压得到 5V 电压。
对于3.3V的降压,出于和5V电源相同的考虑,我们选择了LM2596S-3.3芯片作为我们的3.3V降压芯片,。
对于驱动芯片所需的12V电压,我们采用了LM2577-ADJ芯片实现稳定的12V电压输出。
▲ 图4.3 电源模块原理图
4.4系统主板电路设计
系统主板核心电路分为滤波电路,供电电路,时钟电路,复位电路和下载电路。滤波电路将减少由于其他用电原因导致的电压不稳定以及脉冲冲击信号对芯片供电的影响。由于芯片需要1.3V参考电压,通过LM2596芯片将3.3V转化为1.3V实现。下载方式采用DAP下载器对芯片进行下载以及上位机调试。
▲ 图4.4 主控板系统电路设计图
4.5 系统外部接口电路设计
编码器,舵机和陀螺仪采用排针直插设计,电机信号,主控板供电,摄像头和麦克风盘的连接采用FPC0.5mm软排线设计
▲ 图4.6系统外部接口电路
4.6 OLED按键电路设计
v见图4.6,采用三个普通按键和一个五向按键构成按键电路,OLED采用排针直插的方式安装在主控板上
4.7 摄像头转接板电路设计
为了实现实时避障,我们选择1个OPENMV的摄像头作为我们最主要传感器,由于需要保证OPENMV的稳定性,我们为摄像头制作了一块转接板,将摄像头用FPC软排线和主控板连接,既减轻了重量,又使稳定性有了较大的提升.由于摄像头的5v供电对电压稳定的要求比较高,否则会出现摄像头复位或者卡死的情况,于是在转接板上除了所需引脚的引出外,添加了LM2577芯片构成的稳压电路,确保摄像头供电的 稳定。
▲ 图4.8摄像头转接板电路设计
4.8 麦克风转接盘电路设计
麦克风盘主要用于固定六个麦克风的位置,并将其通过软排线与主控板相连进行供电以及信号的传输。
▲ 图4.9麦克风转接盘电路设计
4.9 小结
在进行硬件设计的过程中,首先要解决需求问题,要将几个部分通过合适的方式连接起来成为一个共同运作的整体,同时要将定位孔合理规划,使各个板子能牢固紧密的安装在底盘上的同时也要考虑在调试过程中要尽可能方便通过几个按键与OLED配合进行参数修改。在能解决基本需求的基础上合理考虑走线的粗细,使大电流能顺利通过不会烧坏的同时要让板子布局的尽量美观,对称,每次投板前要仔细检查更改的地方是否合理,是否能解决问题,注意滴泪覆铜以及设计规则检查,确认准确无误。通过一次次的修改和完善,配合上软件的需求,虽然无法做到完美,但要尽可能精益求精做到最好。完整电路见下图4.10
第五章 软件设计
5.1 软件整体框架
相比于以往使用过的ARM内核的芯片,这一届信标组所要求的MCU最大的不同便是双核,这使得我们可以同一时间执行两个不同的操作。而且经查阅我们所用的TC264芯片中CPU1型号为TC1.6P,运算速度及内存均超过TC1.6E的CPU0,因此我们选择将耗时较长,运算复杂的声源定位程序放入CPU1中进行运算,而底层控制则交由CPU0进行,防止运算时间过长导致控制滞后。
▲ 图 5.1 软件框架
5.2 声源定位
本次比赛最大的改变便是采用了声音作为信标的定位信息,这需要对多个麦克风采集值进行信号的处理与分析。在传感器的选择上我们使用36dB的咪头配合MAX4468进行放大,而FM信号则由RDA5807模块处理。
5.2.1 声源角度计算
我们基于六元麦克风阵列时延差值进行角度解算,时延估计则采用传统GCC-PHAT-ργ的算法[5],将基准麦克风与其余五个麦克风分别进行时延估计,若此时基准麦克风均领先于其余麦克风,则可以认为声源角度位于该基准麦克风所对应的60°内,最后利用几何关系列解方程组即可,最终角度与时延值间公式如图5.3。利用向量关系,可求出任意麦克风作为基准麦克风与其他麦克风之间的时延值,结论同上,可以做到平面内全角度的声源定位
5.2.2 声源距离计算
相对于角度计算,声源距离仅需一个麦克风传感器与无线收音模块配合即可,因为FM信号为电磁波,其传播速度为光速,相对于声速而言可以认为从信标到小车无时延,因此我们只需要计算出麦克风模块采集到的波形与无线收音模块传回的波形进行时延估计,再将求得时延值与声速相乘即可估算出小车距离信标的距离。
5.2.3 常见问题
噪音的影响对于时延计算有很大的影响,并且随着车轮转速的提高,齿轮及麦轮的噪音也会相应提高,因此我们对于角度计算中各个麦克风模块之间的时延值的错误率也会随着速度提高而升高,而利用错误的时延值计算出的角度也极大概率是错误的值,如果不加以处理和过滤便会使车在错误的方向上运行,使小车运行不稳定。
我们对此的解决方案是利用六个麦克风固有的几何关系排除掉理论上不可能出现的时延组合,具体为麦克风时延值不应超出其本身物理距离,并且计算出的声源位置应位于麦克风整列的六边形外侧,同时受其大小限制,各时延值绝对值之和应大于一定阈值。
5.3 图像处理
图像处理模块的感知芯片是OV7725,图像格式设置为RGB565格式的彩色图像,图像大小设置成320x240,在图像处理的任务中,核心便是基于LAB色彩空间的色块查找。
5.3.1 i.MX RT1060的可编程视觉模块
该模块主控芯片采用NXP i.MX RT1062,600MHz Cortex-M7,600MHZ的主频使得其即使在分辨率为320x240的彩色图像上进行色块识别也能具有较高的速度。集成了Micropython运行环境,使用开发效率高的Python编写应用程序。同时其兼容Openmv IDE 的调试,对于平时图像的调试工作高效直观
5.3.2 LAB色彩空间
LAB色彩空间(Lab color space)是颜色-对立空间,带有维度L表示亮度,a和b表示颜色对立维度,基于了非线性压缩的CIE XYZ色彩空间坐标。对于RGB颜色空间,LAB空间更接近人类的视觉感受,其中的L分量匹配人类对于亮度的感知,用于表示像素的亮度,取值范围是[0,100],表示从纯黑到纯白;A分量表示从红色到绿色的范围,取值范围是[127,-128];B分量表示从黄色到蓝色的范围,取值范围是[127,-128]。
▲ 图5.2 LAB色彩空间
5.3.3 常见问题
在调试过程中。会发现信标的色彩以及场地灯光在地面上的反光的色彩有一定差别。利用这个特性配合偏振片,可以解决反光问题。但由于采用色块寻找银色弧面,这样的话干扰项会比较多,因此除了选择的ROI重要之外,对于其色块形状等也应有限制。
建议使用黑色电工胶布粘上模块背面的扩展口(粘在M12底座的两个定位螺丝口中间),背面扩展口是会透光的,严重影响图像的效果。
5.4 底层控制算法
5.4.1 位置型PID
四驱的麦可纳姆轮是全向运动的,运用位置型PID结合信标的角度信息,实现了向信标移动的闭环控制,具体步骤是先通过位置型PID控制计算出输出值,再将输出值带入到运动解析公式中计算出四轮速度。由于四驱的麦可纳姆轮小车在转向上是存在惯性的,不像舵机转向一样即时迅速,因此结合陀螺仪到位置型PID中,用水平角速度替换微分项会有很好的效果。
5.4.2 增量式PID
电机如果采用开环控制,由于控制系统中扰动的存在,电机往往是与期望值有较大偏差的,采用增量式PID闭环控制,能够减小扰动的影响,使系统的输出符合预期要求。由于惯性的存在,小车对于加减速的控制尤为重要,快速且稳定的加减速是需要注重的问题。
5.4.3 丢失处理
因为随着速度增加,角度运算正确率下降,我们便会丢失当前时刻的角度信息,如不加以处理,此时小车便处于失控状态。对此我们利用陀螺仪取得的角速度值与定时中断可以估算出小车自身的方位角,并且在新的正确角度得出前,利用上一次取得的正确值与自身方位角结合,便可以使小车在没有实时角度信息时仍可以向信标定向运动。因为时延估计的正确率与声源和传感器的距离也有很大的关系,在小车距离信标较远时,由于噪声干扰可能出现连续较多值均为错误值,此时应控制小车减速或停车,以此重新取得一次正确的角度信息。
第六章 开发及调试工具
6.1 TASKING IDE
开发工具使用的TASKING,目前可以为英飞凌8位,16位,32位单片机提供编译工具。TASKING_TriCore-VX是专用于英飞凌TriCore系列的编译器,也是AURIX开发使用最普遍的开发工具,目前我们所使用的版本为TASKING_TriCore-VX_v6.3r1。
▲ 图6.1 IDE 界面
6.2 Openmv IDE
Openmv IDE具有一个强大的文本编辑器,调试终端,帧缓冲区查看器和直方图显示。OpenMV IDE使得我们的OpenMV图像识别模块易于编程。
▲ 图6.2 工作台界面
▲ 图6.3 统计 区域
▲ 图6.4 阈值编辑器
第七章 主要参数说明
7.1 参数表
第八章 总结
从决定参加全国大学生智能车竞赛那一刻,从刚开始的大家各自学习单片机、图像、硬件等基础知识。到后来的开始组队,并合作。从查找资料,绘制电路板,程序一个个模块的建立。在这份报告中虽然不能完全体现出我们所付出的精力以及时间,但仍然希望我们的这份报告能对他人有所启发以及帮助。同时也存在各种各样的不足,因为这一届规则改动较大,准备较为仓促,我们在声源距离的计算上没有找到一个良好的算法,在信标距离较远的时候,无论麦克风接收值还是FM信号接收都存在问题,也没有找到很好的方法进行滤波。而且我们的算法受速度影响较大,提速后小车定位便会出现问题。
在实际测试中,RDA5807模块在两米内的表现较好,但随着距离的加大,输出波形明显变小,在接近三米的距离时便基本完全接收不到信标的信号,因此小车若距离信标两米外则距离信息完全无法正常使用。同时在速度的测试方面,小车低速在1.8m/s时运行较为流畅,可以较为稳定的执行切灯任务,但低速增加至2m/s时,小车在近灯处距离角度均会出现较大波动,撞灯概率大大增加,且近灯减速也会出现问题,导致切灯后冲出赛场的几率增加。
总之,我们的信标方案仍有许多待改进的方面,也希望能够为我们提出宝贵的意见指正。竞赛将会成为我们的奋斗的回忆,我们仍将在奋斗的道路上前进。
※ 致谢
从加入到学院科协开始,我们便投入到了比赛的准备中。在这段时间,也碰到了大大小小的困难。从一个个模块的学习,到将模块结合起来使用完成信标组比赛的任务。虽然会被困难所扰,但这一路走下来我们所收获的却是颇为丰富的。特别感谢学校对于竞赛的大力支持,也特别感谢一路下来学长以及老师的指导帮助。