无人机控制站通用软件平台设计*
2018-07-26陈翔宇1杨红生
陈翔宇1,杨红生
(1.解放军92419部队,辽宁 葫芦岛 125106;2.中国西南电子技术研究所,成都 610036)
1 引 言
无人机系统的指挥控制由位于飞行平台上的机载控制单元和位于控制站的相关指控单元共同完成,机站控制单元之间数据交互是通过通信链路实现。其中,控制站是无人机系统指挥控制的关键环节,按载体不同可分为固定式、车载式、舰载式、机载式、便携式,主要完成对无人机的飞行控制、载荷控制、链路控制、任务规划、航迹显示、载荷信息处理及显示等功能[1]。
随着无人机应用越来越广泛,控制站与无人机无法互联互通、不同控制站的对外接口无统一标准导致的无法实现不同信息网络之间的信息共享和互通互联等问题愈发突出。无人机系统要具备互联、互通、互操作能力,除具备互联互通特征的无人机测控链以外,标准的、规范的、通用的控制站成为提升无人机系统互操作能力的关键,其通用化已经是无人机系统的重要需求,并且受到世界各军事强国的普遍关注和重视。
在国外,为了解决互联互通的问题,美国海军启动了战术控制系统(Tactical Control System,TCS)项目,目标是研制出一种通用无人机任务控制系统,完成计划制定、指挥控制、侦察数据接收与分发,实现无人机在各军种地面站间的无缝连接。TCS项目的概念也从海军推广到美国海陆空三军,并促成了无人机控制系统标准接口——STANAG 4586[2-4]。该标准已经在众多无人机项目中进行了实现,典型的有美国Lockheed Martin公司研制的VCS-4586系统,已经成功应用于RQ-7B Shadow、Boeing ScanEagle、Aurora Flight Sciences GoldenEye80、General Atomics Aeronautical Systems MQ-1C Sky Warrior、Meggitt Training Systems Barracuda、Hammerhead and Vindicator、Northrop Grumman MQ-5B Hunter 等许多系统中[5];AAI公司研制的通用地面控制站系统,已经成功地用于“影子”“灰鹰”和“猎手”无人机;以色列Elbit公司研制的通用地面控制站系统,可以控制Hermes系列的所有型号无人机。
在国内,无机地面控制站基本上都是基于专用的硬件平台和软件模块,多数无法实现与不同型号无人机互联互通。只有部分同类型的无人机,所采用的地面测控终端相同,地面控制站的数据处理机显控需求也相同,实现了地面控制站与几型无人机之间的互联互通,但尚未形成类似北约STANAG 4586的标准。
实现无人机控制站与不同型号无人机互联互通,除了通用的硬件平台外,核心是通用的软件平台。在没有类似STANAG 4586标准制定的地面控制软件对外标准数据交换接口、人机接口的情况下,通过实现无人机控制软件的通用性、扩展性、灵活性,通过软件配置来满足与不同型号无人机互联互通的需求是一个解决办法。本文在梳理无人机控制站国内外发展现状的基础上,分析了无人机控制站的软件设计需求,提出采用平台+插件的无人机控制站软件架构,并对实现通用软件平台的关键技术进行了研究分析。
2 通用无人机控制站软件设计需求
这里主要是针对人机交互的显控软件架构进行设计需求分析,不涉及后台任务规划、资源管理、链路管理、数据处理等处理算法与逻辑。
(1)通用性
设计通用无人机控制软件,不仅要考虑兼容现有的无人机系统,而且还要用于将来新建的无人机系统,每型无人机的飞控、任务载荷可能都有区别,使得系统的遥测遥控信息帧格式、参数信息的内容、格式等都可能不同,信息显示的要求也不同,所以进行软件设计时需要重点考虑软件的通用性,以满足不同型号无人机的需求。
(2)扩展性
考虑适用于将来新建无人机系统,需求具有一定的未知性,有可能将来新建的无人机系统有某些特殊需求目前设计时无法考虑,所以系统必须具有扩展性,可以通过更换或增加某些功能模块的方式,方便对系统的功能进行扩展。
(3)配置灵活性
每型无人机的信息帧格式、参数内容等都可能不同,软件需要能够通过修改配置进行设置,适应不同型号无人机的要求;各个型号无人机的软件界面显示内容和要求不同,通过配置可以灵活设置每个区域显示信息的内容和显示方式,各个显示区域的尺寸也必须可以根据需要进行调整,用户可以通过修改配置的方式进行软件界面定制。
(4)分布式部署
无人机控制站有多种形式,包括固定站、车载站、舰载站、机载站、便携站,不同形式的控制站硬件布局及显示器的数量、尺寸等都可能存在差异,通用软件平台必须具有分布式部署能力,通过修改配置的方式进行灵活部署,能适应不同类型控制站的硬件布局及显示器。可以根据无人机平台的控制需求,将所有功能综合到一个综合化软件中,也可以分布式地将功能分配在几个独立的软件中任意部署。
(5)操作一致性
操作人员需要使用该系统控制不同型号的无人机,为了提高该系统的使用操作性,降低对操作人员的培训难度,进行软件交互界面设计时考虑不同型号、类型的需求,使该系统对不同类型、不同型号无人机和机载设备进行操作时保持操作方式和形式的基本一致性。
3 无人机控制站通用软件平台架构
本文提出一种采用通用平台+功能插件的软件架构,如图1所示。可以按照完成的功能将软件分为基础层、组件层、基础服务层、业务层和表示层。
图1 通用软件平台架构Fig.1 Common software platform architecture
各层的具体功能如下:
(1)基础层
基础层是由第三方软件厂商提供的管理和服务性软件,是最底层软件,为上层应用软件提供运行环境,包括操作系统、数据库系统、Qt库等。
(2)组件层
组件层是为上层服务提供支持的细粒度公共组件,组件层各个模块都以动态库的形式存在,供表示层、业务层调用,它们不会被插件框架直接识别和加载,不需要实现插件标准接口。公用组件层的模块有通用性,不需要修改就可以直接使用。
(3)基础服务层
基础服务层即插件框架,插件框架是实现模块化、插件式编程的关键,它负责表示层、业务层各个插件模块的自动加载,以及表示层、业务层各个插件模块之间的信息交互。框架是若干独立的、成熟的软件模块,以动态库的形式存在,不需要修改就可以直接应用于各个项目。
(4)业务层
业务层用于实现各类应用中业务功能的插件模块的集合,例如日志管理、配置管理、用户管理等,每个模块实现一个独立的常用功能。与组件层模块的区别是,业务层能够被插件框架直接识别和加载,通过服务的方式为需要的模块提供相应的功能。可以通过升级更新业务模块或增加业务模块的方式,方便地对系统的功能进行升级和扩展。
(5)表示层
表示层是各种人机交互相关的软件界面功能插件的集合,表示层模块共同协作,以友好的方式向操作员提供系统的人机界面。表示层与业务层之间通过基础服务层进行信息交互,而不是直接进行交互,以减少模块之间的耦合性。可以通过升级更新表示层模块或增加表示层模块的方式,方便地对系统的人机交互界面进行升级扩展。
基于通用平台+功能插件的软件架构具有以下优点:
(1)规范的模块化框架
通过规范的架构,软件开发工程师可以更加关注与业务结合,而无需考虑底层逻辑与实现,彻底解放了系统设计师,可以方便灵活地开发多型号无人机控制软件,而且由于该架构采用微内核机制,又可保证系统的稳定高效。
(2)显著提升系统的设计能力
采用标准的软件架构,更加规范地让设计师去完成系统设计工作,更加容易先分模块设计业务架构,后进行模块详细设计。所有设计师都基于一种框架设计,保证了系统的通用性和可靠性。
(3)实现了动态可管理的系统(即插即用)
基于该架构开发的系统功能模块可以动态加载或者卸载,而系统本身无需停止,还可以通过远程管理工具进行功能模块的远程安装、启动、停止和卸载模块。
(4)系统维护成本大大降低
由于该架构开发的系统模块具有严格意义上的模块化,相对于传统开发方式,系统模块的组织、复用和扩展变得容易,也简化了模块的测试。当一个系统功能需要修改或者发现bug时,开发人员只需要修改或者重新编译他自己的功能模块,模块之间没有耦合,互不影响,这可以大大降低系统的维护成本。开发新功能也是一个“独立”的模块,部署只需拷贝到指定目录,系统即可拥有新功能。
(5)系统的扩展性增强
不仅开发方可以通过升级、替换或增加插件模块的方式动态地对系统进行扩展,第三方公司也可以遵循规范开发插件对系统功能进行扩展。
通过该软件架构,可以实现一个通用的软件平台,将各型无人机所需要的人机接口都设计为插件的形式,新的显控功能、新的人机功效设计都可以灵活扩展,软件界面可以按需定制,也可以实现软件功能根据不同无人机控制站需求及硬件配置灵活部署,满足对无人机控制站的通用性、扩展性、配置灵活性、分布式、人机功效等设计需要。
4 关键技术
实现无人机控制站软件通用,从软件实现层面主要涉及两个方面,一是与传输不同数据的地面测控终端之间通信协议适配及对数据的组包与解析,二是与不同型号无人机显控及数据处理需求之间适配。针对通信协议匹配问题,传统的做法是在地面数据终端与无人机控制站软件之间传输协议不匹配时,设计协议转换插件或制定专用协议对控制站软件进行修改。针对不同型号无人机显控及数据处理需求,传统的做法是针对每型无人机研制专用软件,或采用软件中间件技术,并将类似软件功能尽量采用相同设计,将有区别的地方采用专用插件进行软件升级,但仍是离线提前研制的形式[6-7]。
针对上述问题,本文提出采用通用平台+功能插件软件的通用架构,基本原理是在通用架构的基础上采用XML技术进行帧格式信息和参数信息描述、动态报文解析及组包,以便与地面测控终端之间进行适配;并基于插件技术,将软件功能插件化设计,支持用户自定义软件加载的功能插件。同时,提出专用软件编辑工具,在通用控制软件研制完成之后,用户利用该工具可现场自定义软件的通信协议、软件界面布局及显控功能。
4.1 通用平台+功能插件软件架构
基于该框架开发的软件由平台和功能扩展插件组成。平台主要完成核心和基础的功能,具有通用性,同时平台需要完成插件的自动识别、加载、运行和管理,同时完成各个插件模块之间的自动数据交互,具有高效、灵活、通用、开放的特点。所有的扩展业务功能都在插件模块中实现,包括与地面数据终端之间、与指挥所之间的通信功能,飞行管控、载荷管控、链路管控等,每个插件都是一个独立的动态库,可以独立开发、测试、部署,不同软件配置项中相同的业务功能模块可以由同一个通用插件来实现。
采用该框架后,系统中的大多数功能模块都是由通用插件来完成。
4.2 基于XML技术的帧格式信息和参数信息描述
不同型号的无人机,所包含的参数信息是不同的,例如固定翼无人机和旋翼无人机,所涉及的参数名称、类型、个数等都不相同;若无人机搭载的任务载荷不同,与载荷相关的参数信息也不同。在软件内部,采用XML对参数信息进行描述,每个参数的描述信息包括名称、数据类型、显示类型、范围、量化、步进、单位等。软件内部所有的显示、处理、存储等全部基于此描述信息进行设计。
用户可以通过修改XML参数描述信息来适应系统中参数的增加、删除、修改等,以及参数属性的变化,使软件平台能自动适应不同型号的飞机、不同型号的任务载荷等。
4.3 动态报文解析及组包
通常,控制站需要与地面测控终端、上级指挥所等进行信息交换,针对不同型号的无人机,每个信息交换接口传输的信息帧格式都可能不尽相同,采用XML对通信协议和通信信息帧格式进行描述。软件启动时根据XML中描述的通信协议信息设定通信参数。任务过程中根据XML描述的帧格式信息对接收到的信息帧进行动态报文解析处理;发送数据时,根据XML描述的帧格式信息动态组包,生成发送信息。
用户可以通过修改XML通信协议和通信信息帧格式描述信息来适应通信协议和信息帧格式的变化,满足不同型号无人机的需求,实现系统的通用性要求。
4.4 软件界面定制
针对不同型号无人机,为了保持好的操作一致性,降低对无人机操作使用人员的培训周期和费用,需要软件界面风格的一致,并针对不同型号的差异保证用户可进行适当的软件界面定制。由于软件采用通用平台+功能插件的软件框架,可以将软件界面按照功能区域划分为若干个功能模块,每个功能模块由一个插件完成。每个插件携带自己的XML配置信息,用于配置该界面功能区域具体显示的数据信息,用户可根据不同型号无人机的需要增减显示的信息,配置每个参数信息的具体显示方式,例如采用数字仪表显示、图文显示还是文本显示等。
用户通过修改软件界面模块的显示配置XML信息,就可以根据需要进行软件界面定制功能,增加了系统的通用性和灵活性,可以满足不同型号无人机的需求。
4.5 软件编辑工具
在上述设计的基础上,为提高无人机控制站软件针对不同型号差异进行软件配置的便利性,设计了软件编辑工具。该软件是采用类似LabView图形化编程的应用方式,软件针对飞行管控、链路管控、载荷管控等对不同的功能板块,分别开发了各类型无人机所需要的常用显控插件作为插件库,用户根据不同无人机型号的需求,可以现场在该软件中对各功能区所需显控的内容、界面布局进行类似Visio画图设计(在插件区选择插件、在布局区进行布局设计、在参数区进行参数配置),并对通信插件的参数(包括信息帧格式、信息帧长度、参数定义、参数字段类型、参数字节长度等)、各显控插件的参数(包括插件的显示尺寸、颜色等显示参数,显示数据的类型、范围信息等)进行配置,就可以生成相匹配的控制软件,配置保存之后,后续可以直接使用,无需再次编辑。所设计的软件界面如图2和图3所示。
图3 传输帧编辑Fig.3 Transmission frame editing
5 应用验证
经多型无人机在车载站、便携站的实际工程验证,本文所设计软件平台,通过软件编辑工具对软件显控功能、传输帧参数进行配置,能够解决控制软件与不同型号无人机的需求匹配问题,实现无人机控制站与不同型号无人能互联互通。
针对两型无人机不同的飞行控制软件显控需求、传输帧的需求,采用本文所设计的软件平台,利用软件编辑工具配置出的飞行控制软件如图4所示。
(a)飞行控制软件型号1
(b)飞行控制软件型号2图4 飞行控制软件Fig.4 Flight control software
6 结束语
本文所提的软件架构可以实现飞控管控、载荷管控、链路管控、任务规划及航迹显示等功能,这些功能可以根据不同类型控制站的需要,配置分布在几个独立的软件中,也可以配置为几个功能集中在一个软件中,并实现地面控制软件对外数据传输信息帧格式灵活可配,人机接口功能具有通用性、扩展性、界面可定制、灵活部署于不同形式的控制站等能力,以满足无人机控制站与不同型号无人机能互联互通的需求。
为解决多型无人机控制需求,基于本文所提软件架构设计的无人机控制软件平台及配套设计有软件编辑工具,已经在工程上的车载站和便携站实现了对多型无人机的控制,带来了巨大的效益。