基于开放式系统及COTS 技术的起重机操作训练模拟系统的开发*
2012-06-19董熙晨王国贤
董熙晨 朱 泽 王国贤 周 强 胡 侃
(武汉理工大学物流工程学院1) 武汉 430063) (武汉科码软件有限公司2) 武汉 430074)
0 引 言
随着计算机技术、虚拟现实技术、多媒体技术、自动控制等技术的飞速发展和广泛应用,以计算机系统为核心和操纵控制台为基础构成的各种模拟仿真训练系统已成为当今重大生产或过程控制设备操作人员的岗前培训的必备手段,成为培训飞机、汽车、船舶等驾驶人员的重要途径[1-5].起重机操作训练模拟器是众多训练模拟器应用领域中的重要种类之一,早在20世纪90年代即已出现,目前国外少数几家高科技公司也推出了一些市场化的产品,但价格昂贵且缺少在地化服务.因此开发国产高性能起重机操作训练模拟器,具有较大的技术和市场的需求,但由于它是一个把系统仿真技术与起重机动力学分析技术相结合的复杂的分布式实时仿真系统,存在着大量的不确定因素,需要漫长的开发周期,导致国内有关研发机构组织的起重机操作训练模拟器的自主开发,一直停留在方案阶段,没有达到系统性的突破[6].
武汉理工大学物流工程学院与武汉科码软件有限公司于2010年开始联合开发大型起重机操作训练集成模拟系统,通过以基础理论研究为先导,解决了一系列技术难题,终于取得了成功.本文介绍了在起重机操作训练模拟系统的开发实践中所采用的以减少系统开发风险、加快系统开发进程为目的的促进系统快速实现的方法——基于开放式系统及COTS技术的方法.这种方法亦可为相关模拟训练系统的研发人员提供参考.
1 开放式体系与COTS组件相结合
开发起重机操作训练模拟系统首先要解决的问题是,系统的体系结构如何定义,以什么样的方式促进系统的设计方案可以低风险的快速实现.基于开放式系统[7-8]及商用成品构件(commercial off-the-shelf,COTS)技术[9-10]的方法就是经过深入研究之后提出的适合于开发模拟训练系统的构建方法,它的核心是把开放式的体系结构与COTS组件进行有机的结合.
系统的开放性概念出现在20世纪80年代末90年底初,目的是解决变化频繁的需求与控制系统专一固定的框架之间的矛盾,从而建立一个统一的可重构的系统工具平台极大地增强系统的柔性和适应性.COTS,即商业成品构件技术则从另一个角度规范系统,特别是软件系统的实现模式,即系统的开发不是采用传统的瀑布模型,进行从零开始的源代码级开发,而是尽量地采用现成的商业成品构件COTS.为了实现系统的快速开发,拟采用的COTS组件只要其功能经过裁剪后能与系统匹配,就可以考虑先行使用,即使该组件可能有大量的功能闲置.
把开放式体系结构与COTS 组件进行有机结合的方法的具体含义是,充分吸取这两种技术各自积累的研究成果,在系统架构的设计上,参照开放式系统推荐的成功模式,定义一个恰当的开放平台和参考结构;而在体系结构中各功能模块单元的定义上尽量使之被刻画成COTS组件,只有完全独特的专业性的功能模块才需要进行全新的开发.其实施步骤是,首先建立一个系统的概念性模型,明确系统的主要功能和大致结构,并在系统的实施过程中不断地对它进行完善.接下来根据开放性原理确定一个恰当的开放平台和参考结构.之后运用COTS 技术,建立相关的分析测试标准并以此为依据选用COTS组件.最后对系统进行规整,完成COTS 组件的包裹器(wrapper)及系统专有功能模块的开发.
2 系统的概念模型
起重机操作训练模拟系统属于人在回路中仿真系统,是对实际的由起重机和操纵者组成的人机系统中的起重机部分进行感官效果相同或相近的等效替代,被仿真的对象实体的动态特性通过建立数学模型在计算机上运行及驱动各种物理效应设备生成人的感觉环境,包括视觉、听觉、触觉、动感等,让操作者如同驾驶真实的起重机一样.由此可确定原型系统的原理见图1,其组成见图2.
图1 起重机操作训练模拟系统原理框图
图2 起重机操作训练模拟系统的结构组成
模拟司机室是提供学员实际操作学习的地方,其结构布局、尺寸大小、内部环境与真实的起重机驾驶室基本一样,有真实的操作联动台、司机座椅、操作手柄、开关、按钮、仪表、指示器等部件,在还可以在6 自由度运动平台的作用下产生晃动.实时仿真主控系统是系统的核心,主要用于接收实时训练数据采集系统及训练教学管理系统的指令,控制模拟司机室、6 自由度运动平台、投影系统、音响系统等设备,使它们产生和谐的训练氛围.视景系统由4个高清晰的投影仪和4块大尺寸幕布围绕司机室的左右两侧、正前方和前下方,使司机向这几个方向看时,都有虚拟画面,与音响系统配合形成强烈的沉浸感.音响系统配合司机操作产生现场工作背景声音、工作机构的声音或物体碰击声.6自由度运动平台是用来给司机驾驶培训室产生运动感觉的设备,模拟起重机在进行装卸生产作业时,各种因素产生的整机振动最终传递到司机室的有感振动.
3 开放式的架构及组件COTS化
根据系统的概念模型研制原型系统是一个大型而复杂的系统工程,开发过程中将商用成品构件与开放式的架构进行有效的结合,将会大大提高开发效率,缩短开发周期,并且使系统升级换代方便.
3.1 基于USB数据采集器的数据采集系统
模拟器是根据各种操纵信号产生模拟效果的,这些信号来自多个信号源,既有模拟的也有数字的,需要实时采集、缓存并在进入模拟主控系统之前进行初级处理.按照开放式的架构及组件COTS化的思想,通过对可行的数据采集系统构建方式,即基于PCI总线、USB总线和CAN 总线等3种主要方式进行对比(见图3),决定选用USB总线方式.理由如下:它的开放性虽然不及CAN 总线方式,但因数据采集点较集中,USB 总线方式可方便地进行有限的开放式扩展,远胜过远距离接线多且需要进行箱内安装的PCI总线方式,完全能满足应用要求,且由于它封装有更多的数据处理功能,相当于附加了大量的即插即用的COTS组件,无需重新开发,可促进原型系统的快速开发.
图3 3种数据采集系统构建模式
3.2 基于运动控制卡的6自由度运动平台控制系统
与数据采集系统的信息流向相反,6 自由度运动平台控制系统将上位机输入的期望动感运动参数,转换成运动驱动数字信号,实时送往6自由度运动平台的伺服电机驱动器中,也有两种结构方式:“上位机+运动控制计算机+CAN 总线通信+伺服驱动”的方式及“上位机+运动控制计算机+运动控制卡+伺服驱动”的方式.从系统开放性上看,采用CAN 总线的方式更好,但是基于COTS组件的思想,由于运动控制卡中封装了大量的经过裁减后可以直接利用的COTS 软件模块,不同于采用CAN 总线方式需要进行大量的底层的通信等辅助功能的开发,所以本模拟器的6自由度运动平台控制系统最终决定采用“上位机+运动控制计算机+运动控制卡+伺服驱动”的方式.
3.3 基于以太网的分布式计算机系统
开放式的架构与组件COTS 化的系统设计开发原则不仅体现在数据采集系统和运动控制系统等主要组成部分中,也体现在系统的整体设计上,特别是网络通信方式的选择.最终的方案是通过以太网交换机将视景计算机等计算机系统连结成一体,见图4.系统的工作过程是:教员通过训练服务器制定训练环境并分配训练任务,学员通过与主控系统连结的学员监视屏领取训练任务,启动实时主控平台.主控系统根据操纵控制系统传送过来的操作信息,实时进行起重机动力学仿真计算,对相关物体的状态、位置、动作、干涉等进行计算和判断,并将相关信息分别传送到视景系统、振动平台系统和操纵控制系统,完成三维动画视景变换、平台各自由度振动和联动台后续操作工作.
图4 模拟系统计算机网络拓扑结构图
4 软件开发、系统集成及调试
由于采用开放式系统架构,且各软硬件组成模块又尽量地采用了COTS组件,因此软件开发工作的展开主要是围绕将各COTS 组件的功能进行裁剪后重新组合集成,重点是在现有的操作系统功能和COTS模块的基础上进行深度应用开发,因此,减少了开发工作量.软件系统主要分3大部分:
1)系统实时控制软件,它们驻留在实时主控计算机、USB数据采集器、视景计算机及6 自由度运动控制计算机上,包括实时调度模块、通信模块、任务同步模块、数据采集模块和视景、音响及动感输出模块等.
2)起重机动力学及环境仿真软件,它驻留在实时主控计算机上,包括起重机动力学分析计算模块、天气风力等环境模拟模块和视景、音响及动感数据生成模块等.
3)教学监控与管理软件.它们驻留在训练管理服务器及实时主控计算机上,包括教学监控数据库、教员管理模块和学员模块等.
系统的集成主要解决了数据通信和时钟同步等2个方面的问题.系统的基础运行平台为Windows操作系统,编程语言为VC++,图5为正在运行中的、采用开放式系统及COTS技术开发成功的起重机操作训练模拟器的实物场景图.目前,已有多套系统推向了市场,运行性能获得了包括宁波港、福州港等国内多家大型港口企业的认可,更多的订购意向还在不断地达成.虽然大量采用包含了一些多余功能的COTS组件,系统的成本还有较大下降空间,但由于产品的稀缺性,市场可接受的价格较高,在售价定在不到进口同类产品的1/3的情况仍有丰厚的盈利.鉴于系统定位于把开放性与组件COTS化进行完美结合,因此系统的快速开发及后续的功能升级扩展有可靠的保证.
图5 起重机模拟训练系统实物场景
5 结束语
基于开放式系统及COTS 组件技术的计算机系统的开发方法,是一种快速的原型系统开发方法,可保证所开发的系统具有强大的柔性和适应性.首先,缩短系统调试开发周期是其主要出发点,而经济性先放在其次,就是说即使被考虑的COTS组件可能含有较多的、昂贵的、闲置的功能,只要它能提供待设计的系统所需要的功能,就可以先予以选用.其次,当原型系统研制成功、系统预期的功能得以验证之后,就要利用系统的开放性和适应性对系统进行重构,重点改善被暂时搁置的经济性能.因此,这一系统开发方法具有良好的可操作性,既保证企业迅速培育出在某一领域的技术能力,快速占领市场,又能为企业后续的降低成本、提高经济效益预留了发展空间.
[1]陈又军.现代飞行模拟机技术发展概述[J].中国民航飞行学院学报,2011(2):25-27.
[2]王行仁.飞行实时仿真系统技术[M].北京:北京航空航天大学出版社,2005.
[3]郑淑涛,黄其涛,靳 军,等.基于COTS的飞行模拟器快速原型系统开发[J].吉林大学学报:工学版,2009(S1):279-285.
[4]王泰魁,段建民.汽车驾驶模拟器运动仿真系统的研究[J].计算机测量与控制[J].2011(12):3114-3117.
[5]邓志良,汪电明,姜文刚.船舶模拟器驾驶台仿真系统研究[J].中国造船,2001(4):52-56.
[6]孙丰鑫.基于虚拟现实的集装箱岸吊仿真培训系统的集成与研究[D].北京:清华大学,2010.
[7]魏康民,聂建武.基于PC 的开放式数控系统体系的分析[J].组合机床与自动化加工技术,2007(5):53-55.
[8]沈晓红,张艳婷,罗晨磊.基于Windows的开放式数控系统总控模块设计[J].微计算机信息,2011(6):48-50.
[9]王婷婷,郑永果.基于COTS软件开发方法的应用[J].现代计算机,2005(3):72-75.
[10]屈喜龙.COTS软件系统开发的研究[J].计算机应用研究,2005,22(9):43-45.