美文网首页
智能车制作之从入门到放弃(上)

智能车制作之从入门到放弃(上)

作者: 世缘 | 来源:发表于2020-09-20 16:23 被阅读0次
前辈摄像头车

        从大三的寒假开始,准备智能车比赛。由于疫情原因,前期准备都是在家里。由于自己作为队伍的学长,经过前期的准备,也有了一些电子方面的基础(但还没有学过Autium Designer)。所以,开始准备学习画板子,弄出智能车的电路板。由于实验室的战绩不是很好(后来了解到,我们实验室成立了10年,原名叫破风者智能车俱乐部,前几年还不错,拿到一些赛区和国赛的奖项,在16年,还获得过国二,但近三年来,实验室没有任何拿的出手的成绩,上图就是2015年的参赛小车)没有很好地技术传承,所以,也不能过多地和学长交流。考虑到我们队伍的实际水平,通过比较摄像头,电磁和光电的传感器特点和难易程度,最终选择电磁组别。同时,前期由于没有什么经验,选择了F车模。当时,只是觉得,相比于B车模或者C车模,F车模只需通过后轮的差速来实现转向,而B车模或C车模还需控制舵机来实现转向,感觉起来,比较麻烦(我们当时没有过多的看规则,后来才知道我们选的是基础四轮组)。

        后来在网上看省赛和国赛,发现三轮车在基础四轮组车没人用,主要是三轮后驱转向很不稳定,控制起来比较困难,很容易出现甩尾现象。F车模是第十三届比赛推出的,当时有三轮电磁组别,即电磁组只能用F车模。所以,现在感觉,当时自己确实什么也没搞清楚,就开始做车了,其实,我们实验室老师近两年也没怎么关注过比赛,所以也没有说清具体组别(其实组别年年都有些变化,得看规则)。

三轮电磁(网络)

        至于控制器,到后来才发现,由于我们看的智能车制作文档比较老,采用的控制器是MC9S12XS128(当时不知道网上竟然还有龙邱、逐飞等商家,找了一家小店,买了控制器后,连库函数也没有,还得自己写,浪费了不少时间,后来找到龙邱,提供的库函数真的好用),但那时已经是5月中下旬了,所以来不及再换高性能的控制器了。但现在想想,虽然我们组采用的单片机有些过时,但单片机的内部资源完全适用于智能车,所以处理电磁组别没有问题,仍然还是程序算法的原因。

        虽然,我作为队伍里的学长,其实,也是第一次做车,所以并没有任何经验可谈。在画板子前期,需要查阅些资料,弄清楚智能车到底需要哪些模块。经过一系列的查阅,发现智能车主要有电源模块,控制模块,电机驱动模块,电磁采集模块等重要模块。于是乎,通过自己一个多月的努力,终于整出了我们组小车的电路板。其中一块为控制驱动一体板,另一块为电磁信号采集板。由于当时弄好板子打样后,由于疫情原因,还没有开学。所以,为了加快小车制作进度,不得不在家里焊接。当时,自己的焊接基础也不是太好,在加上前期并不知道0603封装的焊接难度,所以只能硬着头皮去焊接,然后调试。

主板 电磁信号板(正面) 电磁信号板(反面)

        不过,幸运的是,由于前期在板子设计的时候,花了不少的功夫,所以,没有出现太大的问题。之后,我们就开始着手准备软件方面的东西了。我的队友从咸鱼上买了一套三轮电磁组的程序,然后,我就开始研究整体代码的框架以及每个模块的实现,从而能够将程序移植过来(之前学习过51以及stm32,所以有一些代码基础)。

        4.19日,终于熬到了开学,本想着和队友可以去508实验室做车。结果,由于疫情原因,拖了两周,经指导老师的批准,才拿到了实验室的钥匙,于是,两个多月的调车生活正式开始了。从刚开始每个模块的调试,到后来小车第一次跑起来,差不多花了一周时间。这里说明一下,我们实验室比较小,所以当时的赛道分为两部分,外围是长直道和四个弯道构成的圈,内围包括S弯,十字,圆环等,基本没有直道部分。

