APP下载

基于虚拟技术的某型装备训练考核系统设计

2019-06-27

计算机测量与控制 2019年6期
关键词:碰撞检测装备对象

(中国人民解放军 91550部队,辽宁 大连 116023)

0 引言

随着计算机技术的迅猛发展,多媒体技术、网络技术、虚拟现实技术等备受关注,成为研究、开发与应用的热点,许多领域都以计算机为基础进行学习和训练,其作用和效果越来越受到人们的关注。

在国外,虚拟技术已广泛应用于军事领域。例如:美国国防部的虚拟训练技术涵盖了陆军、海军和空军等各个军兵种的主战装备,取得了良好的效果。

外军以高、中、低层次划分模拟训练,受训人员在进行理论学习后,先通过一套桌面训练系统来掌握理论操作,然后再上全实物模拟器、实装进行训练,从而大大提高了训练效率。

例如美国的飞行员桌面训练系统,可以用作飞行员基础训练、过渡性训练、机载电子设备评估、日常训练和任务训练等。

相比外军,我军的虚拟仿真训练起步较晚、技术水平较低、应用范围较窄。但是近年来随着装备的不断更新换代,我军的虚拟训练技术也取得了长足进步,尤其在飞行员训练领域,开发出了飞行员全天候训练系统,取得了良好的训练效果。

目前,在我海防反舰武器领域,系统介绍反舰武器结构原理、组成功用、性能特点、使用维护,作战流程等方面内容的多媒体教材制作才刚刚起步,软硬件平台建设还很不完善,作战部队使用多媒体教材进行大规模的培训模式还没有成形,开发与应用各型反舰导弹多媒体教材实施培训已迫在眉睫。

虚拟技术基于计算机、图形图像处理、网络以及人机工程等技术,可使用户沉浸在虚拟环境中,并获得同真实环境基本相同的交互体验。该技术在军事领域已得到广泛应用,如坦克、飞机、舰船等装备的虚拟训练[1]。因某型装备系统组成复杂,技术含量较高,部队组织实操训练时需动用大量人力,消耗较多的资源,且训练效率较低,针对性地开发虚拟训练考核系统可有效解决该问题。

在虚拟训练系统开发与应用领域,建模与交互平台种类繁多,并各有所长。经较为深入的比较论证,本系统提出以UG(Unigraphics NX)三维精确实体建模技术为基础,经3DS MAX中间平台进行模型效果处理,利用Virtools虚拟交互软件综合实现协同训练及考核功能的技术途径。使整个训练系统能在普通计算机上运行,根据需要可进行单机训练和联网训练,外接设备只需通用键盘和鼠标。限于篇幅限制,对虚拟交互设计中通常遇到的文件格式转换、主控相机设置、虚拟漫游、打包封装等一般性问题的处理过程不再详述,而将重点放在几个关键技术环节上。

1 三维建模

一般建模软件精度难以满足装备训练要求,而且建模效率也比三维工业设计软件偏低,所以三维实体建模采用UG软件,严格按照武器装备现实尺寸比例进行三维实体建模,这样可以使三维对象和场景有更加真实的视觉效果[2]。建模过程主要运用草图制作、拉伸、回转、扫掠、求和、求差、拔模、分割、修剪、偏置、打孔、倒角、螺纹定制等三维建模技术完成零件部件等制作,在此基础上进行部件装配及模型导出等工作。由于交互软件virtools不支持cad文件直接导入,需要借助中间平台3ds max进行格式转换。Virtools对实体面数要求较为苛刻,若不在格式转换环节进行面数控制,最终会在Virtools环境下大量消耗系统硬件资源,导致程序卡滞、效率低下,画面不流畅等严重的交互障碍。所以,格式转换是决定系统效率的重要环节。

UG建模完成后,默认的保存格式是.prt,不能被Virtools导入,也不能被3DS MAX,需要另选导出格式。安装UG导出插件translator后,可导出格式包括.stl,.x_t,.stp,.dwg,.dwf,.iges等,其中.iges格式导出文件容易出现乱面、破面等严重的模型质量问题。Stl格式模型是由精细三角面组成的,由于模型精度高,面数也多得惊人,不适合于交互设计。

试验表明,对于规则几何体,.stp格式模型质量和面数都是最理想的,而对于螺旋面、扫掠体的处理.x_t效果要好于.stp,因此,项目在模型格式转换方面,基本上以.stp格式为主体,复杂模型采用.x_t格式。

建模时,控制零件的数量和复杂度尽量减少不可见部分建模,同时在满足一定真实感的前提下,尽量采用最少的面和线突出部件主体。在控制模型面数方面,还用3ds max专用降面工具polygon cruncher进行适当的减面处理。

