无人运输机地面控制站显示界面的仿真系统①

2018-01-08 03:12汤志荔窦洋龙
计算机系统应用 2017年12期
关键词:控制站仪表界面

汤志荔,窦洋龙,李 姗

1(西北工业大学 航空学院,西安 710129)

2(西北工业大学 电子信息学院,西安 710129)

无人运输机地面控制站显示界面的仿真系统①

汤志荔1,窦洋龙2,李 姗2

1(西北工业大学 航空学院,西安 710129)

2(西北工业大学 电子信息学院,西安 710129)

为实现地面控制站操作员对民用无人机的安全控制,提出了地面控制站集飞行仪表、地图综合界面显示设计方案. 采用 GL Studio 和 VC++ 6.0 混合编程的方式,实现对飞行仪表显示界面的设计; 使用 VC++6.0 对 Google Earth二次开发实现地面控制站地图显示功能. 将微软模拟飞行X作为飞行仪表和地图界面的数据驱动,通过UDP传输协议,实现仿真系统的综合测试. 测试结果表明,该系统设计可以为地面控制站操作员提供完整的态势信息,提高操作员的决策效率,为研究地面控制站显示界面工效问题提供新的方法.

地面控制站; 显示界面; GL Studio; Google Earth; 界面工效

目前,无人机在军事领域得到广泛应用. 在民用领域,大型无人机集成到未来国家空域中的设想首先被欧洲国家提出,这种用于运送货物的大型无人机被定义为无人运输机. 为保证大型民用无人机能同民航客机一样在商用领空飞行,空中安全管理部门对其地面控制站的设计提出了更高的要求.

无人运输机系统融入到未来国家空域的最大阻碍是其安全性. 依据当前技术水平,从无人机在战场的应用角度分析,无人机的安全性尚达不到要求. 据有关数据分析,在2005年到2015年期间,全球无人机事故中由操作员失误造成的事故所占比例大约为50%[1]. 美国空军研究人员罗伯特·P·赫尔兹中校调查发现,有75%的无人机坠机是“人为因素”导致. 美国军队及地面控制站相关操作人员对无人机飞行事故进行全面分析,最终得出的结论为地面站显示界面的设计是影响无人机飞行安全的主要因素.

在无人机地面控制站显示界面研究领域,国内外学者从人机工效、界面设计等方面,展开了一系列的研究. D Perez在文献[2]中提出了多无人机地面控制站监控系统的设计方法,该系统实现了将任务动态分配的多无人机平台的功能,减轻了操作员的任务负荷.Crescenzio在文献[3]中介绍了3D和触屏技术在地面控制站显示与控制界面设计中的应用,实验表明先进的接口技术增强了操作员的任务管理能力. 薛澄岐在文献[4]中总结复杂战斗机显示界面存在的问题,提出一种基于认知属性的界面布局设计. 庄达民在文献[5]中提出了人机界面的符号编码方法.

飞行员在民机驾驶舱内可以密切关注飞机周围环境及飞机的状态参数,当遇到突发情况时,飞行员能够快速灵活地处理. 不同于民机驾驶舱飞行员,无人运输机操作员仅仅依赖从无人机上传回的数据,不能完全感知飞机的飞行状态. 如何将这些数据直观地传递给操作员成为地面控制站人机界面设计人员主要考虑的问题[6,7]. 为此,本文提出了地面控制站集飞行仪表、地图、视景综合界面显示设计方案.

1 系统概述

本系统主要实现对地面控制站人机界面仿真功能,包含三个部分: 飞行仪表界面、地图显示界面和飞行视景界面. 系统总体框图如图1所示.

图1 系统总体框图

在该仿真系统中,飞行仪表界面由GL Studio和VC++6.0工具开发实现,该界面包含导航显示信息、主飞行显示信息、发动机及油表等信息; 地图显示界面是通过对Google Earth二次开发实现,该界面提供了无人运输机实时轨迹及姿态等信息; 飞行时景是通过飞行模拟X软件实现,该软件同时为上述界面提供飞行驱动数据. 整个仿真系统实现对无人运输机飞行姿态、飞行路径及飞行参数的仿真.

2 显示界面的开发与实现

2.1 飞行仪表界面的开发与实现

虚拟仪表显示界面的开发使用的是GL Studio软件,GL Studio软件由美国分布式仿真技术公司(Distributed Simulation Technology,DiSTI)开发设计. 该软件主要致力于用户图形接口的开发,能够满足高质量、功能多样的2D或3D图形的开发需求[8]. 同时,该软件还支持具有2D和3D图形文件格式、开发环境灵活、能够与VC++平台兼容等特点. GL Studio包含图形对象设计器和代码生成器,代码生成器能把图形对象设计器中的文件转为C++和OpenGL的源代码,生成的源代码能够在VC++6.0平台上进行调试.