初期赛道

        而我们的小车只是在外围跑了起来,由于差速调得不好,或者说速度没有限幅,还出现过弯道加速的现象。紧接着的两周的时间,在调车的时候,出现了不少的麻烦。闭环出现了问题,不知道小车为什么会走着走着突然失控,非常不稳定。虽然排除了硬件和环境的因素,肯定是程序的问题,但就是找不出。后来,不知道改动了程序的哪里,小车在内赛道的速度已经快没有了,在那艰难的爬行。两三天没有找到问题出在哪,我们队伍里有一丝放弃的念想,但后来想想,不能放弃,没有理由放弃,挑战才是开始。偶然的机会,在恩智浦智能车论坛看到网友开环速度1.2m/s的调试心得,考虑到队伍里对于PID闭环,没有深刻的理解,(虽然看过不少的PID相关的文章,但最多就做过Proteus仿真,没有真正的实践经验),于是乎,先放弃闭环,改用开环,先实现跑完全程的目标。不过,第一次试跑,效果还不错,紧接着的两天调试,小车能够顺利地跑完内赛道,并且稳定性还可以。不过,还没来得及高兴,又出现了新的问题。在小车提速后,目测差不多0.8m/s,但此时,小车出现了明显的甩尾现象。但这个问题一直未得到解决。后来,我们的指导老师建议我们调整一下小车的机械,因为我们的F车模是后驱车,完全靠后轮差速转向的,车子的重心一定要压在后轮转轴上,才能减小甩尾现象。果然,我们将原先放在小车底盘的电池,用电池支架固定在小车的车尾后,有了明显的好转。至此,小车调试的第一阶段结束了。

三轮电磁俯视图 小车过环

        写到这里,我补充一点,今年我们电气学院的智能车实验室就只有我们一组在调车,之前实验室组好的其他几支队伍,都没有来。所以,实验室平时就我们组3个人,外加我们实验室指导老师(比较佛系,管理实验室不怎么严格),偶尔过来看看。我估计,再这样下去,实验室肯定年年没有战绩。中间,有那么一段时间,有两个之前搞过小车(校赛前1天驱动板烧了,没资格晋级省赛),来过实验室。其中一个是考研自习,那也就算了。还有一个,是我们实验室负责人,竟然以辅导小学妹学习的名义,谈起了恋爱。虽然,他在我们调小车的期间,给我们提供了关键性的帮助,但个人心里上仍然不是滋味。

        好了,话题扯远了。小车调试仍在继续。5.23,我们重新铺了赛道,此时,我们的赛道元素比较齐全了,有长直道,普通弯道,小S弯,大S弯,十字,环岛,圆环等,基本可以满足比赛的需要,当然坡道当时没加。铺完赛道,就让小车试跑了一下。效果还不错,小车除了环岛那边没做处理外,能够稳定地跑完全程。

破旧的赛道

        之后,我们就开始处理环岛,这个环岛似乎还是挺麻烦的。由于我们是电磁识别,主要通过电磁的阈值和标志位来对环岛进行处理,所以,必须找到环岛的特征。这里,指导老师也有参与指导,将进出环岛,和环岛内进行分段识别和处理,花了一个多星期才让小车能够稳定的过环岛。但好景不长,当我们提速后,小车过环岛又不稳定了,而且小车甩尾现象又出现了。后来,离考试还有20多天的时间,实在没办法,决定先将坡道和车库补上,先确保小车能够按规则跑完所有的赛道元素。之后,又是一个多星期的调试,最终,小车终于能够顺利的跑完全程,速度0.9m/s(有点尴尬,还不到1m/s),除了直道入弯有侧滑外,还算稳定,当然当时还是开环跑。此外,在硬件方面,我们重新改了PCB板,将小车的板子改成控制板、驱动板和电磁信号板。

