智能车-一年总结(十六届)

编者按:此文简单记录了我在整个十六届智能车备赛过程中的点点滴滴,一些心理上的活动,一年来还是比较充实的,同时也是比较艰苦的,希望看到这篇文章的车友们在做车的过程中不要放弃,结局可能不是最重要的,只要认真去做,一年下来肯定是收获满满,或许还能收获很多惊喜!!!

一、暑假集训 (2020.7-2020.9)

  2020年7月份开始参加实验室集训选拔,刚开始的面向大一的智能车校赛现在想来是真的痛苦,和队友一起搞,配合的不太好,随着循迹小车慢慢跑起来,我发现自己和队友进入了同一个思路陷入了循环,我自己想不出任何法子去让车跑的更好,只有队友一个人在尝试,我也很想帮助他,但是我的脑袋陷入了怪圈发晕,什么也想不出来,什么也帮不上忙,一度还得到了来自队友的嘲讽,就这样度过了艰苦的四五天。终于开始正式集训了(此处挺高兴的是因为校赛搞不好我归结为自己之前的基础不扎实,想着集训之后就会慢慢好起来的)。

  集训开始后,我选择做软件,开始学习单片机K66,看视频,看用户手册,IIC,SPI,FTM,OLED,贪吃蛇小游戏,UART。基础的搞完开始搞PID,尝试做直立小车。这段时间怎么说呢,自己一直都是进度相对比较慢的那一个,不过还好身边的人都挺强,许多地方我直接用他们的成果再理解一下,掌握的还可以,不至于很慢。(小埋怨一波,当时K66核心板好几个人用一个,偶尔坏掉一个会更煎熬,自己也是那种不主动的那一个,反正就是最后核心板在自己手上待的时间就挺短的(不过老实说自己进度太慢,也没有突破性的进展,别人倒是进展挺快的,这也不说了,压力还蛮大的))。而且挺痛苦的就是调直立环的时候因为板子数量不够,调车的时间好多都集中在其他同学手里,当时的自己老实说就是在干瞪眼,那叫个痛苦哎(或许是有些自卑,或是被禁锢了想法,就是啥都想不出来,跟个傻子一样)调直立结束后就开始正式分组了,一堆人一半去调四轮,一半去调直立,我自己当时想着自己之前调直立都没怎么上手,做人就要迎难而上,o,弄就弄吧。

  这次是两个人一组,要比之前好几个人用一块核心板好多了。不过刚开始还是有些挫折,自我感觉我的队友根据我之前的垃圾表现认定我可能并不是一个好帮手,开始说要分工,就是车由他来调,我来写其他的(图像)。妈卖批,总之自己就是个废物,自己写的东西队友写的更好,队友那边负责的我也不会,总之我干的队友干的更好,队友干的我也不会。总之,妈卖批,本来可能要屈服于这样的局面了。但是第一次验收的时候zy学长可算是点醒了我。“刚开始调车的时候控制部分和图像部分每个人都得写,要分工也是后面的事”,学长太好了,后边还多次提醒我多去调车,不要总坐在自己座位上,呜呜呜。我悟了,大彻大悟,第一次走上正轨。随即告诉队友,调车两个人分时间调,而且各调各的,我的代码全部自己写。事实证明这是无比正确的抉择。后边花了两天的时间吧自己的代码全部理了一遍,终于开始自己干了。牛逼!调直立,每天滤波,调直立环,上赛道调转向环。每天重复着,虽然自己笨,但是身边这么多牛人还有学长教导,凑合着车就跑起来了(这时还算满意,虽然跑的一般,但是能跑完了,呜呜呜,调车真他娘不是人搞的)。回家前的大验收前一晚熬夜,神奇的事情发生了,此时已经是四个人调一辆直立几天了,其他三个人调的差不多了,开团打游戏去了,孩子我技不如人,游戏玩的烂,车还调不好就乖乖调车去了。芜湖,搞心态,电机烧了,没办法,我的锅,硬件回去睡觉了。只能连夜打电话给硬件同学,但是宿舍门关了硬件出不来了。大概凌晨两三点吧,傻了,看着其他人绝望的眼神,我无地自容,找个空教室,抹抹眼泪,妈卖批,集训完淘汰就淘汰了吧,废物、、、、、、、、、。

  早上6点,硬件兄弟终于来了,板子重新装好,距离验收只剩1,2个小时了,这时发生的事情让我看到了离谱的人性。四个人一辆车,验收前只有两个人在调车我和另一个伙伴压根没机会碰车,“没办法,这时候只能自私一点,也是迫不得已”这是当时我队友讲的,他们两个本来就调的好一些,好吧,就这样吧。两眼暗淡无光就是那时的自己。大验收以早上板子坏了导致车没跑完为理由结束了自己的智能车暑假两月集训。验收完我内心只有一个想法“学长来个痛快的,开了我吧,太尼吗痛苦了”,额,但是这个我是永远也等不到了,最后我留下来了。

