2021年G题-植保飞行器+380844A - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版 professional

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

标准版 2021年G题-植保飞行器+380844A

  • 1.5w
  • 16
  • 94

简介:2021年电赛G题植保飞行器,国二。飞控使用TM4C12G与匿名凌霄IMU,视觉使用OPENMV。

开源协议: CC-BY-NC-SA 3.0

(未经作者授权,禁止转载)

创建时间: 2021-12-08 20:49:18
更新时间: 2023-07-07 20:51:45
描述
1.前言:
这次参赛是作为队长的我第一次参加电赛国赛,同时也是最后一次,因为比完赛已经大三了。本次电赛给我们的体验就是非常差,主要是比赛时间一拖再拖,原先在暑假准备了一个月,结果比赛前一天晚上(8.3)通知延期,最后才确定11.4线上评比。但是拖延的时间也给了我们更多的准备时间,我们原先只是做了17年19年电赛无人机的部分,但是因为延期两个月我们将前几年的无人机题都差不多做了一遍,收获不小(主要是积累了不同的代码,到时可以直接用)。线上比赛,那场地就是由自己学校设置,这样我们就不用担心测试场地与比赛场地差异过大导致发挥失常。总的来说今年电赛延期有利也有弊。
 
2.团队介绍:
我之前参加了挺多立创举办的活动,所以对立创EDA比较熟悉,本次电赛我主要负责无人机的飞行控制部分与飞机调试。
队员A负责飞机调试以及报告撰写,成员B负责飞机视觉以及报告撰写。
 
3.项目分析:
先看下G题的要求
 
1. 基本要求
(1)飞行器在“十”字起降点垂直起飞,升空至 150 ± 10cm 巡航高度。
   这个简单,起飞用激光模块定高1.5M即可,然后增加高度环保持全程的高度为1.5M左右。
(2)寻找播撒作业起点,从“A”所在区块开始“撒药”作业。
  这个从A点进入需要用到视觉,那就老朋友OPENMV,可以用色块或者模板匹配法。
(3)必须在 360 秒内完成对图 1 中所有绿色区块进行全覆盖播撒。
  这个也简单,飞行速度自己设定一下就可以了,我们全程移动速度都是25CM每秒,飞完全程一分半。
(4)作业完成后稳定准确降落在起降点;飞行器几何中心点与起降点中心距离的偏差不大于 ± 10cm。
  这个不难但必须要用视觉,也要用OPENMV,先识别圆,然后再从圆的区域中找黑色块,用中心坐标来确认飞机在起降点上方。
2. 发挥部分
(1)将作业区中任意位置的 3~4 个连续播撒区块改为用非播撒区域颜色覆盖,重复基本要求(1)~(3)的作业。
  如果要检测是否在播撒区域就需要检测飞机下方是否是绿色,但是我们是直接定时器打点,没有检测这个,因此会扣分,但不会没分。
(2)在作业区中放置一只高度为 150cm、直径 3.5 ± 0.5cm 的黑色杆塔,杆塔上套有圆环形条形码(放条码的高度为 120~140cm);作业中或返航途中,飞行器识别条形码所表征的数字,用 LED 闪烁次数显示数字,间隔数秒后再次闪烁显示。
  这个我们试过OPENMV了,基本识别不到所以就看运气了,因为杆的位置比赛前我们不清楚放哪,同时OPENMV飞行途中很难识别清条形码,听别人说要用专门的扫码器。LED显示直接用OPENMV控制即可。
(3)以起降点“十”字中心为圆心,以上述(2)中识别的数字乘 10cm 为半径,飞行器在该圆周上稳定降落;飞行器几何中心点与该圆周最近距离的偏差不大于 ± 10cm。
   这个我们当时比赛现场选出来的条形码数字是2,所以这个半径为20CM,然后我们飞机降落是很准的,只要在圆内就在那个误差内,这部分就拿下。
(4)在测试现场随机抽取一个项目,30 分钟内现场完成一组飞行动作任务的编程调试,并完成飞行动作。
  本来这部分是很简单的,我们也做好准备了,但是这部分被取消了,全国都没这项分。
(5)其他。
  蜜汁其他,没管。
 
2021年G题为飞行器题,题目中的比较难的点是如何给飞机定位以及在飞行途中识别竖杆上的条形码。
因为我们只有光流和OPENMV,这两个检测地面来定位飞机很难,尤其是光流容易失效在这种纯色地面,只有A点与起降的的圆是能让OPENMV识别到的,因此我们进场后的飞行都是开环飞,按照前进50CM之类的一步步来,飞行速度25CM每秒,打点1秒一次,然后在识别A进场后开启打点,退场时停止打点,并且在OPENMV识别到圆时,飞机进入闭环飞行至圆上方后开始降落。这样全程只用不到两分钟就能飞完,也能拿到尽可能多的分。
5.原理图电路分析:
飞机题按惯例基本都不用自己画PCB,只用堆模块然后写程序,但是我们队自己画了飞控底板和OPENMV底座,使用匿名IMU以及对应的TM4C123G核心板。
所以说下硬件组成吧,首先是飞控、激光模块(测量高度)、光流模块(用于测量飞机速度),这三个都是由匿名科创配套购买的,对应接线需要按照匿名官方接线图连接。
仅有两个OPENMV是我们自行购买并通过串口连接飞控(飞机侧面一个用于扫描条形码,底面一个用于识别A和圆),分别连接PCB上的UART2、UART3。
 