赛道元素——环岛 控制板 电机驱动板

        此时,已是6月初,离校赛只有半个月的时间。由于我们学校电子信息学院年年承办恩智浦校赛的选拔,而且校赛在他们赛道跑,所以我们指导老师建议去他们赛道调试。于是,我们组就打听到电信院的实验室,去那里调试小车了。第一次去的时候,我印象特别深刻。他们实验室场地比较大,赛道就和正式比赛的差不多,而且赛道布置很得当,还有路肩。反观我们实验室,场地比较拥挤,赛道也比较小,而且用的材质确实和他们没法比,关键是,在空间有限的场地内,要将所有的赛道元素都铺上,着实有些困难。所以希望下届的时候,学院能给一定的资金投入。

电信院赛道

        本来我们以为电信院的小车应该在赛道上满场跑,然而我们去的前几天,他们那里的人也比较少,也不跑车,就在那里焊板子,调试硬件。但之前听说电信院这几年一直参加恩智浦比赛,并且取得了一定的成绩,所以这届也应该也很厉害。但不管怎么说,我们尽量避开其他干扰因素,继续调试我们的小车。

        至此,拉开小车调试的第三阶段,白天自家实验室调程序,晚上电信院那跑车。第一次在他们赛道跑的时候,小车似乎有些不适应,这也是识别算法和控制算法鲁棒性不强导致的,尤其是其中比较难的环岛跑不出来,坡道也误识别成环岛。所以,之后的一周,我们就一直在优化电磁处理和转向控制算法并且做了闭环处理,让小车跑完了全程,不过,还是会碰到路肩,这个问题一直困扰着我们。

电信院AI电磁组 AI电磁

        同时,电信院的小车也开始亮相了。一上来也是一辆电磁车,不过前瞻很长,而且是四轮组,跑起来电机声音很小,速度比我们稍快些,转向很灵活。刚开始以为是基础四轮组的,后来了解到是AI电磁组,不过当时还没有用AI算法跑,用的纯电感跑的。后期听说他们跑到2.8m/s,获得了国二。

电信院四轮组(俯视) 电信院四轮组(侧视)

        后来,他们的摄像头组跑了起来,由于今年摄像头限高,所以他们组的速度和我们差不多,但他们不能过坡道和环岛。同样的,他们也是四轮组C车模,其他赛道元素跑得比较稳定,而且电机声音也很小。

        后来发现其实我们的小车闭环压根就没弄好,小车跑到坡道速度就明显慢了。但此时校赛临近,在加上考试周,压根来不及在程序上做较大处理。偶然,经实验室老师的点拨,再次对机械结构做了处理,将小车的重心往后下方压。同时,我们看到电信院的轮胎做了处理,而且在跑之前,都擦拭轮胎。

相比之下,有点low的车

        所以,考试考完当天,也就是校赛前1天晚上,我们调试了一个晚上,效果很好,小车不再侧滑了,而且速度已经突破1m/s了。但当时还是还是有些慌,不知道校赛会是什么结果。第二天校赛,比赛名单上只有两组,一组电信院的基础四轮组,一组是就是我们。当时,跑下来也是很诧异。我们之前从来没有看到他们组跑过车,但当天他们的小车速度明显比我们组快,全程跑得顺滑(但过弯稍微有些振荡),尤其过坡道比较稳。但当时他们虽然也是三轮电磁车,但用的不是F车模,而是其他车模改装过的,但竞赛好像不能这样做。电信院的其他组别不知道因为什么原因,都没有比赛,所以,在我们看来,原以为竞争比较激烈的校赛就莫名其妙地结束了。电信院的领导当时和我们说,这次比赛没关系,继续调试小车,多和电信院的同学交流一下,为我们学校争光等一些看似比较客套的话。

相关文章

网友评论

      本文标题:智能车制作之从入门到放弃(上)

      本文链接:https://www.haomeiwen.com/subject/azmerktx.html