回转式甲板克令吊仿真训练系统

彭修全 任鸿翔 于建伟



摘要:
针对回转式甲板克令吊教学培训成本高且危险性大的问题,提出专门用于航海类专业学生和船员教学培训的三维真实感良好的克令吊仿真训练系统。分析克令吊的组成及功能,应用3D Studio Max构建克令吊的三维模型,在Unity3D引擎下利用第一人称角色控制器,模拟克令吊操作人员进行系统的漫游和交互;通过改进的质点-弹簧模型实现柔性绳索的仿真;建立克令吊动力学模型,实现克令吊运动状态的模拟。从仿真结果可以看出,系统功能完备,操作方便,可用于克令吊的教学培训。
关键词:
回转式甲板克令吊; Unity3D; 仿真训练
中图分类号: U664.43
文献标志码: A
Simulation training system of deck cranes
PENG Xiuquan, REN Hongxiang, YU Jianwei
(Navigation College, Dalian Maritime University, Dalian 116026, Liaoning, China)
Abstract:
Aiming at the problem of high cost and high risk of the deck crane teaching and training, a simulation training system of deck cranes with excellent 3D reality is put forward for the teaching and training of
students majoring in navigation and mariners. The composition and function of deck cranes are analyzed. The 3D Studio Max is adopted to construct the 3D model of deck cranes. The first person role controller is used under Unity3D engine to simulate the roaming and interacting of crane operators. The flexible ropes are simulated by the improved mass-spring model. The kinetic model of deck cranes is established to simulate the motion state of deck cranes. Simulation results show that the system is of complete function and simple operation, and it can be applied to the teaching and training of the cranes.
Key words:
deck crane; Unity3D; simulation training
收稿日期: 2017-05-02
修回日期: 2017-09-12
基金项目: 国家高技术研究发展计划(“八六三”计划)(2015AA010504);交通运输部应用基础研究资助项目(2015329225240)
作者简介:
彭修全(1993—),男,山东日照人,硕士研究生,研究方向为系统仿真、虚拟现实,(E-mail)pengxiuquanpxq@163.com;
任鸿翔(1974—),男,黑龙江肇东人,教授,博导,博士,研究方向为虚拟现实、视景仿真,(E-mail)dmu_rhx@163.com
0 引 言
回转式甲板克令吊(以下簡称克令吊)是大多数散杂货船重要的起重装置。根据《中华人民共和国船员培训管理规则》要求,航海类专业学生和船员应该掌握克令吊的工作原理、应用方法以及操作注意事项等。目前航海类高校和船员培训机构都要安排一定学时的理论学习课程和实际操练课程。但是,由于克令吊结构复杂、价格昂贵、操作危险高,一般培训机构真机保有量少,实操课大多是通过视频了解真机操作,缺少更直观、更直接的操作体验,无法达到较好的教学效果。近年来,随着虚拟现实技术的不断发展,虚拟仿真训练系统受到了用户的青睐。有关悬臂式克令吊训练模拟器的研究较多[1-3],但对回转式甲板克令吊仿真训练系统的研究相对较少。神和龙等[4]研究了海洋工程船挺杆式克令吊的运动模型并建立了仿真系统,仿真效果良好,但对克令吊操作室模拟有所不足,操作人员的沉浸感有待进一步提高;贾小平等[5]对船用液压起货机进行了可视化仿真,满足了液压回路系统逼真性要求,但克令吊运动模拟效果相对欠缺。因此,开发一款真实感良好的可用于教学实操的克令吊仿真训练系统迫在眉睫。
虽然Unity3D是非开源的三维开发引擎,但其具有较好的可移植性,可把程序发布到不同的平台上,如Windows,Mac,WebGL,IOS,Android等,能够满足不同操作系统环境用户的需求。因此,Unity3D已经发展成为主流的三维开发引擎之一,被广泛应用于陆海空军事训练、产品展示以及数字化教学领域。本文以NMF公司DK V 50028型50 t回转式甲板克令吊为仿真对象,对漫游交互、柔性绳索、动力学模型等关键技术进行研究,利用Unity3D引擎开发一套三维仿真训练系统。
1 克令吊的组成和功能
克令吊由基座、回转塔架、吊臂、吊货索、吊臂索、吊钩等部件组成[6],其基本结构见图1。回转塔架支在基座上,包括上、下两层,上层为操作室,下层装有三部电机(为吊货索的升降、吊臂的变幅和回转塔架的旋转提供动力)。在操作室内,座椅两侧分别装有两个控制电机运转的控制杆。升降为单主令:操作人员的右手控制吊货索的升降,右操作杆向前、向后运动分别控制吊钩上升、下降。变幅和旋转
图1 克令吊基本结构
为双主令:操作人员的左手控制吊臂变幅和塔架旋转,左操作杆向前、向后运动分别控制吊臂向上、向下变幅,左操作杆向左、向右运动分别控制塔架的向左、向右旋转。以上克令吊的每个动作可单独进行,也可以与其他的动作同时进行,且都可进行无级变速。
依照克令吊的组成和功能要求,仿真训练系统总体开发工作包括仿真场景搭建、仿真场景漫游和仿真系统交互(见图2),以下分别加以分析和论述。
图2 回转式甲板克令吊仿真训练系统总体开发工作流程
2 仿真场景搭建
2.1 三维场景的建模
三维场景建模主要是建立货舱和克令吊及其各部件的三维模型。本文采用3D Studio Max建立仿真系统的场景模型。
建模过程见图3。首先到实船上对货舱和克令吊进行实景拍摄;根据拍摄的视频和照片,在3D Studio Max软件中进行多边形网格建模、贴图处理、平滑修改及模型渲染;得到
.FBX格式的模型资源,并将其分为静态模型类和动态模型类分别进行打包,从而完成货舱和克令吊三维模型的建立。
图3 三维场景建模过程
2.2 场景的显示调度
场景的显示调度是指对仿真场景模型进行调度,以动态加载模型,增加刷新率,提高场景显示的流畅度。该系统场景的显示调度采用“静态导入,动态加载”的方法。
“静态导入”是把场景模型中的.FBX格式文件、Materials材质文件和Map贴图文件整体导入到三维开发引擎中。图4~6分别是利用Unity3D开发的克令吊仿真训练系统的全局场景、克令吊外观和克令吊操作室。“动态加载”是在程序运行时实时地加载场景需要的模型,比如:场景显示的是操作人员在船舶货舱周围漫游,此时可只加載克令吊外观模型,无须加载操作室内部模型,以减少资源的占用,提高场景的刷新率。“动态加载”实现过程如下:(1)建立用于提供存储接口访问的资源文件夹;(2)把场景模型资源包放在资源文件夹下,并按顺序确定资源加载的优先级;(3)通过资源路径命令获取资源的指定路径,在仿真系统运行的同时完成场景模型的动态加载。
3 仿真场景漫游
场景漫游的实现主要包括导入“第一人称角色控制器”、设置碰撞体、开发用户界面(user interface, UI)等3个过程,以下对这3个过程分别进行阐述。
3.1 导入“第一人称角色控制器”
仿真训练系统主要模拟克令吊的操作,因此运用第一人称角色即可完成场景漫游。本文设计了用于该虚拟仿真系统的“第一人称角色控制器”,其实现原理是:在虚拟场景中创建一个胶囊体,并为其绑定一个摄像机,“第一人称角色控制器”相当于克令吊操作人员,而摄像机相当于人的眼睛,视场中显示的永远是角色控制器正前方的画面。对于克令吊操作人员来说,场景画面真实,沉浸感强。行走、奔跑、坐下以及操作克令吊等自然人的动作是通过反向动力学(inverse kinematics,IK)角色动画技术来模拟的,即给定角色骨骼末端节点的位置,逆向推算出节点链上其他所有节点的合理位置,最后将骨骼关节旋转到预设位置上,完成具体动作的模拟。在程序关键帧上利用多种输入设备控制角色动画的播放,实现场景漫游的目的。
3.2 设置碰撞体
为使“第一人称角色控制器”在进行场景漫游时不出现穿越场景物体的现象,需应用碰撞检测技术为场景物体设置碰撞体,以创建物理阻挡。Unity3D引擎中提供了box collider(盒子碰撞器)、sphere collider(球体碰撞器)、capsule collider(胶囊碰撞器)、mesh collider(网格碰撞器)和wheel collider(车轮碰撞器)等5种碰撞器,其中:box collider适用于立方体对象之间的碰撞;sphere collider适用于球体对象之间的碰撞;capsule collider适用于胶囊体对象之间的碰撞;mesh collider比较特殊,它的碰撞方式由自定义模型的自身网格决定,适用于自定义网格的碰撞;wheel collider适用于车轮与地面或其他对象之间的碰撞。在实际开发中选择与物体形状相似的碰撞器可有效减少计算机的消耗。该仿真训练系统中用到的碰撞器类型见图7。当场景中某一物体需要创建物体阻挡时,根据场景物体的形状在Unity3D “inspector”界面中以组件的形式为场景物体添加碰撞器。由于座椅、操作杆、第一人称角色和吊钩的形状不同,为它们添加的碰撞器分别是盒子碰撞器、球体碰撞器、胶囊碰撞器和网格碰撞器。
图7 系统中的碰撞器类型
3.3 开发UI
UI是对仿真系统的人机交互、逻辑操作以及对场景界面的整体设计,操作者通过键盘或鼠标等外
接设备向系统输入指令,系统执行操作或者反馈信
息。友好的UI可提高用户的体验。该仿真训练系统
图8 系统的UI
的UI采用Unity3D中的UGUI进行设计和开发。该系统的UI包括命令菜单窗、三维导航窗和帮助信息窗(见图8),可以实现船舶场景漫游、多视点辅助观察、设备状态信息查看等功能。
4 仿真系统交互
4.1 操作台交互
第一人称角色通过场景漫游进入克令吊操作室进行操作台上的操作,对克令吊进行控制。把鼠标视为克令吊操作人员的手,通过鼠标的点击事件和拖曳事件模拟操作人员对克令吊的操作,完成操作杆的操作动作和开关的按下动作或旋转动作。克令吊控制台分为左控制台和右控制台两部分,包括所有用于克令吊操作的操作杆和开关,见图9。
仿真克令吊的具体操作规程见图10。首先,
启动
克令吊的功率问询,使克令吊进入启动状态。当启动信号灯长亮且功率问询信号灯关闭时,克令吊进入操作状态。在吊货前,根据货物的重量选择克令吊许用载荷。然后,通过操作克令吊的旋转或变幅机械操作杆(左操作杆)和起升机械操作杆(右操作杆),完成回转塔架的旋转、吊臂的变幅和吊货索的升降。
A.左操作杆;B.紧急按钮;C.无功能;D.故障信号灯;E.过载报警信号灯;F.吊车关闭按钮;G.油冷却信号灯;H.功率问询信号灯;I.横倾信号灯;J.过载信号灯;K.吊车启动按钮;L.吊车启动信号灯;M.右操作杆;N.电笛按钮;O.限位开关信号灯;P.运行/停止钥匙开关;Q.吊臂存放位置钥匙开关;R.报警灯旋钮开关;S.探照灯开关;T.负载挡钥匙开关;U.舱室旋钮开关;V.刮雨器旋扭开关
图9 克令吊操作台
图10 仿真克令吊的操作规程
4.2 柔性物体交互仿真
为使克令吊的升降运动和变幅运动更加逼真,需要对吊货索和吊臂索进行仿真。本文应用一种改进的质点-弹簧模型,对
吊货索和吊臂索进行建模。经典的质点-弹簧模型将柔性绳索分割成一系列质点[7-8],相邻两个质点之间通过无质量的弹簧进行连接,如图11所示。由于未能限制质点之间的过度形变,通过经典模型得到的柔性绳索会出现无规则扭曲,不能很好地模拟绳索的运动效果。参考文献[9]用蜂窝状质点-弹簧模型对经典模型进行了改进,仿真效果良好,但模型结构复杂,计算量大。本文中的改进模型是:在经典的质点-弹簧模型的基础上,在间隔一个质点的两个质点之间再增加一条无质量的弹簧,以限制绳索因缠绕和折叠而发生的过度形变,见图12。
以质点M为例阐述质点的受力情况。当改进模型受到外力影响时,某一质点受到的力分为内力Fin和外力Fex,合力为Fr,内力主要包括弹簧形变力Fs和阻尼力Fd,外力主要是空气摩擦阻力Fa和M与其他物体之间的摩擦力Fo(不是一直存在的,可
视环境情况另行添加)。质点所受力的表达式为
Fs=Ks(L-XMN)(XMN/XMN)
Fd=Kd(vM-vN)
Fa=Kav
Fr=Fin+Fex=
Fs+Fd+Fa+Fo (1)
式中:Ks為劲度系数;XMN为相邻两个质点M和N之间的位矢;L为某根弹簧发生形变前的长度;Kd为阻尼系数;vM和vN分别为相邻两个质点M和N的速度矢量;Ka为空气阻力系数;v为某质点的瞬时速度。
质点M在时间域上的运动状态方程为
X·M(t)=vM
ma=mX··
M(t)=Fr
(2)
式中:X·M(t)为质点M的位移关于时间t的导数;vM为质点M的速度矢量;m为质点M的质量;a为质点M所受合力产生的加速度。
为提高计算效率,并兼顾计算的精度,采用改进的欧拉法对质点M的速度进行求解,即将当前时刻的加速度值与下一时刻的加速度值取平均值,进而求解下一时刻的速度值。求解方程为
an=f(vn,tn)
vn+1=vn+(an+an+1)Δt/2
an+1=f(vn+anΔt,tn+Δt)(3)
式中:vn为质点M在当前时刻tn的速度;Δt为时间间隔;vn+1为经过Δt时间后质点M的速度;f(vn,tn)是vn关于tn的导数,即为加速度;an和an+1分别为tn时刻的加速度和经过Δt时间后的加速度。
分别用经典模型和本文提出的改进模型模拟柔性物体。从经典模型的模拟效果(见图13)可以看出,绳索的弯曲过于僵硬,柔性仿真不真实。从改进模型的模拟效果(见图14)可以看出,绳索自然弯
曲,柔性仿真较为真实,说明改进的模型可用来进
行吊货索和吊臂索的仿真。在实际应用时,用改进模型模拟的柔性绳索以Unity3D插件形式应用到仿真系统场景中,通过在Unity3D “Inspector”界面调节柔性绳索的参数(即弹簧的劲度系数和阻尼系数),可得到仿真系统需要的不同硬度和材质的柔性绳索。
4.3 三大运动的模拟
三大运动是指吊货索的升降运动、吊臂的变幅运动和回转塔架的旋转运动。[6]吊货索的升降原理是:利用柔性绳索的变形函数,使吊货索缩短和伸长,模拟滚筒滚动使吊钩上升和下降,进行吊货索的升降运动仿真。变幅运动和旋转运动相对复杂,不易模拟,需建立克令吊部件受力与部件运动的关系,因此本文重点介绍这两大运动的模拟。为使变幅运动和旋转运动更加逼真,运用拉格朗日运动方程[10]建立克令吊的动力学模型。下面对该动力学模型进行阐述。
图15 克令吊系统简化物理模型
在xyz惯性坐标系下,克令吊系统的简化物理模型见图15。图15中:E为吊臂前端滑轮的位置,位于xy平面内;C为负载的位置;EC为吊货索,长度为l;θ=∠CEA;θx=∠AEB;θy=∠BEC。
建立关于滑轮位置坐标(x,y),l,θx和θy等4个量的广义坐标,设置滑轮位置E的坐标(x,y,0),负载位置C的坐标为(x+lsin θxcos θy,y+lsin θy,-lcos θxcos θy)。根据拉格朗日动力学方程,克令吊的动力学模型为
T=12(Mxx·2+Myy·2+Mz×0)+12mv2
ddtTx·-Tx=fx-Dxx·
ddtTy·-Ty=fy-Dyy·
ddtTl·-Tl=fl-Dll·+mgcos θxcos θy
ddtTθθ·x-Tθx=-mglsin θxcos θy
ddtTθθ·y-Tθy=-mglcos θycos θy
(4)
式中:Mx,My,Mz分别为吊车质量和驱动器件的质量在x,y和z方向上的分量;m,g和v分别为负载质量、此处的重力加速度大小和负载运动速度大小;fx,fy和fl分别为吊货索所受作用力在x,y和EC方向上的分量大小;Dx,Dy和Dl分别为吊货索在x,y和EC方向上的阻尼系数;T为该系统的动能。
在系统运行过程中:第一人称角色操作左操作杆,实时解算该克令吊动力学模型,得到吊臂的变幅角度和回转塔架的旋转角度,通过左操作杆的偏移量控制吊臂和回转塔架达到对应角度的速度,实时控制吊臂和回转塔架的运动姿态,吊臂索跟随吊臂的变幅来改变自身的长度,实现变幅运动和旋转运动的模拟;第一人称角色操作右操作杆,通过右操作杆的偏移量控制吊货索的变形速度,实现升降运动的模拟,并且利用仿真吊货索的弹性模拟绳索在升降过程中的轻微晃动。该仿真系统中克令吊三大运动的仿真见图16。图16显示了不同时刻吊货索、
图16 克令吊三大运动的仿真
吊臂和回转塔架的姿态合理,运动平稳,场景真实感良好,达到了系统仿真训练的效果,说明该克令吊动力学模型符合系统的基本要求。从图16中还可以看出,仿真得到的吊货索和吊臂索具有稳定且不扭曲的效果,与真实情况相符。
表1是该仿真训练系统中克令吊的基本运动参数。当吊臂工作外展长度达到3.5 m或28.0 m时,吊臂的限位功能开启,下降方向或上升方向的变幅运动停止。当吊钩接近吊臂头部约1.5 m时,上升方向的升降运动和下降方向的变幅运动自动停止,但吊钩能放下,吊臂能上仰。
表1 仿真训练系统中克令吊的基本运动参数
5 总结与展望
本文在Unity3D引擎下开发了回转式甲板克令吊的仿真训练系统,场景沉浸感强,交互操作真实。设计“第一人称角色控制器”,对场景进行漫游和交互,利用改进的质点-弹簧模型对吊货索和吊臂索等柔性绳索进行了仿真,运用克令吊动力学模型,实现对克令吊的控制。今后的研究一方面要完善对抓斗和吊梁等装卸设备的仿真,另一方面可运用网格变形等方式对散货进行仿真,最终实现对克令吊装货过程的模拟。
参考文献:
[1]HU Wei, YIN Yong, GAN Guangyong. Research on some key technologies in container crane simulator[C]//The 6th International Conference on System Simulation and Scientific Computing (ICSC2005).Beijing, China: Beijing World Publishing Corporation, 2005: 1494-1497.
[2]MASOUDZ N, NAYFEHA H. Sway reduction on container cranes using delayed feedback controller[J]. Nonlinear Dynamics, 2003, 34(3/4): 347-358.
[3]赵猛, 尹勇, 崔建辉. 集装箱起重机模拟器的立体显示及景深[J]. 中国航海, 2016, 39(4): 97-101.
[4]神和龙, 尹勇, 王秀杰. 海洋工程船克令吊装卸仿真系统的运动模型[J]. 系统仿真学报, 2016, 28(9): 2090-2094, 2100.
[5]贾小平, 孙贤贤. 船舶起货机液压系统的可视化仿真研究[J]. 液压与气动, 2016(2): 72-75.
[6]李伟. 船舶结构与设备[M]. 北京: 人民交通出版社, 2008: 176.
[7]王立权, 许元革, 何宁, 等. 吊头激勵下的柔索摆系统建模与仿真[J]. 上海交通大学学报, 2012, 46(9): 1416-1420.
[8]SREENIVASAN S, GOEL P, GHOSAL A. A real-time algorithm for simulation of flexible objects and hyper-redundant manipulators[J]. Mechanism and Machine Theory, 2009, 45(3): 454-466.
[9]王崴, 周诚, 杨云, 等. 基于改进弹簧-质点模型的柔性绳索仿真[J]. 计算机辅助设计与图形学学报, 2015, 27(11): 2230-2236.
[10]NAYFEHN A . Adaptation of delayed position feedback to the reduction of sway of container cranes[D]. USA: Virginia Polytechnic Institute and State University, 2002.