论文总字数:35972字
摘 要
如今,无人机已经被广泛运用到生产生活的各个领域,与我们的生活产生了紧密的联系与巨大的影响。而由于环境的复杂性和任务的多重性,单架无人机已经无法满足工业与生产的需要,多无人机共同执行飞行任务将成为今后无人机发展的一个重要方向。
在本文中,作者对无人机合作飞行领域进行了初步的尝试,在确保无人机间信息传递可靠性的基础上,利用对无人机间传递的数据进行分析,进行了基于“主-从”模式的合作飞行应用的开发。论文的主要工作,体现在一下几点:
(1)实现了用户与无人机的交互:设计了用户界面,使用户可以通过简单的操作对无人机进行操纵;用户界面也展示了无人机的状态信息,方便对无人机进行监控;
(2)实现了无人机间的可靠信息传输:通过移动终端的蓝牙模块建立2部手机间的通讯线路,并添加校检码,保证了传输的可靠性;
(3)实现了无人机的自动伴随飞行:主无人机在执行飞行任务过程中,会向从无人机发送飞行数据;从无人机根据接受到的飞行数据,沿着主无人机的航线跟随飞行。
最后的测试结果表明,程序完成了预期的目标,实现了基于可靠信息传输的多架无人机的伴随飞行任务。
关键词: 无人机;合作飞行;目标追踪
Abstract
Today, UAVs have been widely used in every field of production and life, and have a close relationship with our lives and a huge impact. Due to the complexity of the environment and the multiplicity of tasks, a single UAV has been unable to meet the needs of industrial production and the multi UAV common missions will become an important direction for future development of UAV.
In this paper, the author made a preliminary attempt on the UAV flight cooperation field, in order to ensure the reliability of the UAV based information transmission on the use of data transfer between UAV, which is based on the ” Server -Client” mode of cooperative flight application development. The main work of this paper is reflected in several points:
(1) To achieve the user and the UAV interaction: the design of the user interface, so that users can operate through a simple operation of the UAV; user interface also shows the status of UAV information to facilitate the UAV monitor;
(2) To achieve a reliable transmission of information between the unmanned aerial vehicles: through the mobile terminal of the Bluetooth module to establish two mobile phone communication lines, and add calibration code to ensure the reliability of transmission;
(3) To achieve the UAV automatically with the flight: the main UAV in the implementation of the mission process, will send data to the client UAV flight; from the UAV according to the flight data received, along the main no one Machine route to follow the flight.
The final test results show that the program completed the intended goal, to achieve a number of unmanned aerial vehicles with the mission.
Key word : UAV ; Cooperative flying ; Object tracking
目录
摘要 3
目录 5
第一章 绪论 1
1.1 论文背景和意义 1
1.2 研究现状 1
1.3 主要工作 2
1.4 本文结构 3
第二章 开发环境与技术概述 4
2.1 Android概述 4
2.2 DJI SDK概述 5
2.3 蓝牙概述 6
2.4 本章小结 7
第三章 系统概要设计 8
3.1 功能分析 8
3.2 系统设计 8
3.3 模块设计 9
3.3.1 产品连接与注册模块 10
3.3.2 用户界面模块 10
3.3.3 蓝牙连接与信息传输模块 10
3.3.4 飞行器实时状态更新模块 11
3.3.5 2D地图模块 11
3.3.6 飞行任务管理模块 11
3.3.7 内部工具模块 11
3.3 本章小结 12
第四章 系统详细设计及实现 13
4.1 产品连接与注册模块实现 13
4.2用户界面模块实现 15
4.3蓝牙连接与信息传输模块实现 17
4.4飞行器实时状态更新模块实现 20
4.5 2D地图模块实现 21
4.6飞行任务管理模块实现 24
4.7内部工具模块实现 31
4.8 本章小结 34
第五章 系统测试 35
5.1 测试用例设计 35
5.2 测试结果 35
5.2.1注册与无人机连接测试 35
5.2.2 蓝牙连接测试 36
5.2.3 server端规划飞行测试 36
5.2.4 无人机状态与轨迹显示测试 40
5.2.5 client端伴随飞行测试 40
5.2.6 终止飞行任务测试 41
5.3 本章小结 42
第六章 论文总结与未来工作展望 43
6.1 论文总结 43
6.2 未来工作展望 43
致 谢 44
毕设阶段完成的工作 45
参考文档 46
绪论
无人机,其英文缩写为“UAV”,全称是“Unmanned Aerial Vehicle”,是无线远程操控或预安装程序控制的的不载人飞机。由于没有驾驶员,故无人机上不用安装任何人员安全防护设施,这样可以腾出更过的空间来安装更重要的设备,或者设计成极为便携的体型。无人机正在逐渐进入我们的生活。
论文背景和意义
如今,无人机已经在人们的日常生活中得到了广泛的应用,如农药喷洒,高空侦察,高空拍摄等,已成为了人们日常生活中的常客。然而,受限于无人机的航程,续航时间以及工作范围等因素的影响,单架无人机已经愈发无法满足人们的需要,人们迫切的需要解决这一矛盾。作为一种解决方案,使用多架无人机联合飞行,协作执行任务,可以大大增加成工作范围,提升执行任务的复杂程度,通过接力飞行也可以提高续航时间。于是,多无人机伴随飞行成为了未来无人机发展的趋势之一。
在如今的消费级无人机市场中,深圳市大疆公司占据了70%以上的市场,成为了无人机爱好者的首选产品。此外,DJI还开放了其部分产品的二次开发套件(DJI SDK),允许用户利用DJI提供的API对DJI无人机进行私人定制开发,完成特定的功能。
基于上述情况,本文采用了大疆公司开放SDK的产品-----“PHANTOM3 ADVANCED”,开发运行于Android移动终端的APP应用,通过安全传输并处理无人机间传输的飞行数据,实现2架无人机的伴随飞行任务。
研究现状
提起无人机,人们的第一反应是和战争联系起来的。确实,无人机起源于战争,100年前出现了第一架无人机,它被用到了战争的领域。但是随着100年的发展,无人机技术持续进步,促进了无人机的应用。
随着科学的进步以及技术的革新,无人机将装备更先进的传感器等设备,通过更加智能的算法,代替人类完成各种更复杂的任务。
无人机的发展有以下趋势:
一、智能化趋势
未来无人机是智能化的,它不只是听从人类指令,执行命令。它会根据情况,利用收集到的信息,智能化的做出反应;
二、集成化趋势
在未来,无人机将会进行系统集成、综合传感,这会显著的增强无人机的通用性,使其能够胜任各种各样的工作,成为“多面手”;
三、民用化趋势
在未来,最先进的无人机不一定出现在军用战场上,它会更加的进入民用生活,更广泛的代替人民进行工作,如运输,测绘,载人驾驶警务执法等。
主要工作
由于DJI SDK为基于于Android平台的依赖库,故本文开发的应用运行于Android移动平台,采用Android的View框架编写,部分框架运用Android中的其他组件。此外,由于需要加载2D地图,还使用了高德地图的相关API。
本应用将无人机分为2种,即人为指定飞行路线,产生飞行数据的“主”无人机与接受飞行数据,自动规划飞行路线的“从”无人机。下面分别介绍2种无人机的主要工作流程:
“主”无人机:为server端。首先,安装server端APP的手机连接无人机的遥控装置,联网进行产品的注册与认证;成功后,进入主界面,用户在载入的地图中依次点击计划中飞机将要飞行的节点,再设定飞行参数,如飞行高度,飞行速度,飞行航向,飞行完毕后的动作,传输飞行数据的延迟与间隔等,上传到飞机,点击开始按钮即可执行任务;无人机飞行过程中,用户可以在APP的地图上实时观测无人机的飞行数据与无人机在地图上的具体位置。
”从”无人机:为client端。与server端类似,首先,安装client端APP的手机连接无人机的遥控装置,联网进行产品的注册与认证;成功后,进入主界面,与server端不同的是,client无法规划无人机的飞行路线与参数,只有在”主”无人机执行飞行任务后,”从”无人机会根据从”主”无人机接收的飞行数据,自动跟随在”主”无人机后,伴随飞行。飞行过程中,实时计算与主无人机的间距,动态调整飞行速度。
主-从无人机间的飞行数据传输基于手机的蓝牙模块,并采用三重握手,四次挥手与滑动窗口机制,完成传输数据的安全性与完整性。
本文结构
本文一共分为六章,具体如下:
第一章为绪论部分,阐述论文背景以及意义,无人机发展研究的现状,对论文的主要工作进行了总结。
第二章介绍了本应用开发过程中的开发环境,并对其中运用的技术进行了概述。
第三章为系统设计部分,先是分析了一个无人机伴随飞行应用需要满足的功能,之后根据功能的需求与结构的需要将应用分为了七大模块,逐模块进行了设计思路的阐释。
第四章逐一对七个模块进行详细设计与具体实现的说明。
第五章对设计了若干系统测试的用例,对测试用例的执行结果进行分析
第六章总结了论文的内容有所做的工作,并对未来的工作做出了展望。
第二章 开发环境与技术概述
2.1 Android概述
Android是一个移动操作系统,其基于Linux内核,主要应用于用于智能手机等便携设备。
由于Android的开源性与用户友好性,在它推出后快速占据的移动终端的市场。截至2017年3月,Android已占据了移动设备市场的65%。
下图显示了Android系统的主要架构:
图2-1 Android系统架构图
从上图中可以清楚的看出:
最上层是面向用户的应用程序,包括电话程序、联系人程序等。
下面是应用框架,为开发人员提供访问核心组件所使用的API,包含了丰富的框架,如活动管理,位置管理,电话本管理等。
第三层是系统运行库,包含程序库和Android运行库。程序库中包含了一些C/C 库,通过应用框架为开发者提供服务。Android运行库中包含核心库以及Dalvik虚拟机,每个应用程序运行时都会对应一个Dalvik虚拟机。
最下面一层是Linux核心,Android的核心系统依赖于Linux内核,音频驱动,IPC驱动,显示驱动等。
2.2 DJI SDK概述
DJI SDK是一款软件开发工具,它旨在让开发者获得开发DJI无人机产品的能力。 SDK通过照顾较低级别的功能(如飞行稳定,电池管理,信号传输和通信)来简化应用程序开发过程。 这样,开发人员不需要机器人或嵌入式系统的背景,而可以专注于将DJI产品整合到应用程序中。
SDK包括了一个可以导入到可以访问DJI产品的Android应用程序中的库/框架,开发人员可以通过该库提供的API接口,访问DJI的许多产品功能和功能。 开发人员可以使无人机自动执行飞行,控制摄像机和云台,接收实时视频和传感器数据,从产品中下载保存的媒体数据,并监视其他组件的状态。
下图说明了DJI Mobile SDK如何适应移动应用程序,以及它如何连接到DJI飞机。
图2-2移动终端与大疆产品连接图
开发人员开发的APP建立于Android SDK与DJI SDK之间,通过SDK建立与无人机遥控器之间的联系,再通过遥控器完成对无人机的操作。
移动应用程序通过下图所示的几个主要类别访问DJI Mobile SDK。
图2.3移动应用访问DJI SDK示意图
剩余内容已隐藏,请支付后下载全文,论文总字数:35972字
该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;