2017年8月12日

摘 要

本设计以16位瑞萨单片机RX23T/R5F523T5ADFM作为控制核心stm32驱动飞行器的四个直流电机,利用角速度传感器、加速度传感器等各类传感器组成飞行器飞行状态检测、控制模块,采用超声波传感器检测飞行高度,以C语言、卡尔曼滤波及PID算法实现控制软件的编写并根据题目要求进行了系统方案设计,分别完成了总体结构设计、硬件设计、软件设计。最后,进行调试、验证试飞,测试各项功能。
本系统从低成本、低功耗、高性能方面入手,完成了本次题目的硬件设计、制作、电路调试等,基本实现了本次比赛的题目要求。

关键词:四旋翼飞行器;加速度传感器;陀螺仪传感器;跟踪;摄像头

一、系统方案
本系统主要由单片机控制模块、飞行控制模块、高度控制模块、循迹模块、图像处理模块、电源模块组成。下面分别论证这几个模块的选择。

1、主控制器件的论证与选择
1.1控制器选用
控制器采用组委会提供的瑞萨RX23T/R5F523T5ADFM单片机作为控制器,负责控制四旋翼飞行的姿态、高度,循迹。瑞萨单片机性能优良,具有运算高速、稳定性强、自由度大等特点,非常方便快捷。
1.2控制系统方案选择
方案一:采用在面包板上搭建简易单片机系统
在面包板上搭建单片机系统可以方便的对硬件做随时修改,也易于搭建,虽然系统连线较多,但是使得整个系统成为了一个整体。
方案二:自制单片机印刷电路板
自制印刷电路实现较为困难,实现周期长,此外也会花费较多的时间,影响整体设计进程。不宜采用该方案。
综合以上两种方案,选择方案一。
2、飞行控制模块的论证与选择
方案一:用瑞萨RX23T/R5F523T5ADFM单片机激活飞控模块
该芯片性能优良,可以非常方便的与飞控模块通信,通过发送控制指令实现对飞行器的飞行控制。
方案二:使用控制器直接控制飞行器飞行
在瑞萨植入的程序里同时包含对四旋翼的控制算法、自启动和自停止、图像信息的处理、高度控制、悬停算法等程序。
本系统组结合本题相关要求,对模块之间的协调和信号的传输处理情况的综合考虑,认为方法一结构更加简洁高效、分工明确,因此选择方案二。
3 图像感知模块的论证与选择
3.1 感知器件选用
方案一:采用红外传感器HC-SR501读取地面信息
红外传感器HC-SR501读取地表状态数据后,通过单片机进行分析调整飞机飞行方向。红外传感器的优点是探测距离较长(约7米),但是它反应时间较慢(最快约0.3秒)。
方案二:采用摄像头OV7725读取地面信息。
OV7725可以获得饱和度和分辨率都非常高的图像,虽然需占用较多引脚资源,但是经过比较,实验效果非常理想。
从对图像处理的精度与速度考虑,本系统选择方案二。
3.2 处理算法选用
方案一 :转换成“0”“1” 镜像到MCU RL78/G13的RAM中。
通过二值化转换可以使处理速度大大加快,性能得到提升。
方案二:
直接读OV7725得到的彩色图像并对其处理,利用这种方式飞行器对颜色更加敏感准确,但是处理速度降低。
综合考虑题目要求,我们认为颜色识别对题目要求的实现有一定帮助,因此综合考虑处理速度和识别效果后,采用方案二。

1.5 高度控制模块的论证与选择
方案一:采用BMP180气压传感器
测量当前位置的大气压并由单片机转化为海拔高度,减去出发时的高度数值即可得到真实飞行高度。气压传感器测量范围广(海拔9000米~-500米),但是误差较大(分辨率为0.25米)。
方案二:采用US100超声波传感器
US100具有优秀的距离感知性能,同时又自带温度补偿,识别区间为5cm—4.5m,近距离识别非常稳定。
由于本题要求四旋翼飞机在1m—1.5m的高度飞行,从精度及使用熟练度的方面考虑,本系统最终选择方案二。

二、系统理论分析与计算
1、飞控算法的分析
由于此次课题中,四旋翼在室内低速飞行,故而可以忽略风力带来的阻力以及空气阻力。因而可大致建构四旋翼动力学模型:

