潮声隔雨深 · 2021年12月06日

声音定位智能车模制作

图片.png

本文以第十五届智能车竞赛为背景,介绍了中国矿业大学的声音信标赛题的队员的设计方案以及调试结果。比赛任务是在比赛场地上固定一定数量的信标灯,响起的信标灯会发出250-2000Hz频率的chirp声音信号、95MHz的FM信号。参赛队伍采用四驱的麦克纳姆轮车模进行规则允许范围内的改装,小车定位响起的信标灯并进入信标灯感应线圈范围内使信标灯切换。本赛题组成员采用了组委会推出的H车模,使用Infineon公司的Tricore架构的Aurix系列单片机,采用了MAX9814麦克风放大器模块作为信标灯定位的传感器,通过硬件FFT加速卷积,进而把卷积结果送入神经网络得到信标的方向。通过调试,我们实现了定位灭灯以及避障功能。

关键字:声音信标,智能车,避障,声音定位,神经网络

图片.png

1.1 背景介绍

智能车比赛从举办到现在已经经历了十五个年头,从一开始单一的传统组到现在形式多样的各类组别。智能车比赛的规模也是在不断地壮大,使越来越多学子得到充足的锻炼,在提升自己的同时,也为国家科技的进步贡献出了小小的一份力量。

本组为声音信标组,声音信标组在具体的比赛过程中最值得注意的也是其最大的亮点就是声音定位的问题,在比赛中避免与另一辆车或者熄灭的信标灯产生物理上面的接触,在铺有蓝色广告布的平整场地内随机安放数量为五至十五左右的信标灯塔,车模在信标的导引下做定向运动。信标内部安装有喇叭,通过比赛系统控制信标灯启动或者关闭。赛题要求车模可以通过麦克风传感器、摄像头等识别信标进行定位,按照比赛控制系统的顺序利用磁铁对信标进行灭灯处理。在决赛中,要求两辆车模进行对抗,通过对比两车模灭灯的数量得出胜负。

1.2 现实意义

当然,实际的应用背景决定了所有科研成果的有效性和实际性,科技结合实际才能发挥出它自己最大的作用。本赛题不仅趣味性强,实用价值也同样很高。现如今,视觉定位导航早已成熟,而声音定位导航却仍在起步阶段。相比于视觉,声音定位能够适应更加恶劣的环境。自动驾驶的汽车需要有自主规划路径以及快速安全的避障功能,汽车时代背景下,汽车事故也在日益不断地上升,如何有效的减少甚至是消除其的发生,是对我们比赛任务的一种考验,将其扩大,使其升华,更好地为人类服务。因此,本赛题具有很高的科研价值与实用价值。

图片.png

2.1机械结构设计

我们选用的车模是H车模。信标组的任务要求车模具有较好的加减速 和灵活的转弯特性,H车使用四个麦克纳姆轮,四个380电机。为了获得更好的加减速效果,我们尽量将车模质量做轻、重心降低,在电机输出力矩一定时,轻便的车模将获得更高的加速度,这是我们机械设计的出发点。

2.1.1麦克风的安装

麦克风我们选用了MAX9814麦克风放大模块,一共安装了四个麦克风,排列在边长8cm的正方形顶点处,并用一块简单的电路板统一固定。车模运行时会有噪声和振动,从而造成误判,所以麦克风与车模的连接采用非刚性连接,我们分别运用了弹簧与隔音棉来进行减震。另外,实际调试车辆时发现麦克风阵列并非越大越好,经过实验,发现对于本车的定位方案,8cm的大小足以满足。实际安装如图2.1.1,图2.1.2所示。

图片.png

▲ 图2.1.1 麦克风安装

图片.png

▲ 图2.1.2 麦克风安装侧面

2.1.2编码器的安装

我们选用龙邱生产的 512 线 mini 增量式编码器,该型号编码器体积小、 质量轻、稳定性好、精度高,输出型号类型为 CMOS 信号,抗干扰能力强。安装时要仔细调节编码器齿轮与电机齿轮的啮合,保证阻尼适中,两者啮合太紧会 增加电机负载,太松又会导致打齿并且影响编码器测量精度。实际安装如图 2.1.3 所示。

图片.png

▲ 图2.1.3 编码器安装

2.1.3电池和电路板的安装

我们车上有三块电路板,分别是主控板、驱动板和麦克风固定板。电池我们采用香山红叶7.4V锂电池。为了让双向跑的车模获得更好的 加速性能和转弯性能,我们把车的重心放在中间位置,所以电池安放在车体两侧;主控板和驱动板叠在一起放在底板正中间。电池和电路板安装如图2.1.4,图2.1.5所示。

