本文是一篇软件工程硕士论文,论文通过对旋翼航空器地面控制软件设计与实现的选题意义、国内外现状进行分析,梳理出控制软件需要实现的典型功能需求,结合需求进行了软件框架、功能、接口、关键算法的设计和软件实现。软件采用 C/S 架构,利用插件技术,将不同的功能通过不同的插件来实现,多个插件通过框架配置组成了控制软件。插件化设计的独立性和软件配置加载的灵活性使实现软件具有了很强的适应性和可扩展性。根据旋翼航空器执行任务的工作流程,将软件划分为行动任务加载、信息处理、任务监控、飞行控制四个模块,同时为满足图形显示的需求软件还具备了地图加载和显示控制功能。软件实现的主要内容为任务监控和飞行控制。在任务监控功能设计和实现中,重点是对偏航、事件威胁和环境因素动态干扰情况的监视和处理。本文提出了采用航空器与区域关系算法进行事件威胁的判断,采用模拟退火算法进行环境因素动态干扰的规避航线生成。
第一章 绪论
1.1 选题背景及意义
由于旋翼航空器具有垂直/短距起降、空中悬停、侧飞、场地需求小、机动灵活、反应迅速等特点,广泛应用于医疗、救灾、探测、公安执法、科研、战斗等民用和军用领域[1]。例如,2008 年 5.12 四川汶川特大地震时,救援队通过派出的两架小型无人机,对地震中的严重灾害区域进行了高清拍摄,为救援人员提供了及时且重要的灾情信息[2];同时在救灾过程中发生的陆航直升机撞山事故也使救援力量付出了沉重的代价。因此如何控制其按时、安全地抵达任务地域,有效地规避地形、气象、禁飞区等危险,顺利开展任务工作成为亟待解决的问题。
随着机载传感器、空地通信、地理导航、雷达等通信、探测技术的发展,地面能够通过多种手段获取全面、实时地获取旋翼航空器本身飞行参数信息及任务区域环境态势信息,结合高精度地理信息数据,通过地理、气象、区域环境的实时分析,使对旋翼航空器实时的任务执行情况进行监视,对威胁信息进行告警成为可能。地面控制人员可以根据当前态势,结合任务情况和告警情况对航空器飞行状态进行判断,对飞行情况进行控制,从而降低航空器飞行风险,提高任务执行的安全性。
设计与实现旋翼航空器地面控制软件,通过机载传感器、地理信息、气象、任务区域工程设施等信息的接入,根据任务实时分析旋翼航空器飞行参数信息,提供自动化的航线生成、实时航线监控、智能化任务分配、精确地末端控制,为地面操作人员提供快速、精准的飞行控制辅助计算。即实现了旋翼航空器地面控制的自动解算,保证了任务的安全、有序实施,又大大减轻了地面控制人员的工作强度。研究的成果通过传输数据接口的适配可直接应用于搜索救援、维稳处突、军事等涉及航空器的工程项目。通过专用插件的定制和集成,还可以快速的实现项目要求的特色功能开发,缩短软件的开发周期,节省开发成本,具有重要的市场价值。
.............................
1.2 国内外现状及发展趋势
1.2.1 旋翼航空器
首先介绍一下什么是旋翼航空器。旋翼航空器,即是在航空器的构造中有旋翼,并通过旋翼旋转获得升力,包含旋翼机和直升机。“旋翼”作为旋翼航空器所共有的最重要的升力部件,也被称为升力螺旋桨。旋翼由桨毂及多片桨叶构成,桨叶连在桨毂上,桨毂安装在旋翼轴上。一副旋翼至少有包括两片桨叶,最多时可达 8 片。旋翼结构示意如图 1.1 所示。
对于旋翼航空器,不论哪种类型,都是通过桨叶的旋转与周围的空气相互作用,从而产生顺着旋翼轴的拉力。旋翼轴在近于垂直方向时,具备类似机翼的功能,提供向上的拉力。而如果旋翼轴相对于气流的方向或是各片桨叶的桨距与旋翼轴不对称,则还会产生垂直于旋翼轴的分力,具备类似推进装置的功能,提供前进的动力或后退的动力。同时通过改变机体姿态的俯仰力矩或横滚转力矩,提供类似于飞机操纵面的功能。
按照旋翼数量进行分类,可将旋翼航空器分为单旋翼直升机、双旋翼航空器、多旋翼航空器、倾转旋翼机等。下面对其原理、特点、各种旋翼机之间的差异性进行说明。
..........................
第二章 相关技术及工具研究
2.1 插件技术
插件(Plug-in),是根据相同定义的接口和调用规范编写的可被调用文件[11]。在实际使用中,软件通过接口管理和调用插件。而在软件投入使用后,用户往往还希望软件能够增加或修改部分功能来满足其某些特殊的需求。但是在传统的软件技术中,软件功能在开发过程结束后即已固定而无法随意的修改。为解决上述问题,近些年在软件开发过程中引入了插件技术的概念,其目的即是为了解决软件的扩展性和重用性。当制定好调用的接口后,任何人都能根据接口制作满足特定需求的插件来解决新增的功能要求或操作上的不便[12]。对于软件主程序,每个插件都用来实现原有程序的一部分功能,开发者根据用户需求和功能分解,将编写的代码进行插件化封装,主程序通过调用插件提供的接口来实现某项功能。通过对插件的修改和开发,可以在不修改主程序的情况下满足用户新的或改进需求[13]。
2.1.1 插件技术实现原理
插件的实现,为了满足插件与软件主程序能够正常交互数据,需要遵循软件制定的主程序与插件交互的接口要求。经过多年的发展,拥有多种方法来进行插件的制作,较为常见的有动态链接库(DLL)法、ATL 法、独立应用程序法、COM 法等,而不管采用哪一种方法进行插件的开发,均离不开交互接口、插件和主程序三个要素。
a) 插件接口。负责规范插件与主程序之间交互的信息类型、信息结构、信息内容等。例如对于动态链接库实现的插件,接口通常为一个内存指针或数据结构。
b) 插件。是根据插件接口规范实现某些满足一定功能的程序,常采用 DLL、exe等格式。
c) 主程序。用于插件的加卸载和调用。
............................
2.2 XML 文档技术
可扩展标记语言(Extensible Markup Language),简称 XML,是一套定义语义标记的规则,能够将文档分成许多部件并进行标示。XML 文档除了可以存储文档的基本信息外,还可以存储文档的布局、格式显示、文档逻辑结构等附加的信息。
2.2.1 应用类型
单纯的 XML 文档是用来描述和保存数据的,而整个 XML 解决方案则包含了与XML 相关的一系列技术。
a) DTD 与 XML Schema 技术:用于对 XML 文档进行规范和验证;
b) CSS 和 XSL 样式表技术:用于格式化显示 XML 文档;
c) DSO 和 DOM 技术:用于把 XML 文档作为数据对象进行显示和编程处理。
2.2.2 应用优势
XML 文档作为标准的标记语言,具有以下优点。
a) 扩展性好。由于不同行业、不同领域的标记方法千差万别,用一种标记规范去适应所有行业显然是不可能的。而 XML 文档节点、节点间层次结构等都可自由定制,因此适合各行业领域用来定制自己的标记规范。
b) 内容与形式的分离。XML 与平台无关,其彻底的将标识与显示分开,XML文档将显示的信息结构化的存储在文档中,不同的平台可以解析文档并按本平台的方式显示。
c) 遵循严格的语法要求。XML 不但要求标记配对、嵌套,而且还要求严格遵守 DTD 的规定。这增加了文档的可读性和可维护性,大大减少了开发人员的工作量,提高了效率。
d) 便于不同系统间的信息交互。不同企业、部门中往往存在着许多不同的系统,XML 可以作为系统间信息交互的媒介,是一种非常理想的网际语言。
..........................
第三章 软件需求分析 ......................................... 9
3.1 业务及流程分析 ......................................... 9
3.2 功能用例分析 ..................................... 10
第四章 软件设计 ................................... 15
4.1 设计原则 .......................................... 15
4.2 结构设计 .......................................... 15
第五章 软件实现与测试 ............................... 43
5.1 软件实现 ................................... 43
5.1.1 软件主体框架 .............................. 43
5.1.2 地图操作 ................................... 43
第五章 软件实现与测试
5.1 软件实现
5.1.1 软件主体框架
控制软件通过框架集成后主要包括菜单栏、信息显示区和图形显示区三部分。菜单栏包括地图操作、行动任务、信息处理、任务监控、地面控制、数据库管理六类菜单,如图 5.1 所示。
界面集成框架提供集成插件的接口和被插件调用的框架接口,通过读取 XML 配置文件对功能插件进行装载调用,实现软件应用。
界面集成框架通过读取 XML[21]文件加载功能插件及插件功能菜单。软件功能的扩展可以通过修改 XML 文件的插件加载项来实现。
.............................
第六章 结论
6.1 总结
论文通过对旋翼航空器地面控制软件设计与实现的选题意义、国内外现状进行分析,梳理出控制软件