回顾21年电赛

说实话挺不想回顾这场电赛的,因为这次比赛的结果与付出严重不成正比,但生活的真相就是这样,努力有时不一定会有回报,罗曼罗兰曾经说过:“世上只有一种英雄主义,就是认清生活的真相之后依然热爱生活”。

最终作品,一个送药小车

题目介绍

其他组的题目都是关于信号采集,AC/DC的这方面没怎么接触过,只有F组是关于送药小车的,正好手头有一个车架,于是就选了F组的题目。题目要求是先搭建下图带有几个路口的赛道,一共有八个药房,小车从起点出发前要先识别一个1到8的数字,然后根据识别到的结果小车需要沿着红线找到对应的药房。

题目要求

实现过程

电赛每个小组有三个人,小组另外两个人,一个人只会写文档,一个人资历尚浅(现已是大牛),所以基本除了写文档的所有工作都落我头上了😭。首先要解决的就是识别数字,最好的方案就是拿K210,因为K210训练部署视觉识别模型迅速,并且有专门的NPU((神经网络处理单元)加速单元,识别也较为迅速。但是由于学校对于这类比赛很是轻视,没有任何资金补助(连电赛要用的纸箱子都不提供),赛前并未准备这类视觉识别模块。手头只有一个树莓派,网上利用树莓派识别数字的教程还挺多的的,多用python+opencv+tensorflow实现,我也尝试了一下发现识别的帧率只有十帧不到,这根本满足不了比赛的需求。此时已经到第二天上午了,电赛一共只有三天四夜的准备时间,万愁莫展之际我想到了一个下策,调用数字识别API,这可能有点耍阴招,但我看规则也没禁止这一行为(可能电赛加入视觉识别还没几年)。于是最终选择了调用百度api实现了数字。

接下来就是识别红线了,幸好学过一点点OpenCV,先对图像进行预处理,包括灰度化、平滑滤波、二值化,然后就能轻松框出红线了。效果如下

识别红线

接下来要实现让送药小车沿着红线前进,根据识别红线框出的框在视野中的坐标对车轮转速进行PID控制,但还是由于客观设备的限制,手头只有普通的直流电机,没有编码器与编码电机,这样就无法对转速进行闭环控制,所以最后沿着红线行驶时,超调量较大,导致有时就会沿着红线左右摇摆。效果如下:

时间能力有限,到最后一天只能调成这样了,这个效果拿个省二等奖应该问题不大。但是到了最后开箱正式向评委展示的时候,发现电池没电了。。。。(调试时间太紧张,封箱前忘了给锂电池充电了)。最后小车动都没动起来,果然最终还是小细节决定成败啊😭。结果已经无法改变,总的来说这次电赛我还是学到很多的,三天四夜就没睡几个小时(提前体验996生活?😇),一直在调试软件硬件,查资料编代码的能力还是得到了一些锻炼的。

如果觉得本文对您有所帮助,可以支持下博主,一分也是缘😊
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
下一篇