图片.png

▲ 图2.1.4 电池和电路板安装

图片.png

▲ 图2.1.5 电池的安装

2.1.4 避障装置  

车模在赛场上行驶过程中很有可能会和信标灯或者对面车模等发生碰撞,车模在高速行驶时撞到障碍,会产生很大的冲击力,很容易撞坏轮子。所以我一开始们用铝合金制作了车前后的保护装置,设计了几次发现车辆仍会卡在信标上。后来就选用了红外测距传感器模块来进行避障。使之靠近障碍物时能够绕行。

我们采用4个红外测距模块,当车向目标灯前进时,若距离达到阈值,则测距模块检测到避障信息,小车根据不同的情况采取斜移或者绕行的方式躲避障碍。安装方式如图2.1.6所示。

图片.png

▲ 图2.1.6 红外避障传感器

2.1.5 减震措施

如果车体与麦克风进行刚性连接,那么车体的振动传递到麦克风,降低了信噪比,从而造成误判,所以我们采用弹簧来连接车体与麦克风。具体实验发现效果很好。弹簧的安装如图2.1.7所示。

图片.png

▲ 图2.1.7 减震装置

2.2 硬件电路设计

小车上的电路板通过电池供电,通过一系列稳压器分别给MCU、电机驱动以及其他外设传感器供电,外设传感器又通过信号线与MCU进行通讯,使得MCU能通过通讯协议读取数据,写入数据。小车采用了双核方案,其中cpu1负责信标灯的声学定位,cpu0则负责小车运动状态的控制。元器件的选择,合理的布局,使得电路板运行可靠、稳定。

2.2.1 主控板

1.稳压电路

主控板提供5V与3.3V电源,为核心板与外设供电。电源电路如图2.2.1所示。5V稳压电路与3.3V稳压电路如图2.2.2所示。

图片.png

▲ 图2.1.1 电源电路-1

图片.png

▲ 电源电路-2

2.最小系统设计

我们选用TC264DA作为我们的主控芯片。最小系统包括了一系列滤波电容、复位电路、两个晶振电路以及JTAG仿真调试接口。最小系统的原理图如图2.2.3所示。主控板PCB如图2.2.4所示。

图片.png

▲ 图2.2.3 核心子板

图片.png

▲ 图2.2.4 核心子板PCB

2.2.2 电机驱动设计

从主控板传过来的PWM信号首先通过SN74LVC245缓冲芯片,至HIP4082芯片。缓冲芯片的作用在于把主控引脚与驱动电路隔离开来,防止驱动板上的电压电流造成PWM口电流倒灌进而烧毁引脚。从SN74LVC245出来的驱动信号通过 HIP4082驱动芯片实现了电平的转换,由原来的3.3V电平转换成了12V的电平,保证了LR7843芯片能快速稳定地被驱动。

为了保证驱动能通过较大电流,对主要的电机驱动回路的导线进行了加粗、开窗以及加锡处理。电机驱动原理图如图2.2.5所示,PCB图如图2.2.6所示。

图片.png

▲ 图2.2.5 电机驱动SCH

图片.png

▲ 图2.2.6 电机驱动PCB

图片.png

3.1 程序结构设计

输出期望速度传给速度控制器,开始控制小车沿着外切信标灯的路径接近信标,直至将它熄灭。然后控制转向,小车以圆弧轨迹再次寻找下一个信标灯,同时cpu1以50Hz的频率来判断障碍物距离并进行避障。

3.1.1.cpu1程序结构

基本程序结构流程图如图5-1所示。虽然采用的是双内核方案,可是在对小车进行控制的时候,还是cpu1中的处理器发出控制信号,cpu0只起到车模速度控制的作用。在程序循环运行的首端,必须首先检测障碍物信息。障碍物的检测的优先级别是最高的,因为小车的安全性需要保证,而障碍物可能会造成小车的意外车祸,严重的会导致比赛失败。若发现障碍物,应该先躲避障碍物,待远离危险障碍物之后再执行灭灯任务。

3.1.2.cpu0程序结构

Cpu0的任务是接受cpu1的数据并输出pwm给电机驱动板。同时cpu0也执行了底层驱动函数。我们把麦轮的运动分解为前进、后退、左移、右移、左转、右转六个基础运动,复杂的运动由这六个运动线性叠加而成。

3.2 广义互相关

参考论文《基于麦克风阵列的移动机器人听觉定位方法研究》(docin.com/p-1010824793-f3.html),在现有平滑相关变换(SCOT)加权及互功率谱(CSP)加权的基础上,融合SCOT及CSP广义互相关方案,实现声学定位导航。