这里放张我们按照匿名凌霄IMU的外设图设计的供电底板,我们用的飞控主控是TI的TM4C123G。
重点就是这个供电,其他的都是些SH1.0的UART接口之类的。
JJqsJyeyc7vJWuOlqD2eGwTeDzsCFxcp1F5k4elU.png
BUCK电路IIC用的TI的TPS5430,能输出3A电流,用来带飞控和两个OPENMV够用了。
 
6.PCB设计分析:
我们画的飞控底板就是为了给匿名IMU和主控供电用的,没有什么高速线,按照底板原理图布线即可,电源线粗一点,因为我们设计板子的时候
是按照F330机架固定控来设计的,所以可以直接固定在F330上,然后板子也足够大,用两层即可画完。
能看到飞控板除了供电全都是接口,各种串口接口、接收机接口、供电接口、TM4C123G核心板接口、IMU接口等。
6HcXmXAAp1RxB2zHyKml8p3FoLphRxQ8uJLzEjPF.png
7.实物展示:
飞控板焊接好后如下
然后是整机图,这是比赛之前的,侧面的超声波我们用来绕杆的(2019无人机题)
可以看到飞控板能刚好装在F330的固定孔上面
8.作品装配:
我们用的机架是F330机架,把飞控板装顶层用螺丝固定即可,其他的电机螺旋桨之类的按照规定安装即可,像螺旋桨转向之类的都是基础中的基础。
然后就是匿名配套的光流、数传、超声波的配件,按照匿名手册安装即可,可以参考我们的安装方法,OPENMV我们接的是串口2和串口3
9.程序设计:
重点代码都在USER_TASK.C里面,其他文件都是匿名配套的程序,基本不用管。
飞机强制降落是通道5,程序选择是通道7 8,起飞是通道9,程序主要部分都注释了,但也有其他无用部分,比如巡线绕杆之类的,这些都是我们备赛时用的,正式比赛用不到,但是可以用来参考。
执行飞行程序前请将通道5,7,8置低位,通道6置中位,最后在置高位通道9即可运行箭头所指植保飞行器主程序。
LtHGmrK7fCgdwAgnPQVCF6CfeMhUezgHp6UL3zTH.png
然后下面部分开环飞的程序代码,其实很简单,就是向某个方向飞多少厘米然后再向另一个方向飞,这是开环的方法。具体路线看总结部分。
例如Horizontal_Move(100, 100, 0);第一个参数100是移动距离,第二个参数一百是移动速度100cm/s,第三个参数0是移动方向,机头为0顺时针方向。
然后time_cnt - 3000的功能是等待三秒,3000的单位是ms,是为了给飞机每一步移动预留足够时间。
zDiK9zTCqHx9k94hJcMqCJoaEsOCtlZPXnEmPfRr.png
10.总结:
我们在读完G题的题目后就确定了要使用开环的方法,因为今年的飞机题很特殊,很难用OPENMV确定飞机自身的位置,然后地面又是一片绿色,导致光流时不时失效,然后使得飞机飞行方向出错。因此我们选择最简单的方法,直接开环,按照预先设置好的路径来飞,使自身得分最大化即可。同时我也听说其他队伍说过定位的方法,比如UWB,SLAM等,那些东西对我们队来说太遥远了,一是压根就没接触过,二是4天3夜根本来不及准备,三是实在太贵了。
我们的设定的路径是这样的(如下图),这样飞留有足够的冗余,能使我们的得分最大化。
LR156McuSjKxwqD4LBCT7Yj458ZU4NOEgf4MkWdC.png
但是实际飞行时,由于光流失效导致我们有略微飞出边缘,同时光流失效也导致了我们移动距离出现偏差。
至于拍照我们在比赛现场发现杆的位置和图里面的基本差不多,我们也不知道拿没拿到这部分分,不过我们降落的很好。
在比赛之前的4天3夜调试中,我因为改代码时不小心把CASE语句中的BREAK漏掉了,然后飞机两次从降落点直接锁电机掉下来,把脚架摔断了,最后用DEBUG模式才发现是漏了BREAK,跟其他组比起来我们算是轻微炸鸡了。
总的来说,电赛前一定要用往年的题目练练手,然后积累一部分可以直接使用的模块化代码,比如我准备了一键起飞定高、一键强制降落等。这些在调试时十分用,可以帮你节省实际以及减少炸鸡。在比赛题目出来的一小时内一定要确认好方案,比如我们确认使用开环的方法飞行,闭环降落,然后使用OPENMV做视觉处理。同时4天3夜期间一定要多现场调试,这样你才能尽可能模拟比赛现场,熬夜的话看自身方案是否允许,比如我们飞机题受光线影响很大,早上和下午用开环飞出来的结果完全不一样,因此我们晚上就选择11点休息,因为晚上调不了飞机,只能写写报告然后第二天早点过来调试,如果不受场地影响通宵调试还是有点必要的,因为你能多很多时间,但切记身体第一。
11. 附件:
视频太大了,因此在附加放的链接,附件还有飞控代码以及OPENMV的代码
设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
工程视频/附件
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

温馨提示
动态内容涉嫌违规
内容:
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

support
  • 开源平台公众号

MP