曾伟明 缪远东 梁 帆
1. 中国航空无线电电子研究所航空电子系统综合技术重点实验室上海 200233
随着飞机任务从单平台向体系分布式协同任务演进,对飞机座舱的态势信息呈现、控制交互等提出了更高的要求[1-2],同时随着电子信息技术与人工智能技术的发展,各种先进传感和任务软件的快速迭代,使得飞机升级改型也变得越来越频繁,为座舱的显控交互系统的集成设计与迭代优化带来了巨大的挑战[3].
在传统的飞机座舱设计中,座舱的显控交互设计与系统设计、开发、生产各系统环节的融合深度不够,通常因人机工效研究工具及验证方法的缺乏而致使效果受限,最终飞机座舱难以实现安全、高效、舒适的目标,限制了装备系统性能的充分发挥[4].
虚拟仿真技术的发展,特别是基于沉浸式虚拟现实仿真技术的演进[5-7],为飞机座舱的设计和验证提供了可行的技术途径,但目前的仿真设计只限于静态的设计概念演示[8-9],不具备面向任务过程的仿真验证能力[10-11],亟需搭建面向任务过程的座舱人机界面快速原型设计开发工具与沉浸式虚拟动态验证平台,让设计者或用户进入虚拟的任务环境中操作座舱人机系统,检验系统的设计方案及其操作性能的合理性,对座舱人机系统的效能进行合理评估,从而进行快速迭代优化设计和验证,缩短系统设计及验证周期,使其性能指标更接近于任务操作要求.
为在任务过程中完成虚拟座舱显控各个功能模块的驱动显示与任务操作,通过对座舱显控系统功能模块组成分析,结合面向任务过程的显控界面模型驱动需求和现有虚拟现实技术的应用特点,设计了面向任务过程的虚拟座舱原型系统.如图1 所示,虚拟现实座舱系统由物理座舱环境、任务仿真数据激励软件、虚拟显控交互仿真软件3 部分组成.
图1 虚拟座舱系统组成Fig.1 Composition of the virutal cockpit system
物理座舱环境是虚拟座舱的交互平台,主要由座舱台架、虚拟座舱运行环境计算机、任务仿真计算机、VR 头盔显示器(头部位置跟踪传感器、多声道耳机、麦克风)、手势识别设备、双杆操纵设备(hands on throttle and stick,HOTAS)、光学定位模块等组成,为虚拟座舱软件提供运行平台,并为虚拟座舱的人机接口提供交互硬件环境.
任务仿真数据激励软件作为对抗任务仿真和飞机航电系统仿真的激励源,具有数据驱动特性,具备飞机数字样机和任务对抗功能,可为虚拟座舱的显控交互环境提供飞机飞行数据、航电系统数据模型以及对抗任务驱动模型,支持虚拟显控交互仿真软件所需的任务场景运行与数据仿真激励.
虚拟显控交互原型仿真软件是在虚拟现实引擎Unity 软件的开发环境下,按照座舱的概念形态与能力特征,开展概念座舱的数字建模及软件开发,实现虚拟座舱的显控交互功能与任务逻辑.在任务仿真数据激励软件的数据驱动下,虚拟显控交互仿真软件能够接入飞行模拟仿真环境,完成典型飞行任务,进行座舱显控形态功能验证.
物理座舱是虚拟座舱的主要结构部分,结合虚拟座舱的数字模型设计,形成具有与虚拟座舱显控界面一致,且包含HOTAS 杆舵安装功能、计算机以及相关电路走线功能的实体座舱台架,为虚拟座舱的运行提供实体环境以及物理反馈环境,增强虚拟环境下的沉浸感.
虚拟座舱的实物台架设计图如图2 所示,实物座舱结构主要结合虚拟数字座舱的形态特征,通过数字模型拆解,工艺优化形成与虚拟数字座舱形态一致的硬件环境.
图2 物理座舱结构设计Fig.2 Structure design of the physical cockpit
根据系统功能设计,为了满足虚拟座舱显控系统在任务过程中开展显控任务操作与显示界面数据激励需求,需要一套完整的飞行任务仿真环境[12], 并具备一架能够进行起飞、巡航、空中对抗、降落等任务能力的全任务飞行仿真数字样机.
任务仿真数据激励软件系统架构如图3 所示.飞行模拟仿真软件主要提供任务的基础运行环境;全任务态的飞行仿真数字样机提供对接入仿真环境的虚拟显控交互仿真软件的任务驱动功能;仿真数据收发模块完成数字样机与虚拟座舱显控软件的低延时通信,实现虚拟显控系统对于数据仿真激励源的显示响应和操控驱动.
图3 任务仿真数据激励软件逻辑架构Fig.3 Architecture of task simulation data incentive software
2.2.1 飞行仿真数字样机模块
基于飞行模拟仿真软件的数字样机开发过程如图4 所示,主要是在飞行模拟仿真软件的沙盒开放式框架下,利用飞机模组的开发工具包,建立座舱内外部的实体数据模型(entity data model,EDM),并采用Lua 脚本语言构建飞机座舱显控、飞控、航电设备、火控系统、任务系统及机电系统等模块功能的响应模型.
各个数学仿真模型通过内部槽函数实现数据关联及调用.另外,飞机座舱的所有状态数据,均通过C++编译的综合航电动态链接库,实现飞行模拟仿真软件与飞机模组之间的数据交联与业务逻辑.
2.2.2 仿真数据收发模块
仿真数据收发模块需要将飞行仿真数字样机的机电、显控、飞控以及任务系统数据,以近实时的方式输出,用于激励虚拟数字座舱的虚拟显控系统.
仿真数据收发模块分为两部分开展设计,一部分为飞机数字样机航电逻辑的动态链接,主要功能是将飞机数字样机模组的工作参数按规定格式实时输出到共享内存中,并接受外部的逻辑控制参数.另外一部分为数据解析与网络读写转发,主要读取共享内存并解析,负责通过用户数据协议(user datagram protocol,UDP)网络转发及接收解析后的数据.这些数据可以直接用于驱动虚拟模座舱,软件的设计逻辑框图如图5 所示.
图5 仿真数据收发模块架构设计Fig.5 Architecture design of simulation data transceiver module
参考真实座舱显控系统组成,虚拟显控交互仿真软件主要由座舱显控界面显示模块、三维视景显示模块、显控应用综合处理模块3 个部分组成.详细软件模块组成及交联关系如图6 所示.
座舱显控界面显示模块是基于座舱的指挥控制交互与态势显示等设计要求,开发适用于VR 显示的座舱显控交互显示界面;三维视景显示模块则利用座舱仿真激励软件提供的目标数据,提供虚拟座舱的任务仿真视景环境;显控应用综合处理模块主要用于对任务仿真环境的数据以及交互设备的控制数据进行综合处理,为显控应用提供驱动数据.
2.3.1 座舱显控界面显示模块
1)座舱显控界面设计
虚拟座舱的显控界面以空中拦截及有无人编队协同任务为主要任务进行设计[13-15].为了在所有飞行任务阶段获得最佳工作效果,根据任务阶段,设计定义了3 种虚拟显控界面形态.针对不同的仿真验证需求以及不同的任务阶段,虚拟座舱可以呈现不同样式的座舱显控界面,减轻飞行员的工作负担.
正常座舱形态对应飞行前检查、起飞及导航任务过程,提供有虚拟座舱结构形态显示的模态,以保证飞行员进入任务状态的初始化沉浸式体验.透视座舱形态对应飞机进入交战区的任务过程,提供无物理座舱结构的座舱透视形态,以保证飞行员从第一视角对全局态势进行观察和决策响应.战术指挥控制形态对应飞机处于战术规划、任务分配等指挥控制任务阶段,提供无物理座舱结构的三维态势显示,以保证飞行员快速的了解战场态势,并提供对无人机进行战术层指挥控制的功能.
2)虚拟座舱形态建模
座舱作为系统中重要显示元素,根据新一代座舱整体概念[16]进行工业造型设计,根据工程心理学及人机工效验证结果,进行空间布局、尺寸和元器件安装位置的设计、座舱内材质、饰面的色彩搭配,以及显示类图符色彩的定义.座舱的形态建模包括座舱内饰及结构总体设计、飞机外表面形体设计与涂装材质模拟、实时仿真渲染.座舱的三维建模在专业建模软件中实现, 然后转换为Unity 支持的模型和贴图格式,最后导入Unity 中进行高清渲染展示.
3)座舱形态切换设计
座舱在初始起飞阶段下为正常座舱形态,飞行员可以根据需要进行3 个形态的切换,各个形态均可进行相互切换.当处于交战区或指挥控制任务阶段时,飞行员可使用HOTAS 杆快捷按钮将座舱切换为无物理结构的透视形态.
座舱在正常与透视形态的切换,可通过Unity 标准着色器中渲染模式的设置、反照率(albedo)的颜色透明度调整实现.正常座舱形态下,座舱材质在Unity中的标准着色器中渲染模式选择不透明(opaque)模式、反照率参数指定纹理贴图.透视座舱形态下,座舱材质的渲染模式选择淡入(fade)模式,反照率(albedo)中颜色参数(RGBA)设置为(0,0,0,10).
2.3.2 三维视景显示模块
三维视景显示模块根据地理信息数据、当前飞机位置及敌友机位置,进行空间地理信息及敌友机信息的仿真,获取当前战场态势,实现可视化显示.
地形视景目前主要有真实地形和模拟地形两类制作模式.模拟地形制作模式简单,但是时间长,且不符合对真实世界逼真模拟的要求.而真实地形可以快速高效地对真实地形进行建模, 逼真度更高[17]. 虚拟现实座舱系统使用真实地形模式构建地景,地景构建及加载设计分成3 个部分:地形数据获取和预处理、多细节层次(levels of detail, LOD)渲染处理和地形动态加卸载设计.
1)地形数据获取和预处理
根据飞行任务场景所需的真实地形范围的经纬度区域,通过Being Map 下载地形重建所需的400 km×400 km 的地形高程数据以及卫星云图,将获取的高程数据与卫星云图进行模型化的编辑并实现模型和纹理数据分块, 最后导出可被Unity 处理的RAW16 地形数据.在地形数据导入Unity 后,重建出无材质的地形(terrain),分别选择各个地形,在Terrain 模块添加卫星云图作为基础材质,使用笔刷给地形赋予材质,最终获取完整的分块地形.
由于Unity 本身渲染性能的限制,难以实现Terrain 组件下地形的高速渲染, 特别是对于400 km×400 km 面积的大地形,在保持精度较高的前提下几乎难以实现稳定流畅的运行.鉴于Unity 平台对Mesh的兼容性较高,能支持较高分辨率Mesh 网格的渲染,因此,将地形数据由Terrain 格式转化为Mesh 格式.
2)多层次细节渲染处理
为了实现视景环境的高效渲染,需要使用地形多分辨率加载,即LOD 处理.由于地形网格数据通过减少顶点或三角面来降低分辨率的同时,会在高、低分辨率地形块之间产生不可控的缝隙,使得后期大地形加载后的态势效果不佳,因此,需要在地形分辨率变化的同时保证不同精度地形的无缝衔接.
除地形网格数据需要LOD 处理外,高分辨率地形材质也需要进行LOD 处理,为了适配较高渲染效率,完成了低、中、高3 套不同分辨率的地形材质数据,配合上不同分辨率地形数据进行动态加载,可以实现大地形的高效渲染.
3)地形动态加卸载设计
为了保证系统的运行效率,在地形分块的基础上需要做到动态加载与卸载. 使用Unity 软件的BuildAssetBundles 方法将地形数据和贴图资源打包为AssetBundle 文件, 采用LoadFromFile、Unload 方法进行地形资源的动态加载和卸载.
地形数据的加卸载使用多线程和九宫格地形加载模式进行,可以优化主线程的运行效率.如图8 所示,主线程将飞机位置A 相邻的9 块地形加载到内存中, 子线程将第2 层的16 块地形存放到缓存中.根据飞机的移动情况, 主线程将子线程中对应的新的地形块加入,将现有的地形块置换出去,保持9 块地形的显示.子线程则等待主线程的通知,进行加卸载地块.
图8 九宫格加载地形原理Fig.8 The principle of loading terrain of grid
2.3.3 显控应用综合处理模块
根据任务仿真数据激励软件生成的任务数据,经过显控应用综合处理模块的各个功能子模块的处理,对虚拟显控交互界面、视景环境进行状态驱动和管理,辅助飞行员完成任务操作,实现座舱交互的任务仿真.
1)任务仿真数据通信处理
任务仿真数据接口模块基于UDP 通信原理与任务仿真数据激励软件进行信息通信,包含飞行、航电数据的接收处理以及控制指令的打包发送,按照数据结构、分类、次序,建立数据接收和发送的接口,实时接收、发送相关的任务数据.
2)语音、手势信息识别处理
系统通过手势识别设备进行手部姿态捕捉,手势信息识别处理模块对各类型手势图像进行图像处理计算,识别出不同手势指令,然后进行相应的功能响应.根据人因工程理论和手势可用性分析,设计了触屏点击、切换界面、移动目标和旋转目标4 种任务和对应识别的手势,飞行员可以使用不同手势进行组件操控、界面切换、信息获取等操作.
语音控制信息处理模块对飞行员输入的语音指令进行语音识别计算、识别不同语音指令,进行相应功能响应.为了满足语音交互过程中对输入语音短句进行分析并判断用户意图,基于大词汇量连续语音识别进行短句分析,完成关键词搜索和匹配;分析短句的结构相似度和语义相似度,完成相似度匹配;最后按照中文语法结构完成语义理解.3)空间位置信息处理
为了对三维视景以及敌友机目标等三维态势进行正确的数据驱动和渲染, 需要根据任务仿真数据激励软件提供的地理信息数据计算各目标的空间位置信息. 任务仿真数据激励软件提供的目标空间位置是在地心地固坐标系(earth centered,earth fixed,ECEF)下的坐标.ECEF 坐标系是右手坐标系,其三维坐标以米(m)为单位,数值范围较大;而Unity 的世界坐标系是左手坐标系,并且只能表示7 个有效位数的三维坐标,离坐标原点越远的物体渲染精度越低.因此,需要将目标和地形的ECEF 坐标转换为以本机机体坐标为原点的Unity 坐标,转换公式如式(1)和式(2)所示.
此外,为了实现物理座舱与虚拟座舱的虚拟融合效果,增加飞行员操作的沉浸感,需要进行座舱空间相对位置的定位.本系统使用LightHouse 定位技术对VR 头显和座舱进行定位.虚拟座舱模型的坐标原点以物理座舱的一定位置表示,使用跟踪传感器测量标定物理座舱该位置在LightHouse 定位基站坐标系下空间坐标,而VR 头显的空间坐标也是相对于定位基站坐标系,则VR 头显在物理座舱的空间坐标可由式(4)和式(5)计算得到.
根据系统的软硬件设计方案以及基于正向设计过程的显控界面设计, 完成面向任务过程的虚拟现实座舱原型系统的集成验证, 系统集成交联如图9所示.
图9 系统集成交联图Fig.9 System integration crosslinking diagram
在集成的系统环境中,VR 头显作为信息输出设备,主要负责对虚拟显控界面和三维视景的渲染显示以及3D 告警声音的输出,另外,VR 头显也作为采集设备, 提供头部位姿与语音采集的功能. 手势识别、HOTAS 和光学定位传感器等设备作为输入设备,负责采集手势、头部位姿、飞行操控等多通道数据信息的采集,并传输至计算机进行相关计算.
虚拟座舱运行环境计算机运行虚拟座舱交互原型仿真软件,实现虚拟座舱的显控交互功能与任务逻辑,并将实时运算生成的音频图像输出到虚拟现实头盔中.座舱任务仿真数据激励软件运行于任务仿真计算机,为系统提供整个任务场景的仿真激励数据.
原型系统的物理座舱与虚拟座舱结合为一套完整的数字孪生系统,物理座舱的结构形态与虚拟座舱的结构系统形态保持一致的映射关系,实现了虚实融合,如图10 所示.
图10 虚拟座舱原型系统Fig.10 Virtual cockpit prototype system
如表1 所示, 在i7 8700 CPU、RTX 3080 GPU 的计算机硬件条件下,测试了交互通道的响应时间、三维地形初始加载时间和显示实时性,以及系统运行的渲染显示帧率等性能指标.其中,交互通道的响应时间定义为从输入操作指令到画面显示的时间;三维地形的显示实时性是独立测试的.
表1 系统性能参数Table 1 The system performance parameters
虚拟座舱系统提供了全任务流程的动态飞行模拟仿真环境,通过替换数字飞机模组、编辑任务环境,可快速实现多种机型、战场环境的仿真,满足不同任务仿真的需求.另外,系统设计了一套可由任务数据实时驱动的虚拟座舱显控界面显示和人机交互接口框架,设计人员可通过修改界面组件与脚本代码快速实现显控原型界面的迭代开发、新型人机交互技术应用以及人机工效评估.经过人机交互设计人员和飞行员的使用和评估,相比于传统座舱仿真的静态演示,以及构建实体座舱进行显控界面和人机交互设计,节省了经济成本,提升了设计、开发和验证效率.
本文针对航空领域复杂任务环境下的态势信息表征与控制交互的设计与验证需求,结合虚拟现实交互技术的技术特征,开展面向任务过程的任务仿真环境、虚拟显控交互原型的设计,形成了一套能够真实操作体验、完成各种典型任务过程的虚拟现实座舱原型系统.经过集成验证,该原型具有开发效率高、成本低、能够快速迭代等特点,可为座舱显控界面和人机交互设计提供研究方法和工具,并为面向任务过程的飞行训练提供了思路和基本框架.但是目前虚拟座舱系统只是构建了原型,需要对交互设计、工效评估等工作开展细致的研究.另外,需要对原型系统进行持续的软件架构优化和二次开发,为未来航空座舱的人机智能交互设计提供更好的设计、研究平台.