趙玉善, 郭 慧
(華東理工大學(xué)機(jī)械與動力工程學(xué)院,上海 200237)
基于NX/Open的懸掛式爬坡輸送線的碰撞檢測仿真系統(tǒng)開發(fā)
趙玉善, 郭慧
(華東理工大學(xué)機(jī)械與動力工程學(xué)院,上海 200237)
在懸掛式上下坡輸送線的結(jié)構(gòu)設(shè)計中,預(yù)測和有效避免掛件在上下坡過程中的動態(tài)碰撞是企業(yè)的迫切需求。針對該輸送線需滿足零件設(shè)計參數(shù)化、碰撞檢測可視化的特點,開發(fā)了一種以NX/Open API為數(shù)據(jù)接口的快速檢測爬坡過程中掛件是否發(fā)生碰撞的仿真系統(tǒng)。實現(xiàn)了對已建模零件的參數(shù)化修改,以及對爬坡輸送線進(jìn)行自動化的虛擬裝配和運動仿真,通過不同參數(shù)下的再仿真試驗及其效果反饋,最終達(dá)到消除碰撞和優(yōu)化結(jié)構(gòu)的目的。
NX二次開發(fā);碰撞檢測;虛擬裝配;運動仿真
懸掛式輸送線是根據(jù)企業(yè)車間的工藝線路,以恰當(dāng)?shù)乃俣葘崿F(xiàn)車間內(nèi)部、車間與車間之間連續(xù)輸送成件物品的設(shè)備。其允許實體掛件在空間上下坡和轉(zhuǎn)彎,且布局方式自由靈活,占地面積小,廣泛應(yīng)用于機(jī)械、汽車、電子、家用電器、輕工、食品等行業(yè)的大批量流水生產(chǎn)作業(yè)中。
在實際生產(chǎn)中,掛件在上下坡時容易受到斜坡坡度、吊具長度、掛件尺寸及其間距等綜合因素的影響而發(fā)生碰撞,屬于動態(tài)可碰撞問題,難以用常規(guī)作圖法進(jìn)行求解[1]。國內(nèi)外對輸送機(jī)上下坡和轉(zhuǎn)彎過程中的運動規(guī)律和受力性能研究有限[2-5],面臨的主要問題有:①缺乏對斜坡階段的動態(tài)碰撞仿真研究;②基于設(shè)計需求,還沒有一個專門解決此類問題的快速檢測系統(tǒng)。在結(jié)構(gòu)設(shè)計上,上下坡輸送線可簡化為爬坡機(jī)構(gòu),本文基于NX平臺,開發(fā)了一種能夠快速檢測爬坡機(jī)構(gòu)是否發(fā)生碰撞的仿真優(yōu)化系統(tǒng)。該系統(tǒng)采用UIStyler對已建模零件的可變參數(shù)進(jìn)行界面化設(shè)計,使用戶能夠同時修改所有零件的可變尺寸;根據(jù)零件的裝配序列和約束關(guān)系,以VS2010為編譯環(huán)境,實現(xiàn)裝配環(huán)境下零件的自動化裝配;在仿真環(huán)境中,以NX/Open API為接口模板,對運動仿真模型的前處理設(shè)置進(jìn)行面向過程的開發(fā),得到自動化仿真的結(jié)果。設(shè)計人員可通過仿真效果的反饋,重復(fù)進(jìn)行結(jié)構(gòu)參數(shù)的更改和優(yōu)化,最終消除輸送線爬坡階段的碰撞現(xiàn)象。
懸掛式爬坡輸送線如圖1所示,由架空軌道、牽引鏈、滑架、吊具以及驅(qū)動裝置等組成。
圖1 懸掛式爬坡輸送線
掛件被固定在吊具上隨牽引鏈緩慢地沿軌道運行,為提高生產(chǎn)效率企業(yè)往往以較高的密集度排列掛件。在爬坡的首尾轉(zhuǎn)向階段,由于加速度與重力的影響,掛件的空間姿勢將發(fā)生改變,當(dāng)掛件尺寸比較長時,往往會出現(xiàn)工件碰撞的現(xiàn)象,影響輸送線的正常運行,急需開發(fā)一種仿真系統(tǒng)以確定工件之間在給定斜坡上爬行時不發(fā)生碰撞的最小距離。
機(jī)構(gòu)的復(fù)雜度直接影響裝配和運動仿真的速度,為此,必須對爬坡輸送線進(jìn)行合理的機(jī)構(gòu)模型簡化,機(jī)構(gòu)中各零件的簡化模型如表 1所示。為提高仿真的實際效果,簡化機(jī)構(gòu)時必須遵循 2個基本條件:①允許替換部分零件或局部結(jié)構(gòu),但不能改變原機(jī)構(gòu)的運動形式和自由度;②簡化后的機(jī)構(gòu)模型必須能夠模擬實際情況。
表1 爬坡機(jī)構(gòu)的簡化模型
為方便整個碰撞檢測仿真系統(tǒng)的反復(fù)優(yōu)化試算,需要一種能夠快速對各部件參數(shù)進(jìn)行修改的參數(shù)化界面,參數(shù)修改器的開發(fā)將大大提高整個仿真系統(tǒng)的運行速度。
NX/Open API是NX的直接編程接口,同時也是開發(fā)商用來創(chuàng)建大量應(yīng)用程序以增強(qiáng) NX功能的輔助工具,NX/Open應(yīng)用程序一般由菜單、對話框、應(yīng)用程序DLL和NX/Open API庫函數(shù)等組成。針對本文各模塊應(yīng)用程序的開發(fā),給出了如圖2所示的NX/Open開發(fā)應(yīng)用程序的一般框架,圖3所示為NX開發(fā)的項目目錄結(jié)構(gòu),當(dāng)NX啟動時會在給定目錄中尋找并加載相應(yīng)的應(yīng)用程序和資源。
圖2 NX/Open的應(yīng)用程序框架
圖3 項目目錄結(jié)構(gòu)
參數(shù)修改器的應(yīng)用程序通過將部件設(shè)置為“可工作部件”并依次查詢和設(shè)置部件屬性對象標(biāo)識,最終完成對部件原型尺寸的修改。參數(shù)修改器的程序開發(fā)流程如圖4所示。
圖4 參數(shù)修改器程序設(shè)計流程圖
應(yīng)用程序涉及3種典型的UF_ATTR屬性操作數(shù)據(jù)結(jié)構(gòu):UF_ATTR_value_s、UF_ATTR_value_u以及 UF_ATTR_part_attr_s,下面給出了關(guān)于吊具參數(shù)修改的部分程序代碼:
將DLL文件、菜單文件、對話框文件以及bmp圖片按照圖 3所示的目錄結(jié)構(gòu)進(jìn)行放置,并使系統(tǒng)環(huán)境變量UGII_USER_DIR指向開發(fā)目錄,然后打開NX并新建一個裝配模型,選擇定制菜單,可看到如圖5所示的參數(shù)修改器的人機(jī)對話框界面。
圖5 參數(shù)修改器對話框界面
利用所開發(fā)的參數(shù)修改器,可以快速方便地修改調(diào)整懸掛式爬坡輸送線牽引鏈、吊具以及掛件的參數(shù),為仿真系統(tǒng)的反復(fù)優(yōu)化試算提供了便捷。
由于掛件在上下坡時除了受到斜坡坡度、吊具長度、掛件尺寸及其間距等因素的影響外,還受到慣性與重力的影響,且掛件之間的碰撞發(fā)生在動態(tài)過程中,難以用常規(guī)作圖法精確求解。故需要虛擬裝配[6]和運動仿真進(jìn)行虛擬檢查。
在NX提供的裝配環(huán)境中,相對于完全依賴操作者進(jìn)行手工裝配的傳統(tǒng)裝配方式,采用NX/Open API二次開發(fā)的方式進(jìn)行自動化裝配,可極大地提高裝配效率。裝配體是以樹型結(jié)構(gòu)來組織裝配體中的組件和零件,而部件與子部件之間的裝配關(guān)系則通過部件實例來描述[7]。圖6所示為爬坡機(jī)構(gòu)的裝配樹結(jié)構(gòu),從中可以看出,一個裝配體文件只能有一個裝配樹,或者說只能有一個根節(jié)點,且部件事例(occurrence)與部件實例(instance)之間呈現(xiàn)出多對一的映射關(guān)系,當(dāng)裝配體AUTO被加載為顯示部件后,系統(tǒng)為其分配一個部件標(biāo)識即part_1,AUTO部件包含了1個對象(標(biāo)識為Obj_part_1)和3個裝配部件實例軌道(GUI)、吊具(DIA)和掛件(GUA)。
圖6 爬坡機(jī)構(gòu)的裝配樹結(jié)構(gòu)
在自動化裝配前,為方便數(shù)據(jù)的描述,可將裝配體部件之間的裝配關(guān)系做適當(dāng)簡化。編程實現(xiàn)爬坡虛擬裝配自動化包含以下幾個步驟:
(1) 加載主動組件。使用函數(shù) UF_ASSEM_ add_part_to_assembly可將組件從文件路徑加載進(jìn)裝配體,同時可在指定的位置和方位將部件放入工作部件層中,實現(xiàn)了裝配部件與工作部件的上下級裝配關(guān)系。
(2) 主動、從動組件的事例標(biāo)識獲取。通過函數(shù)UF_ASSEM_ask_part_occ_of_inst可直接獲取主動組件的事例標(biāo)識,而從動組件的獲取則需要先確定從動組件的部件標(biāo)識,然后獲取從動組件的所有事例標(biāo)識,最后通過二者的匹配,最終確定從動組件的事例標(biāo)識。
(3) 約束對象標(biāo)識的獲取。將對象所在的部件設(shè)置為工作部件,再利用函數(shù) UF_OBJ_cycle_ by_name獲取約束對象的標(biāo)識。
(4) 約束關(guān)系的建立。裝配約束可以看成是主動件A配合到從動件B的針對部件原型的虛擬關(guān)系,爬坡機(jī)構(gòu)主模型的裝配約束可按照表 2所述步驟進(jìn)行建立。
表2 建立裝配約束的步驟
爬坡機(jī)構(gòu)涉及的裝配約束關(guān)系有 Touch、Align、Center和Distance,圖7展示了爬坡機(jī)構(gòu)裝配模型中的距離約束,根據(jù)實際情況,應(yīng)使吊具間距 ds等于掛件兩孔的距離 d5,同時掛件間距 S作為影響碰撞的主要設(shè)計參數(shù),應(yīng)以界面化編輯。
圖7 距離約束
新建一個裝配部件,選擇關(guān)聯(lián)的定制菜單,瀏覽子部件并輸入掛件間距S,得到如圖8所示的調(diào)用爬坡機(jī)構(gòu)自動化裝配程序的運行結(jié)果。
圖8 自動裝配的運行結(jié)果
運動仿真直接使用主模型的裝配文件,通過添加機(jī)構(gòu)連接和驅(qū)動,模擬機(jī)構(gòu)的實際運動,進(jìn)而分析機(jī)構(gòu)的運動規(guī)律,最后根據(jù)分析和研究的動力學(xué)數(shù)據(jù)對機(jī)構(gòu)模型提出改進(jìn)和優(yōu)化[8]。運動仿真建立的過程由前處理和后處理組成,針對爬坡機(jī)構(gòu)的前處理自動化開發(fā),其程序設(shè)計流程如圖9所示。
圖9 前處理程序設(shè)計流程圖
仿真模型的前處理包括定義連桿(link)、添加運動副(joint)和設(shè)置驅(qū)動(driver)。其中軌道作為機(jī)架應(yīng)定義為固定連桿(fixed joint);運動副涉及類型有平面副(planar)、共線副(inline)以及點在線上副(point on curve),而平面副和共線副的定義是仿真成功的關(guān)鍵;為使掛點在牽引鏈上的相對位置不發(fā)生改變,可將所有的點在線上副添加相同的恒定初速度;最后為兩個掛件連桿定義干涉。運動仿真前處理的建立如圖10所示。
圖10 建立仿真前處理
后處理由解算方案和動畫組成,其中解算類型為“常規(guī)驅(qū)動”,分析類型為“運動學(xué)/動力學(xué)”,時間由仿真效果反饋確定,步數(shù)控制在 300步以內(nèi)(步數(shù)越多,解算時間越長),重力方向為“–Z”,然后選擇動畫,即可觀看仿真結(jié)果。當(dāng)采用圖 5和圖8中的原始參數(shù)及約束距離時,得到如圖11所示的仿真結(jié)果,動畫顯示有掛件干涉的現(xiàn)象。將干涉結(jié)果反饋給系統(tǒng),重新調(diào)整參數(shù),進(jìn)行新一輪運動仿真,直至不發(fā)生干涉為止。
圖11 碰撞仿真結(jié)果
以NX為平臺,基于懸掛式爬坡輸送線存在的防碰撞設(shè)計問題,利用NX/Open與VS2010實現(xiàn)了裝配環(huán)境下的部件參數(shù)修改器、自動化裝配方案以及運動仿真前處理自動化設(shè)置的開發(fā)。根據(jù)仿真試驗結(jié)果的反饋,如發(fā)生碰撞,可通過修改器快速修正主模型參數(shù),經(jīng)過再仿真,反復(fù)檢查和對比爬坡機(jī)構(gòu)的碰撞情況,最終達(dá)到優(yōu)化機(jī)構(gòu)和消除碰撞的目的。設(shè)計人員也可通過虛擬仿真獲取不同參數(shù)下掛件臨界碰撞的數(shù)據(jù)表,為安全生產(chǎn)提供保障。
[1] 王志強(qiáng), 洪嘉振, 楊輝. 碰撞檢測問題研究綜述[J].軟件學(xué)報, 1999, 10(5): 545-551.
[2] 黃大巍, 高秀華, 邢浩. 雙軌懸掛自行輸送機(jī)動力學(xué)建模及仿真分析[J]. 系統(tǒng)仿真學(xué), 2006, 18(11): 3138-3142.
[3] 張志賢, 劉檢華, 寧汝新. 虛擬環(huán)境下平面連桿機(jī)構(gòu)運動仿真實現(xiàn)技術(shù)研究[J]. 計算機(jī)研究與發(fā)展, 2010, 47(6): 980-986.
[4] 劉樂全. 基于 ARX的懸掛輸送機(jī)運行軌跡仿真與受力分析計算[D]. 南京: 南京航空航天大學(xué), 2006.
[5] Sugimoto K. On the bases of wrench spaces for the kinematic and dynamic analysis of mechanisms [J]. Journal of Mechanical Design, 2003, 125(3): 552-556.
[6] 劉文, 劉艷斌, 張星. 基于虛擬樣機(jī)技術(shù)的電梯動態(tài)設(shè)計與優(yōu)化[J]. 圖學(xué)學(xué)報, 2012, 33(6): 82-87.
[7] 周臨震, 李青祝, 秦珂. 基于UG NX系統(tǒng)的二次開發(fā)[M]. 鎮(zhèn)江: 江蘇大學(xué)出版社, 2011: 45-186.
[8] 曹巖. UG NX 7.0裝配與運動仿真實例教程[M]. 西安: 西北工業(yè)大學(xué)出版社, 2010: 180-220.
Development of Collision Detection Simulation System for Suspension Type Climbing Conveyor Line Based on NX/Open
Zhao Yushan,Guo Hui
(School of Mechanical and Power Engineering, East China University of Science and Technology, Shanghai 200237, China)
In the structure design of suspension type conveyor line having uphill and downhill function, to predicate and effectively avoid the dynamic collision of the pendants running in the slope have been enterprise′ urgent needs. In order to meet the requirement of parametric design on parts and visual collision detection for the conveyor line, a simulation system is developed for rapid collision detection for the climbing pendants with the data interface NX/Open API. The system is helpful to modify the modeling parts by the way of parameterization, and realize automation of virtual assembly and motion simulation for the climbing conveyor. Finally, the collision is eliminated and the structure is optimized through once more simulation test and its effect feedback under different parameters.
NX secondary development; collision detection; virtual assembly; motion simulation
TP 391.9
A
2095-302X(2015)06-0950-05
2015-06-23;定稿日期:2015-08-08
趙玉善(1988–),男,河南商丘人,碩士研究生。主要研究方向為機(jī)械設(shè)計及理論、NX二次開發(fā)。E-mail:yushanbluss@163.com
郭慧(1964–),女,江西贛州人,副教授,博士。主要研究方向為計算機(jī)圖形學(xué)、逆向工程。E-mail:ghcad@163.com