致我唯一一次全国大学生电子设计竞赛

首先感谢我的两名队友聪神和叶神解决图像处理和机械结构的搭建。


前言

我的唯一一次国电赛在周三结束了,省里的结果已经出了,还不错,但当看到结果的那一刻,我越来越感觉到我的电赛之旅似乎结束了,忽然有点怅然若失的感觉,觉得肩头的担子似乎变轻了很多,但是这次赛题又让我觉得肩头的担子仿佛没有完全卸下,现在比赛比的东西是愈发新颖了,而我们实验室用的东西还是比较传统的,虽然用着传统的方法也能较好的完成赛题,但如果技术手段能更先进一些,或许能完成的更加轻松、更加完美。总有人需要探路,之后就让我们这些大三、大四的先行吧。


以下是本篇文章正文内容,首先介绍国赛前我们至少应该具备哪些能力,接着分析本次的赛题,最后回顾一下本人两年来的电子设计经历,本文适用于做运动控制题的小组。

一、国赛前,我们应该具备哪些能力

1.1 硬件部分

大多数的硬件部分是我们在比赛前一个月就已经准备好了的,就是我们画的那块最终的主控板,但是每个组的同学至少需要一名同学具备有了原理图之后可以很快的确定怎么用洞洞板将其功能实现的能力,因为我们的主控板上不可能外拓了所有的外设,有些外设是需要根据赛题来现场搭的,现场搭的电路不会特别复杂,电路设计好后就需要每组负责写报告焊板子的同学去将这个电路实现,所以焊洞洞板的能力也是必须的。
今年的机械结构是两个学机械的小伙伴给的方案,搭的非常稳健,需要调节的地方灵活度也很高,可以说是为我们实验室取得不错的成绩打下坚实的基础,还是那句话,硬件是软件的遮羞布,所以大家可以多联系联系机械那边的同学,有他们在真的可以解决我们不擅长的事情。


1.2 软件部分

我们运动控制组现在用的算法还是经典控制那一套,所以大家熟练的掌握两种(位置式和增量式)PID的算法就可以了。位置式PID用于姿态控制,增量式PID用于电机调速。在国赛前,每组的队长至少要具备五分钟内就能写完一个电机的转速闭环或者是位置闭环等等并实现,一定要对自己的PID算法结构非常熟悉,国赛的四天三夜里没时间让你再从PID的底层结构开始熟悉了。对于一些简单的惯性系统,采用PI控制的时候,我们应该做到参数不需要调,在纸上大概的算一下,误差大概在多少的时候是需要快速调节的来确定我们的P,当I值给1的的时候每秒钟积分的输出是多少,我们想要的每秒钟积分输出是多少,以此来确定I值大小。因为惯性系统我们给PI值就算不太理想的时候也是能趋于稳定的,所以无法根据现象来调参,反而不如在纸上算出来的参数更加理想一些。
比赛前需要将主控板上的资源全部调通了,并且能在1分钟内就将任意一个外设调出来使用。赛前需要多尝试各种PID的串行连接,试试看他们都有什么样的效果,建议大家都自己调一遍平衡车、旋转倒立摆,调成功之后也可以以这两个为载体去试试看自己的串行PID想法。而且做完这两个作品之后也能让自己有一些做国赛的底气吧。
要比赛了也不用太担心自己水平是不是还没达到要求,怕什么真理无穷,进一步便得一步的欢喜。


二、2021年F题分析

2.1 赛题

请添加图片描述


2.2 分析