X =(cosΨsinθcosΦ + sinΨsinΦ) U1/m Y =(sinΨsinθcosΦ–cosΨsinΦ) U1/m Z
=(cosΦcosθ) U1/m - g Φ =[lU2 +θΨ(Iy -Iz)]/Ix               θ =[lU3 +ΦΨ(Iz -Ix)]/Iy Ψ =[U4 +Φθ(Ix -Iy)]/Iz

其中ψ、θ、φ分别为四旋翼的偏航角、俯仰角、翻滚角;U1、U2、U3、U4 为四控制输入量;l为旋翼中心到四旋翼质心的距离。
四旋翼微型飞行平台呈十字形交叉,由4个独立电机驱动螺旋桨组成,如图所示。当飞行器工作时,平台中心对角的螺旋桨转向相同,相邻的螺旋桨转向相反。同时增加减小4个螺旋桨的速度,飞行器就垂直上下运动;相反的改变中心对角的螺旋桨的速度,可以产生滚动、俯仰等运动。
2、高度控制模块的计算
高度开始采用了和角度一样的双环PID,但是调参过程中发现参数整定比较艰难,所以更改为参数较少的单环PID,也可以达到较好的效果。控制过程分为以下三个步骤。
(1)高度感知
高度感知采用US100模块,安装在飞行器的正下方,实时发送与地面的距离给控制器瑞萨RX23T/R5F523T5ADFM单片机。
(2)数据处理
各个数据均设为有符号数据。期望高度与当前高度的差值作为p控制的入口参数,乘以一定比例后为油门应当增加或减少的数值。油门平衡数值1500加上这个差值后就得到下一时刻为了回归期望高度油门应当做出的调整。
(3)控制信号输出
将第二步得到的数值发送给飞控模块,提供油门值后飞行器即可完成高度控制。核心代码如附录所示。
3、图像处理算法的分析
(1)图像处理算法的原理主要利用腐蚀算法,在屏幕的中心画一个十字,对准物体数秒后自动计算十字周围的平均颜色数据,包括色相,明度,饱和度。然后利用腐蚀算法寻找腐蚀中心,再向四周寻找符合条件的点。
(2)找到符合标准的对象所处范围后,自动输出该物体的几何中心,即x_hight ,,x_low , x_left , x_right,四个最边界的点并计算出中心点坐标((x_hight + x_low)/2,(x_hight + x_low)/2)
(3)根据中心点坐标,瑞萨芯片发送控制信息给飞控模块,控制飞行器做出对应反应。

4、PID的计算
角度PID算法很大程度上参考了APM(国外成熟开源飞控项目)的控制算法。它是采用的角度P和角速度PID的双闭环PID算法。角度的误差被作为期望输入到角速度控制器中。
我们的控制算法利用了横滚角俯仰角角度以及位移双闭环PID控制。相比传统的单环PID来说性能有了极大的提升,在程序的编写中我们也曾经调试过传统的PID控制算法,即便参数经过了精心调整和双环控制算法相比在控制效果上的差距依旧很大。无论是悬停的稳定性,收到指令的反应速度上都是后者的效果明显优于前者。

三、电路与程序设计
1、电路的设计
(1)系统总体框图
系统总体框图如图1所示,四旋翼自主飞行器系统可分为微控制系统模块、飞行姿态检测模块、电机驱动模块、高度控制模块、自动循迹模块、电源模块。
微控制系统模块采用16位瑞萨单片机RX23T/R5F523T5ADFM作为控制核心,该控制器是一款功能强大的处理器,运算速度快、拥有丰富的片上资源,非常适用于处理较复杂的任务。
飞行姿态检测模块采用MPU6050芯片,此芯片集成了3轴MEMS陀螺仪,3轴MEMS加速度计,并通过三个16位的ADC将其测量到的模拟量转化为可输出且能够被单片机直接处理的数字量,从而减轻了单片机的工作量。
电机驱动模块利用瑞萨单片机直接调用飞控模块实现控制。
高度控制模块利用US100来检测距离从而控制飞行器的高度。
电源模块采用11.1伏的3S LIPO锂电池供电。系统框图如图1所示。

图1 系统总体框图
(2)四旋翼控制子系统框图
1、四旋翼控制子系统框图

