甄希金,楊潤黨,韋乃琨,楊安海
(1.上海船舶工藝研究所,上海200032;2.數(shù)字化造船國家工程實(shí)驗(yàn)室,上海200032)
船舶構(gòu)件裝配是船舶建造過程的重要組成部分之一。船舶裝配工藝仿真是通過計(jì)算機(jī)中的虛擬環(huán)境完成船舶零件、單元、組立結(jié)構(gòu)等裝配和工藝評估分析的過程,以此發(fā)現(xiàn)船舶結(jié)構(gòu)設(shè)計(jì)、組立劃分、裝配順序等方面潛在的問題,減少真實(shí)裝配建造過程中的修改和返工,降低施工難度,是提高船舶建造效率的有效手段[1-2]。
目前,部分船廠引進(jìn)商業(yè)化虛擬仿真軟件如Mockup,Delmia等[3-4]或者直接應(yīng)用設(shè)計(jì)軟件提供的仿真功能[5]進(jìn)行裝配工藝仿真和優(yōu)化。這些仿真功能大都支持裝配路徑和順序的交互式定義,而自動化和智能化程度不足[6]。船舶系統(tǒng)模型量巨大,要完成整船所有重要裝配工藝的設(shè)計(jì)和定義,需要大量手動交互操作,花費(fèi)很大的工作量;另一方面,虛擬仿真的結(jié)果主要用于可視化——仿真完即結(jié)束,既無法優(yōu)化前端的設(shè)計(jì),也難以指導(dǎo)后端的現(xiàn)場作業(yè),減弱了工藝仿真的作用,因此大多船企雖然引入并應(yīng)用了虛擬仿真系統(tǒng),但效果不明顯。
針對船舶虛擬仿真技術(shù)應(yīng)用過程中存在的問題以及船舶行業(yè)的特點(diǎn),自主開發(fā)了一套船舶虛擬裝配仿真系統(tǒng)。該系統(tǒng)具備通用虛擬裝配仿真系統(tǒng)的功能,同時(shí)突破智能化、交互技術(shù)以及集成技術(shù)等,可支持從單元制作到總段合攏等船舶建造各個(gè)階段的裝配仿真。特別是對于裝配路徑和順序復(fù)雜的部分船體結(jié)構(gòu)、舾裝件等,難以完全通過智能程序自動生成可行的動態(tài)裝配過程,應(yīng)用交互式功能進(jìn)行修改和優(yōu)化。
目前,大部分船舶設(shè)計(jì)軟件如Tribon、Catia等都支持裝配設(shè)計(jì),如 Tribon自帶的裝配模塊——Assembly Planning能夠建立船舶組立結(jié)構(gòu)樹,組立節(jié)點(diǎn)對應(yīng)的工藝數(shù)據(jù)以數(shù)據(jù)庫文件格式分別保存。組立結(jié)構(gòu)樹及節(jié)點(diǎn)對應(yīng)的工藝信息是裝配工藝仿真系統(tǒng)的數(shù)據(jù)來源。
船舶裝配工藝快速仿真環(huán)境主要分為數(shù)據(jù)導(dǎo)入接口、動態(tài)裝配過程自動生成、交互式裝配、裝配場景管理和仿真結(jié)果輸出等5個(gè)模塊。其中,動態(tài)裝配過程自動生成是首先將幾何模型、組立結(jié)構(gòu)樹與裝配工藝信息建立關(guān)聯(lián),根據(jù)建造基準(zhǔn)、建造方法、對稱性等計(jì)算各個(gè)層次幾何節(jié)點(diǎn)在仿真每個(gè)時(shí)刻對應(yīng)的位姿信息,形成系列的動態(tài)裝配過程;部分船體結(jié)構(gòu)、舾裝件、設(shè)備等裝配路徑和順序比較復(fù)雜,難以自動生成可行的動態(tài)裝配過程,需要通過交互操作進(jìn)行修改,如路徑的關(guān)鍵點(diǎn)、裝配順序及組立層次等;裝配場景管理是將動態(tài)裝配過程和交互裝配過程產(chǎn)生的效果進(jìn)行實(shí)施更新和管理,結(jié)合碰撞與干涉檢測等對裝配過程進(jìn)行干涉檢查,驗(yàn)證裝配順序和路徑的可行性,并通過高亮、聲音、路徑軌跡等方式表達(dá)。通過裝配過程自動生成、交互定義修改和優(yōu)化,能夠快速實(shí)現(xiàn)裝配工藝仿真。仿真結(jié)果包括裝配作業(yè)三維工藝文件、裝配過程視頻和裝配工藝修改信息等,其中三維工藝文件和視頻可以用于現(xiàn)場作業(yè)指導(dǎo)以及工人培訓(xùn),裝配工藝修改信息可以作為裝配工藝設(shè)計(jì)方案修改和優(yōu)化的參考。
船舶裝配工藝快速仿真的基本思路如圖1所示。系統(tǒng)基本應(yīng)用流程如下:先將待仿真的船舶裝配工藝對應(yīng)的幾何模型和裝配工藝文件通過數(shù)據(jù)接口導(dǎo)入仿真環(huán)境,系統(tǒng)根據(jù)裝配工藝信息自動計(jì)算裝配順序和路徑,通過三維可視化仿真和干涉檢查判斷裝配過程的可行性,對存在問題的工藝過程進(jìn)行交互式修改,直至獲得合理的工藝過程。
相對于傳統(tǒng)的船舶裝配設(shè)計(jì)及仿真系統(tǒng),該系統(tǒng)具有以下特點(diǎn):
1)充分利用船企現(xiàn)階段的船舶設(shè)計(jì)資源,且可以不改變設(shè)計(jì)流程和模式;
2)高效的裝配過程自動生成,減少用戶大量的交互定義工作量;
3)直觀的裝配工藝交互修改模式。用戶可以便捷地通過三維動態(tài)裝配過程發(fā)現(xiàn)問題,通過拖拽、點(diǎn)擊等簡單操作完成工藝的修改。
圖1 船舶裝配工藝快速仿真基本思路Fig.1 Basic idea of shipbuilding assembly process rapid simulation
2.1.1 組立樹及其信息獲取
船舶設(shè)計(jì)時(shí)常用組立結(jié)構(gòu)表達(dá)船舶零部件之間的層次關(guān)系。組立樹為1個(gè)樹狀數(shù)據(jù)結(jié)構(gòu),能夠表達(dá)船舶從小組立、中組立、大組立、總組及整船數(shù)據(jù),每個(gè)樹節(jié)點(diǎn)具有對應(yīng)結(jié)構(gòu)的名稱、位姿關(guān)系等基本屬性,以及裝配基面、建造方法等工藝信息。圖2為某船舶分段組立樹。
圖2 設(shè)計(jì)系統(tǒng)中的組立樹及導(dǎo)出的工藝信息Fig.2 Assembly tree and process info from design system
船舶組立樹結(jié)構(gòu)及對應(yīng)工藝信息可以從船舶設(shè)計(jì)軟件直接導(dǎo)出。例如在Tribon系統(tǒng)中,應(yīng)用Assembly Planning功能定義的組立結(jié)構(gòu)樹,可通過COM對象輸出為xml文件。這種結(jié)構(gòu)樹及工藝信息獲取過程,不需增加設(shè)計(jì)人員的工作量或者改變設(shè)計(jì)者的設(shè)計(jì)模式,操作簡單。對于在設(shè)計(jì)時(shí),沒有確定裝配層次的模型,裝配仿真系統(tǒng)支持動態(tài)構(gòu)建組立結(jié)構(gòu)樹。
2.1.2 不同建造策略下零部件位姿描述
在詳細(xì)設(shè)計(jì)后,根據(jù)船廠的起吊能力及裝配場地等因素,要確定單元和分段等結(jié)構(gòu)的建造策略,包括定義建造基面和確定建造方法等內(nèi)容。建造方法一般有正造、反造及側(cè)造等幾種。船舶結(jié)構(gòu)模型導(dǎo)入虛擬環(huán)境中,所有零部件都處于同一船體坐標(biāo)系下,設(shè)其在船體坐標(biāo)系下的位姿為Toriginal,繞自身坐標(biāo)軸旋轉(zhuǎn)的姿態(tài)變換矩陣分別為 Tx(θ),Ty(θ),Tz(θ),從初始位置到仿真路徑初始位置的平移矩陣為ΔTt,如式(1)~式(4)所示。
對不同建造策略,仿真過程中裝配對象(單元、分段等)的初始位姿描述如下:
正造
反造
側(cè)造(左右)
同樣,其他建造策略的初始位姿可以根據(jù)上述位姿矩陣進(jìn)行組合計(jì)算。
2.1.3 裝配順序/路徑自動建立
船舶裝配工藝組立樹結(jié)構(gòu)中,一個(gè)節(jié)點(diǎn)的子節(jié)點(diǎn)表述該節(jié)點(diǎn)的所有裝配對象。在實(shí)際工藝實(shí)施時(shí),同層次節(jié)點(diǎn)對象可能在不同工位和不同階段完成裝配,但裝配工藝快速仿真針對同層次節(jié)點(diǎn)的裝配順序和路徑進(jìn)行計(jì)算,從產(chǎn)品本身裝配流程的角度進(jìn)行優(yōu)化。
在工藝仿真系統(tǒng)中,將組立樹節(jié)點(diǎn)的排列順序作為節(jié)點(diǎn)的基本裝配順序。船舶結(jié)構(gòu)的裝配有自己的規(guī)則如由內(nèi)到外、由上到下等以保證施工方便、節(jié)省工時(shí)。在確定好裝配基準(zhǔn)對象后,自動按裝配規(guī)則完成所有對象的裝配順序計(jì)算,對于無法自動計(jì)算的特殊節(jié)點(diǎn),可以通過交互操作完成順序定義(見第2.3節(jié)內(nèi)容)。
1個(gè)節(jié)點(diǎn)對象確定好裝配順序后,需計(jì)算裝配路徑的初始點(diǎn)、關(guān)鍵點(diǎn)和終點(diǎn)。整個(gè)裝配路徑一般選擇為場景的中間位置,初始點(diǎn)的位姿根據(jù)第2.2節(jié)中的方法計(jì)算,每個(gè)關(guān)鍵點(diǎn)及終點(diǎn)的位姿根據(jù)其建造策略、建造場景等信息計(jì)算,節(jié)點(diǎn)包圍球大小作為自動計(jì)算過程的尺寸參考,并可通過快捷鍵進(jìn)行調(diào)整。
船舶裝配工藝仿真中,對于裝配路徑和順序相對復(fù)雜的部分船體結(jié)構(gòu)、舾裝件及設(shè)備等關(guān)鍵工藝,難以通過智能程序自動生成合理的順序和路徑,需要在自動生成的基礎(chǔ)上進(jìn)行交互修改或者直接通過交互操作完成定義。
2.2.1 虛擬環(huán)境中零部件的交互式操作
虛擬環(huán)境中船舶零部件對象的操作有2種方式,如圖3所示。一種是加載虛擬手對象模型,通過虛擬手與操作零部件對象的位姿綁定、跟隨移動、裝配位置識別和確認(rèn)、位姿分離等過程直觀地反應(yīng)操作者的抓取、移動、裝配、釋放等操作意圖,對于接入數(shù)據(jù)手套/位姿跟蹤器的虛擬現(xiàn)實(shí)外設(shè)的環(huán)境,常常采用該方式;另一種是六自由度軌跡球模式,用鼠標(biāo)點(diǎn)選操作零部件,以該零部件的包圍球中心為中心生成六自由度軌跡球,操作者通過這個(gè)球的移動和旋轉(zhuǎn)完成零部件的抓取、移動及路徑關(guān)鍵點(diǎn)記錄等過程。這2種方式都可以實(shí)現(xiàn)復(fù)雜裝配工藝過程定義,通過操作過程的“反向”,實(shí)現(xiàn)裝配工藝的仿真。
圖3 船舶裝配工藝的交互操作Fig.3 Interactive assembly operation in virtual environment
2.2.2 裝配工藝的交互式修改
裝配工藝修改包括對產(chǎn)品裝配層次結(jié)構(gòu)、裝配順序以及裝配路徑的修改。通過新建和刪除組立節(jié)點(diǎn)等功能修改組立樹結(jié)構(gòu),可以應(yīng)用鼠標(biāo)選擇組立節(jié)點(diǎn)拖動到指定節(jié)點(diǎn),實(shí)現(xiàn)產(chǎn)品裝配層次的快速修改,如圖4所示為將選中的107 p節(jié)點(diǎn)進(jìn)行重組。通過改變1個(gè)節(jié)點(diǎn)在父節(jié)點(diǎn)中的排列順序?qū)崿F(xiàn)裝配順序的修改和優(yōu)化,如圖5所示。通過改變路徑關(guān)鍵點(diǎn)的產(chǎn)生時(shí)刻、位姿坐標(biāo)等屬性實(shí)現(xiàn)裝配路徑修改和優(yōu)化,如圖6所示。
圖4 組立層次的快速交互式修改Fig.4 Interactive modification of assembly tree
以VC++9.0為開發(fā)工具,使用OpenSceneGraph 2.9.6圖形引擎,按面向?qū)ο蟮姆椒?(組件)開發(fā)了船舶裝配工藝快速仿真原型系統(tǒng)。該系統(tǒng)主要包括裝配工藝文件導(dǎo)入、動態(tài)裝配過程自動生成、基于虛擬現(xiàn)實(shí)外設(shè)的裝配操作、裝配順序和裝配路徑的交互式修改和優(yōu)化、三維動態(tài)裝配過程的輸出等功能,能夠支持船舶裝配工藝的快速仿真和優(yōu)化。
以某散貨船總段裝配工藝仿真為例對系統(tǒng)進(jìn)行了驗(yàn)證,圖7為分段總組工藝過程。系統(tǒng)首先讀入設(shè)計(jì)系統(tǒng)輸出的裝配工藝,對于結(jié)構(gòu)樹層次中的“ShipHull”節(jié)點(diǎn),根據(jù)其對應(yīng)的屬性及建造策略信息,自動計(jì)算總組順序,并通過動態(tài)的裝配過程進(jìn)行模擬。分段建造過程的模型同總組過程類似,以501分段為例,在結(jié)構(gòu)樹上選擇501節(jié)點(diǎn),右鍵選擇裝配過程生成,彈出如圖5所示對話框,可以在該窗口中對裝配順序進(jìn)行修改,確定后即生成動態(tài)裝配過程;對于裝配過程復(fù)雜的零件,其裝配路徑通過交互定義生成。
本文針對船舶裝配工藝的特點(diǎn)和存在的問題,提出一種裝配工藝快速仿真和優(yōu)化方法,從技術(shù)角度介紹了基本思路、方法設(shè)計(jì),自主開發(fā)了船舶裝配工藝快速仿真原型系統(tǒng),以散貨船總段裝配工藝仿真和優(yōu)化為例驗(yàn)證方法的正確性和系統(tǒng)的有效性。
虛擬仿真技術(shù)應(yīng)用的不斷深入,正在逐步改變船舶行業(yè)傳統(tǒng)設(shè)計(jì)建造流程,基于虛擬仿真技術(shù)的裝配工藝仿真和優(yōu)化也逐漸成為連接設(shè)計(jì)和建造過程的重要環(huán)節(jié)。目前系統(tǒng)仍然存在很多不足,僅實(shí)現(xiàn)了船舶裝配工藝的流程仿真,而對涉及設(shè)備、場地等資源的過程考慮不足,后續(xù)工作將致力于此。
[1]SU Nan,ZHAO Yan-wei,XING Li,et al.A variant module division method on extension logic for assembly process[A].2008 Proceedings of ASME International Mechanical Engineering Congress and Exposition[C],2009.99-108.
[2]LEE K,SHIN J G,RYU C.Development of simulationbased production execution system in a shipyard:a case study for a panel block assembly shop[J].Production Planning & Control,2009,20(8):750-768.
[3]戰(zhàn)翌婷,劉玉君,鄧燕萍.船體結(jié)構(gòu)分段裝配研究[J].造船技術(shù),2009(6):22-24.ZHAN Yi-ting,LIU Yu-jun,DENG Yan-ping.Hull block assembly research[J].Marine Technology,2009(6):22-24.
[4]張丹,左敦穩(wěn),焦光明,等.面向虛擬裝配操作的交互輔助技術(shù)[J].華南理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2010,38(5):127-132.ZHANG Dan,ZUO Dun-wen,JIAO Guang-ming,et al.Interactive aid technology for virtual assembly manipulation[J],Journal of Huanan University of Technology,2010,38(5):127-132.
[5]巫影,胡大斌,劉金林.CATIA環(huán)境下船舶機(jī)艙虛擬環(huán)境的構(gòu)建[J].武漢理工大學(xué)學(xué)報(bào),2007,29(5):101-103.WU Ying,HU Da-bin,LIU Jin-lin.Building the virtual environment of the engine room using CATIA[J].Journal of WUHAN University of Technology(In Chinese),2007,29(5):101-103.
[6]彭飛,趙耀.基于約束通道的船舶裝配拆卸雙向RRT路徑規(guī)劃[J].中國造船,2010,51(4):32-35.PENG Fei,ZHAO Yao.Bidirectionalrapidly-exploring random tree algorithm of ship assembly/disassembly path planning based on motion constraintchannels[J].Shipbuilding of China,2010,51(4):32-35.