我们的对弈智能车之路

卓大大您好,我是浙江赛区棋类对弈组的参赛队员。我们学校有两只队伍准备了这个组别,昨天晚上老师决定了让另一组报名参加国赛。与其他赛区对弈组不同的是,浙江赛区的我们经历了省赛。


昨晚尘埃落定,我们注定无缘山威了,心中既有不能参加国赛的惋惜,也有与智能车道别的不舍。细细想来,我们与智能车只短短结识了三个月。三个月前的某个没有星星的夜晚,我与我的队友决定在结束浙江省机器人竞赛之后参加智能车竞赛,向指导老师发去了第一条微信。


我们五个人原先都是做浙江省机器人竞赛的,机器人竞赛与智能车竞赛有着许多相同,又有很多不同,相同的是两者都设计到了单片机、电路、图像处理等方面的知识,并且对于棋类对弈组,智能车和机器人都涉及到了机械设计方面的知识;而不同的是智能车限定了控制芯片。


上图是我们在端午节搭出的第一个车模


在参加智能车竞赛之前,我们几个人从未使用过恩智浦的主控芯片,于是我便找上了去年参加过国赛的学长。他表示大部分做智能车首选的都是一款叫K60的芯片,包括他们去年也是用这款芯片,但是这款芯片已经历了十年的风雨,似乎即将停产了。为了避免意外,也为了给以后的学弟学妹们留下一些新的东西,我们选择了另一块我们学校没有人尝试过的芯片--IMX_RT1052。


一两个月之前,我曾在卓大大的公众号里面看到有人在吐槽这款芯片,此时的我也正饱受这款芯片的折磨,而真正将这款芯片很好的用起来,已是在六月底了,我们经历了至少四块主控,才能让车完完整整的跑起来。


非常抽象的电路板


简单的介绍一下这款芯片的几个坑:


A)上电要求近乎变态:芯片上电复位时,若某个普通引脚被加上了高电平,芯片将无法正常复位


B)使用串口进行通信时,波特率较高时将会产生堵塞现象,仅能接收部分数据


C)CAN总线必须接上另一端,也就是收发必须要接好,否则的话若是配置了CAN中断程序会卡死,这就导致当把有CAN总线的外围设备关闭时无法调试程序。


上图为端午节时第一次搭出的车模


这仅是我们使用这款芯片时遇到的几个坑,还有许许多多的小细节需要注意,总的来说,使用这款芯片十分的别扭,在前期我们使用了某L开头公司开发的核心板,遇到了程序下不进去、经常烧芯片,通信经常出现问题等情况。


在开始的时候我们认为是我们本身电路的问题或者程序的问题,因此尝试了整整一个半月。前文说过,我们只准备了三个月棋类对弈组的项目,也就是说,我们真正开始调试车只调试了一个半月。


在六月中旬的时候,我们终于决定弃用L公司核心板,换用了另一个公司做的核心板,当我们队负责电路的队友将板子画好投出时,期末考试就只剩一周了。之后的两周,我们进行了期末考试,这期间我们都没有碰过车。



上图为我们第一次用另一个公司的核心板,但是没量好尺寸导致核心板无法安装,只好跳了七十多根飞线做手工转接板测试。


直到七月五号,我们的主控板子才做好,这时我们才正式开始了调车。可以想象当时我们心里有多慌--省赛仅有二十天,电路板只有一块主控板。于是便开始了调试各个模块的过程,几乎每完成一块板子,我们便立刻通宵测试,将模块加入功能。


前面提过,RT1052的上电有些变态,因此我们几乎将所有外设都独立成一个个小模块,使用分时开开关上电的方法。到了七月二十号左右,我们基本上完成了八皇后内容,这听起来有些不可思议,连我自己也有些不相信。


十五天时间不知在集训教室吃了多少宵夜,看过多少次星星。七月二十号到浙江省省赛,我们开始往车上加装了许多灰度传感器,用于提高车的稳定性和矫正速度。这就是我们三个月努力的结果。


省赛开始前一天的调试时间,我们遇到了最大的问题,摄像头在体育馆的强光下完全无法工作,IMXOPENMV图像识别模块在遇到这种环境下确实很难工作。即使在比赛前我们就预感到会有光线的问题,准备了几个偏振片用于降低光线的影响,依然效果甚微。调试结束到交车模之间的那个晚上,我们窝在集训教室里想办法,最后还是采用了加偏振片的方法。



上图为我们那天晚上想要模拟体育馆灯光。


正式比赛的时候,有好几次车行进的时候都开始抖动,我知道那是矫正摄像头没有起作用的原因,但却完全没有办法。这应当是这次比赛最大的遗憾了。


最后我们取得了第二名的成绩,总结这几个月的智能车生涯,我也得到了一些经验教训:


1.积累很重要,如果没有之前做机器人比赛的经验,我们是不可能在几个月时间完成这么多复杂的内容的。


2.相信自己,当程序运行不起来的时候,在考虑完自身可能存在的所有问题之后,应想想会不会是厂家的问题。


3.相信队友,这是一个合作的比赛,一个人是无法完成所有内容的。当遇到自己不甚了解的地方时,不应一味的催促队友,有时候适当的耐心会产生许多惊喜


最后的最后,感谢杭电智能车,感谢余老师,感谢杭电自动化科协,感谢队友,感谢对手,感谢女朋友。