面向无人机飞控的Android 系统APP设计毕业论文
2020-04-09 15:39:29
摘 要
近几年随着GPS、传感器等技术的快速发展,无人机迅速增长,由最初的高端产品到现在走进寻常百姓家。由于无人机便捷灵活性逐渐被应用到各行各业,尤其是军事,无人机的发展正逐渐成为国家的重要发展战略之一;除此无人机也正被应用于娱乐业、喷洒农药、高危环境等。无人机最主要的特点可自主飞行,不需飞行员手动操作,通过遥控即可使无人机飞到指定的位置,执行特殊任务。
本论文采用的是DJI公司生产的经纬M100,利用其提供给的Mobile SDK进行二次开发。目前市场上常见的手机系统有安卓和苹果,此次选择安卓系统,通过谷歌公司提供的Android Studio开发平台,开发出一款可直接对无人机进行控制的APP。
通过USB将手机与遥控器连接在一起,在APP界面上,可自行设置无人机飞行范围、添加飞行目标航点;设置飞行速度:低、中、高,飞行高度、初始位置,还可以自主选择无人机飞行后选择着落或悬停,无人机的飞行方向也可自主设置。利用无人机的图传系统可实现高空直播或拍摄高清图片。
关键词:无人机 Android MKobile SD 自主飞行
ABSTRCT
In recent years, with the rapid development of GPS, sensors and other technologies,UAV have grown rapidly, from the initial high-end products to the homes of ordinary people.As the UAV convenience and flexibility has been gradually applied to all walks of life, especially the military, the development of UAV is gradually becoming one of the country’s important development strategies; besides this UAV is also being used in the entertainment industry, spraying pesticides. , high-risk environment, etc.The main characteristics of the UAV can be autonomous flight, without the need for pilots to manually operate, so that the UAV can fly to a designated location and carry out special tasks through remote control.
This paper uses the latitude and longitude M100 product by DJI and uses its Mobile SDK for secondary development.At present, the common mobile phone systems on the market are Android and iOS. This time, we selected Android system. Through the Android Studio development platform provided by Google, an app that can directly control UAVs was developed.The paper briefly introduces the technical principles involved in this project and the configuration of the development environment. At the same time, it explains in detail the positioning and adding of waypoints of UAVs on the Gaode map.
Connect the phone with the remote control via USB. In the APP interface, you can set the range of UAV's flight and add the flight target. Set the speed of flight: low, medium, high, altitude, initial position, and can choose the landing or hover after the UAV flight, and the UAV's flight direction can be set independently.UAV image transmission system can be used to achieve high-altitude broadcast or shoot high-definition pictures. Through the APP, the UAV’s autonomous flight has been fully realized. There is no need to worry about landing inaccuracies and reduce the risk.
Key Words: UAV Android Mobile SDK Autonomous flight
目录
第1章 绪论 1
1.1 研究目的与意义 1
1.2 国内外发展现状 2
1.2.1 国内发展现状 2
1.2.2 国外发展现状 2
1.3 论文主要内容 5
1.3.1 论文结构安排 5
第2章 相关技术介绍 6
2.1 DJI Mobile SDK 介绍 6
2.3.1 性能介绍 6
2.1.2 UI Library介绍 7
2.2 Android 介绍 9
2.2.1 Android开发平台介绍 9
2.2.2 Android系统架构 10
2.2.3 Android Activity 生命周期 11
2.2.4 Android用户界面 13
2.3 Java开发语言介绍 13
2.3.1 Java简介 13
2.3.2 Java特点 14
2.3.3 Java开发环境 14
2.4本章小结 15
第3章 无人机自主飞行方案设计 16
3.1 大疆无人机系统模块 16
3.1.1 大疆无人机特点 16
3.1.2 无人机常见系统 16
3.2 无人机自主飞行设计方案 18
3.2.1 无人机控制原理 18
3.2.2 无人机技术方案设计 19
3.2.3 无人机应用平台开发设计方案 20
3.3 APP页面设计 21
3.4 本章小结 22
第4章 实施方案 23
4.1 配置开发环境 23
4.1.1 获取App key 23
4.1.2 新建工程 24
4.1.3 导入Mobile SDK 25
4.2 程序开发 25
4.2.1菜单布局 26
4.2.2 辅助设备设置 28
4.2.3 主程序初始化 29
4.3 无人机自主飞行任务设置 29
4.3.1 高德地图中设置无人机 29
4.3.2添加飞行标记 30
4.3.3 设置航点任务 30
4.4 自主飞行任务准备 32
4.4.1初始化任务管理器 32
4.4.2 添加航点任务 32,
4.5 任务开启与结束 32
4.6本章小结 33
第5章 总结与展望 34
5.1 本文的主要工作 34
5.2 不足与展望 34
致谢 35
参考文献 36
第1章 绪论
研究目的与意义
无人机(UAV)主要指无线电遥控或程序控制的小型飞机。无人机最初只应用于军事领域,特别是在两次世界大战中。随着计算机技术、无线通信技术、遥感技术、传感器、自主飞行系统技术等深入研究,加速了无人机的发展,使得无人机从单一的军事领域正一步步的进入到民用领域[13]。与此同时消费型无人机开始进入大众的视野,尤其是国内以大疆为首的公司生产的一系列无人机,深受大众喜爱。
无人机越来越被重视自有它的过人之处。主要体现在其可在复杂与高危的环境下进行航空监测、侦察。此时无需考虑飞行员的安全性,只需确保无人机装备的安全性,所以无人机比载人飞行器更适合于高风险、重、脏任务。例如:在核泄漏区进行数据采集,只需要对无人机进行预订程序,即可获得所需数据。完成任务的准确率高、低成本、低风险无疑成为无人机的标志,推动无人机的快速发展。
无人机在军事领域、民用领域的快速发展,无人机发展将逐渐成为每个国家的重要战略之一[13]。目前,民用领域中的主要用途:公共设施、森林防火、地震灾害、大气监测、地质勘探、农作物高空喷洒农药等各个行业;而军事领域主要用于电子防抗、侦察、情报搜集等[15]。
在移动SDK中通过Android平台进行App自主开发,实现无人机自主起飞和着陆。目前比较受欢迎的APP操作系统有两种:Android和iOS系统。对于苹果手机,如果想要下载APP,只需要到APP store中下载即可;安卓手机到自带的应用商城下载,APP store中的软件都会定时更新并且会不断的添加新的应用。随着互联网的快速发展,几乎每种产品都有自己的APP,APP里包含里所有与该产品有关的信息,不仅使用起来方便,而且还可以加深用户对产品的了解。目前市面上比较火的共享单车,如ofo、mobike、哈罗单车等,每个单车都对应一个APP,使用者只需下载注册即可扫码骑行。
本课题要实现无人机的自主飞行,通过APP控制并实时显示无人机的飞行情况。通过APP对无人机进行控制,使无人机可以精准的降落,避免因定位不准而出现不必要的事故。因此APP的开发则显得十分重要,APP中实时显示无人机飞行状态、地理位置、飞行速度、是否自主起飞、降落以及无人机的电池状态、飞行模式等[12]。
国内外发展现状
1.2.1 国内发展现状
中国无人机起步于20世纪60年代,但限于历史和技术的影响,无人机的研究和开发都依赖于自身的发展,因此也积累了大量宝贵的经验。1966年12月首架无人机试飞成功,此后在以该无人机为母机型,研发出一系列靶机、无人侦察机。但此后几十年里由于某些原因停滞不前。近年来随着技术的快速发展,2011年无人机呈爆发式增长,以“蜜蜂28”为例,实现了完全自主飞行,同时可应用于各种领域,包括农业喷洒、航拍、中继通信等[10]。
随着传感器、GPS等技术的快速发展,加速了无人机的发展,使得无人机的生产制造成本大幅降低,更平民化,更多的人可以购买,进而打开了无人机消费市场。一时间重多的公司或团队纷纷投入的到消费级无人机市场,例如比较代表性的大疆科技创新、零度智控、星图等,除此之外海康威视、小米等公司也开始进军无人机领域。但是市场中70%的市场已被大疆收入囊中,尤其是四旋翼航拍无人机深受航拍爱好者喜爱。
1.2.2 国外发展现状
随着航空技术等快速发展,使得无人机自被开发以来,被各国逐渐引入到军队中。而无人机经历了半个世纪的发展,从功能到形态发生了重大变化,也使得各国开始加大对无人机的经济投入。
在1916年,第一架无人机成功问世,飞机飞动后通过陀螺仪来控制飞机的稳定性,“姿态控制”从这个时期开始被广泛了解,进而加速了自动驾驶的实现。他们称该无人机为“航空鱼雷”。此后无人机的发展势不可挡。
“蚊蚋-750”最初由领先系统公司研发,而后由通用公司接手并将该项目继续下去。“蚊蚋—750”经过修改后,被美国中央情报局看中,作为搜集东欧地区情报,尤其是南斯拉夫;继“蚊蚋—750”,美国又已经研发出MQ-1“捕食者”无人机,该无人机起初只是被用于监视小范围或山间,为特种部队提供战场信息。但是到了2001年,美国空军将MQ-1“捕食者”作为攻击型无人机,为其添加了激光瞄准器和“地狱火”导弹发射能力,到目前为止,已经将MQ-1“捕食者”打造成了世界领先的集侦察、打击与一体的无人;RQ-4“全球鹰”无人机最初被应用于阿富汗战争和伊拉克战争中,首个穿越太平洋、被美国授权可在国内领空实行任务的无人机。除此以外,“全球鹰”在核岛事件发生后,多次被用于拍摄反应堆受损影像[10];
“云雀”是一种小型无人机,可由一个人背负,负责近程战术侦察和监视任务。无人机采用传统的飞机布局结构,螺旋桨推进器位于机头上,光电传感器位于机翼下面的螺旋桨叶片下。体积小,可手掷发射[9]。
军用无人机主要用于搜索情报、作战,起步早,发展速度快,操作经验丰富且研发时间久,民用无人机起步晚,但是随着航空技术等的迅速发展,使得民用近几年飞速发展。
NASA一直致力于无人机民用领域的研究。最典型的的例子是ERAST项目,在1990年以后,不仅需要考虑30000m高空飞行技术,还要考虑发动机、传感器等一系列技术,例如Helios、Protues、Altus等。
除了NASA的研究,早在1983年,摩托车发动机被放到用作喷洒农药的无人直升机中,作为动力系统,到了1989年再次成为首个成功施肥的无人直升机。除此之外,1998年开始,雅马哈再次研发出一种带有GPS传感器的用于观测火山活动的无人机—RMAX。为民用无人机的发展打下了基础,加快民用无人机的应用。
国外无人机的飞速发展也使得自主飞行控制领域硕果累累,包括Ward等学者提出的对于军用无人机的智能控制方法;约翰逊等人提出了可靠的自主控制技术[17];Cheng建立了一种增强无人机自主飞行水平的模型[19]。MOhno提出无人驾驾驶自主着陆系统的制导与控制方案,即在制导回路设计时采用简单的PID控制,回路控制设计则采用非线性模型,利用H∞方法完成回路设计[18]。
在无人机自主飞行控制智能移动设备APP开发中,美国商业无人机数据软件研发商Skycatch发布IOS飞行App COMMANDER,通过COMMANDER,用户只需规划出需要进行绘图区,COMMANDER就可以为他们自动生成最优的路线和飞行路线。这些图像可以通过SkyCad仪表板处理成高分辨率的地图和3D模型,并且可以在SkyCad仪表板中查看[21]。
图1.1 SKYCATCH COMMANDER运行界面图
Hangar公司通过大疆二次开发平台开发一款自动驾驶仪,使得无人机能够自我飞行并可设置摄像机的拍照功能。使用期间只需要更改摄像机的相关参数以此获得所需要的信息,使得拍照简单方便。
图1.2 AUTOPIL OT运行界面图
FreeSkies科技公司开发了一款自主驾驶的基本应用软件,与Skycatch公司开发的SKYCATCH COMMANDER有着异曲同工之处,用来展示自主飞行的崭新3D界面。此界面极大的降低了由于用户驾驶不当所带来的一系列风险。
图1.3 COPLILOT BASIC 运行界面图
论文主要内容
本论文基于大疆科技提供的开发平台Mobile SDK上进行二次开发,设计一款Android系统的APP,使得遥控器与移动设备相结合,真正实现无人机自主飞行。APP中主要包含无人机的自主起飞、降落、悬停,多轨迹运行等基本内容,通过智能移动终端设备实现对无人机的控制,自主设定路线,只需按下几个按钮,就可以完成对无人机的控制,操作更加简便。
1.3.1 论文结构安排
本论文主要包含五个章节,具有章节内容如下:
第一章绪论。本章节讲述国内外无人机发展状况以及本论文的内容安排。
第二章相关技术介绍。本文主要介绍了大疆移动开发平台、Android系统的应用程序设计的相关内容和Java开发语言介绍
第三章飞控总体方案设计。主要是对无人机自主飞行方案的设计,自主飞行方案设计、应用程序开发以及APP方案设计。
第四章应用开发平台。
第五章总结与展望。对本课题的内容进行小结,并分析了本文研究的不足之处以未来解决办法。
相关技术介绍
2.1 DJI Mobile SDK介绍
DJI Mobile SDK是大疆科技公司专门为开发者提供的一款软件开发工具包。可在安卓或者苹果系统上直接进行二次开发,实现无人机的自主飞行。内部可以直接添加无人机具有的功能,最终实现无人机的安全、便捷的自由飞行。
Mobile SDK为开发者提供了开发库,因此开发者不需要掌握嵌入式系统或AI的相关知识,只需要掌握APP设计、Java语言,就可以为无人机设计出一款独特、便捷的APP ,从而实现远程控制,精准定位,对飞行器的一切创意均可实现。
开发人员主要通过SDK对无人机特性与功能进行访问。SDK内容如下:
a.导入到Android或iOS应用程序中的库/框架
b.飞机模拟器和可视化工具
c.调试器和远程日志记录器
d.基本教程、代码框架
e.开发人员指南与API文档
2.3.1 性能介绍
Mobile SDK具有丰富的功能,主要通过API接口实现对无人机的控制,基本功能如下:
- 获取数据
无人机中安有不同的传感器,如GPS、指南针、陀螺仪等传感器,以此获得精准数据。
- 相机功能
无人机的相机和可转动的万向节是可自主编程,与云台相结合,实现360度无死角高清拍摄。
- 图像参数:亮度、对比度、锐度等可调
- 视频参数:高清分辨率H.265、H.264,图像帧可调
- 相机模式:动、静态两种可调模式
- 实时性
无人机可以将拍摄到的图像及时传送到平板等连接设备上。而且还可将拍摄的图片存储在SD卡中,存储与现场直播两不误。
- 流媒体下载
存储在SD卡中的图片可通过Mobile SDK进行查看,图像清晰完整。
e.控制方式
- 手动:通过遥控器手动控制,SDK用来实时的显示视频状况,并且传输传感器数据。
- 虚拟杆命令:主要用于实现简单但强大的任务
f.其他注意事项
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示:
课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。