吴 振, 吴红兰, 吴宇辰
(南京航空航天大学 民航学院,江苏 南京 211106)
根据特定的任务类型,一些无人机在整个飞行过程中实现了完全自主飞行,无需从地面站发送控制指令[1-2]。但是对于几乎所有的应用来说,都需要地面操作员与无人机进行双向通信,地面控制站已成为无人机系统执行任务时必不可少的组成部分。
然而,随着无人机作业任务的增多以及飞行环境越来越复杂,地面操作员需要处理的信息量激增,当有突发或紧急任务时,工作负荷增大。由于人为因素的存在,即使是训练有素的地面操作员也会出现意想不到的操作失误。调查结果表明,人为因素引起的严重飞行事故在众多无人机事故中占有非常高的比例[3]。
在某些功能上给予无人机自主性可以降低地面站操作员的工作量,提高态势感知能力,机组人员可以把精力集中在关键性任务上[4]。作为无人机系统核心技术之一的自主航路规划技术,能够代替人在复杂的动态环境下进行飞行任务的规划与决策,有效地避免地面站操作员的不安全控制行为,分担其任务工作压力。因此,构建自主航路规划平台,对提高无人机系统智能化水平,保证无人机飞行安全具有重要意义。
目前已有很多专家学者针对无人机地面站关键技术与设计展开研究,但多是从控制角度进行软件的开发与设计,很少有人考虑到地面站,尤其是航路规划子系统的人机交互需求。杨帆等[5]基于某型号靶机需求,采用模块化思想开发了具备实时控制与监测功能的地面站软件,但忽略了人机交互需求,监测数据显示不直观,操作相对复杂。金强等[6]基于Qt对四旋翼无人机地面站的虚拟仪表进行了设计,使得飞行状态等监控数据的显示更加直观,但其并未涉及航路规划系统。马夏莹等[7]设计了一款无人机地面站武器控制系统,实验部分考虑到了操作人员负担问题,但设计前没有对其人机交互需求进行梳理,也未曾提供人机交互的可视化界面。
基于以上问题,首先对航路规划系统功能和无人机系统适航标准规范分析,总结归纳航路规划系统设计的基本原则与必要条件;然后,从系统功能要求和人机交互需求出发,构建航路规划系统软件的基本框架,并采用MATLAB APP Designer完成软件平台的开发。
航路规划系统是实现无人机自主飞行和避障导航的关键系统。然而,从对国内外无人机系统相关标准以及规范的分析来看,目前还没有专门针对无人机航路规划系统的适航标准规范。但国内外很多标准都从任务需求和适航角度,以无人机任务规划系统子功能的方式对其提出了相关要求[8-16]。
通过对无人机航路规划系统功能(如图1所示)和无人机系统适航标准规范分析,无人机航路规划系统在设计时应当满足如下要求:
① 无人机航路规划系统的功能是能够在已知数字地图的基础上,根据无人机性能等各种约束条件和飞行任务需求,在起点和目标点之间规划出一条某种评价标准下的最优航路[17]。
② 无人机所规划航路信息的准确性、完整性和一致性高。无人机按照预定航路自主飞行的具体执行过程都是以航路规划输出的先验数据信息为基础的,因此规划航路信息的准确性、完整性和一致性对无人机的任务执行结果及自身的飞行安全至关重要。
图1 无人机航路规划系统
③ 无人机航路规划系统应具备快速的再规划能力。无人机在按照预定航路飞行的过程中,由于飞行环境复杂多变,很多情况下不得不对预先规划的飞行航路和任务模式进行重新修正,以确保无人机的飞行安全、提高任务的成功率。
④ 无人机航路规划系统应当具备一定的通用性和一致性。未来空域必定是无人机与有人机等各种飞行器的集成空域,因此为保障空域飞行安全,通常要求航路规划系统之间具备一定的通用性和一致性,以保证各种飞行器(包括无人机和载人航空器)之间能够协同飞行。
⑤ 开发人员应同时具备实际任务经验和技术素养。航路规划是实际任务执行过程的载体,所以需要将具体的航路和要求转换为无人机可识别并执行的数据结构。此外,任务规划还需要充分地满足两个主要的约束(装备约束、环境和任务的约束)来确保任务执行过程的安全性和可靠性。因此,对任务规划系统设计人员而言,既要熟悉无人机具体任务的使用方法,又要掌握无人机系统知识,即对无人机实际任务经验和技术素养要求都比较高。
⑥ 无人机航路规划系统应当进行适当评估。评估测试内容主要集中于对航路的设置及规划能力、状态回报与显示能力等方面,其目的是为了保证无人机系统的安全性和可靠性。
⑦ 无人机航路规划平台应当具备友好的人机交互界面。友好的人机交互界面是指地面操作员与无人机之间的接口在满足所有功能需求的前提下,其操作应当简单易行、便于理解。
航路规划软件平台是无人机自主航路规划系统的核心,是无人机智能化水平的重要体现。一方面,软件平台是地面操作员与无人机交互的接口,其设计好坏严重影响着操作员的任务决策与执行;此外,作为航路规划软件的重要组成部分,相关智能算法的复杂度与可靠性决定着无人机的智能化与安全性水平,其设计应当经过严格的理论分析与验证。因此,在进行无人机航路规划平台的设计与开发过程中,不仅要注重软件平台的可靠性,也应当同时参考航路规划系统的整体性要求。
软件平台主要应用于无人机飞行前的航路规划工作,它能够在已知任务环境信息的基础上,根据任务需求,规划出一条有效航路,同时能够将其形成飞行指令,控制无人机飞行,且在无人机飞行过程中能对其飞行状态进行实时监控。航路规划系统功能划分如图2所示。
图2 航路规划系统功能划分
此外,根据标准和应用的人机交互需求,自主航路规划平台人机交互模块应当具备以下功能。
① 数字地图,异常气象区、禁飞区等威胁源的显示。
② 无人机预定飞行航迹与实时飞行航迹显示。
③ 支持任务计划的自动或人工生成操作。
④ 任务计划的编辑与输出,导航指令与参数的输入与发送。
⑤ 具备地图比例缩放、平移等功能。
航路规划软件逻辑框图如图3所示。该平台软件主要以环境信息作为外部输入,同时能够实时接收无人机下发的状态信息,进而形成飞行日志作为输出。
航路规划模块主要完成自动航路规划功能。它通过改进的遗传算法和人为设置的参数自动生成满足约束条件的无人机航路。规划航路最终都会形成航路文件进行保存,同时还可以通过通信模块形成无人机飞行指令,引导无人机完成飞行任务。
人机交互界面是帮助用户与系统进行交互的接口。友好、简约的操作界面能够帮助用户高效地进行任务规划。
图3 航路规划软件逻辑框图
该功能模块具有初始化地图、威胁的导入、任务设置、航路输出等功能。航路规划功能模块设计的核心是航路规划算法的设计。本文所构建的平台采用改进的遗算法进行航路规划。虽然许多改进的遗传算法针对其早熟收敛或迭代速度过慢等问题提出了改进措施,但忽略了各种局限性之间存在的耦合关系,其结果往往是以牺牲其他优良特性为代价的。基于此,提出了适应度值标定、种群多样化和精英保留策略的融合改进方案[18]。
基于改进遗传算法的航路规划流程如图4所示。
图4 基于改进遗传算法的航路规划流程
下面给出了改进遗传算法的核心程序。
① 按适应度值大小对种群个体(航路)进行排序。
② 取出适应度值最大的航路,放入精英池,并对精英池按适应度值大小排序。
③ 计算种群适应度平均值,并以此为阙值,选择适应度值大于平均值的航路。
④ 计算航路相似度程度,并以适应度最高的航路为模板,去除相似度高的航路。
⑤ 判断是否达到所要求的种群规模,如果是,则进行遗传操作;否则重复④。如果不能得到足够的种群规模,顺次引入精英池中的航路进行补充。
⑥ 判断是否符合终止。如果是则终止算法;否则跳转到①。
基于以上改进遗传算法,构建了无人机航路规划平台。航路规划平台主界面如图5所示。除了基本的无人机航路和状态信息显示界面,该平台还提供了航路规划、无人机控制等人机交互的接口。
图5 航路规划平台主界面
通信功能模块由数传电台(包括地面数传和机载数传)构成地空通信的上行和下行数据链路。应用层采用MavLink协议,其基于串口通信采用发布/订阅模式实现无人机组件及地面站之间的消息传递[19]。通信模块的上行链路和下行链路设计流程分别如图6和图7所示。
图8为控制功能面板,实现对无人机的直接控制。该模块支持对无人机的解锁、onboard和offboard模式切换,固定高度起飞、着陆、返航等功能。
无人机的控制指令(MAV_CMD)主要由7个参数的值来定义,这些参数封装在任务协议(Mission Protocol)和命令协议(Command Protocol)使用的特定消息中。
为了能够监控无人机按照规划航迹飞行时的动态,需要对无人机的飞行参数进行实时显示,软件平台提供了数字仪表盘和参数列表两种显示方式,分别如图9和图10所示。
图6 上行链路
图7 下行链路
图8 控制功能面板
图9 飞行仪表
图10 状态列表
在与无人机建立通信之后,无人机会根据请求以一定的频率不间断地向地面发送消息包,其数据接收流程如图7所示。数据包经解析后,即可进行显示。
该功能模块主要实现对飞行日志文件的解析与可视化,可用于飞行后对无人机姿态及飞行航迹的回放分析及算法约束的调整。
为验证软件平台的可用性,需要对其任务设置及规划能力、系统在线修改与加载能力、状态回报与显示能力等进行测试。
4.1.1 通信功能测试
该部分通过串口助手进行串口虚拟模拟,验证平台的串口数据发送功能。如图11所示,通过串口助手模拟了两个端口,端口COM1连接到图中左侧所示的串口测试软件(相当于飞控),端口COM2连接到航路规划软件平台。通过实验,串口测试软件可以接收到航路规划软件发送的指令码,说明软件的数据发送功能正常。
图11 数据发送功能测试
4.1.2 任务设置及规划能力测试
在进行任务设置之前需要导入任务执行空间的障碍环境地图。虚拟障碍是安全实验的有效选择,在标准足球场地模拟了一系列障碍物,并在此基础上进行任务设置。在导入虚拟障碍后,地图会自动缩放到虚拟障碍环境所适应的比例。
在上述虚拟障碍地图的基础上进行起点和目标任务点的设置,即可进行航路规划,航路规划结果如图12所示。此外,为凸显关键信息,系统对规划结果进行了处理,隐藏了环境中的非必要信息。
飞行测试部分主要完成无人机地面站可视化平台与无人机之间实时的状态回报和显示能力以及无人机按照规划航路飞行能力的测试。其中无人机按规划航路飞行测试场地为标准足球场,试验时天气晴、微风(3级)。
4.2.1 状态回报与显示能力测试
首先,搭建了数据接收功能测试平台,如图13所示。其中地面数传电台连接上位机,机载数传电台与飞控相连。建立连接后,上位机接收到以下消息结构。
MsgID: 0
SystemID: 1
ComponentID: 1
Payload: [1×1 struct]
Seq: 20
custom_mode: 0
type: 2
autopilot: 3
base_mode: 81
system_status: 3
mavlink_version: 3
从该消息结构可以看出,该消息ID为0(心跳包)。上位机接收到该消息包说明上位机与无人机之间建立了可靠的连接。至此,无人机航路规划平台的连接功能测试完毕,实验结果表明该平台具备正常的数据收发功能。
图13 数据接收功能测试
无人机地面站可视化平台与无人机之间建立可靠的通信链路后,会向无人机发送数据请求。无人机飞控接收到请求后,通过机载数传以一定的频率实时向地面站发送数据包。测试结果表明该软件平台飞行仪表(如图9所示)与状态显示能力(如图10所示)正常。
4.2.2 规划航路飞行测试
规划航路飞行测试主要验证系统把预规划航路形成飞行指令,进而下达给无人机的能力。选用四旋翼无人机进行飞行测试,如图14所示。
在与无人机建立通信连接后,即可通过软件平台对无人机进行控制。首先,将预先规划出的飞行航路导入到无人机飞控系统当中;导入完成后,软件显示窗口同步显示出待飞行的规划航迹;然后点击解锁、开启引导模式后,指示灯呈现绿色,同时听到无人机发出声音响应,说明地面站平台对无人机发出了有效的指令。
在向无人机发送自主飞行命令后,无人机开始按照预定的航路进行飞行。无人机飞行航迹如图15所示。
图14 四旋翼无人机
图15 无人机飞行航迹
实验结果表明,无人机能够按照预先规划的航路飞行。但无人机在实际飞行过程中,由于性能及各种不确定性因素的影响(如风速变化等),不可能完全按照预先规划的航路飞行,这给无人机的安全性带来了极大的挑战。
航路规划系统是实现无人机自主飞行和避障导航的关键系统。然而,目前还没有专门针对无人机航路规划系统的适航标准规范,这为系统的标准化设计增加了难度。此外,虽然国内外针对航路规划系统进行了大量的研究,但多是从控制和系统安全角度进行设计,鲜有人考虑到无人机地面站的人机交互需求。虽然,基于现有的无人机适航标准规范总结归纳了系统设计应当兼顾的7个方面,但并未给出具体的量化指标,同时所设计的系统未实现突发及相对恶劣环境下无人机规划航路的自适应响应机制。在后续的研究中应当继续丰富平台功能,建立无人机航路飞行的状态监控与健康的管理,以提高无人机系统的安全性与可靠性。