拿到题目,我们要确定这个作品的难点是什么,需要实现的闭环有哪些,有没有做过这一类的闭环,如果没做过的话是否容易实现?
我们简单分析这个题目之后就可以得到,我们需要闭的环并不多,我只做了用陀螺仪实现的偏航角闭环。这题的难点在于精度、逻辑和图像处理。
我觉得最紧要的是解决图像处理的问题,因为我们实验室用的还是OpenMV4,看见赛题的时候我第一个想到的就是OV4做稍微复杂一点的图像处理的时候帧率都比较低,这样低的帧率能否支持小车运动时是否能够识别,据我们的能力OV4做数字识别只能用模板匹配和特征点检测,但我们之前在用特征点检测的时候感觉特征点检测的方法误检的概率比较大,所以这次我们用的是模板匹配,而用了模板匹配之后,摄像头的帧率肯定就上不去了,最后在每秒8帧左右,所以我们实验室每一组的小车都需要在路口减速给摄像头相对稳定的拍照时间,勉强能用。一开始我们采用的方法是抓取灰度图,因为灰度图占用的内存比较大,所以存在外拓的SD卡中,那时候的帧率只有4帧左右,之后我们先将图片进行二值化,这时一张图片只有1KB左右的大小了,这时候我们将图片存在芯片内置的flash中,读取速度更快帧率提升一倍,效果变得更好了。
今年走直线我们大多是用的编码器来记录自己走过的距离,需要注意的是最好每一个路口将编码器的值更新,从零开始重新计数,因为编码器相对来说不太准确,记的步数太长的话可能会造成误差的累计。
最后关于程序的框架,我在比赛的时候是将路程一共分为了两种情况,一种是直行90cm,一种是直行55cm,转弯的话要么左转要么右转,所以我的所有路程都是由这四个子函数构成的。但是调到后来我发现函数封装的这么死也不太好,因为每一段路还是有一些区别的,比如说我在去的时候,直行时到路口是需要减速的,而回来的时候我是不需要减速的,所以我后来改起代码反而比较麻烦,牵一发而动全身。之后做比赛的话还不如每一段都写一个函数,反正大多数都是相同的,复制粘贴即可,只有一些小细节修改一下即可。


总结

现在的电赛对图像处理的要求越来越高了,并且不限制嵌入式的使用了,还在用OpenMV4的我们已经感觉到捉襟见肘了,我看网上有很多人用OpenMV4Plus、K210跑神经网络效果都很好,嵌入式更不用说了,直接降维打击。这次电赛真的让我感受到时代在进步,再不学习就要被淘汰了。比赛前信心满满觉得自己做好了准备,拿到题的时候还是觉得自己太年轻了。人工智能已经是大势所趋了,虽然单片机在实际应用中的性能仍然是过剩的,但比赛的老师就是希望看见更新更好的东西,也确实应该这样。竞赛比的就是更高、更快、更强。控制算法的底层大家已经写的比较完善了,更先进控制理论(ADRC、MPC、LQR)让本科生在四天三夜内做出来也不太现实吧,纯控制的题目不太好出了。现在大多是和图像处理结合,神经网络已经变成标配了,深度学习还会远吗。以后比赛啥也不干,每隔几个小时训练一次样本就完事了(手动狗头)。大家学习的过程中学的不是某一项具体的技术,培养的是一种学习的能力,一种分析问题和解决问题的方法,保持思考,保持热情,加油!
电子设计陪我走过了两年的大学生活,在其中确实收获了很多,不止是奖项,得奖也许很重要,但我想更加珍贵的是老师的帮助,同学的陪伴与共勉,一起通的宵,和那一段段闪闪发光再也回不去的岁月。暑假的时候实验室经常一起去打羽毛球真的很快乐。今年比赛测评完,出测试场地将作品封箱准备第二轮测评,秦导抱了我一下,并且拍着胸脯骄傲的对其他老师说,这是我的学生,真的让我觉得两年来所有的付出都是值得的。秦导黄导是两个非常好的老师,和我们平等的交流,没事的时候秦导就拉着我们一起吹牛,给我们讲坐标系变换、FFT、小波分析、空间滤波…让我们更加理解各种变换之前是为什么要进行变换的,平时秦导就一个人拿着扫帚打扫416的卫生,我猜学院里不会有别的老师帮学生打扫卫生了。之前在调试小飞机的时候,黄导来问我,少文你需要啥帮助不,我甚至可以给你钱(哈哈哈)。感觉上大学以来,真的遇见了很多不错的人和老师,大家都很乐于帮助我,我也当所有人的舔狗,无脑的舔着大家,哈哈哈哈活得是越来越没心没肺快乐加倍。希望给416实验室能留下一些新东西之后就顺利的毕业咯。我的梦想是成为一个博学而无私的人,博学这时看来还有很长的路要走,现在就先做到无私吧,少一点套路,多一点真诚。学数学建模的时候也让我更加理解这个世界是怎么运转的,在学PSO粒子群算法的时候我觉得我的人生都得到了一定的启发,果然愚昧来源于无知,吾生也有涯而知也无涯。慢慢的看淡了很多事情,拿不拿奖也不重要了(这话我也只好意思在拿了奖之后说,就像小老板说自己不在乎钱一样的虚伪,哈哈哈),现在趋之若鹜的,不过是一些年少时的执着,随着时间的流逝,往往都是过眼云烟。珍惜眼前人、眼前事吧。大道至简,道不远人。

猜你喜欢

转载自blog.csdn.net/qq_45977463/article/details/121327395