二、大二start:直立continue(2020.9-2020.12)

  “没被开,为什么不开除我?”。但是也好不容易留下来了,在坚持一下试试吧。给自己定个时间,一个月要是没有突破没有成就感,主动提出退出实验室。最初的日子里,还是跟着暑假集训调直立的步伐,这段时间里自己也比较难受,直立环滤波那块我始终不开窍,当时也没有意识去深究滤波的原理,然后就很多时间去补图像,十字最后也是稀巴烂(还凑合吧,车能跑,不过看上位机确实稀巴烂)。比较痛苦的是队友qh,和xwp,zzt,他妈的讨论模糊,卡尔曼滤波,甚至2m5,2m8都跑出来了,我的妈,我跟他们压根没活在一个世界里,落差太大了,感觉自己进度太慢了,总是需要别人提醒一下推一把,太难了。哎,当时的我可能还比较看重跟别人的比较的,导致我很痛苦,现在看来还凑合吧,毕竟图像一直在改善也算在稳步提升。不过在当时看来,这点进步比起落差来说微不足道。

  十六届规则出来了,双车是直立和三轮。又一次转机到了,仔细思考了一下这直立确实调不过别人,到现在两三个月过去对于滤波和直立环还是一直半解,只是掌握了实际操作的方法(反正就是会调就是不知道为什么这么搞),这么久都没整好,我还是试试去调三轮吧。结果证明,我又一次走上了正轨,太狗了,日子太难了。

三、调三轮(2021.1-2021.9)

  不用再调直立也太爽了,给个转向环和基础占空比三轮就能跑,这不简单,调个直立摄像头颠来颠去的。由此开启正轨,架好车,下地2m2.紧接着开始上环岛,车库。图像开始按照自己的思路一步一步写起来,进度慢了点,但总归是搞好了。期末考试前大验收,自己写的长直道有点拉,再加上环岛代码里有bug,参数写进去但是根本没给上(害的我两三天不停地在放车,偶尔环岛就过了,偶尔就过不了,奇奇怪怪,但就是没有去上位机仔细查控制有没有给上,总是觉得一会能跑,一会又跑不了,怎么折磨玄学,事实证明一年的调车生活我不止一次陷入这样的怪圈,相信玄学无解,但最后上位机仔细一查,代码bug,操蛋,效率低下,浪费时间,真痛苦)。低速狗完大验收。

  寒假集训开始上速度环,速度提上去了,集训车库写的不好,大验收不入库,在指导老师面前不入库2m5结束半年的智能车备赛。因为疫情自己没回家待学校。

四、换芯片调双车

  双车限用芯片,灵动MM32系列,也不知道组委会怎么想的,挑了两个最烂的芯片给我们。最拉的M0,SRAM12kb,另一个M3还凑合SRAM128kb,之前K66工程一编译SRAM已经占了80多kb,12kb也太离谱了。没办法只能先拿12kb的芯片先学习一下相关外设,同时先拿K66调车,等M3芯片到了之后再往车上用。换芯片的日子也挺难忘的,国产芯片,中文用户手册,而且大多数东西与STM32有很多相通之处,所以查资料的时候没有很困难,对于一些基础的外设有了自己更深入的理解,同时也参与了部分底层库的编写,无论是SD卡,TIM定时器,输入捕获,看门狗,flash,还有UWB,DMA,SPI,搞完这些自己已经有能力对于一个新的外设通过查看资料进行编程使用。我觉得掌握了这些对于我后期参与其他项目快速掌握一个新的单片机有着非常重要的作用。

  后边的一段时间里zzt花时间搞新单片机上位机和摄像头部分的内容,我和队友先尝试了双车方案(直立撞三轮传球使用UWB通信,当时看来好像是一个很好的方案,但事实证明最后比赛的时候大多数队伍采用了三轮撞直立的方案,直立起步慢呀,最开始还是太天真了)。

五、顿悟三轮结构,嫖队友转向控制

  三轮结构拉长了说,最开始摄像头架的比较靠前,尾部是和直立传接球的装置。最初我认为三轮的结构应该比较集中于整车的中心部位(来自于对于三轮翘头的恐惧),但后来发现弯道总是打外弯(十字环切内弯跑成切外弯)而且此时的速度并不高。再加上另外一组双车的三轮结构重心更靠后集中于电机部位跑的挺快挺好。我就尝试在尾部改成一个更长的接球盒子,并且增加接近150g配重。结果显尔易见,和之前相同的速度弯道明显切内弯。弯道速度就瞬间提上来了。但是又出现了另外一个情况。尾部的接球装置安装的有点高,导致直道加速以及弯道很容易出现翘头情况(限制速度环增量后也不能彻底解决)。后边接球装置有点高导致重心过高这个问题我也思考了很久。一直到距离比赛还有15天左右的时间,当时刚考完期末考立马重新架了一辆车,摄像头架在最靠后的位置,重新把尾部装置架的更低,底部比车模底盘还要低,马上就要接触地面的感觉。(这也是最终省赛的结构)结构改动之后整辆车弯道性能更好(跑的更快),并且直道冲刺翘头几率也不高了。这也是我后边调三轮的最终结构模型。

  另外一个就是当时图像各个元素基本上都解决了,但是自己的控制还是一团糟,固定PD,打角行一次函数,P偶尔也是随速度一次函数。后来用上队友在直立上用的模糊,对打角行和转向P进行模糊,直立和三轮还是比较相通的,直接就能用,而且确实比较好用。自此结构和控制已经趋于成熟。

