魏 鋒, 段 鵬, 鞏 琦
(河南理工大學機械學院,河南 焦作 454003)
干涉檢驗[1]是虛擬裝配中的重要研究內容和關鍵技術。當前,該領域的熱點問題是如何提高干涉檢驗精度,提高算法效率。
現有的虛擬裝配系統多依托于商業CAD 系統,其靜止干涉檢驗采用CAD 系統的API 程序即可實現,相對簡單。對于運動干涉檢驗,沒有特定API 函數,需要開發人員自行設計方案及程序來完成,相對較復雜。常用的動態干涉把裝配件的運動軌跡離散化[2-9],按照裝配路徑方向將裝配件依次放置于裝配路徑的若干離散點,在離散點處檢驗裝配件與外界環境(如固定件、夾具)的干涉情況。該算法的關鍵問題是離散點之間的距離設定問題,即運動步長選取。若步長過長,干涉檢驗精度較差;步長過短則計算量大,影響檢查速度。為解決上述矛盾,提出一種基于邊界拉伸的干涉檢驗方法,此方法改變了傳統動態干涉檢驗思想,將原本離散問題轉化為連續問題,既可提高干涉檢驗精度,又降低了干涉檢驗的計算量。
裝配順序的確定是裝配工藝規劃的核心。裝配順序是描述產品裝配過程的一個重要信息,裝配順序規劃自動化對于實現裝配順序優化和縮短裝配順序規劃時間具有重要意義。干涉檢驗與裝配順序是息息相關的,利用干涉檢驗的結果使裝配順序生成算法既有完備性又有高效率。
常用的移動方法是設定步長后,通過變幻矩陣移動零件,每次移動后進行檢驗。將零件輪廓的軌跡包絡后,相當于零件輪廓的拉伸體,可用拉伸來進行檢驗,如圖1 所示。精確算法中,可在零件的極限面上獲取零件三維圖形的二維投影的精確輪廓線,然后進行拉伸。但在可行性運算中,局部自由度和全局自由度結合,不用十分精確的定量計算。定量計算需要獲取精確的輪廓線,涉及圖形學的算法,相對較復雜。在定性計算中,只要獲取零件的包容盒,利用極限點在面上投影,拉伸后形成新的圖形,就可進行干涉檢驗了。

圖1 零件的輪廓運動軌跡與拉伸比較
包容盒就是在部件坐標系內,能夠包容部件所有幾何特征的長方體,該長方體的各面與坐標系的坐標平面平行或者垂直。在CAD 的二次開發軟件中,都有獲取包容盒的函數,如果沒有,可以直接獲取坐標系的極值點,從而形成一個包容盒(見圖2)。

圖2 零件的包容盒
獲取極限點后,建立在某一方向的極限面,如+x 方向的最大點,如圖3,A 即為+x 方向上的極限平面,建立平面后,設Y 軸的極大值為+y,極小值為-y,Z 軸的極大值為+z,極小值為-z,用(+y, +z),(+y, -z),(-y, -z),(-y, +z)建立矩形。分別在需要考察的方向,建立平面,投影,為拉伸做準備。

圖3 零件的極限面
依次對各個方向和每個零件進行基于拉伸的干涉檢驗,形成零件全局干涉表,如在某一方向上沒有與之干涉的零件,則記為空。
步驟1 把原件抑制后,拉伸極限面上的投影輪廓;
步驟2 拉伸的件與其他零件在某一方向上進行干涉檢驗;
步驟3 把與之干涉的零件放入表格;
步驟4 刪除拉伸件,把原件抑制解除。
在軸中心約束的時候,由于包容盒的選取,會在本沒有干涉的地方造成干涉,所以應在孔軸方向上設置優先方向,則不僅可以解決干涉剔除問題,還可以在一個方向上裝入盡可能多的零件,這樣可以簡化夾具,最小化裝配費用。因此,確定優先拆卸方向具有重要的意義。通過前面的約束查詢,可以知道在某一方向的軸向約束都有哪些零件,放入優先拆卸的集合。零件應盡可能在優先方向上進行裝配。如果有幾個優先方向,根據工程實際,采取以下規則:設有N 個優先方向,若每個優先方向能夠拆卸的零件數分別為Mi(i =1, 2, …, N ),則
(1) 每次選取能夠拆卸的零件數為最大的方向;
(2) 拆卸零件后,優先方向數N 減1;
(3) 重復(1)、(2)步驟直到N =0。
Gottipolu[10]提出了一種裝配順序推理方法,其推理方法可簡單描述如下:
首先定義兩個向量:接觸向量C ={C1, C2, C3, C4, C5, C6}和干涉向量T={T1, T2, T3, T4, T5, T6},其次定義6個方向:+X , +Y , +Z, -X , -Y 和-Z。
該裝配順序的分析推理過程為:
步驟1 將裝配體劃分為若干割集;
步驟2 針對每個裝配割集,利用裝配體的幾何設計信息,求出零件及子裝配體之間的接觸向量和干涉向量;
步驟3 利用接觸向量計算出零件之間是否具有裝配連接關系,即裝配的可能性。
把大的裝配零件分為部件,接觸向量和干涉向量用零件局部配合約束表和零件干涉表來表示。根據此法則,需要從裝配模型中提取出生成裝配順序所需要的信息。局部自由的零件可以移動無限小距離而不與其它零件產生干涉,全局自由的零件可以移動無限遠距離而不與其它零件產生干涉。從配合約束可以得到每個零件的局部自由度,即接觸向量,還可推理出裝配幾何優先關系。提出基于輪廓拉伸的方法,可獲得全局干涉變量,即上面所說的干涉變量。
在利用拆卸法求裝配序列時,通過分析零件局部配合約束表,可以從待拆卸的零件中得到下一個候選拆卸零件,然后再求其全局自由度即干涉向量去測試可行性。零件的局部自由度放入零件局部配合約束表中。通過兩個表格就可獲得裝配順序,零件局部配合約束獲取方法如下:如圖4所示,為簡化起見,在裝配順序規劃中,可以把配合約束簡化為3種基本配合形式:面配對,面對齊,中心對齊。實際上,面配對和面對齊在本質上是相同的,適用于平面的配合。前者兩配合面的法矢反向,而后者兩配合面的法矢同向,可用來提取局部自由度。中心對齊適用于圓柱面的配合,即孔軸配合是圓柱面的中心線的共線配合,作為優先方向。通過裝配時的約束條件可以改為上述3種約束方式,分為6個方向[11]。