基于GL Studio的地面控制站虚拟仪表开发流程如图2所示,该流程主要分为图形界面设计和界面对象行为代码编写[9]. 图形界面的设计包含整体界面显示的布局设计、图形符号编码、图形位置编码、图形颜色编码、各图形间逻辑关系编码,以上布局设计和编码方式均涉及到人机工效相关理论知识. 本部分重点讲述界面对象行为代码的编写.

图2 基于 GL Studio 的飞行仪表开发流程

以显示界面中导航显示开发为例,其设计过程如下.

(1) 分析导航显示界面中动态和静态元素

导航显示界面元素(数字、字母、图形、次级界面)包含动态元素和静态元素,如在导航显示区中PLAN模式和MAP模式是在同一区域通过不同按钮互相切换实现的,这两种模式分别对应两个不同的界面[10-12].PLAN模式页面和MAP页面是通过GL Studio工具栏中的组件按钮形成的二级界面. 两种界面中左上角的“GS”和“TAS”字符的位置、符号都不发生变化,因此这种字符为静态元素. 与此对应的“000”表示地速中的具体数据,它随着飞机的状态而改变;“_ _ _/_ _ _”表示待显示的风向和风速,它随飞机周围的环境而变化,这些元素均属于动态元素,对于所有的动态元素均要添加C++代码以控制其显示的属性.

(2) 分析动态符号的显示原理

对于MAP模式下的选择航向游标、航向刻度盘及航迹等符号都是动态显示的. 以选择航向游标为例分析其显示原理,航向游标沿着航向刻度盘移动,即游标沿弧线的外侧边缘移动. 根据飞机飞行的航向,导航界面中刻度盘沿弧线中心点转动.

(3) 给动态元素添加行为属性代码

以选择航向游标移动为例,在 GL Studio API库中DynamicTranslate(x,y,z,true/false)函数为控制航向游标移动的函数[13-15],该函数中的参量x,y,z表示立体空间中移动的坐标,true表示不显示该游标对象,false表示显示该游标对象. MAP模式下的页面为类名是mapmodeClass一个类,选择航向游标为该类中的一个对象,对象名为SelectedHeadingBug. 该游标移动属性的代码为:

SelectedHeadingBug→DynamicTranslate(x,y,z,false);

导航界面元素设计图如图3、图4所示.

(4) MAP模式界面与PLAN模式界面的切换设计

MAP模式界面与PLAN模式界面均为导航界面的二级界面,这两种模式下的界面只是作为导航界面中的两个组件. 导航界面对应的类名为ndpageClass类这两个组件为导航界面类ndpageClass中的两个对象,对象名分别为mappage和planpage. 首先,在ndpage Class类中添加类的Mode类属性,Mode类属性主要控制二级界面的显示与关闭,使用到的函数为Visibility(true/false),mappage→Visibility(true)表示 MAP 模式界面显示,mappage→Visibility(false)表示 MAP 模式界面关闭; 其次,建立两个按钮对象名为map_btn和plan_btn的按钮,在按钮回调函数中控制Mode类属性.

图3 导航界面 MAP 模式下元素设计

图4 导航界面 PLAN模式下元素设计

2.2 地图显示界面的开发

Google Earth是由谷歌公司面向全球推出的一款虚拟地球信息系统软件,该软件结合卫星照片、航空测绘图像以及三维地理信息实现了分米级的图像分辨率. Google Earth地理信息栅格数据主要来源于美国国家航空航天局的卫星图像,这些卫星图像的最高的分辨率能够达到0.6米,航空测绘的图像分辨率更高,因此对该软件的二次开发更有助于增加操作员的情境认知能力.

Google Earth具有丰富的地理数据,并且该软件为用户提供了两种二次开发的方式: 一种是KML文件形式,另一种是组件 API形式. Google Earth 组件 API是该软件组件的公用接口,通过VC++6.0软件编程调用组件API库中的类进而实现控制Google Earth功能[16,17].该软件组件API类库共有11种类,在本文仿真部分主要使用到以下3种类,该软件开发的系统架构如图5所示,各类的作用如表1所示.

图5 Google Earth 二次开发的系统架构

表1 Google Earth COM API类库中的类

