做了好久自动化打大神符,等比赛结束之后写一篇长博客把过程和代码放出来
时间线
比赛结束了
还有因为刚开始用优快云写博客,所以格式排版很bug所以希望大家 将就看
南部赛区比赛终于结束了,很遗憾本大人的队伍还是搞不过老司机们(毕竟一年级新生),而且因为某些”前戏“没有准备好,所以最后开发的大神符系统也没能使用,所以在此分享一下目前为止(实际也就认真做了几天成果,队长知道肯定不会很开心的)。
基本的设想架构:我方采用树莓派+摄像头实现图像处理部分,然后通过运算得出结果(密码串中的第n个数字在九宫格的m位置,m的取值范围为1 -9 )通过树莓派的UART传送到步兵车的接收系统,然后步兵车receive到树莓派传输回来的指令之后根据经验法移动到m位置处(假设初始步兵的发射装置:准星指向8位置,注意此处说的是九宫格的8位置),经验法就是我们在比赛之前,先对我们的步兵车进行一波训练:利用arudio通过设置不同的向上方和左方移动的时间,来使你的步兵车的准星能够准确的移动到目标位置,然后给从8移动到1-9的位置的这一套固定流程设置一个代号,这个代号可以随便设置,只要不重复即可,比如说从8位置移动到1位置的代号是‘q’,那我们当前密码串要射击的位置正好是九宫格中的1位置(左上角),那我们UART发送一个‘q’字符过去,步兵车接收到这个信号之后,按照预测的流程进行移动保证能够打中目标区域,该过程结束之后,我们在让发射装置回到原本的8位置(为什么要回到初始位置之后我会进行一下交代,这是出于节约时间的目的,毕竟我们的打击时间只有1.5s)。
大致的思路已经介绍完了,相信大家通过我足够冗长的描述已经差不多能够get到我的点了,下面我们进入算法部分,
首先是树莓派部分:此处主要是调用UART发送和接收指令的部分:
<