王 凯,李玄玄
(中国民航大学 电子信息与自动化学院,天津 300300)
飞机制造商提供的原版计算机辅助教学(CBT)系统软件,例如,波音737CBT软件,它可以提供语音文字教学,调节播放速度,添加学习笔记,保存用户使用的信息[1],软件内将飞机按系统模块划分,每一系统再多级细化。缺点是一套设备成本太高,并且只能在原设计者设计好的逻辑和范围内,不能够根据自己的需求订制,使用时过程复杂,课件程序的调用有限制[2]。航空器维护训练器(SBT)可以提供全操作驾驶舱和三维飞机图像等功能[3],该系统的显示均利用计算机图形技术仿真,操作则完全利用触摸屏技术[4],问题是开发周期长,而且作用有限,只能进行机舱内部的虚拟仿真。Prepar3D的开发环境,完全享有模拟飞行下的所有三维仿真效果,使用者可以在场景中自由地走动,自由地进出飞机。其中的二次开发工具SimDirector,通过拖动及图形化编程,可以在无任何计算机语言基础的情况下进行开发。不仅实现提供图像、语音、文字的交互,还可以提供飞机各个角度的视野,搭建一个与现实机场相似度非常高的虚拟场景,可以非常方便地实现场景录制,供后期评估分析或教学。场景可以做得更加开放,并鼓励学生自我探索,并使其有可能选择自己的学习主题[5]。
1.开发平台简介。SimDirector是Prepar3D的二次开发工具,可以帮助我们在无编程基础的情况下,使用软件提供的不同“功能零件”,搭建流程图得到预想的场景流程,侧重于围绕人物或飞机展开一系列逻辑事件的编辑和预演。流程的编辑主要是利用软件提供的部件实现,虽然种类、数量有限,但绝大多数飞机操作都可以实现,而且可以通过写脚本实现更多的附加需求。功能种类主要有:(1)Actions,行动类,包括计数操作、延时操作、对话操作等。(2)Areas,区域类,进行区域的限定,以实现在一定范围内环境的限制。(3)Entities,实体类,包括多种飞行器、地面交通设备等,可以对其进行简单的动作设定。(4)Goals,目标类,包括目标和组目标两种。一般配合动作类的部件一起使用,用某动作完成与否决定当前目标是否实现,子目标可以将完成情况传给组目标,组目标进行整个任务的完成情况的判定。(5)Group,组部件,这是工具性的部件,对于那些常用的部件流程,可以将它们封装成组部件,便于进行模块层面的复制和修改,并且支持文件级别的导入导出,方便我们在不同的工程下实现代码重用。(6)Scenario,脚本类部件,提供的功能种类很多,有视野、任务、参数设定等。(7)Mobile Scenery/Scenery,景物类部件,用来实现动态和静态的环境效果。(8)Triggers,触发器类部件,通过它来实现动作的触发。
2.设计要求。本文以展示机舱的仪表检查为例,具体场景如下:预定授课的任务大纲,学生在虚拟场景里在跟随视角锁定和光标及文本提示的基础上,完成指定的操作,并且可以根据需求进行考核评价。检查中有一项工卡的具体要求是:检查发动机滑油量和液压油量,发动机滑油量指示不少于16,液压油量指示不少于90%,若不足则按需加油。
3.设计思路。针对设计的要求,本次设计的机舱仪表检查的场景需要设计如下部分:人机交互部分、任务管理部分、目标评价部分、数据管理部分。
4.具体设计方案。(1)人机交互管理。包括语音播报、字幕提示、动画和参与者选择菜单。会在开场时,以语音或字幕的形式对授课内容及形式予以说明,并且可以由参与者选择场景的主题、任务的目标。操作过程中,场景中也会出现必要的提示。除了语音提示、文本提示以外,还可以使用视野切换、光标选中、光标路径等提示,指导完成规定操作。(2)流程管理。由于此次演示是针对驾驶舱进行的,不需要太多的触发条件,后台逻辑相对单一,主要是以时间触发器为激励源的线性流程图。(3)任务管理。任务的发布使用ScenarioMetadata模块,AbbreviatedMissionBrie参数里面找到文件路径,在Windows选项卡下的Kneeboard第一个选项卡Briefing会显示网页效果。它会在场景的keenboard中自动生成一份html格式的任务文件,实现任务的预览。同时,我们可以进行更为详尽的任务设定,每完成一项任务,可以进行语音及字幕提示,方便学生及时关注并解决问题。(4)目标管理。实现某一项单一步骤后,根据操作情况判定这一项任务是否完成。利用平台目标与组目标的概念,可以建立多级的目标管理机制。具体地说,可以通过低级目标的完成情况,经由更高级的组目标会有及格分数部件汇总,对低级的目标完成情况的判定。这一过程主要使用Goal类部件完成,它可以进行目标完成时是否通过的判定,而且可以由完成情况打分,之后经由组目标部件进行分数统计,判定是否完成。(5)数据管理。在任务完成后,一些关键性的数据,如是否操作、完成情况、完成时间等数据,通过脚本模块执行相应的脚本,实现相应的数据结果导出。由于平台没有自带数据导出这一类部件,使用脚本类部件,这一类部件支持lua语言,编辑一段lua脚本,实现文件的写入。
1.部分实现场景展示。由于整个过程不易通过文字展示,选取一部分舱内操作的场景,用图示的方式来演示。图1展示的是学生在场景操作中实现工卡的实时浏览;图2展示的是学生可以在开场时浏览任务大纲,对任务有全局性的认识。
图1 任务实时浏览
图2 任务大纲预览
2.目标评价。可以把每一个完整的检查流程视作一个任务,参与者全程可以查看任务,使得对任务的总体配置,包括任务成功的条件以及难度等级、任务最多提供的时间有基本的了解。如图3,可以查看到相应目标的完成情况以及是否符合要求,图中打勾代表完成,打叉代表失败。第一项为组目标OUTDOOR,由其下一级若干子目标的完成情况判定组目标是否达标。在完成到一定的阶段,屏幕上会给出相应的判定结果。当完成一个阶段的所有项目时,平台会提示你是否合格。
图3 实时预览图
使用虚拟仿真技术搭建的实验环境,由于使用了Prepare 3D相同的虚拟仿真平台,可以高度逼真地做出与实际操作相似的场景,总体上可以实现绕机检查的所有预设场景。解决因硬件、场地等不足不能一次性大规模培训的难题。而且可以根据授课或机型的需要,修改、升级场景,在满足授课功能需求的基础上,使用平台做到了任务管理、目标管理、数据管理,将以更开放的形式、更及时地反馈和更全面、数字化的分析更频繁地出现在未来的机务培训领域。