Google Earth另一种接口形式是KML文件,该文件的格式与网页设计中使用的HTML语言具有相似的语法结构. KML文件包含地理位置信息如经度、纬度、高度等,同时也包含飞行器的航迹的表示信息如航迹符号的颜色、线型等. 在VC++6.0程序中是通过OpeKmlFile函数对KML文件进行读取. 若要无人运输机的地理信息显示到Google Earth上,则必须将地理信息写入KML文件中. 对于无人运输机仿真过程中产生大量的数据点,这些数据保存在KML文件中直接影响无人运输机航路显示的实时性. 针对这个问题,本文采用设置MFC定时器的方式对KML文件进行定时更新以降低KML文件的执行效率.

基于VC++6.0平台下对Google Earth二次开发的主要步骤为:

(1) 初始化 Google Earth 客户端

首先,在 MFC 工程下添加 Google Earth COM API类库中的类,其中IApplicationGE类与初始化相关;其次,添加 Google Earth 的头文件 googleearth.h,并定义静态CLSID常量,该常量为Google Earth相关组件的标识符; 然后,通过CoInitialize()函数实现对COM库的初始化. 最后通过CreateDispatch()函数创建客户端实例.

(2) 实现Google Earth窗口在MFC对话框中的嵌入

通过以下代码实现在MFC工程下对Google Earth窗口的嵌入:

HWND hWnd = (HWND) m_geApplication.

GetMain Hwnd();

::SetWindowPos(hWnd,NULL,0,0,1050,750+50,SWP_HIDEWINDOW);

HWND hRender = (HWND) m_geApplication.

GetRenderHwnd();

(3) 对地图显示区域的功能控制

为更好的显示无人运输机飞行的轨迹,地图显示界面增加不同视角切换功能,显示区域功能控制主要依靠上述COM API库中的三种类,通过调用不同类中的函数,实现不同的控制功能.

(4) 注销地图的相关线程,实现对 Google Earth 的关闭

在关闭对话框OnClose()函数中添加以下代码

HWND hwnd;

hwnd = (HWND) m_geApplication. GetMain Hwnd();

::SendMessage(hwnd,WM_CLOSE,NULL,NULL);

m_geApplication.ReleaseDispatch();

实现对Google Earth的关闭.

3 界面测试结果

上述为独立的显示界面的设计过程,为测试显示界面的工效,需要飞行数据驱动显示界面的控件. 仿真系统通过微软模拟飞行X为显示界面提供飞行驱动数据,该软件能够生成较为全面的飞机飞行数据,数据主要保存在计算机的内存空间中,利用FUIPC插件能够提取该飞机飞行参数,数据通过UDP通信传输协议传递给地图显示界面和飞行仪表显示界面. 该软件还可以提供逼真的飞行视景,这大大增加了地面控制站显示界面的“沉浸感”. 对仿真系统测试,得到图6、图7的显示界面.

地面控制站虚拟仪表仿真界面如图5所示,整个仪表仿真界面分为五个区域: ① 区域为发动机仪表信息显示区域; ② 区域为主飞行显示区域; ③ 区域为多功能信息显示区域; ④ 区域为导航显示区域; ⑤ 区域为垂直导航显示区域. 在发动机仪表显示区域中,仪表信息显示以指针和数值结合的方式. 在多功能显示区域中,包含飞行器状态、电气、液压、燃料等信息,通过STAT、ELEC、HYD等按钮实现相关界面的切换.

图6 地面控制站虚拟仪表仿真界面

图7 基于 Google Earth 的地图显示界面

基于Google Earth的地图显示界面如图7所示,该仿真部分主要包含三个区域: 地图显示区域、飞行数据显示区域和功能按键控制区域. 在地图显示区域中粉色的线条表示模拟飞行器飞行的航迹,地图显示区域的右上角的功能键和上下滑条能够实现对地图的放大缩小及视角的调整; 地图显示界面的右上角部分为飞行数据显示部分,包含空速、俯仰角、航向角等飞行信息; 地图显示界面的右下角部分包含功能控制按钮,如飞行数据记录、控制参数设置和通信链路测试按钮等.

4 结语

本文采用GL Studio和VC++6.0相结合的编程方式及对Google Earth二次开发的方式,设计出了集飞行仪表、地图及视景为一体的综合仿真系统. 测试结果表明,仿真系统性能稳定,为无人运输机操作员提供全面的态势信息,能够满足无人机飞行任务的需求,提高了操作员的决策效率. 同时,该系统为研究地面控制站界面工效研究提供了硬件平台.

1Oncu M,Yildiz S. An analysis of human causal factors in unmanned aerial vehicle (UAV) accidents[Ph.D. thesis].Monterey,California: Naval Postgraduate School,2014.

2Perez D,Maza I,Caballero F,et al. A ground control station for a multi-UAV surveillance system. Journal of Intelligent& Robotic Systems,2013,69(1-4): 119–130.

