第七届CUIT智能车竞赛(电磁循迹)

第七届CUIT智能车竞赛

        作为一名大一新生,我和几名队友一起组队参加了CUIT第七届智能车竞赛(四轮组),比赛一共花了大概一个多月的样子,再加上前期对一些东西的提前学习,也算是花了挺长时间的了,现在比赛结束了,我呢在这里对这次比赛及近期的学习做一些总结。

比赛的过程:

         硬件开发:STM32f103C8T6,舵机(MG996R),电机(普通的小黄电机),电机驱动模块(可以自己做,我们用的成品的L298N),电磁杆(可以某宝买,不过我们自己做的),干簧管,基础四轮车模,HC-05蓝牙模块,LM2986降压模块,电池(两节18650电池)

软件开发:

电磁杆循迹

        一辆智能车要跑起来,首先是车的眼睛,我这里呢因为能力有限加上比赛规则的限制,所以采用的是电磁循迹。我们的车的“眼睛”经历了几次改良,最开始是6路电磁循迹,从中间向两边依次是水平、竖直、水平,电磁杆安装完成之后,必须要将智能车摆放在水平道路上,电磁杆的中间位置对齐赛道,使得左右6个电感成对称分布,然后调节每个电感的滑动变阻器,使得左右电感的数据大致相同,这样做就可以在检测弯道的时候,由于对称的两个电感的数值差值不同(或正或负,或大或小),就可以给舵机输出对应的占空比控制舵机转向,从而使小车转弯。

        不过后面由于三岔和环岛的不理想,我们又在中间加了一路电感竖直用以检测,并且将外侧的水平电感换成了八字的,虽然真的很丑,不过很实用,我们的车最后能够实现上述功能,建议第一次做智能车(电磁循迹组)的友友一定要想好如何检测的问题,否则临时加真的很难受,而且还不怎么好看。

ADC采集

        我们用的是STM32F103C8T6板载的12位ADC采集,我们使用的是基于STM32cubemx的HAL库开发,直接配置好使用DMA循环模式采集电压即可,具体配置可见Z小璇的博客:ADC采集,讲解很详细(毕竟我这种菜鸟都能看懂)。然后在实际调车的过程中因为事先没有考虑到使用OLED,所以也就没有留接口,导致调车只能debug,最后在学长的指引下使用了VOFA+,不得不说真的香,两个HC-05蓝牙模块就能使用,还能看到变化是否稳定,所以十分推荐。

电感数值滤波

        对于这一环节我只能说很无奈,找了很久但是并没有找到什么适合的好的滤波算法,其实有个卡尔曼滤波,不过由于自己能力有限还不会,所以最后只能把几种滤波的优势集中在一起,也就是给连续多次采集回来的电压限制一下大小,然后去掉最大最小值,再求平均值。然后使用差比和差(也可以用差比和,只不过差比和差更加稳定)滤波,至于我的那几个参数,读者自行调整。(可以参考:差比和差

 PID算法

        因为比赛车速慢,所以电机并没有使用PID算法,只是对舵机转向使用了PD结合的算法,因为网上的原理很多讲的也比我更加详细所以呢我就不在这过多的赘述,直接上代码!

最后两句可以理解为两侧电机在转向时有一个速度差辅助转向,使转向更加丝滑!

环岛和三岔

        因为前面第一次的电磁杆存在问题,无法成功检测到环岛和三岔路口,所以后面加了一路中路电感,通过判断中路电感的值以及同一时刻八字电感的值共同实现监测,不过最后比赛的时候其实没有加环岛的程序,是智能车太智能了自己跑进去了。

        具体原理就是在环岛中央的时候水平电感的只是最大的,同时中路电感值也相对比较特殊,这时给定一个标志位,然后在环岛的边缘,两个八字电感的差值会变得十分大以此实现入环,出环的话因为缺失标志位,所以可以自动出环。上述方法的问题就是值需要现场测定,容易失误,更好的方法呢我也没有想出来,所以读者有好方法可以告诉一下。

干簧管

        我们用的模块,也有人直接用的干簧管,模块一般的有三条线路,一条VCC(用3.3V,5V皆可,我们用的3.3V),一条GND,还有一条信号线,用于检测电平变化。若没有检测到永磁铁时,处于高电平,检测到永磁铁后处于低电平。程序控制的方式是用一路ADC检测其传回来的值,判断其高低电平,进而执行的用户代码,控制智能车的停止与入库。

        说到这个就很遗憾呢,因为我们自己测试的时候都好好地,结果比赛的时候由于距离太远了,导致没有检测到东西也就没有正常的停车实在是有点遗憾。

总结

        我觉得学习知识最快的方法就是在实践中去学习,就比如这一次的比赛,其实呢这里面的很多东西我们在比赛之前就学习过了,但是因为没有系统的去学习一下,所以呢一直理解的不是特别的透彻,不过通过一个月左右的调车生活,并且经常都是十一点半才回寝室,还会挨宿舍阿姨的唠叨,但是学习东西是真的比枯燥的学习原理快很多,所以呢,如果真的是想学习一个东西并且学好的话,建议呢还是多动手去实践操作,这样子才能学习的更好。

        本文是我的个人理解,如果有不妥当之处,还请大神指点一二!

        

物联沃分享整理
物联沃-IOTWORD物联网 » 第七届CUIT智能车竞赛(电磁循迹)

发表评论