引 言
船舶机电设备拆装能力是轮机员实操技能的重要体现,也是国家海事部门船员培训和考核的重点. 随着计算机仿真、人工智能等技术的快速发展,虚拟拆装技术在机械设计制造、装配等领域得到广泛应用. 虚拟拆装技术是指利用计算机模拟机械设备的三维模型,在虚拟环境里允许用户交互的控制虚拟设备,用以观察设备结构、检验设备装配性能等. 与实际设备拆装相比,虚拟拆装可以节省大量资金和场地空间,拆装灵活、简便,培训效率高,能有效减少教师工作量. 本文根据《中华人民共和国内河船舶船员适任考试大纲》
开发的内河船机电设备虚拟拆装考试系统,集虚拟拆装技术和网络考试系统于一体,可有效实现内河船员轮机设备拆装技能的培训和考评. 1 系统结构框架
内河船机电设备虚拟拆装考试系统主要由数据库、管理端、客户端等三个部分组成,三者之间通过以太网连接通信,系统结构框架如图 1 所示.【图1】 ( 1) 数据库数据库用来储存拆装模型信息、拆装顺序、评分标准、考生信息、考试成绩、考试过程等相关信息. 鉴于考试系统的安全性要求较高,系统选用Oracle 数据库.( 2) 管理端管理端是教练员出题、组卷的模块. 教练员可以针对不同级别考生设置不同的考试题目,回放考生的考试过程,给考生评定成绩并能保存与打印. 此外,管理端还能管理用户、设置权限等.( 3) 客户端客户端即考生登录的考试终端,主要功能有:
拆装模型和虚拟场景的动态加载与卸载、设备零部件模型的碰撞检测、模型的灯光渲染、拆装动画关键帧等,以及实现人机交互与网络通信. 2 虚拟拆装试题库的建立
根据《中华人民共和国内河船舶船员适任考试大纲》对机电设备( 零部件) 拆装的考核要求,内河船机电设备虚拟拆装考试系统试题库主要包括: 柴油机拆装、废气涡轮增压器的拆装、船用泵及滤器的拆装、分油机的拆装、船用燃油辅锅炉附件的拆装和三相异步电动机的拆装. 根据内河船员考核实际情况,题库试题根据重要性和难度可以分为以下级别: 一类轮机长、大管轮、二/三管轮,二类轮机长、轮机员,三类轮机员.试题库是虚拟拆装考试系统的核心. 利用 3dsMax 软件强大的三维建模、场景渲染功能,建立上述所有机电设备精细三维模型,根据机电设备使用场所绘制、渲染出虚拟的设备拆装场景. 利用3ds Max 的插入关键帧功能生成零件的拆装过程动画. 为便于虚拟拆装业务进行扩展,系统运用了便于编辑的脚本技术,即通过脚本语言来描述业务内容,从而增强系统题库的可扩展性.脚本语言是一种解释性语言,以文本的方式进行存储. 在编写和修改脚本内容之后,不需要重新编译程序即可产生作用. 而脚本文件只需要使用记事本之类的文本编辑软件就可以打开并进行编辑. 脚本语言易于编辑但存在安全性问题,为防止普通用户随意编辑脚本内容,系统使用的脚本文件全部会被加密,只有管理员使用本软件为管理员专门配置的加密解密工具对脚本文件进行解密后才可以被打开编辑,编辑完成后再次加密即可. 系统全部的拆装业务均实现了脚本化,使系统可以在不需要重新编译的情况下,增加新的船舶设备拆装业务,并可对已有拆装业务的场景、约束条件、步骤流程和用户拆装事件进行修改. 系统运用了 XML 和 LUA 两种脚本语言. 其中 XML 简单易懂,便于读写,其内容按顺序排列,适用于描述步骤流程和作为配置文件使用. 而 LUA 脚本语言支持函数、闭包、条件语句与循环语句,可与系统程序之间互相调用,适合用于执行判断和作为事件的回调脚本. 根据功能的不同,系统使用的脚本文件包括场景配置文件( XML) 、拆装步骤描述文件( XML) 、拆装约束条件文件( LUA) 、动作描述文件( LUA) 和用户事件文件( LUA) . 这些脚本可实现的主要功能有:
( 1) 对拆装场景进行配置. 例如: 加载模型文件、初始化参数设置等.( 2) 编写用户在拆装场景中进行虚拟拆装时,用户拆装的响应事件和事件内容. 例如: 当用户在三维场景中按住鼠标右键移动鼠标时,系统将做出什么样的响应.( 3) 对设备拆卸、分解、装配、试验、安装和检修的步骤流程进行描述.( 4) 对设备拆卸、分解、装配、试验、安装和检修的约束条件进行描述. 例如: A 工具必须接触到B 零件上才能触发 C 动作.( 5) 当正确的拆装发生时,设备模型的动作描述. 例如: C 动作是先移动到 X 位置,再沿 Y 轴旋转 Z 角度.系统考题脚本运行流程如图 2 所示.【图2】
3 虚拟拆装顺序规划
在虚拟场景中,用户点击可以被拆装的设备,在弹出的拆装列表中选择拆卸或者安装选项,就可以对该设备进行拆装. 当需要使用工具来拆卸零件时,首先选中该工具,在弹出的拆装列表中选择使用选项,然后系统会提示用户选择目标零件,选中要拆卸的零件. 如果拆卸工具和零件选择正确并且拆卸顺序正确,则系统将会自动执行该工具拆卸指定零件的动作,否则将会提示拆装错误.当要拆卸的零件不需要使用工具时,直接选中该零件,在弹出的拆装列表中选择拆卸选项,如果拆卸顺序正确,则系统将会自动执行拆卸该零件的动作,否则将会提示拆装错误.为确保船舶机电设备的虚拟拆装精确、真实,系统在设计开发时征集了多位资深轮机员的指导意见. 选取了在实船应用中有代表性的设备品牌型号,严格按照设备使用手册中规定的拆装顺序,力求能够最大限度地反映船舶设备的实际拆装过程. 为使虚拟拆装过程更加清晰明了,将实际拆装过程中一些重复性的、不太重要的拆装进行合并.下面以分油机为例讲述船用设备虚拟拆装顺序的规划.根据大纲要求,分油机拆装主要考察对分离筒及其附件的拆装. 分油机虚拟拆装模型选用着名船用设备商 Alfa Laval 公司的 SA816 高速分油机,虚拟拆装效果如图 3 所示. 【图3.略】 按照设备使用手册,分油机分离筒拆卸包含分油机罩拆卸和分离筒本体拆卸两大部分. 分油机罩正常的拆卸顺序为: 锁紧螺母→连接罩→固定臂→分油机罩螺栓→分油机罩. 分离筒本体正常的拆卸顺序为: 锁紧环→分离筒顶盖→密封环→进出油管及顶盘→蛇皮管→分离盘组及盘架→螺母→滑动底盘→盖形螺母→分离筒本体→分离筒支撑→工作盘→工作水环. 4 智能评分算法的设计
合理、公平的评分算法是考试系统的关键,正确的评分算法不仅需要正确反映考生的真实水平,还需要将考生成绩区分开来. 虚拟拆装考试系统选用的是基于时间和拆装顺序的评分算法.系统智能评分算法首先要计算设备拆装操作的标准时间,然后确定设备的拆装步骤和拆装顺序. 以 Alfa Laval SA816 分油机为例,其拆卸步骤有 18 步,按照 D1→D2→D3→…… →D18的顺序进行排列,各步骤之间有前后相互约束关系. 设定设备拆装的总分为 PT,然后根据每个步骤在评估过程中的重要程度赋予各步骤不同的权值 wi( i = 1 ~ 18) ,则有【1】 在正确进行 Di的拆装后,如果考生点击下一步Di +1拆装在Di之后,符合约束条件的限制,则可以进行下一步拆装,此时调出拆装动画,并将拆装记录存入数据库. 如果考生点击错误或者没有选择正确的工具,则不触发动画效果,并提示拆装错误,同时也将拆装记录存入数据库,然后考生可以继续选择正确的拆装. 为防止考生在考试过程中反复尝试,系统可以设定错误次数上限. 考生的错误次数如果超过限定值则会宣布考试失败,考试成绩为不及格. 如果考生在规定时间内完成了所有拆装,则系统计算考生所有的正确拆装总得分:【2】 其中: n 为正确拆装步骤数.如果考生未在规定时间内完成所有拆装,为公平起见,则只计算该生在规定时间内的正确拆装步骤得分. 5 虚拟拆装考试系统的实现
系统 Oracle 数据库在 Windows Server 2003 拆装系统下运行可以充分发挥其功能特点,而在Windows7 系统下,Oracle 数据库的运行尚存在一定的问题. 海事局现有考试系统均运行在 win-dows7 系统,为提高虚拟拆装考试系统的兼容性,系统配置了一款在 Windows7 环境下运行的 Win-dows Server 2003 系统虚拟机. 5. 1 管理端功能实现 运行虚拟机,打开系统软件管理端登录界面,设置管理端 IP 地址与虚拟机 IP 地址一致,测试管理端与系统数据库之间的通讯,通讯成功即可登陆系统管理端.系统管理端设定了考卷管理、考试管理、成绩评定、成绩单管理、用户管理、权限管理、访问记录、皮肤风格 8 个菜单. 点击打开考卷管理菜单,可以添加、删除考卷或者对考卷信息进行编辑. 考卷管理菜单下包含配置考题、调整分数两个子菜单. 打开考题配置窗口,即可看到系统试题库,教练员可以根据考生级别为考卷配置相应的题目.在要选择的题目前打钩并确定即可完成考题配置,如图 4 所示. 【图4略】 由于不同题目重要程度不同,考核过程中需要突出某些拆装,因此要对考题进行分值的分配. 在考卷管理栏下半部打开分数调整窗口,就可以对选中的每道题目进行分值分配,满分为 100 分,直至将分值分配完点击保存.考试管理栏是编辑考试信息的菜单栏,可以编辑考试时间、地点等信息以及配置考生等. 只有在考试管理栏添加了考生信息的考生才能参加考试. 成绩评定栏是教练员根据考生的考试过程对其进行评定的菜单. 系统根据智能评分算法评定考生的考试分数。为避免智能评分算法在实际考试中的不足,教练员可以回放考生的考试过程,给出自己的打分,最后综合起来评判考生是否合格.成绩单管理是在考试过程结束后,对学员们的成绩综合管理的菜单,可以用来查询考生成绩、打印成绩单等. 用户管理是添加、删除用户的菜单. 权限管理是设置用户权限的菜单,用户权限分为高级管理员、教练员、学员等级别,不同的级别拆装权限不同,高级管理员可以添加、删除用户,教练员只能管理考试、制定考卷,学员只能登陆考试端. 访问记录可以记录各个用户在什么时间登陆哪个模块. 皮肤风格用来改变主拆装界面不同风格的背景色以满足不同用户的喜好. 5. 2 客户端功能实现 客户端的主界面包含交互练习、技能考核、用户信息、资料库、退出系统四个菜单栏. 交互练习模式供学员学习、训练使用. 打开交互练习窗口可以看到系统试题库所有试题,学员可根据自身情况加载需要学习的虚拟拆装试题,加载界面如图5 所示. 练习模式下学员双击要拆卸的部件,如果拆卸顺序正确则该部件能被拆卸下来,如果拆卸顺序错误,系统会提示“回答错误”并给出正确的拆装动作.技能考核是考试菜单,如果考生要参加考试,则点击技能考核进入考试界面,系统会自动记录考试时间、考试过程,最后给出考试成绩. 用户信息能够查到参加考试的考生信息,以便考生核实自己的信息.【图5略】
6 结 语
针对传统船舶设备拆装训练考核方式存在的诸多弊端,本文运用三维建模动画软件 3ds Max、XML 和 LUA 脚本语言以及智能评分算法和以太网技术设计构建内河船机电设备虚拟拆装考试系统. 目前该系统正在海事局船员考试系统中逐步推广使用.