图2 四旋翼控制子系统框图
(3)电源
电源由变压部分、滤波部分、稳压部分组成。为整个系统提供 5V或者 12V电压,确保电路的正常稳定工作。这部分电路比较简单,都采用三端稳压管实现,故不作详述。
2、程序的设计
(1)程序功能描述与设计思路
1、程序功能描述
根据题目要求软件部分主要实现四轴飞行器的飞行控制、一键起飞、图像处理。
1)飞行控制:保证飞行器稳定飞行,接收控制器发出的指令。
2)一键起飞:控制器通过按键检测触发不同程序控制飞行控制模块完成不同功能。
3)图像处理:获得黑色圆圈、小车的几何中心坐标。

2、程序设计思路
飞行控制采用角度P和位移x的双闭环PID算法。相比传统的单环PID来说性能有了极大的提升,在程序的编写中我们也曾经调试过传统的PID控制算法,即便参数经过了精心调整,但是和双环控制算法相比无论是悬停的稳定性,收到指令的反应速度上都是后者的效果明显优于前者。
一键起飞的实现思路主要是控制器循环做按键检测,当对应按键按下时实现不同的功能。
图像处理利用了腐蚀算法,在摄像头读入一帧数据后,首先寻找一个腐蚀中心,再从腐蚀中心向外寻找符合要求的点,最后记录下识别到的沿x、y轴四个最边缘的点,求平均值得到中心点坐标。
(2)程序流程图

1、主程序流程图

N

                     Y

图3主程序流程图

2、高度控制子程序流程图

图4高度控制子程序流程图

3、XXX子程序流程图

图4高度控制子程序流程图

4、XXX子程序流程图

四、测试方案与测试结果
1、测试方案
(1)硬件测试

(2)软件仿真测试

(3)硬件软件联调

2、测试条件与仪器
测试条件:检查多次,仿真电路和硬件电路必须与系统原理图完全相同,并且检查无误,硬件电路保证无虚焊。
测试仪器:高精度的数字毫伏表,模拟示波器,数字示波器,数字万用表,指针式万用表。
3、测试结果及分析
(1)测试结果(数据)
2V档信号测试结果好下表所示: (单位/V)
信号值 0.2050 0.2100 0.2045 0.4026 1.007 1.542 1.669 1.999
显示 0.2051 0.2100 0.2044 0.4026 1.006 1.542 1.669 1.999

(2)测试分析与结论
根据上述测试数据,XXXXXXXXXXXXXXXXXXXXXXXXXXXXX,由此可以得出以下结论:
1、
2、
3、
综上所述,本设计达到设计要求。

五、参考文献
[1] 谭浩强.C语言程序设计[M].北京:清华大学出版社,2012

附录1:电路原理图

四轴飞行器电路原理图

Mpu6050

附录2:源程序
格式说明:《设计报告》为A4纸张6页以内,首页为300字内中文摘要,正文小四号宋体,行距固定为22磅,不得加页眉页脚。每页右下端注明页码。单页打印。

高度控制函数源程序:

uint16_t ALT_ctrl(int16_t ex_height)
{static float h_kp = 0.8 ;static int16_t err_height , add_thr ;uint16_t out_thr ;err_height = ex_height - (OF_ALT2 - 12) ;add_thr = (h_kp * err_height) * 5.2 ;out_thr = (uint16_t) (1500 + add_thr) ;return out_thr = limit(out_thr , min_thr , max_thr) ;
}

