这次比赛从准备到比赛一共7个月,这7个月的时间里,让我学会最多的不是知识是团队合作。不管你以后在什么地方工作学习,必须要学会怎么去团队合作,这样才能发挥出最大的团队作用、这样才能提高团队做事的效率。在团队里有分歧是必不可少的,但是你们的目标一定要都是一样的,不要因为一个分歧影响你们整个团队进程。当然有些是不能用语言文字表达的,如果你们坚持下来就一定会体会到团队合作的重要性。这也许是你第一次这么长时间团队一起做事。你们要更多的学会忍耐。我觉得我们从预赛到赛区决赛到国赛可以说我们都是幸运的。智能车比赛带有非常大的偶然性。每年都有几个强队因为偶然性导致没有成绩,今年太原理工大学的摄像头因为小车硬件出了问题导致没有成绩不理想。北京科技大学在智能车比赛就和中国的乒乓球一样,几乎年年都是第一,今年又以绝对的优势拿下了第一,我觉得还是你付出了多少,你对小车的感情有多深,这样可以减低偶然性。从一开始的比赛我就过多的关注了北科,就说他们对车的爱护程度,比我们一倍还多,小车的轮胎是非常重要的,他们在放车的时候都是在车底下放用完的胶布,把车的轮胎垫起来。他们都尽自己最大的努力,用尽了一切的方法让小车发挥最好的性能,以减少出错的可能性。比赛的时候也听了一些学校的技术报告的比赛,也听了北科给我们分享经验,我觉得我比他们差了太多太多。
大二参加了恩智浦智能车竞赛一开始也是什么都不会。我们学院参加过很多届了,留下了大量的比赛经验。包括程序算法、硬件、机械机构、甚至包括一个网站。这些资料可以这么说它让我们这些新人站在了很高的起点。
从一开始团队的组合,一定要选择一些和你志同道合的人,如果你非常想参加的话组队一定不要马虎。组队我可以给你们分享一下几点。
1.一定要选择能坚持下来的人,这就看你们平时交往你认为那些行的人。但是前提必须保证你一定要坚持下来。
2.选择和你比较对脾气的人,半年多的比赛团队合作尤其重要,在这段时间你们接触的时间可能会比你室友接触的时间还要多。所以一定要选择慎重选择组队。
3.队员间的相互理解也是非常重要,这也是团队合作中要学习重要的内容。
组好队以后一定确定明确的分工。谁负责软件、谁负责硬件,谁负责软件什么部分、谁负责硬件什么部分。这样出了什么问题直接对号入座。这样能大大增强团队合作效率。出了什么问题我们能及时的解决。
组好队以后第一件事就是搭车模,搭车模的话我建议你们几个人一起制作车模,制作车模之前一定一定要多多去了解车模,阅读一些技术报告,好好看看以前学长制作的车模,机械有什么可有地方可以去借鉴。不要把车模装好之后觉得不合适又重新搭,这样的话浪费了一些时间,如果你让为这样很有必要的话,重新搭也无所谓,毕竟谁也不知道怎么搭才最完美。车模一定要做到机械结构高度对称,尽最大的努力,如果如果机械结构不对称的话,左右有明显的话那么软件写的再好也没啥用。你们以后也会被迫去改机械结构。机械结构有以下要注意的。我是做软件的硬件可会有些地方考虑的不全,但是我写的你们一定要注意。
1.舵机的安装。一定要确定方案怎么安装,一共有俩种一个立式、一个卧式。你们也可以创新一个自己的安装方式。注意一定要左右对称。
2.主控板和驱动板的安装。一定要考虑小车重心,不要太靠后,也不要太靠前。
3.摄像头的安装。摄像头尽量高点,因为我看国赛跑的非常厉害的队摄像头都比我们车模的摄像头高。
机械的安装我理解的不太深,你们可以看看其他学长搞硬件的经验。我们用的是B车模,车的轮胎是非常重要的小车在跑起来滑与不滑都看轮胎了。北科处理轮胎的方法是要在赛道上跑一个月到二个月才算打磨好一个轮胎。今年我们队使用大量的软化剂来使轮胎不滑的。我觉得轮胎是你们最关键的一步,也是决定你们成绩的重要因素。
我是写软件的,为了能快速的让自己的小车跑起来,我们用的学长的算法。半年中只是在程序中找bug,找逻辑错误。我们找出来不少,现在的程序错误或者是没有考虑到的情况也很少。在原来的程序中也增加了很多算法包括十字、斜入十字、坡道等。改动比较大的也有些地方,但是大体的寻线补线的思路还是学长的。就像是一支树干我们只是修理了一些树枝、增加了一些树枝。让树更繁茂。其实比赛快结束的时候我最遗憾的就是没有自己写这棵树干,虽然有可能不茂盛,但是这是自己的成果。薛静飞他们这个组就没有用学长的程序,寻线补线全是自己写的。他们的程序树干是写的。比赛的成绩你们也知道非常不错。他们非常优秀,也足以说明他们对这方面有足够的兴趣,也有很强的能力。我希望你们在用程序这方面多加考虑吧!半年多的时间足够你们完成很多事,时间绝对的充裕。这只是我对你们的建议。这么选择还要看你们的决定。
接下来我给你们写一下图像采集之后是怎么利用的。图像采集程序有例程,可以看一看。图像采集下来以后硬件二值化处理以后图像就是全变成0、1,白的显示为1,黑色显示为0。图像如下:
调节程序中的阈值可以来调节黑白程度。阈值的范围0到256。其中设置为0时全为黑色0,设置为256时全为白色1。我们用的图像是像素点60*120的图像。就是60行160列。小车放在赛道上首先找到有效的起始行。找到有效的起始行之后才能向前扫描。先从中间往俩边去扫描,比较这一列与下一列的值如果不相等就是跳变点,如果图像正确找到了倒数第一行的边线点,连续扫描三行如果都找到跳变点的话而且各个跳变点列数相差不多,我们就把倒数第三行作为起始行。找到起始行之后我们就可以在一个小范围内去搜索边缘线。大大节省了单片机工作的时间。当然也不要这种方法禁锢了你,现在单片机处理的速度和处理的能力都非常快,我们不用过多的担心时间,这个也和摄像头的帧数有关,在摄像头的周期内的时间里处理图像就可以,这个以后多查查资料。当然如果转弯或者是十字的话可能找不到左右边缘线这样我们就要去补线了,根据下面的差值来推测上面边线的范围。例如:
这些图像我都会给你们一些,你们也可以根据这些图像去判断比较你们的图像是否在采集中有些错误。找出左右边缘线以后你就可以算出中线,舵机打角、曲率的判断都是根据中线得到的。中心线的正确提取是软件中最重要的一步。如果中线都没正确的处理那么几乎所有的都是错误的,起始行、边缘线、补线都是为正确的算出中线服务的。如果中线正确出来了,图像处理就完成了。接下来就是怎么让你舵机打角正好满足正确的路径,可以看北科比赛的视频,就会知道我们的路径和他们相比有多大的差别。图像处理好以后你就要想怎么去分配行值。一共60行我们一共分了6组,因为这60行你不可能全用到,远处一定没有中间重要,近处相比中间也没有中间重要。所以我们可以利用加权来达到这个效果。这个自己尝试,组别的分配,权值的给定自己去尝试。从而去满足速度和舵机打角俩者之间的关系。速度越快理论上远处给的大一点比重多一点,速度慢则需要近处大一点,远处比重小一点。
还有一个比较重要的就是速度的PID调节,速度PID直接会导致小车直道加速效果,和弯道减速。PID调节这你们一定多找些资料,上图书馆借点书,深刻理解一下。PID调节在许多实际工业生产中还可以用到,用途很广泛。你们可以借助虚拟示波器来调节,确定什么P I D参数比较合适。 可以看看北京科技大学的技术报告。尽量看前几届的写的是都是原版的。最理想的就是能使小车快速的加速减速,那么PID调节的就很棒。
智能车比赛从头到尾没有太多的东西,关键我们参加比赛学习到一种能力。也不是所谓的奖项。什么是教育,一位哲人说过。就是当你把学校里学到的东西都忘掉以后,剩下的就是教育。比赛也是我们要学会创新,第一在调试的过程中找到好的方法去调试能大大的节省我们时间,也能提高我们的效率。我觉得在什么方面都要去创新,有什么好的方法去方便我们办事,能提到我们的效率,能帮助我们更好的解决问题,才是最关键的。第二团队之间的分工尽量明细一点,这样小车出了问题我们能及时解决,避免产生拖延、降低效率、耽误时间。第三遇到什么问题能自己解决的一定自己解决,有些时候问的问题学长解答之后都觉的自己在想一下就明白了,查一下资料就会了。自己想几次实在没有办法了,在问其他的人。
也希望你们参加比赛的小伙伴们能全力以赴,认认真真做好每一件事,最后能取到好的成绩。
2022-07-15 21:41:12
10.4MB
ov7670
1