APP下载

导弹装备分布式虚拟协同操作训练系统设计

2018-08-03蔡启航韩要昌

传感器与微系统 2018年8期
关键词:客户端分布式装备

蔡启航, 王 洁, 史 通, 韩要昌

(空军工程大学 防空反导学院,陕西 西安 710051)

0 引 言

目前部队装备操作训练依然以实装训练为主,这直接导致以下2个问题:装备操作复杂,难以快速形成战斗力,实装训练对装备损耗大,训练成本高;战训矛盾冲突,部队装备担负着战备任务,实装训练受时间、环境和装备限制很大。以虚拟现实(virtual reality,VR)技术为基础的虚拟训练为武器装备的人员培训提供了一种新的训练方式。

国内对桌面式虚拟系统的研究较多,方传磊等人[1]设计了基于EON Studio开发的虚拟维修训练系统通用平台;王崴等人[2]开发了分布式虚拟装配训练通用平台;王文举、李光耀[3]以Vega Prime开发工具研发了桌面虚拟维修仿真培训系统。桌面式虚拟系统具有易于实现、经济性好、交互简单等优点,随着交互技术的发展以及交互设备的普及,对于沉浸式体验的需求也越来越大。

针对以上问题,本文基于VR技术和人机交互技术构建分布式虚拟协同操作训练平台,解决装备的战训矛盾问题,使战士训练不再受时间、环境和装备限制,在逼真的虚拟环境中进行协同训练,快速掌握装备协同操作技能。

1 系统总体结构设计

根据导弹装备战勤操作训练的需求分析,系统采用多层结构体系框架,如图1所示,系统由平台层、人机交互层、应用层和对象层组成。其中平台层由多台计算机组成,相互间能实现即时通信。人机交互层是实现用户与虚拟坏境的交互层,为用户提供自然的人机交互方式。应用层是系统应用实现的核心。对象层用于存取、生成、维护和管理系统运行过程中的各模型提供系统的数据支持,完成模型对象的数据组织、存储和提取。

图1 虚拟协同操作训练系统结构框架

2 关键技术研究

2.1 虚拟现实建模技术

虚拟建模可分为外形建模和功能建模。外形建模主要反映对象中基元的基本轮廓、形状、表面特点和基元结构或对象的拓扑结构。采用3ds Max作为三维建模软件。功能建模主要是对虚拟环境中的对象进行物理属性设置和运动模拟。真实装备的运动方式由客观的物理规律和装备内部运行规则确定,要模拟真实装备的工作,势必要对模型的运动进行约束和添加碰撞检测。

碰撞检测的实现是评价虚拟系统逼真度的关键要素。在虚拟场景中需要为相互作用的物体添加碰撞盒,碰撞盒接触被认定为物体运动的触发信号,当碰撞盒检测到两者接触时发出触发信号,调用相关函数对物体模型产生作用力,进入运动状态。物体运动通过绑定在物体模型上的驱动脚本实现,驱动脚本调用运动学程序或关键帧动画,对复杂的运动采用帧动画实现,而对简单的运动使用运动学程序控制。在力作用完后,碰撞盒检测到接触退出,发送退出信号,模型根据程序逻辑进入下一状态,实现运动过程模拟。

Unity引擎拥有强大的三维互动开发能力,能快速创建训练场地地形,能直接设置三维对象的物理属性,支持给三维对象添加脚本进行驱动,提供了多种碰撞器进行碰撞检测,因此能够较好地完成功能建模任务。同时3ds Max文件可直接导入Unity3D引擎软件中进行配置,能较好地解决建模软件与驱动软件的兼容问题。

以虚拟人外形建模为例,虚拟建模与碰撞盒如图2、图3所示,虚拟人的移动控制仿真通过添加Animator组件和C#程序脚本实现。

图2 虚拟人外形建模

图3 虚拟人碰撞盒

2.2 分布式虚拟训练网络通信技术

为实现装备战勤操作的多人协同训练,考虑网络环境的一致性、实时性和可控性,设计了分布式协同训练网络。

2.2.1 基于Unity引擎的网络通信实现

