zoukankan      html  css  js  c++  java
  • 2017 年全国大学生电子设计竞赛试题——四旋翼自主飞行器探测跟踪系统(C 题)【本科组】1

    一、任务

    设计并制作四旋翼自主飞行器探测跟踪系统,包括设计制作一架四旋翼自主飞行器,飞行器上安装一向下的激光笔;制作一辆可遥控小车作为信标。

    飞行器飞行和小车运行区域俯视图和立体图分别如图 1 和图 2 所示。
    在这里插入图片描述
    在这里插入图片描述

    二、要求

    1. 基本要求

    (1)四旋翼自主飞行器(以下简称飞行器)摆放在图 1 所示的 A 区,一键式启动飞行器,起飞并在不低于 1m 高度悬停, 5s 后在 A 区降落并停机。
    悬停期间激光笔应照射到 A 区内。

    (2)手持飞行器靠近小车,当两者距离在 0.5~1.5m 范围内时,飞行器和小车发出明显声光指示。

    (3)小车摆放在位置 8。
    飞行器摆放在 A 区,一键式启动飞行器,飞至小车上方且悬停 5s 后择地降落并停机;
    悬停期间激光笔应照射到位置 8区内且至少照射到小车一次,飞行时间不大于 30s。

    2. 发挥部分

    (1)小车摆放在位置 8。
    飞行器摆放在 A 区,一键式启动飞行器,飞至小车上方后,用遥控器使小车到达位置 2 后停车,期间飞行器跟随小车飞行;
    小车静止 5s 后飞行器择地降落并停机。
    飞行时间不大于 30s。

    (2)小车摆放在位置 8。
    飞行器摆放在 A 区,一键式启动飞行器。
    用遥控器使小车依次途经位置 1~9 中的 4 个指定位置,飞行器在距小0.5~1.5m 范围内全程跟随;
    小车静止 5s 后飞行器择地降落并停机。
    飞行时间不大于 90s。

    (3)其他

    三、评分标准

    在这里插入图片描述

    四、说明

    1.参赛队所用飞行器应遵守中国民用航空局的管理规定(《民用无人驾驶航空器实名制登记管理规定》,编号:AP-45-AA-2017-03)。

    2.飞行器桨叶旋转速度高,有危险!请务必注意自己及他人的人身安全。

    3.除小车、飞行器的飞行控制板、单一摄像功能模块外,其他功能的实现必须使用组委会统一下发的 2017 全国大学生电子设计竞赛 RX23T 开发套件中 RX23T MCU 板(芯片型号 R5F523T5ADFM,板上有“NUEDC”标识)。
    RX23T MCU 板应安装于明显位置,可插拔,“NUEDC”标识易观察,以便检查。

    4.四旋翼飞行器可自制或外购,带防撞圈,外形尺寸(含防撞圈)限定为:长度≤50cm,宽度≤50cm。飞行器机身必须标注赛区代码。

    5.遥控小车可自制或外购,外形尺寸限定为:长度≤20cm,宽度≤15cm。
    小车车身必须标注赛区代码。

    6.飞行区域地面为白色;A 区由直径 20cm 黑色实心圆和直径 75cm 的同心圆组成。
    位置 1~9 由直径 20cm 的圆形及数字 1~9 组成。
    位置 8 区是指位置 8 的直径 75cm 同心圆。
    圆及数字线宽小于 0.1cm。
    飞行区域不得额外设置任何标识、引导线或其他装置。

    7.飞行过程中飞行器不得接触小车。

    8.测试全程只允许更换电池一次。

    9.飞行器不得遥控,飞行过程中不得人为干预。
    小车由一名参赛队员使用一个遥控器控制。
    小车与飞行器不得有任何有线连接。
    小车遥控器可用成品。

    10.飞行器飞行期间,触及地面或保护网后自行恢复飞行的,酌情扣分;
    触地触网后 5s 内不能自行恢复飞行视为失败,失败前完成的部分仍计分。

    11.一键式启动是指飞行器摆放在 A 区后,只允许按一个键启动。
    如有飞行模式设置应在飞行器摆放在 A 区前完成。

    12.基本要求(3)和发挥部分(1)、(2)中择地降落是指飞行器稳定降落于场地任意地点,避免与小车碰撞。

    13.基本要求(3)和发挥部分(1)、(2)飞行时间超时扣分。

    14.发挥部分(1)、(2)中飞行器跟随小车是指飞行器飞行路径应与小车运行路径一致,出现偏离酌情扣分。
    飞行器飞行路径以激光笔照射地面位置为准,照射到小车车身或小车运行路径视为跟随。

    15.发挥部分(2)中指定位置由参赛队员在测试现场抽签决定。

    16.为保证安全,可沿飞行区域四周架设安全网(长 600cm,宽 500cm,高300cm),顶部无需架设。
    若安全网采用排球网、羽毛球网时可由顶向下悬挂不必触地,不得影响视线。安装示意图如图 3 所示。
    在这里插入图片描述

    论文

    摘要:

    随着四旋翼飞行器技术的不断应用,无人机的各种用途被不断发掘出来。

    基于四旋翼飞行器相对平稳的飞行状态和可控等特点,利用四旋翼飞行器进行探测和跟踪目标成为可能。

    本文介绍了一种四旋翼自主飞行探测跟踪系统,该系统采用以STM32F4单片机作为姿态控制模块的主控芯片,采用MPU9150、MS5611作为姿态解算模块的传感器,利用US-100传感器和气压计实现融合定高,图像处理上采用OV7670摄像头,配合RX23T-NUEDC开发板采集环境信息,以实现定高悬停以及定点跟踪等功能。

    关键词:四旋翼飞行器;定高悬停;定点跟踪

    0 引言

    随着四旋翼飞行器技术的逐步发展,目前的四旋翼飞行器已经能够做到平稳地飞行和高自由度地操控,再配上机载相机便能够实现航拍、图像识别等多种功能。

    为了使四旋翼飞行器实现探测和跟踪的功能,本作品将姿态控制模块、姿态解算模块、图像识别模块、定高模块、电源模块、遥控小车模块及声光模块进行整合,完成了以下任务:

    1)一键起飞,稳定飞行,定高悬停,平缓降落等基本功能;
    2)定点悬停及跟踪小车飞行;
    3)跟踪小车时实现航向的跟随偏转。

    本系统包括:
    姿态控制模块、姿态解算模块、图像识别模块、
    定高模块、电源模块、遥控小车模块及声光模块。

    该系统可以在平稳飞行的同时,按照程序指令搜寻目标,并触发跟踪状态,完成跟踪任务后,能够自主地择地平稳降落。

    1 系统概述

    该系统由姿态控制模块、姿态解算模块、图像识别模块、定高模块、电源模块、遥控小车模块及声光模块组成,各个模块间相互作用,系统模块映射框图如图1所示。
    在这里插入图片描述

    根据探测和跟踪任务的需要,本系统需要完成悬停定点、探测跟踪、择地降落等一系列任务,主要工作流程如图2所示。
    在这里插入图片描述

    具体而言,四旋翼飞行器利用US-100超声波传感器,以50 ms周期读取传感器的数据,计算出飞行器的实际高度,通过串级PID算法对飞行器的加速度环、高度环进行反馈,使飞行器的期望高度为我们指定高度的同时,飞行器的加速度期望值为零,从而实现定高悬停。

    在定高悬停的情况下,处理OV7670摄像头模块获得的图像,计算出黑色圆点的圆心位置,输出圆心距离中心点的偏差量dx和dy。

    飞行器对偏差量进行前翻和横滚两个方向的PID调节,实现定点悬停。

    对于运动的遥控小车,为其套上涂有黑色圆点的外壳,对运动的黑点进行定点悬停,即实现了跟踪功能。

    2 硬件设计

    2.1 姿态控制模块

    方案1:采用AVR单片机作为主控芯

    AVR单片机为8位最高16 MHz主频的单片机,其学习资源较为丰富,编译环境简单且适应性强。

    但AVR单片机的处理速度过低,达不到实时控制飞行姿态的要求。

    典型的AVR开源飞控包括APM飞控等。

    方案2:采用STM32F4单片机作为主控芯片

    STM32F407是一款以ARM Cortex-M4为内核,最高主频168 MHz的32位单片机。

    其速度快,具有极强的计算处理能力;内置定时器多,引出众多外设接口,能适应飞行器姿态控制的输入输出,可移植性强。

    典型的STM32F4开源飞控包括匿名科创、恒拓HAWK、PIXHAWK等。

    综合飞行器平缓飞行、高效控制的性能要求,选择方案2。

    2.2 姿态解算模块

    方案1:采用MMA7260+ENC-03M传感器

    MMA72600加速度传感器含信号调理和温度补偿技术,ENC-03M角度传感器可稳定测量角加速度值,但两传感器结合使用较复杂,且需外加电路抑制噪声与温漂。

    方案2:采用MPU9150+MS5611传感器

    MPU9150为9轴陀螺仪,内部集成了MPU6050和AK8975芯片,可精准测量3轴角度,3轴加速度,3轴地磁方向。

    MS5611为高精度气压计,支持I2C/SPI数字输出,两者配合可以迅速准确地反馈飞行器的姿态。

    综合传感器的环境可靠性及使用方便程度,选择方案2。

    2.3 图像识别模块

    方案1:采用OV2640配合RX23T-NUEDC开发板

    OV2640的黑电平校准能力较差,获得的灰度图需事先校准,才能获得理想的二值化图像。

    OV2640像素高达200 W,并自带DSP压缩功能,但考虑到RX23T内存大小以及I/O捕获速率的限制,开发较为困难。

    方案2:采用OV7670配合RX23T-NUEDC开发板

    OV7670像素可达30 W,通过设定阈值,在黑白赛道上即可获得理想的二值化图像,具有较强的抗干扰能力,帧率能够满足图像处理的需求。

    综合飞行器循迹的视野及准确性要求,选择方案2。

    2.4 电源模块

    方案1:采用电子调速器的自带稳压模块

    3S锂聚合电池供电给4路电调,输出三相电的同时,可利用电调自带的线性稳压模块输出5 V的电压给核心板供电。

    这样做成本低、方便,但没有低压报警且纹波不够稳定,不能有效地管理电源输入。

    方案2:采用PMU电源管理模块

    设计一个电源管理模块,实现了对2S至6S电池(电压范围在8~24 V)的线性稳压,并且对电压实时监测,具备了低压报警的功能。

    综合电源的安全性和稳定性要求,选择方案2。

    2.5 定高模块

    方案1:采用气压计定高

    使用气压计获取高度信息,不受角度影响且测量范围很大,但有浮动误差,需进行运算才能保证较高精度。

    方案2:采用SR-04传感器+气压计

    SR-04超声波传感器测距范围为0~150 cm,误差为3 cm,误差约为0.3%,测距范围也符合题目要求。

    方案3:采用US-100传感器+气压计

    US-100相较SR-04增加了温度补偿,并使用内置芯片处理,直接串口输出,使用更方便。

    综合定高的稳定性和环境适应性要求,选择方案3。

    2.6 遥控小车模块设计

    我们使用了玩具车的成品遥控芯片RX-2B,提供了配套的4按键遥控器,其内部原理如图3所示。
    在这里插入图片描述
    我们给小车搭载一块单片机,对遥控芯片的输出口进行输入捕捉,然后利用单片机计时器输出4路PWM波,实现了遥控小车的四向运动功能。

    小车上搭载蜂鸣器、LED灯等外设,具体模块关系如图4所示。
    在这里插入图片描述

    3 软件算法

    3.1 飞控传感器滤波算法

    对气压计、超声波等传感器初始数据进行卡尔曼滤波,可以得到期望值的最优解。

    卡尔曼滤波通过反馈控制对过程状态进行估计,其中时间更新部分可以推算当前的状态变量和误差协方差的估计值,构造下一个时间状态的先验估计;测量更新部分负责信息反馈,实现后验估计。

    3.2 飞控串级PLD控制算法

    飞行控制使用的主要控制算法是串级PID控制,即多个PID反馈控制环串接。

    其中,横滚、俯仰方向的姿态角速度控制环、姿态角控制环串接实现飞行器的姿态稳定,组成内控制环;垂直速度控制环、垂直高度控制环组成外环,与内环级联,实现稳定的高度控制;水平
    位置PID控制环是另一个外环,与内环级联实现水平位置的控制。

    姿态控制环用于控制飞行器姿态稳定。

    三个平行的姿态控制环分别控制飞行器的横滚、俯仰、方向(Roll, Pitch, Yaw)。

    控制环的输出将作为四个电机控制器(ECS)的输入,从而控制四个桨叶的转速。

    垂直速度与高度控制环用于控制飞行器的相对高度。

    由于本作品在室内工作,因此GPS与气压计均不能工作,我们通过超声波传感器来测量对地高度,作为控制反馈。

    控制环的输出为四个电机整体的油门控制量。

    水平位置控制环用于飞行器的追踪与定点悬停。

    我们通过图像识别得到飞行器与被追踪目标的水平距离,作为控制反馈。

    输出控制量为横滚、俯仰两个水平方向控制量,给到姿态控制环中,控制飞机缩小与目标之间的距离,自动追踪目标。

    在参数调节上,这三个控制环也有着不同的目标,因而调参方法也不太相同。

    姿态控制环与水平位置控制环应该追求高动态性能,能够快速响应,因此它们的比例分量(P参数)、微分分量(D参数)比较重要,同时也应该尽量优化算法以提高控制环运行的频率。

    而高度控制环应该追求高静态性能,保证最小误差与抗干扰,因此应该使用合适的微分分量(I参数)。

    3.3 图像识别算法

    多旋翼自主飞行器的定点悬停和跟踪小车是通过识别小车上的圆心位置,与自身位置对比后进行姿态调整和控制。

    小车上圆心的识别采用霍夫圆变换算法。

    霍夫圆变换的具体步骤为:

    1)根据RGB彩色图像获得灰度图和二值图。
    对二值图像进行横向和纵向扫描,检测图像的边缘;

    2)对边缘图像上的每一个非零点,利 用sobel算子计算x方向导数和y方向的导数,从而得到梯度,从边缘点沿着梯度和梯度的反方向,对黑色区域中的每一个像素,在该像素点位置对应的二维累加器中投票;

    3)取二维累加器中累加值最高的点,作为候选圆心;

    4)从候选圆心由内向外进行区域扩张,直至遇到白点。
    对该黑色区域的累加器的累加值求平均作为该候选圆心的累加值,如果这个累加值大于一个设定的阈值,则认为该候选圆心有效;

    5)对有效的候选圆心的坐标进行低通滤波。

    多旋翼自主飞行器在跟踪小车时实现航向的跟随偏转,是通过检测小车上的两条相互垂直的直线,根据两条直线的交点和斜率来进行姿态调整。

    检测直线时,通过霍夫线变换获得两条相互垂直的直线,根据两条直线的交点进行定点跟踪,根据其中一条直线的斜率实现航向偏转。

    霍夫线变换的具体步骤为:

    1)根据RGB彩色图像获得灰度图和二值图。
    对二值图像进行横向和纵向扫描,检测图像的边缘;

    2)将每一行或每一列的黑线中心坐标转换至霍夫空间,转换时以上一帧的检测出的直线作为检测范围的约束条件,既能减少运算量又能实现对直线的跟踪:

    3)选择参数空间中的极大值点对应的直线作为候选直线;

    4)由行扫描和列扫描获得的两条直线若近似满足垂直关系则认为检测有效:

    5)对有效检测后的两条直线的交点和斜率进行低通滤波。

    图像处理算法原理如图所示。

    在这里插入图片描述
    在这里插入图片描述

    4 成效分析

    要求一:A点一键起飞,以不低于1米的高度悬停。
    在这里插入图片描述
    要求二:飞行器距小车0.5~1.5 m时,飞行器和小车发出明显声光指示。
    在这里插入图片描述
    在上下限高度范围内,小车和飞行器都能声光提示。

    要求三:飞行器从A区起飞至B区悬停降落。
    在这里插入图片描述
    要求四:飞行器跟踪小车抵达4个点。
    在这里插入图片描述
    经测试,飞行器始终跟随小车前行,相当稳健。

    5 结论

    飞行器可始终跟踪小车,与小车保持同样朝向,小车转向则飞机航向跟随偏离。

    经测试,小车在地面作旋转运动时,飞行器可跟踪改变航向,一同旋转。

    在跟踪航向的同时,仍然可以跟踪定位,作平面运动。

  • 相关阅读:
    Java实现各种内部排序算法
    Java实现堆排序(大根堆)
    Java对象的序列化和反序列化
    Java实现链式存储的二叉查找树(递归方法)
    337. House Robber III(包含I和II)
    318. Maximum Product of Word Lengths
    114. Flatten Binary Tree to Linked List
    106. Construct Binary Tree from Inorder and Postorder Traversal
    105. Construct Binary Tree from Preorder and Inorder Traversal
    96. Unique Binary Search Trees(I 和 II)
  • 原文地址:https://www.cnblogs.com/AlexKing007/p/12338174.html
Copyright © 2011-2022 走看看