关于电赛

关于电赛
chonqin25年电赛E题回顾与总结
电赛历程回顾
前期备赛7.15-7.29
从7.15开始,先后购买了灰度传感器、小车车模、k210视觉识别模块、180°+270°二维云台,画了两版MSP拓展板,完美完成24年H题,学习使用了git工具合并代码,上述模块的驱动开发,逐飞MSP库的使用。23年题目没来得及搞定。
电赛中7.30日7:30-8.2日20:00
第一天
早上,一早过去开题,随后就讨论了方案的选择,基本定下了基础部分的逻辑和个人的分工。对于270度舵机是否需要更换的情况进行讨论,最后决定更换成360度舵机,还重新定制了一版亚克力板子。
下午,直接开始写小车循迹代码和视觉识别代码,硬件在搞激光笔的移植更改,一开始搞好了,几个小时后原来的激光笔烧了,重新买了一个。
晚上,硬件队友测试舵机时用电脑USB直接驱动舵机,把电脑烧了。-1000块。此时,小车循迹逻辑已经搞定,用小型车模在不装载云台的情况下调通PID,成功完成任务一。视觉识别部分也完成了,但是由于k210硬件限制,帧数很低,当时还没有意识到问题的严重性。
第一天没熬夜,好多材料没到,于是11点回去睡觉。
第二天
早上7:30到位了,硬件队友去修电脑了,测试舵机逻辑,讨论并继续写后续任务逻辑。搞k210与云台的驱动时,出现了严重的问题,k210帧率识别太低,原来的方案:“旋转一圈直到识别矩形后云台停下”放弃,改成“旋转一定角度后停下来等待响应识别”。
下午,亚克力板到位,360°舵机到位,硬件按要求焊接第二个开关模块,飞线连接各个模块并将开发板与云台装车,车辆大体结构装好,激光笔就为,各个硬件要求达到。软件接着写逻辑,目前为止还算顺利。
傍晚,突然间天猛星工作时发热很严重,一通测试后发现是其中一部分被击穿了,导致开发板持续发热升温,很绝望当时已经没有别的好的开发板了,最后决定赌一把,把一块核心有问题但是其他部分没问题的元件拆下来放到那块其他部分元件出问题的上面,硬件队友很给力,还是救回来了。给我们吓出一身汗。
修好后,根据新车结构调了一版PID,使小车完成任务一。
凌晨到第三天早上五点,熬夜测试云台的旋转角度多少合适,测试k210识别的最短时间为多少,测试了一晚上,大致测试出了时间,但是还是很难推进任务。五点睡觉。
第三天
早上八点起来,一早上接着实验测试云台旋转的时间与停下的时间,很折磨要么就是识别成功但是超时打靶,要么就是识别不到,k210帧率又上不去了,这时候很绝望差点就弃赛了。
中午,我找人借了一块OPENMV,一通测试后帧率能有40帧,又好起来了!感觉有希望继续做下去。立马动工修改了方案,又改成了最初的方案“以一定速度旋转一圈,识别到后停下”。硬件队友更改优化了小车的结构,让摄像头和激光笔的物理距离拉近了,减少了软件的工作。
下午,突然间,OPENMV变砖了,拯救了一个小时都没搞好,这个时候真想哭了,好不容易看到点希望又破灭了。突然,想到了k210送的SD卡,把程序放到SD卡后插入OPENMV后,成功了,又有希望了。
晚上,一个继续搞云台控制,一个搞OPENMV视觉。吃完饭回来后突然,程序出BUG了,舵机不转,一通查BUG,查了一晚上,最后发现PWM初始化的时候多打了个0。
凌晨到五点,更改方案让OPENMV计算PID结果再串口通信给MSP调控占空比。两个人一起联调云台控制,修改参数,搞到五点睡觉。
最后一天
早上八点多起床,人已经很晕了,接着搞云台控制,总是会出一些bug,然后找找半天很浪费时间还是没休息好,人太晕了。
中午,跑了一下第一问,突然间又有问题了,总是会跑出线然后转弯次数加一了,当时没想出来原因,现在回头看了一下估计是环境光线和电池电量,电压不一样会导致写死的转速不太一样,环境光导致灰度有时候会读取错误,这个问题待解决,要尽量排除这些外部因素影响。
接着搞云台控制,发现OPENMV在复杂环境下的识别有问题,有概率识别不到,并且距离远了识别不到矩形框,赶紧想办法解决,没有什么很好的思路。
傍晚,快封箱了,改了一版新的视觉,复杂环境下的识别有了保障,但是距离远了还是难以解决,硬件限制死了,最后第三问只能看运气了,距离只要不是最远处都可以识别。
临近结束,最后跑第一问,又出现大问题,转弯会跑飞,最后10min赶紧修复,踩点修好,吓出一身冷汗。
最后,成功封箱,收拾东西,休息。
最后拿去测评,第一问出现循迹计数不准,少跑一段路程和在拐角处跑飞出去的问题.