在虚拟操作训练中,各终端之间的网络通信采用传输控制协议(transmission control protocol,TCP)/互联网协议(Internet protocol,IP)协议实现,在TCP/IP协议的传输层包含TCP[4]和用户数据报协议((user datagram protocol,UDP)两种通信协议。本系统中,为保证数据的可靠传输,采用TCP,对其存在的网络开销大的问题,在小型局域网中基本可以忽略。

Unity引擎支持C#语言,因此在.NET环境下直接使用UDPClient类来实现网络通信。系统通过不断刷新主程序函数实现实时交互功能,在需要发送(send)数据时,系统调用UDPClient实例的send函数即可实现数据发送。在数据接收(receive)端,UDPClient实例的接收函数置于主程序中,通过异步调用方式,持续监听并接收远程主机发送来的数据,通信完成后调用close函数断开连接。

2.2.2 分布式虚拟训练网络结构设计

为实现各终端协同操作训练,相互之间传递的网络信息包括:虚拟人信息(虚拟人的位置和动作信息);任务同步信息(装备的运行状态以及与装备操作相关的全部信息);系统信息(大量支持系统正常运行的数据信息)。

系统中任务同步信息和系统信息需集中管控,而虚拟人信息则不需要加以限制,为降低同步延迟、增强系统实时性、提高系统性能,将客户端/服务器(client/server, C/S)模式与对等网络(peer-to-peer,P2P)模型相结合组成混合网络结构,其具体结构如图4所示。系统由3个客户端和1个服务器构成。每名操作员分配1个客户端,每个客户端中指定4个端口用于网络通信。其中3个端口用于P2P模式下与其他客户端以及服务器通信;1个端口用于C/S模式下与服务器通信。在此结构下,任务同步信息和系统信息采用C/S模式,通过服务器对数据进行集中管理和控制,充分利用客户端的处理能力。与C/S模式相比,虚拟人信息采用P2P模式,直接在局域网的各个节点间传输,将信息的传输路径减半,提高了虚拟人同步的实时性;虚拟人信息在发送方和接收方之间直接传输,减少了中间服务器对虚拟人数据信息的加工处理环节,减小了服务器工作量,提高系统整体性能。

图4 混合模式下网络拓扑结构示意

2.3 虚拟训练过程仿真技术

2.3.1 虚拟人移动仿真

在导弹装备的协同操作训练过程中,操作人员的移动和操作动作比较简单,且动作多有统一规范。针对这一特点,对虚拟人仿真采用关键帧的方法。通过定义仿真过程中关键时刻的仿真数据,利用数据插值来实现仿真过程。同时为了提高虚拟人仿真的真实感,采用运动捕获的方法得到虚拟人的运动路线。引入VR外设头盔显示器,跟踪定位装置捕捉真实人的运动路线。通过关键帧和运动捕获数据相结合的方法既能实现相对复杂的虚拟人运动,又能避免虚拟人与虚拟物体出现穿透现象,提高了仿真的真实感。

2.3.2 虚拟人训练操作仿真

虚拟人训练操作仿真主要包括虚拟手的移动控制和操作动作以及虚拟手与物体之间的碰撞检测。针对现有虚拟手交互仿真方法[5~9]的缺陷,对虚拟手仿真:本文通过引入VR虚拟手柄,利用虚拟手柄的定位装置检测真实手的实时坐标来驱动虚拟手的移动。考虑到在导弹装备的虚拟训练中虚拟手主要完成的动作有抓取、释放和按压3个简单动作,通过关键帧的方法实现虚拟手的训练操作仿真。

3 应用实例

在上述分析研究基础上,基于C#编程语言,结合Unity引擎软件,以MySQL Server为数据库平台,开发了分布式虚拟协同操作训练系统。分析战勤操作教令形成任务数据库,在数据库基础上再开发任务推理机,实现训练功能。开发考核评价模块,实现对虚拟训练过程的全面评价。最后设计图形界面和虚拟人交互方式完成系统开发。

以某型导弹武器系统发射车协同操作训练为例,该训练需要3人协同操作完成。基于此平台实现了导弹发射车的虚拟协同操作训练,在3名操作员的协同操作下完成了导弹发射车训练任务,观察员在服务器端观察操作过程,训练结束后系统给出考核结果。虚拟训练场景如图5所示。

图5 虚拟训练场景

4 结 论

构建了分布式虚拟协同操作训练系统。该系统能有效改善院校和部队战勤操作训练存在的问题,提高装备训练效费比、增强操作人员的技能水平。随着虚拟现实的不断发展,人们对虚拟系统的沉浸感和逼真度要求更高,因此人机交互技术以及交互设备有待进一步研究。

猜你喜欢

客户端分布式装备
这些精锐与装备驰援泸定
港警新装备
防晒装备折起来
如何看待传统媒体新闻客户端的“断舍离”?
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
分布式光伏热钱汹涌
分布式光伏:爆发还是徘徊
基于DDS的分布式三维协同仿真研究