彭修全 任鴻翔 于建偉



摘要:
針對回轉式甲板克令吊教學培訓成本高且危險性大的問題,提出專門用于航海類專業學生和船員教學培訓的三維真實感良好的克令吊仿真訓練系統。分析克令吊的組成及功能,應用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.