挫折之后的成长
2021年的电赛过去近两个月了,这是我第一次参加电赛,虽然最后没能完赛(我太菜啦!)但是经过这次的电赛的经历也让我认识到了和大佬的差距和自身的不足。也让我彻底爱上了这种学习、设计,制作、头脑风暴的感觉。希望自己能记住这次的失利,记住这落差。不会被一时的挫折而抹杀专注和热爱,以后好好玩且玩好!
赛题分析
我们组选择的是F题:做一个送药小车,基础题一共有三个任务(因为是第一次参加电赛我们就奔着基础题去了),小车先要在起点识别出给定的数字(数字打印在纸上),取到药品后循迹去数字对应的药房,然后等待药品卸货,最后自主返回起点。
4号早上题目出来后,我和队员们一时都傻了眼!因为我们都是大二的同学,如果此次电赛不推迟到11月的话,我们队伍甚至才大一,我们谁都没有做这么难项目的经验。实不相瞒,以我们团队目前的水平只能写个51单片机,当时五月份报名参加电赛的时候也是抱着见世面去试一试的,而参加这次比赛的学长们,也都放弃了以往相对简单的但今年难度上天的小车题(当然其他组的题目也不好做),所以我们面对的情况就是,全校就两组在做小车题(另一组也是和我们一样,大二,没有相关经验)。
电赛F题的难点:
1.循迹:
我做过一个用红外来循迹的51小车,但是题目为了增大难度,如图,轨道中间的线是红色的(因为红色和赛道背景的白色反差不像黑色和白色那样大😭),所以用不了红外的方案。这下我们想到的就是使用OpenMv进行视觉循迹(其实也可以用灰度传感器!),可是我们从来没接触过OpenMv,只能现学现做,还好我从一个做无人机组的学长那里借来了一个OpenMv,这让我能题目确定之后立马开始学习OpenMv。然后老师也帮我们买了新的OpenMv模块,解决了燃眉之急。
在我开始学习OpenMv的时候,另外一名队友在做小车的硬件部分,因为实验室有很多四驱小车的车模,所以我们最后就采用了。
我们用的是Arduino uno当下位机,原因是arduino比较简单,程序很好写,我当时的想法是信息处理和电机动作控制都在OpenMv上做,arduino只用来进行简单的收到串口通讯指令后控制电机和两个LED灯。
红线循迹的部分我第二天实现了,也能识别出十字路口,然后停下。
2.数字识别:
数字识别我也用的是OpenMv的模板匹配,识别效果还行,就是对小车的角度和距离都比较高,但是没办法,比赛已经到第二天了,再买元件已经来不及了,只能硬着头皮做下去。
数字识别在第三天的最后也做得差不多了,到这里,小车已经能从起点出发,循迹找到十字路口后,停下来进行识别了,或者进行转弯。两天内从0开始学习到能识别到数字还是很激动的,这得益于OpenMv好上手的特性,这也是我当初选择OpenMv的原因。可也带来很大弊端,因为我从来没有学过python,后面逻辑部分没有了历程的支持我就遇到大问题了。
最后还在写代码的老胡(请忽略我们很乱的实验室 😂 )
3.逻辑
赛题要求一套代码解决所有问题,对没什么经验的我来说,这难度比上天还难,因为我们只有OpenMv,所以只能在上面又跑循迹又跑数字识别,逻辑就很难写,虽然我们队伍里面有一位计算机的同学,他学过python,但由于我们都是第一次接触OpenMv,在最后我熬了一晚上,白天又战斗了最后十几小时之后,我们还是失败了。
总结
其实不难发现,我们这次的失败是必然的。因为团队里面没有一个人有学过这些知识,知识储备不足是一方面。还有队员的任务分配也出现了一些问题,电赛是三人一组,我们当时的分配是一个人负责打杂和写设计报告,另外两个一个负责整个项目的制作部分。因为选择的题目对我们来说太难,除了我学习了点OpenMv之外,另外两名队员没能参与进来,导致分工不合理。
但我还是觉得能参加这样的比赛,很值得,比赛的过程很过瘾,特别是解决一个又一个问题的过程。这让我更加有动力去学习,补缺补差。明年的比赛我们还会参加的!
感谢
❤️真的很感谢比赛中学校和老师们的帮助,也很感谢好队友给我带饭,能让我选择困难的题目挑战自己。