四旋翼自主飞行器探测跟踪系统补充相关推荐

  1. 2017 年全国大学生电子设计竞赛试题——四旋翼自主飞行器探测跟踪系统(C 题)【本科组】2

    一.任务 设计并制作四旋翼自主飞行器探测跟踪系统,包括设计制作一架四旋翼自主飞行器,飞行器上安装一向下的激光笔:制作一辆可遥控小车作为信标. 飞行器飞行和小车运行区域俯视图和立体图分别如图 1 和图 ...

  2. 2017 年全国大学生电子设计竞赛试题——四旋翼自主飞行器探测跟踪系统(C 题)【本科组】1

    一.任务 设计并制作四旋翼自主飞行器探测跟踪系统,包括设计制作一架四旋翼自主飞行器,飞行器上安装一向下的激光笔:制作一辆可遥控小车作为信标. 飞行器飞行和小车运行区域俯视图和立体图分别如图 1 和图 ...

  3. 2017年全国大学生电子设计竞赛:四旋翼自主飞行器探测跟踪系统(C题)主控RX23T,STM32F103VET6

    2017年全国大学生电子设计竞赛 四旋翼自主飞行器探测跟踪系统(C题) [本科组] 2017年8月12日 摘 要 本系统由数据信息采集.数据信号处理.飞行姿态稳定和航向控制部分组成.系统选用瑞萨RX2 ...

  4. 四旋翼自主飞行器探测跟踪系统项目的随笔

    四旋翼自主飞行器探测跟踪系统项目的随笔 项目介绍 项目特点 主要内容 个人随想 飞控选择 开发初期 追踪小车设计 飞行器底部 飞行器完全图 测试环境 结束语 项目介绍 本项目以16位瑞萨单片机RX23 ...

  5. 四旋翼自主飞行器探测跟踪系统(C 题 本科组)--2017 年全国大学生电子设计竞赛试题

    四旋翼自主飞行器探测跟踪系统(C 题 本科组)--2017 年全国大学生电子设计竞赛试题 一.任务 二.要求 2.1.基本要求 2.2. 发挥部分 三.评分标准 四.说明 一.任务 设计并制作四旋翼自 ...

  6. 四旋翼自主飞行器设计方案

    针对2016年湖南省电子设计竞赛的飞行器赛题,写一篇四轴的方案,适合初学四轴的和想了解四轴的,大神级别的可以绕道. 1.方案设计 1.1姿态传感器的选择 1.1.1加速度计 加速度检测芯片有ADXL3 ...

  7. 开坑写博客1-2013电子设计大赛-四旋翼自主飞行器

    先开个坑吧- 熬夜了4天4夜的比赛要记录一下诶.. 而且第一次做四轴飞行器还是挺有趣的~ 首先是题目 这是我们第一次做飞行器所以有很多东西我们都不太懂 经过一番查资料我们大概了解了一些制作步骤吧 首先 ...

  8. 多旋翼自主飞行器(C 题 本科组)-- 2015 年全国大学生电子设计竞赛试题

    多旋翼自主飞行器(C 题 本科组)-- 2015 年全国大学生电子设计竞赛试题 一.任务 二.要求 1. 基本要求 2. 发挥部分 三.评分标准 四.说明 一.任务 设计并制作一架带航拍功能的多旋翼自 ...

  9. 四旋翼微型飞行器设计

    作者:红桃K 0 引言 微型飞行器(Micro Air Vehicle,简称MAV) 是20世纪90年代发展起来的一种新型飞行 器.根据美国国防高级研究计划局(DARPA) 的定义,微型飞行器的基本技 ...

最新文章

  1. Centos7下安装MongoDB
  2. git 文件全部标红_git冲突解决,代码冲突、合并冲突。【IDEA版本】
  3. 360 开源企业级 Kubernetes 多集群管理平台 Wayne
  4. boost::geometry模块model::polygon相关的测试程序
  5. requireJS和seajs区别?
  6. 【转载】雨更大了的飞鸽传书
  7. 【Java数据结构与算法】第四章 栈实现综合计算器
  8. [图解]管理九段的新排列
  9. 网络安全之认证,数字签名,报文摘要
  10. XXXXX was compiled with optimization - stepping may behave oddly; variables may not be available.
  11. 4G工业路由器防静电保护
  12. 如何在openlayers中使用iconfont或font Awesome字体图标
  13. android+蓝牙遥控器,一种通过蓝牙遥控安卓设备的方法与流程
  14. 使用Python扩展库numpy中的piecewise()函数实现分段函数模拟兔子的行走轨迹,然后使用matplotlib.pyplot中的plot函数绘制折线图表示兔子和乌龟的时间位移图,并添加坐标
  15. 基于javaweb(springboot)汽车配件管理系统设计和实现以及文档报告
  16. Kafka动态认证SASL/SCRAM配置+整合springboot配置
  17. RISC-V生态架构浅析(认识RISC-V)
  18. 微博文字字数限制(一天一个小案例)
  19. linux系统里批量替换文件内容的方法
  20. 离开平台,你真的什么都不是?

热门文章

  1. JavaScript对象及函数
  2. 基,特征向量和基础解系
  3. Time Has Never Been Better for a Gay NFL Player to Come Out
  4. Yeoman学习-yo篇
  5. Codeforces 298B Sail 题解
  6. 2D动画设计制作软件—“Reallusion Cartoon Animator”
  7. 2021考研英语黄皮书英一英二全套加解析
  8. Typo: In word 拼写检查
  9. 「掘虫者说」ERROR 1040 (HY000): Too many connections 1040
  10. matlab2014示波器怎么调横轴范围,SIMULINK示波器参数设置_matlab中对示波器进行设置...