
2021年G题-植保飞行器+零队
简介
本工程为2021年全国电赛G题“植保飞行器”作品,获得了全国一等奖的成绩,下面对本次比赛的作品进行详细的介绍。
简介:本工程为2021年全国电赛G题“植保飞行器”作品,获得了全国一等奖的成绩,下面对本次比赛的作品进行详细的介绍。开源协议
:GPL 3.0
描述
前言
这是我参加的第三次电赛,19年国赛,20年省赛,尽管目前已经大四了,但我们三人还是怀揣着对电赛的热情,决定坚持参赛。经过4天3夜的苦战,我们完成了赛题的所有要求,以及自主设计的发挥项,最终获得了全国一等奖的成绩,为大学生活画上了一个完美的句号。使用双目视觉定点,激光雷达避障,OPENMV识别等关键技术,无人机上升到起飞高度能够自主巡航完成播种并顺利返航。
团队介绍
团队由三位大四学生组成,两位来自电信专业,一位来自自动化专业。
项目分析
任务要求
作品简介
随着人工智能技术的迅速发展,智能飞行器已经应用到现代生产生活的各个行业。其中应用尤为成功的一个方向就是“植保飞行器”。通过给飞行器下达指令,使飞行器自主完成撒药、播种等复杂任务。一方面可以解放人力资源,另一方面完全自动化的操作可以大大提高生产效率。本团队使用TI公司生产的TIVA单片机作为无人机主控,英伟达的Jetson NX作为视觉处理器设计开发了一款植保四旋翼无人机。该飞行器使用双目摄像头作为视觉里程计,实现定点与巡航。同时搭载激光雷达、光流模块辅助无人机定点,并使用K210与OPENMV进行目标检测,激光笔用于模拟“播撒”。该飞行器可以实现自动巡航、定点“播撒”、目标检测、避障、条形码识别等诸多功能。
系统方案
本系统主要由单片机控制模块、姿态解算模块、定高模块、定点模块、视觉模块、测距模块组成,下面分别论述这几个模块的选择。
单片机模块
方案一:选择STM32F103RBT6作为主控芯片,这款芯片属于意法半导体常见的芯片之一,资料众多,操作简单,常用于嵌入式开发设计之中。但是对于无人机这类需要高性能数据处理与控制能力的系统而言并非最优选择。
方案二:选择TM4C123GH6PM作为主控芯片,这款芯片主频能够达到80MHz,PWM,UART等资源充足,性能极强,完全可以满足对飞行器的控制需求。
综合以上两种方案,选择方案二。
姿态计算模块
方案一:采用MPU6050进行姿态的解算,通过I2C进行通信,最快的通信速度为400k/s,可以得到当前无人机的六轴数据。
方案二:采用ICM20602进行姿态的解算,通过SPI的方式进行通信,最快通信速率为10M/s,传感器噪声也大幅降低,可以更加高效地得到无人机当前的运动状态。
综合以上两种方案,为了得到更好地控制效果,选择方案二。
定高模块
方案一:采用超声波测距的方式定高,超声波测距模块的测距范围为0150cm,精度为3mm,精度达到0.3%,测距符合要求,但受外界环境影响变动大,在飞行过程中不是十分稳定。12m,准确度1%,抵抗环境光性能较强,更安全稳定,但激光易受高度突变的影响,可与加速度计数据项融合得到实际高度。
方案二:采用气压计SPL06定高,气压计数据波动较大,精度低,室内定高效果不好。
方案三:采用激光测距的方式定高,测距范围0.1m
综合以上三种方案,方案二与方案三结合,即激光定高,加速度计与气压计数据修正。
定点模块
方案一:光流定点。由于室内比赛没有GPS信号,光流定点成为首选方案,并与IMU数据融合,可以达到较好的定点效果。但是光流受地面反光等问题影响,而且赛题对无人机定点精度要求较高,光流测速无法满足要求。
方案二:二维激光雷达定点。使用二维激光雷达获得无人机相对周围环境的距离。将激光雷达数据与IMU数据融合用于无人机定点。经测试在室内定点效果较好。但是由于场地周围有网且比较稀疏,雷达扫描效果不好,难以用于定点。
方案三:视觉里程计。使用Jetson NX搭载双目摄像头并与IMU数据融合作为视觉里程计,将位置数据发送给飞控,并与光流数据融合。经测试误差可以达到厘米级。同时以起点为原点建立坐标系,辅助无人机巡航。
综合以上三种方案,选择方案三。
视觉模块
方案一:采用OPENMV4摄像头模块。OPENMV4由ARM Cortex-H7高性能微处理器以及OV7725构成,支持多种格式输出。且内置识别色块、形状等多种算法,可以大大缩短开发周期。但对复杂形状的识别效果较差。
方案二:使用K210传感器模块。K210是嘉楠科技公司设计的一款64位CPU,内置神经网络加速器KPU。可以采集图像数据集使用神经网络训练后,部署到K210上。经过神经网络训练,进行目标检测时帧率可以达到30以上,但识别色块和形状时帧率只有5fps左右。
综合以上两种方案,选择使用OPENMV识别色块“播撒区”,使用K210识别起降点和“A”点。
原理图电路分析
激光雷达数据处理板原理图
分担无人机主控的功能,对来自激光雷达的大量数据进行接收解析处理,得到有用信息,如无人机四周的障碍物距离信息,并反馈给无人机主控,实现附加避障功能。使用stm32f103c8t6作为主控,工作频率72M,注意时钟电路的设计。以及串口R->T,T->R的关系,因为使用的SH1.0的接口,交换引脚顺序很麻烦。
K210拓展板原理图
为了使K210与无人机通信以及结构连接稳固,同时扩充外设,可以做其它外设模块的数据中转,例如:二维码识别模块由于主控板串口不够,通过K210进行数据中转。K210的每个引脚都可以复用为特殊引脚,注意电源接口。