3.3 神经网络

通过广义互相关,可以得到8个或者16个方向,但是由于数据的误差及错误等,造成了方向的误判,如果只是单纯的用加权或者滤波来剔除异常数据,会造成判断方向的时间变长,从而使车体的实时性降低。考虑到每次进行互相关判断方向会出4个或者6个数据,其中只有一两个数据发生错误,所以还是能够从中判断出方向的。但是一般的加权函数难以满足需求。同时复杂的加权函数又会造成调参工作量。因此我们决定采用神经网络来训练,达到自动调参的目的。对于方向的判断正确率有了很大的提升。

附录B为一部分神经网络训练的源码。

图片.png

4.1实验与调试

在调试过程中,我们发现噪音和振动产生的影响很大,经常导致小车误判,并且随着小车速度的提高,车轮转速也会提高,相应地齿轮及麦轮的噪音也会提高。因此小车速度变快也就对应着判断信标方位准确度的下降。我们对此的解决方案是将小车与麦克风之间的刚性连接换成了弹簧,也就是2.1.5中提到的减震措施,应用后效果很好,在小车速度提升的同时,判断信标方向的准确度并没有下降。至于麦轮噪声的影响,我们考虑过用车轮罩将麦轮罩起来以达到降低噪声的目的,但实际应用过程中发现效果并没有想象中那么好,还使小车变得更加笨重,最终并没有采用,因此,麦轮噪音这一问题仍是我们的优化方向之一。

图片.png

而在我们最初使用神经网络自动调参时,小车运行过程中效果并没有很好,在多次尝试后,发现是程序中数据归一化函数的问题,更正了之后速度及准确度都有了很大的提升。我们最初采用的避障函数会来不及避障导致小车卡在信标上或者小车一直避障,在这类问题上经常耗费大量时间,使得成绩不理想,我们发现这一问题后,又尝试了很多不一样的避障方式,最终选择了最适合我们小车结构的避障方案。

图片.png

在这接近一年的比赛准备中,我们凭着自己的兴趣爱好,努力地学习,不断攻克一个个难关。智能小车从不能跑到能动,从无法定位到定位准确,从龟速到高速,从"智障小车"到能灵敏地躲避障碍物的智能小车,我们一步一个脚印,不断完善机械结构,硬件电路以及软件结构框架,尝试多种方案以找到最优方案,适应不同的场地、灯序。在这个过程中,我们获得了友谊,结识了尊敬的老师们,学习到了知识,积累了经验,这将会是我们大学中最珍贵的财富。

而我们在调试过程中,同样也发现了一些还未解决的问题,包括麦轮噪音以及信标的边缘正好卡住轮子等,同时当前弹簧减震方案并不能很好的过滤大幅振动,这是我们还需努力的地方。

总之,在接下来的时间里,我们将不断地改进方案,完善策略,以达到更好的效果。这场竞赛将会成为我们难以忘记的共同奋斗的回忆,我们也不会停下奋斗的脚步。

参考文献

[1]   何蒙. 基于麦克风阵列的移动机器人听觉定位方法研究. 河北工业大学.2010
[2]   于瀚. 宽带信号时延估计的不补零频域相关算法. 声学与电子工程.1988
[3]  李启虎. 声纳信号处理引论. 海洋出版社.2000
[4]  张大炜.一种新的级联FFT算法. 船舶科学技术.2016
[5]  李启虎. 声纳信号处理引论. 海洋出版社.2000


公众号留言

各位领导各位老师 以后尽量不能再出声控的题目了 。声音太响了。我们这栋楼好多实验室对我们有意见 ,都去投诉去了。不知道老师们有没有这个苦恼。本来动静小 信标上场动静大了 都知道了.

老师,请问智能车竞赛入门应该学些什么?

回复:由于智能车竞赛是一个基于复杂工程设计的课外工程实践活动,所以它包含的技术内容相对比较综合复杂。对于初学者可以从基本的电路设计(电路原理、模拟电路、数字电路、嵌入式电路)相关内容学习起;单片机硬件和软件是赋予智能车功能的核心模块,需要选择竞赛所规定的单片机系列来熟悉和掌握。虽然准备智能车需要进一学年的时间,还是希望能够通过与同组的同学相互合作和分工,共同来完成车模的制作。

END

作者:张正阳 张银 等
原文链接:TsinghuaJoking

推荐阅读

更多IC设计技术干货请关注IC设计技术专栏。
推荐阅读
关注数
11337
内容数
1224
主要交流IC以及SoC设计流程相关的技术和知识
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息