每次导入 Virtools后,都注意了.cmo文件大小的变化,以及3DS MAX环境下总面数的变化,若增加过多的面数(如单个零部件面数突破1万面),一般都要重新导出模型,进行比较和筛选,选择面数最低的导出格式,有时需要反复多次才能最终确定。另外,Virtools环境下占用空间的是网格,每次删除实体模型时都做到了将相关网格及时删除,文件规模得到了有效控制。但UG建模产生的模型面数会比较高,会提高系统运行代价,所以要控制零件的数量和复杂度以尽量减少外观不可见部分建模,同时在满足一定真实感的前提下,尽量采用最少的面和线突出部件主体。导入中间平台3DS MAX后,对模型进行减面、材质、贴图等轻量和增效处理。

2 运动建模

完成三维建模后,还要确定装备模型在虚拟空间中的位置,以及采取何种动作到达指定的位置。为实现精确定位和操作,需要建立全局坐标系和局部坐标系,采取平移或旋转运动来进行描述和量化。

平移运动是装备常见的操作,也是进行虚拟训练系统设计时最常用到的脚本,它是指将实体沿着一个向量从当前位置移动到目标位置的过程。Virtools提供的BB是行为模组,即Build Block,可实现图形化编程[3]。在Virtools中实现平移运动的行为模组是Translate。平移变换过程如公式(1)所示:

(1)

装备实操时,涉及到大量的旋转操作,如拧螺栓操作、拧堵头操作、旋转开关操作等,在虚拟现实中旋转运动是某个坐标点以某坐标轴或者任意一个方向向量为旋转轴旋转一定角度。在Virtools中实现旋转运动的行为模组是Rotate/Rotate Around。

绕x轴旋转α角后的位置可由公式(2)得到:

(2)

绕y轴旋转α角后的位置可由公式(3)得到:

(3)

绕z轴旋转α角后的位置可由公式(4)得到:

(4)

绕任意轴各旋转α角后的位置可由公式(5)得到:

(5)

A=

其中:C=cosα,S=sinα。

3 碰撞检测

在装备实操训练中,若操作手操作不当,会造成碰撞问题,同时,在虚拟训练系统开发时,也会遇到碰撞问题,比如螺栓拧紧到位、推拉杆安装到位、锁定机构锁定到位等。在这些问题中,需要进行碰撞检测,以免出现螺栓穿透等问题,因此在系统开发时,需要进行碰撞检测,使机构到位后停止动作。

包围盒层次法是比较通用的碰撞检测算法,其基本思想是用一个几何简单的包围盒来将复杂的几何对象包围,当运动接触时,检测两个对象的包围盒相交与否,若不相交则可进行下一步操作。典型的包围盒[4]类型如图1所示。包围球检测定义为包含物体的最小球体,该方法实时性较好;AABB检测定义为包含物体且平行于坐标轴的最小六面体,该方法精度和实时性适中;OBB检测定义为包含物体且相对坐标轴任意的最小六面体,该方法精度较高。

图1 包围盒类型图

由于装备虚拟训练对碰撞检测精度要求较高,需要对检测算法进行优化,在兼顾实时性和真实性的同时,先进行低精度的碰撞检测来排除为数较多的不碰撞对象,对碰撞对象再实施高精度碰撞检测,能够取得较好的检测效果。在Virtools中实现碰撞检测的行为模组是Collision Detection,开发适合虚拟训练的检测模块需要利用软件开发工具SDK进行自定义[5]。

4 训练内容制作

制作训练内容应符合实操装备时的各种情况,各项任务都应由若干步骤构成,操作手要随时思考装备可动性、顺序、方向、反应等。用过程模型描述,就是需要考虑操作时的样机约束限制、交互类型、交互方式和操作反馈等因素,训练内容的制作是按照如图2所示的流程设计的。

1)采用操作步骤组成整个模型,同时task步骤流程表可利用全部的操作步骤形成。

2)所有的交互类型、交互方式和操作反馈都被封装在操作步骤中,而且这些操作步骤都被虚拟样机所约束。

3)受训人员进行虚拟操作时,其操作行为、使用工具、操作对象的合法性与否可由虚拟样机的约束和操作步骤中封装的信息共同判定。若操作错误,则虚拟训练系统将会恢复到该步骤的初始状态,同时,系统还会对该操作的正确操作方式以动画演示和文字提示等方式提示;若操作正确,则自动进去下一步操作。

图2 训练内容制作流程图

在task控制面板中编辑task关键帧来实现操作训练内容的制作,而task模型中的所有信息则包含在task关键帧里,可根据task模型含义按照受训人员接受装备知识过程来制作task关键帧,若能将操作反馈信息合理利用在制作task关键帧的过程中,也可以大大提高操作训练内容的交互性。

例如制作人员将待拆螺钉和螺丝刀建立约束关系,受训人员在操作时,将螺丝刀移动到按钮附近时,系统自动调整螺丝刀使其对正螺钉,从而可以大大提高训练效率。

依照训练内容制作流程完成交互设计后,操作手即对虚拟装备进行操作,但系统后台要对其行为进行管理和记录,判断其动作、工具、对象选择合法性及有无延迟,为考核功能实现做准备,具体如图3所示。

图3 操作响应管理流程图

采用“对象-行为-条件-响应-状态”模型,建立具体操作步Action的模型,其中包括以下几类规则:

