












摘 要:【目的】為解決現有虛擬裝配環境中裝配工作不夠具體、裝配精確性無法保證的問題,構建減速器虛擬裝拆系統。【方法】采用SolidWorks和3ds Max軟件建立減速器實驗場景,完成建模和格式處理,并收集裝配關系信息。基于分層割集法來確定裝配序列規劃的裝配過程模型,并解決裝配序列問題;使用包圍盒碰撞檢測算法處理裝配過程中零件間的干涉或穿透問題。在Unity 3D平臺中導入減速器3D模型,編寫控制腳本,通過鼠標、鍵盤等交互方式,實現碰撞檢測及虛擬裝拆操作,并設計系統交互界面。【結果】實驗結果表明,在應用所構建的系統后,能顯著提高用戶體驗和操作效率。【結論】與傳統裝配方法相比,虛擬裝拆操作不僅提高了教學和培訓效果,還能有效降低設備損耗和成本。
關鍵詞:虛擬仿真;仿真設計;裝配序列;碰撞檢測
中圖分類號:TG95;TP391.9" " 文獻標志碼:A" "文章編號:1003-5168(2024)22-0027-05
DOI:10.19968/j.cnki.hnkj.1003-5168.2024.22.006
Design and Implementation of Reducer Assembly Simulation Based on Virtual Reality
Abstract:[Purposes] To address the issues of lack of specificity and insufficient assembly precision in current virtual assembly environments,the reducer virtual assembly and disassembly system is constructed.[Methods] The study employs SolidWorks and 3ds Max software to establish the experimental scene for the reducer, completing modeling and format processing, and collecting assembly relationship information. Based on the layered partition method, the assembly process model for assembly sequence planning is determined to solve the assembly sequence problem. The bounding box collision detection algorithm is used to handle interference or penetration issues between adjacent parts during the assembly process. The 3D model of the gearbox is imported into the Unity 3D platform, where control scripts are written. Through mouse and keyboard controls, collision detection and virtual assembly and disassembly operations are realized, and the system interface is designed.[Findings] Experimental results show that the constructed system significantly enhances user experience and operational efficiency.[Conclusions] Compared with traditional assembly methods, virtual assembly and disassembly operations not only improve teaching and training effectiveness but also effectively reduce equipment wear and costs.
Keywords: virtual simulation; simulation design; assembly sequence ; collision detection
0 引言
在現代工業制造中,機械零件裝配是一個非常重要的環節,其裝配性能的好壞將直接影響產品的質量、可靠性及生產效率。然而,現有的虛擬裝配方法一般是在Solidworks、UG等三維軟件中繪制裝配圖、爆炸圖,或者將裝配過程以動畫的形式展現出來[1]。目前,這種虛擬裝配方法對真實的裝配環境模擬不夠具體,操作者依賴大量的圖紙、手冊及個人經驗來指導操作,且因人為因素和操作技巧的不足,往往無法保證裝配的精確性和正確性,導致裝配效率低下、成本增加等[2]。為了解決上述問題,虛擬現實(virtual reality,VR)技術應運而生,為機械裝配提供了全新的解決方案。
在虛擬仿真技術的應用中,宋辛辛等[3]、張宏帥等[4]利用Solidworks、3ds Max等軟件建立實驗場景,并以Unity 3D為開發平臺,實現了對液壓元件的虛擬拆裝;謝振清等[5]利用碰撞檢測、坐標轉換等技術,通過交互控制實現了模型的移動、旋轉、裝配功能。 上述研究在一定程度上實現了某些機械產品的虛擬化,但在裝配過程中仍以動畫的形式控制裝配路徑,并沒有求解出最優的裝配序列。
因此,本研究以減速器拆裝實驗為研究對象,利用分層割集法對來確定裝配序列規劃,并用包圍盒碰撞檢測算法對系統交互界面進行設計。
1 系統總體設計
1.1 系統整體架構
減速器裝配系統的整體框架可分為模型層、控制層和應用層。模型層主要使用Solidworks軟件和3ds Max 軟件來完成減速器建模、格式處理等工作;控制層通過在Unity 3D 中導入減速器模型資源,從而完成碰撞檢測、虛擬裝配等工作;應用層通過PC端來對減速器虛擬裝配場景進行發布。系統整體架構如圖1所示。
1.2 系統開發流程
本研究以減速器的拆裝為例,進行虛擬裝配系統設計,開發流程圖如圖2所示。其中,技術方案主要包含以下四個步驟。首先,在Solidworks軟件中完成減速器的建模工作,并收集用于虛擬裝配時的裝配關系信息;其次,根據減速器裝配時零件的配合及約束關系,使用分層割集法來確定裝配序列規劃的裝配過程模型,得到裝配序列規劃;再次,將減速器的三維模型導入到3ds Max中,制作減速器裝配過程動畫,并將生成的資源文件導入到Unity 3D平臺中;最后,在Unity 3D平臺軟件中添加控制減速器拆裝的相關腳本,并通過鼠標、鍵盤等控制方式,實現對減速器裝拆操作。
2 減速器模型處理與裝配序列規
2.1 減速器模型處理
當減速器模型建立后,需要導入到3ds Max軟件中進行優化處理,從而提高虛擬仿真系統的流暢性,減少系統運行時所占用的內存。因此,需要在不影響減速器模型準確的前提下,通過調整面域值、偏差量等參數來減少模型的面數[6]。 模型優化前后對比如圖3所示。優化前的模型面數為97 750、頂點數為48 327;優化后的模型面數為69 204、頂點數為34 054。優化后模型面數減少了29.2%,頂點數減少了29.5%。
2.2 減速器模型裝配序列規劃
減速器在裝配過程中,需要按照一定的裝配序列將零件組裝起來,組裝序列是否合理將直接影響后續的裝配效率及質量[7-9]。本研究采用分層割集法對各個組件中的零件裝配序列進行求解,從而獲得減速器最優裝配序列。求解流程如圖4所示。
為了求解最優的裝配序列,需要對零件進行編號,如圖5所示,零件名稱見表1。為了降低計算量,將減速器劃分為3層。其中,聚族1零件包含12、13、27,聚族2零件包含4、5,聚族3零件包含7、8,聚族4零件包含22、23,聚族5零件包含24、25,聚族6零件包含螺塞1、螺塞墊片2。
子裝配體ZPT1包含齒輪軸28、高速軸軸承9,子裝配體ZPT2包含低速軸18、平鍵17、齒輪19、定距環20、低速軸軸承21,子裝配體ZPT3包含上箱蓋10、通氣器14、螺釘15、窺視孔蓋16,子裝配體ZPT4包含聚族6、 箱體26、油標尺3。
根據分層割集法,求解出的每一層裝配序列見表2。減速器的最優裝配序列為:(26-2-1-3)-(18-17-19-20-21)-28-9-11-(10-16-15-14)-8-7-25-24-5-4- 22-23-27-13-12。
3 減速器元件交互功能實現
3.1 碰撞檢測算法
在減速器虛擬拆裝過程中,為避免零件之間產生干涉,要對每個零件添加包圍盒碰撞器。Unity內置的碰撞器有盒碰撞器(Box Collider)、球碰撞器(Sphere Collider)、膠囊碰撞器(Capsule Collider)和網絡碰撞器(Mesh Collider)。其中,Box Collider結構簡單、效率高,適用于立方體,特別是長方體對象之間的碰撞;Mesh Collider密封性比較好,適用于形狀比較復雜的零件。因此,對形狀簡單、類似于長方體的零件可添加盒碰撞器Box Collider(Box Collider),對形狀復雜的零件可添加網絡碰撞器(Mesh Collider)。
對復雜的模型采用網絡碰撞器(Mesh Collider),雖會提高裝配精度,但也會降低碰撞效率。因此,本研究使用AABB層次包圍盒碰撞檢測算法,以提高碰撞效率。
3.1.1 AABB包圍盒樹的建立與更新。設組成對象的基本元素集合為S,對集合S采用自頂向下的方法構造包圍盒樹[10-11]。自頂向下構造包圍盒樹如圖6所示。
減速器零件具有剛體屬性,因此,包圍盒的更新只考慮對象運動,如果對象零件坐標點發生變化,就必須更新包圍盒樹。
設減速器零件沿[x]、[y]、[z]軸平移的向量為[T=(x,y,z)T],繞[x]、[y]、[z]軸的旋轉參數為[θ]、[φ]、[?],各坐標軸旋轉對應的變換矩陣見式(1)至式(3)。
[Rot(x,θ)]、[Rot(y,φ)]、[Rot(z,?)]合成的旋轉矩陣見式(4)。
減速器零件經平移和旋轉后,對其包圍盒進行坐標轉換,即可得到新狀態下的包圍盒。
3.1.2 AABB包圍盒間的相交測試。由分離軸定律推理可知,如果兩個AABB包圍盒在三維坐標軸上的投影區域都重合,則其必定相交[12]。
設AABB1的最小、最大頂點坐標分別為[P1(L10,L11,L12)]、[P2(H10,H11,H12)],AABB2的最小、最大頂點坐標分別為[Q1(L20,L21,L22)]、[Q2(H20,H21,H22)]。要判斷兩個零件是否相交,只要滿足式(5)中的一條,即可判斷兩個零件不相交。
3.1.3 AABB層次包圍盒與Mesh Collider 碰撞檢測算法。為了提高零件碰撞檢測的精確度,需要建立AABB多層次包圍盒,如果檢測到兩個零件接觸,Unity引擎中的OnCollisionEnter()就會被觸發。
建立接觸點集合[C=c0c1???cn-1cn]。設接觸點為[c0(x0,y0,z0)],AABB1[(xmin,ymin,zmin),(xmax,ymax,zmax)]包圍盒要滿足的條件見式(6)。
如果接觸點不在包圍盒內,則從集合[C]中刪除。一直遞歸到AABB1包圍盒葉子的節點,此時集合[C]為零件最終的接觸點。如果集合[C]是空集,則結束遞歸程序。當檢測到包圍盒內包含有接觸點時,則證明兩個零件相接觸。
3.2 減速器零件的拾取與裝拆功能
3.2.1 減速器零件拾取功能。為了使零件與零件在虛擬場景中發生接觸時能及時被發現,需要給每個零件添加包圍盒碰撞器,避免零件在裝配時發生干涉等現象。當鼠標接觸零件,且按下鼠標左鍵時,即可實現對零件的抓取移動。
3.2.2 減速器零件裝拆功能。為了實現減速器的準確裝配,該虛擬系統為每個零件設置有待裝配的位置。在裝配時,當零件被移動到對應的安裝位置時,松開鼠標后,零件即被安裝到對應位置。由于零件安裝時,裝配的第一個零件會被賦予Pigidbody重力屬性,在完成上一個零件裝配后,下一個零件才會被賦予以上屬性,直至完成所有減速器元件的裝配。
4 系統界面設計及發布
減速器拆裝系統界面主要包含減速器裝配和減速器拆解兩個模塊,如圖7所示。在完成減速器拆裝功能開發后,發布至Windows平臺,通過鍵盤和鼠標等控制方式,實現對減速器的裝拆操作。
5 結語
本研究主要對減速器虛擬拆裝系統總體設計、分層割集法裝配序列規劃、交互功能實現和系統設計等進行研究,使用包圍盒碰撞檢測算法解決裝配過程中可能存在的干涉或穿透問題,以Unity 3D軟件為開發平臺,并將減速器模型導入該軟件,實現碰撞檢測、虛擬裝拆等功能,完成減速器虛擬裝拆操作和系統交互界面的設計。
參考文獻:
[1]吳琪.基于Unity 3D的車間虛擬現實系統研究與實現[D].武漢:華中科技大學,2020.
[2]馬帥.基于Unity3D的機械產品虛擬仿真及增強現實應用技術研究[D].石家莊:河北科技大學,2017.
[3]宋辛辛,陳永當,顧金芋,等.基于Unity3D的液壓元件虛擬拆裝實驗系統[J].微型電腦應用,2022,38(7):7-11.
[4]張宏帥,姜寶柱.基于Unity3D的數字化工廠建模仿真系統[J].河南科技,2020,39(29):71-74.
[5]謝振清.基于Unity3D的虛擬裝配技術研究與實現[D].哈爾濱:哈爾濱工業大學,2018.
[6]田博.探討3DSMAX在虛擬現實構建中三維模型建立的方法和技巧[J].中國管理信息化,2017,20(14):133-134.
[7]秦建華,鄧晨韻,李穩.基于分層割集法的行星齒輪減速器的裝配序列求解[J].制造業自動化,2017,39(3):60-63.
[8]ONESES M S, SONG C, WILLIAMSON L, et al. Hierarchical patterns of three-dimensional block copolymer films formed by electro-hydrodynamic jet printing and self-assembly[J].Nature Nanotechnology,2013,8:667-675.
[9]張根保,羅冬梅,冉琰等.基于相對熵排序的裝配序列質量模糊評價方法[J].中國機械工程,2016,27(8):1089-1095.
[10]楊浩凡.基于Unity3D的虛擬肝臟手術形變建模與碰撞檢測研究[D].南昌:南昌大學,2023.
[11]林菲,鄒玲,張聰.基于混合層次包圍盒的快速碰撞檢測算法[J].計算機仿真,2023,40(9):454-457.
[12]李永強.基于Unity3D的神經外科虛擬手術訓練軟件設計與開發[D].杭州:浙江工業大學,2016.