六、一周一赛道,天天改图像

  除过那些有突破性进展的时刻,其他大多数时间都是花费在,每周换一个新赛道,主要是改图像,找自己的一些代码bug,以及调整自己的菜单,在可以跑完的基础上添加特殊控制冲速度。一年里应该说大部分时间花费在这里了,有些时候效率也挺低,但还是慢慢进步着,一个一个问题被慢慢解决掉。我悟到的自己的缺陷,因为我自己偶尔很容易的陷入到一个怪圈,就是一个赛道中某个地方出问题是偶尔性的,时好时坏,有时候我就感性的认为这是玄学问题不可解决。但是打脸的是每次解决的时候都是在上位机上发现图像或者控制上的问题。嗐,真正的高手就应该发现问题,立马通过手头的工具去查找问题的来源,虽然有时候确实会卡一段时间,但总会解决的。如果一味的去放车,沉浸在一会能跑完,一会跑不完的怪圈中,啧啧,痛苦,效率血低。

七、省赛顺利

  省赛终于来到。实验室的时候总是跑不过另外一个队伍。赛前我和队友已经讲好了,稳住,只要预赛能放下来就算功德圆满了。啧啧,预赛的时候,学长让我们跑过工大老哥的车就不再继续放了以防车出问题。另外一组已经提前达到目标收车了。该轮我们了,啧啧,前面有讲过我们的方案直立两次起步有劣势。他妈的,实验室调出的最高档位放下来了,结果还是比工大老哥慢了,有点丢人。就只能硬着头皮再加速(环岛,坡道,弯道都加点),还好比赛场上赛道相当干净,摩擦力比实验室里大得多,实验室都没敢用这个速度,这波终于比工大老哥快了一丢丢,完成目标了。第二天大赛道我和队友约好,第一次用保命党,后边直接猛C(最初的想法是逐步递增,嗐,校内竞争,谁赢谁去哈尔滨,破釜沉舟,干)。幸运的是,第二天决赛没出岔子,而且竟然以极其微弱的优势领先了。血赚!血赚!还是他妈的血赚!!!

  嗐,太不容易了,之前基本没赢过另外一支队伍,都准备好省赛完去搞电赛了。结局还是蛮惊喜的!

八、省赛完年度总结

  怎么说呢,整个调车一年,从最开始的无能与无奈,调直立的艰难,再到调三轮日常中被无数次卡在怪圈里解决bug,修改图像。中间一直都有两个声音在我旁边晃悠,一个是与别人的比较,一个是和自身的比较。前者总是给我压力与竞争,后者总是激励我继续坚持(肯定不会吃亏,永远都是赚的(只不过是小赚与血赚的区别))。多亏了在智能车实验室,能有如此优秀的队友。不得不说队友qh是真的牛逼,超快的直立,还让我嫖到好多的控制(不,队友间不能叫嫖),在很明显经常验收的弱于另一支队伍的同时也没有给我太大的心理负担,“完赛就行”这是如此优秀的四个字,最后的结果对于我来说是超级血赚,我也在最后没有拖到qh的后腿。忘了yhc了,我们的硬件,无敌。最后就是有点可惜,由于某些原因没能和他一起去国赛。不过一路走来,感觉非常好,多亏了有队友。

  搞双车就是好,不仅有人帮忙搞代码,而且队友那么努力,怀着不能拖队友后退的心理也能够激励自己要努力不能放弃。

九、国赛后续

  疫情来了,哈尔滨去不了了,赛制改成线上赛,不竞速了,比赛道。我只能说qh,zzt给力,我们在规则中找到了对于我们来说赛道最优解,从最终的赛道公布上来看,我们的赛道确实是所有学校中的最优赛道。最后凭借着超高的赛道得分效率,轻松全国第一。只不过因为疫情失去了线下竞速交流的机会,当然我们也看到了一些在单车速度上优于我们的队伍。希望下一届学弟继续努力,向最牛的车学习,也调出更优秀的车跟全国车友去竞速。

十、展望大三

  大学两年时间就过去了,再过一个学期就得准备考研了。最多也只能潇洒一个学期了。好好学习专业课,读点名著(呼呼呼,明朝那些事读完了三本,加油),看有没有机会参加一次电子商务三创赛(暂时还没有具体实践思路),最后空闲时间去校外做做志愿者,杭州还没怎么玩过呢。要是再能找个女朋友就更好了(想想就好)。完事。

你可能感兴趣的:(经验分享)