1)动作合法性判断规则。在沉浸式系统中,对每一个操作动作都有清晰的描述,并以此为条件判断用户/角色实施的操作动作是否符合要求;

2)操作工具合法性判断规则。所持工具的类型以及手持工具的方法是否符合操作规程需要;

3)操作对象合法性判断规则。判断是否操作了正确的对象,如操作对象不正确,则认为发生了误操作;

4)操作对象和关联对象末状态合法性判断规则。判断操作的结果是否达到了要求,若不达到要求,认为发生了误操作;

5)误操作判断规则,对误操作类型进行判断。误操作对应操作对象不合法与操作对象和关联对象末状态不合法两种情况;

6)操作延迟判断规则。判断操作是否存在延迟。

7)操作求助判断规则。判断操作是否存在求助于帮助/提示系统。

5 考核系统设计

操作手完成全部操作后,要对其训练效果进行考核,考核时要考虑到以下几个因素[6]:时间因素,包括每阶段操作时间和全部操作时间;正误率,正确选取部件的次数和错误选取部件的次数;协同效果,训练时完成自己操作的同时不能影响整个协同训练的效果。系统设计时进行了二次开发,以旋紧机构测试为例,总分为100分,扣分标准具体如表1所示。

表1 机构旋紧测试扣分标准

实现机构旋紧测试的VSL程序如下[7]:

void CExamMain::ScrewedupProcess(int type)

{

switch(type)

{

case ERROR_TOOLS:

case ERROR_POS:

m_iGradeCount -= 4;

break;

case ERROR_DIREC:

m_iGradeCount -= 5;

break;

case ERROR_PLACED:

m_iGradeCount -= 3;

break;

case ERROR_COORD:

m_iCoordError ++;

if(m_iCoordError > 1)

{m_iGradeCount -= 3;}

break;

case FINISHED:

m_iUsedTime = MyGetSecendTime() - m_iStartTime;

if(m_iUsedTime >240

{m_iGradeCount -= (m_iUsedTime - 240) / 10 * 2;}

m_strMessage.Format(“旋紧机构测试完成!V 您的得

分是%d”, (m_iGradeCount > 0) ?m_iGradeCount : 0);

MessageBox(NULL, m_strMessage, “考核成绩”, 0);

break;

}

}

6 交互组网设计

实操装备时,某些作业需要若干操作手协同作业,因此在虚拟训练系统开发时,需要进行多台终端联网。在交互终端中任选一台作为服务器,创建一个对话进程,其他终端搜索该服务器,获取对话进程列表。选择想要参与的对话,与同一对话进程终端互发消息,实现即时联络[8]。为保证各终端登陆不同步时也能可靠连接,设置服务器寻找循环,达到相互控制与协同的目的。Virtools开发环境下,为实现上述功能,给出服务器端、客户端脚本分别如图4、图5所示。

图4 服务器端脚本设计

图5 客户端脚本设计

制作步骤如下:

1)使用StartEmbedded ServerBB在任意终端创建一个Server,使用ConnectToEmbedded ServerBB连接到该Server,使用Create Session BB创建一个Session。

2)使用Look ForLAN ServerBB查找网络上是否存在Server,使用ConnectToEmbedded ServerBB连接到该Server,使用GetSessionsListBB来获得Session,使用Join Session BB来加入该Session。

3)利用NetworkSendMessage BB发送消息通知对方,用NetworkWaitMessage BB等待对方消息,从而实现网络信息交互,达到相互控制与协同的目的。

7 结 语

为了解决部队接收某型新装备后动用实装训练效果低下、资源浪费较大的问题,本文利用计算机技术研制了虚拟训练考核系统,得出以下结论:

1)严格按照1:1比例建立装备零部件的高精度模型,并进行降面、渲染后,可以减少互设计时编译错误,提高人机交互性;

2)对于需要多名号手进行协同训练的项目,可以进行组网训练,同时可以考核号手之间的协同性;

3)以每名号手的操作用时、正误率、协同效果等因素来设训练考核系统,可以达到对每名号手的精确考核,从而大大提高了训练效果。

4)虚拟系统建设是装备训练考核的重要手段,本文对三维建模、碰撞检测、组网协同和考核评估等关键问题均进行了分析设计,给出了明确的工程技术途径,能够实现对装备操管人员的虚拟协同训练考核。随着新装备的不断跟新,在实践中还会遇到很多工程技术细节问题,需要不断对系统设计进行相应改进和完善,进行半实物、全实物仿真训练系统研制,以避免装备等人,提高部队的训练效果和实战化训练水平。

猜你喜欢

碰撞检测装备对象
神秘来电
好装备这样造
港警新装备
全新预测碰撞检测系统
防晒装备折起来
基于BIM的铁路信号室外设备布置与碰撞检测方法
Unity3D中碰撞检测问题的研究
攻略对象的心思好难猜
基于熵的快速扫描法的FNEA初始对象的生成方法
区间对象族的可镇定性分析