OPENMV转接板原理图
为了使openmv与无人机的通信连接以及与无人机的结构连接稳固,同时扩充外设接口,连接其它传感器,通过LCD显示屏与按键实现现场调节并修改颜色阈值,通过测距传感器读取距离,并与无人机做数据交换。
各外设模块的三极管驱动电路原理图
无人机题由于要驱动功率器件,如电磁铁、高亮LED、蜂鸣器以及激光笔等,所以在备赛过程中,画了三极管驱动电路,针对不同的器件留出了不同的接口。
无人机分电板原理图
为了兼容无人机固定结构、给电调以及主控板分配电源。
PCB设计分析
激光雷达数据处理板
注意板子的元器件布局,接口和开关应该放在四周。
K210拓展板
注意板子的元器件布局,接口和开关应该放在四周。
OPENMV转接板
注意板子的元器件布局,以及对应关系。
各外设模块的三极管驱动电路
注意元器件布局。
无人机分电板
由于模块较多,注意供电电流的影响。
实物展示
演示视频链接:植保飞行器
作品装配
无人机使用450机架,配10寸桨叶,30A电调。主体结构采用碳纤维机身,亚克力材料作为辅助。从上到下一次为激光雷达、飞控、NX处理器、K210处理器以及摄像头,两侧为条形码识别模块以及双目摄像头。整体高度有50cm左右。
程序设计
系统框图
无人机系统控制总体流程
飞控程序流程
无人机系统复杂,通过滴答计时器模拟任务调度来精确执行每一项任务,经测试调试简单,效果极好。
设计算法
四旋翼姿态解算
低通滤波算法
视觉里程计(VIO)
算法核心是视觉惯性融合,即将 IMU 估计的位姿序列和相机估计的位姿序列对齐从而估计出相机轨迹的真实尺度。而且 IMU 可以很好地预测出图像帧的位姿以及上一时刻特征点在下帧图像的位置,提高特征跟踪算法匹配速度和应对快速旋转的算法鲁棒性,最后 IMU 中加速度计提供的重力向量将估计的位置转为实际导航需要的世界坐标系中。
实现
模型训练
测试方案:在PC机上搭建YOLOV2网络,训练数据集,并部署到K210上用于检测“A”点与起降点。
测试结果:模型训练损失函数如图所示:
分析:训练集与测试集的损失函数均可以降到0.05以下,识别准确度较高。
路径规划
测试方案:无人机使用视觉里程计得到每一时刻的位置坐标,基于地图的先验知识巡航,K210寻找起降点与“A”点,OPENMV识别“播撒区”与“非播撒区”,激光雷达找杆,扫码后LED闪烁,最后基于VIO返航。巡航示意图如下,实线代表激光笔闪烁,虚线代表激光笔关闭。
测试结果:基于VIO系统无人机定位误差小于5cm,同时目标检测准确度在0.7以上。距离杆30cm出可以准确扫描条形码。无人机返航误差在10cm以内。 分析:使用多传感器数据融合,方案设计合理,能够达到题目要求。
总结
整个比赛过程并非一帆风顺,尝试各种方案从中选取最优,整个过程就是不断学习的过程。视觉里程计的巧妙利用,激光雷达的辅助避障,深度学习方法与传统视觉方法结合,创新方法的灵活应用,最终完成了题目所有要求,并适当增加附加功能。相信在这个过程中得到的方案和经验对之后的无人机研究学习同样具有重大帮助,将理论运用到实践,再到开发应用,做到真正的学以致用。
设计图
BOM
ID | Name | Designator | Footprint | Quantity |
---|---|---|---|---|
1 | 22pF | C1,C2 | 0805 | 2 |
2 | 0.1uF | C3 | 0805 | 1 |
3 | 0.1u | C4,C5,C6 | 0805 | 3 |
4 | 10u | C7 | 0805 | 1 |
5 | 10uF | C8,C9 | 0805 | 2 |

评论