圖4 零件約束示意圖
根據拉伸干涉檢驗可得到零件的干涉表;根據裝配體的配合關系求出各零件的局部約束表以及優先拆卸方向集;根據優先拆卸方向集求出可拆卸零件集,并得到最優方向的選擇次序。例如,裝配體由4個零件組成,分別用數字1~4表示。
2.2.1 創建零件干涉表
零件全局干涉表表示零件沿某一方向移動到無窮遠的過程中與其干涉的零件。前面已用拉伸算法解決。制成如表1所示,通過干涉檢驗,把結果填入4個零件在6個方向上與之干涉的零件即可。作為全局干涉表(空的地方為#)。

表 1 零件干涉表
2.2.2 零件的局部配合約束表
零件的局部配合約束表是指根據零件的配合關系而獲得的相配合零件的干涉表。例如,裝配體由4個零件組成,分別用數字1~4表示。把通過三種裝配關系獲得的結構填入如表2所示,作為局部干涉表。

表 2 局部配合約束表
2.2.3 基于干涉表的裝配順序規劃算法
第一步產生動態干涉表,其初值與零件干涉表相同;產生動態配合約束表,其初值與局部配合約束相同;
第二步從優先拆卸方向集中取一優先方向;
第三步搜索動態配合約束表,若存在零件滿足其在動態配合約束表的值和在動態干涉表的值均為“ # ”,就將此零件放入該優先方向的拆卸零件集中;然后更新動態配合約束表和動態干涉表,重復第二步;若不滿足,則換取優先拆卸方向集中下一個優先方向,動態干涉表賦初值,動態配合約束表賦初值,重復第二步,直到所有的方向取完;
第四步根據兩個表格繼續確定裝配順序,直到所有表格都為#。
此方法已用于換熱器的虛擬裝配中。程序通過從零件庫中提取零件,通過程序進行自動裝配,裝配完成后如圖5 第一幅小圖所示,獲取各個零件的包容盒,如第二幅小圖所示。分別按照 6 個方向對零件拉伸,并進行檢驗,最后把結果放入數據庫的兩個表格中。通過兩個表格,對裝配順序重新調整。

圖5 換熱器實例
通過拉伸的方法,減少了運算量,提高了效率。選擇的方法以投影的輪廓為包容盒,為了達到更精確的程度,可把包容盒轉化為輪廓線。在以后的研究中,應建立零件優先順序的知識庫,通過程序查詢得出結果。
[1] Jimenez P, Thomas F. 3D collision detection: a survey [J]. Computers & Graphics, 2001, 25(2): 269-285.
[2] Ganter M A, Isarankura B P. Dynamic collision detection using space partitioning [J]. Journal of Mechanical Design, Transactions of the ASME, 1993, 115 (1): 150-155.
[3] 張 宇, 馬麗紅, 余英林. 空間模型碰撞檢測的向量符號分析與實現[J]. 中國圖像圖形學報, 1998, 3(6): 481-484.
[4] 王兆其, 趙沁平. 一個計算凸多面體間碰撞點的快速算法[J]. 軟件學報, 1999, 10(12): 1253-1258.
[5] 任世軍, 洪炳熔, 孟慶鑫. 判斷兩個凸多面體是否相交的一個快速算法[J]. 軟件學報, 2000, 11(4): 563-568.
[6] Moore M, Wilhelms J. Collision detection and response fir computer animation [J]. Computer Graphics, 1988, 22(4): 289-298.
[7] Rogers D F. Procedural elements for computer graphics [M]. New York: McGraw-Hill Book Company, 1985. 205-212.
[8] Baraff D. Analytical methods for dynamics simulation of non2penetrating rigid bodies [J]. Computer Graphics, 1989, 23(3): 223-232.
[9] Herzen B U, Barr A H, Zatz H R. Geometric collisions for time-dependent parametric surfaces [J]. Computer Graphics, 1990, 24(4): 39-48.
[10] Gottipolu R B, Ghosh Kalyan. An integrated approach to the generation of assembly sequences [J]. International Journal of Computer Applications in Technology, 1995, 8(3-4): 125-139.
[11] 肖 翔, 尹文生. 一種基于配合約束的裝配順序產生算法[J]. 計算機輔助設計與圖形學學報, 2001, (13): 730-735.