3De Crescenzio F,Miranda G,Persiani F,et al. Advanced interface for UAV (unmanned aerial vehicle) ground control station. Proc. of the AIAA Modeling and Simulation Technologies Conference and Exhibit. Hilton Head,South Carolina. 2007.

4仇岑,薛澄岐. 飞机驾驶舱显控系统生态界面设计研究. 人类工效学,2009,15(1): 39–43.

5张磊,庄达民,颜吟雪. 飞机座舱显示界面编码方式. 南京航空航天大学学报,2009,41(4): 466–469.

6Jovanovic M,Starcevic D. Software architecture for ground control station for unmanned aerial vehicle. Tenth International Conference on Computer Modeling and Simulation(UKSIM 2008). Cambridge,UK. 2008. 284–288.

7彭辉,霍梦兰,姜峰,等. 无人机系统任务控制站关键技术发展研究. 2013第一届中国指挥控制大会论文集. 北京,中国. 2013. 943–947.

8毕红哲. 航空人机工程计算机仿真. 北京: 电子工业出版社,2010.

9谈卫,孙有朝. 面向显示界面工效研究的飞机座舱仿真系统. 计算机系统应用,2016,25(8): 41–47. [doi: 10.15888/j.cnki.csa.005291]

10Benyon D,Turner P,Turner S. Designing Interactive Systems: A Comprehensive Guide to HCI and Interaction Design.2nd ed. New Jersey,United States: Addison Wesley,2010.

11薛红军,庞俊锋,栾义春,等. 驾驶舱飞行员认知行为一体化仿真建模. 计算机工程与应用,2013,49(23): 266–270.[doi: 10.3778/j.issn.1002-8331.1202-0563]

12张玉刚. 无人作战飞机地面控制系统人机界面设计与仿真系统开发[硕士学位论文]. 西安: 西北工业大学,2006.

13高颖,邵亚楠,郑涛,等. GL Studio 在飞行座舱模拟器中的仿真研究. 弹箭与制导学报,2008,28(1): 257–260.

14刘丽娇. 基于GL-Studio的飞行模拟机虚拟座舱开发[硕士学位论文]. 哈尔滨: 哈尔滨工业大学,2009.

15杨大光,常波,孙国庆,等. GL Studio 在飞机仪表板仿真中的应用. 现代电子技术,2010,33(24): 158–160. [doi: 10.3969/j.issn.1004-373X.2010.24.049]

16马俊. 基于GoogleEarth的无人机地面站监控系统[硕士学位论文]. 南京: 南京航空航天大学,2011.

17刘龑. 无人机地面控制站的设计与开发[硕士学位论文]. 南京: 南京航空航天大学,2013.

Simulation System for the Human-Machine Interface of Ground Control Station for Unmanned Cargo Aircraft

TANG Zhi-Li1,DOU Yang-Long2,LI Shan2

1(School of Aeronautic,Northwestern Polytechnical University,Xi’an 710129,China)
2(School of Electronics and Information,Northwestern Polytechnical University,Xi’an 710129,China)

In order to realize the goal that the civil unmanned cargo aircraft (UCA) would be controlled by the operator in the ground control station (GCS),the design scheme of the human-machine interface (HMI) for GCS is proposed which integrates the flight instrument and maps. By the way of mixed programming using the tools of GL Studio and VC ++ 6.0,this paper achieves the design of the flight instrument display interface. With the use of VC ++ 6.0 on the secondary development of Google Earth,this paper achieves the design of map display. With UDP transmission protocol,the flight simulation data from the Microsoft simulation flight X is sent to the interface of the display. The test results show that the system can provide complete information for the operator of the ground control station,improve the decision-making efficiency of the operator,and provide a new method for studying the interface efficiency of the ground control station.

ground control station; human-machine interface; GL Studio; Google Earth; ergonomics

汤志荔,窦洋龙,李姗.无人运输机地面控制站显示界面的仿真系统.计算机系统应用,2017,26(12):89–93. http://www.c-s-a.org.cn/1003-3254/6089.html

国家自然科学基金(61573283)

2017-03-06; 修改时间: 2017-03-23; 采用时间: 2017-03-31

猜你喜欢
控制站仪表界面
浙江中控自动化仪表有限公司
浙江中控自动化仪表有限公司
微重力下两相控温型储液器内气液界面仿真分析
国企党委前置研究的“四个界面”
DCS系统在机井控制中的应用
法国水师兵营旧址 曾作为法国在长江上游的控制站
扁平化设计在手机界面中的发展趋势
ECS-100系统控制站硬件配置及使用
美国无人机地面控制站的改进与发展
奔驰E260车行驶过程中仪表灯熄灭