摘 要:本文在充分研究了裝配模型特點(diǎn)的基礎(chǔ)上,給出了使用自由度分析技術(shù)對(duì)裝配模型的幾何約束求解的方法,針對(duì)三種基本裝配方式給出了解析解,針對(duì)約束閉環(huán)也給出了求解的方法,并展示了一個(gè)實(shí)例。
關(guān) 鍵 詞:幾何約束求解;裝配模型;自由度分析
1.引言
幾何約束求解問(wèn)題是現(xiàn)代CAD系統(tǒng)的關(guān)鍵問(wèn)題,國(guó)內(nèi)外的相關(guān)研究人員對(duì)其進(jìn)行了大量的研究工作[1-3],并取得了很大的進(jìn)展。在基于約束的系統(tǒng)中記錄元素幾何信息的同時(shí)也記錄了元素的拓?fù)湫畔⒑驮亻g的約束關(guān)系。幾何約束求解是CAD求解過(guò)程中的重要步驟。傳統(tǒng)的幾何約束求解方法有:基于幾何的方法、基于符號(hào)代數(shù)的方法[4]和數(shù)值計(jì)算的方法。
裝配模型是CAD應(yīng)用的典型模型。在裝配模型中使用各種零件裝配生成復(fù)雜的產(chǎn)品,是產(chǎn)品設(shè)計(jì)中的關(guān)鍵部分,并對(duì)產(chǎn)品開(kāi)發(fā)中的其他過(guò)程有很大的影響。裝配模型的關(guān)鍵是裝配約束求解。裝配約束求解就是求解在滿足裝配約束要求的條件下確定各個(gè)零部件的位置和方向。裝配約束模型相比大部分幾何約束求解模型具有較高的描述精度,較少出現(xiàn)過(guò)約束或者欠約束的情況。但是有可能會(huì)出現(xiàn)高耦合的閉環(huán)約束情況。
本文使用自由度分析的方法[5,6]求解裝配模型中的幾何約束。針對(duì)裝配約束中的一般情況,系統(tǒng)分析裝配零件(幾何實(shí)體)的自由度,從自由度為零的幾何實(shí)體出發(fā)進(jìn)行求解。對(duì)于閉環(huán)約束的情況,也給出了數(shù)值解法,從而使得求解方法更為完善。
2.基本定義
幾何實(shí)體:裝配約束中的零部件,幾何實(shí)體在裝配約束中的形狀是不變的,但是位置和方向是可以變化的。描述幾何實(shí)體的參數(shù)主要有位置和方向兩種。本文使用的幾何實(shí)體如表1所示。
約束:幾何約束是指兩個(gè)或者多個(gè)幾何體之間所具有的幾何關(guān)系。約束可以形式化的定義為Ci(e1,e2,…,en)的形式,Ci為約束的類型,ei為定義約束使用的實(shí)體。
幾何實(shí)體的自由度:完全確定幾何實(shí)體所需要變量數(shù)的最小值,也就是表1特征列所描述的確定特征需要的最少的變量數(shù),比如對(duì)于正方體,自由度為7。實(shí)體的自由度可以分為位置自由度和形狀自由度兩類。裝配約束中,主要考慮位置自由度,形狀自由度一般由用戶指定。位置自由度又可以分為平動(dòng)自由度和轉(zhuǎn)動(dòng)自由度。
約束度:由約束引起的參與約束的幾何實(shí)體自由度的減少量定義為約束的自由度。
裝配閉環(huán):裝配過(guò)程中,如果確定某一個(gè)幾何實(shí)體的時(shí)候又需要間接的用到該幾何實(shí)體,則該過(guò)程所形成的裝配鏈定義為裝配閉環(huán)。
約束圖:用來(lái)表示裝配過(guò)程中幾何實(shí)體之間的約束依賴關(guān)系,約束圖中,使用節(jié)點(diǎn)表示幾何實(shí)體,使用邊表示幾何實(shí)體間的約束。
3.求解方法
幾何約束系統(tǒng)求解問(wèn)題可以等價(jià)的表示為一組非線性方程的求解問(wèn)題。由于非線性方程組求解的效率不高而且穩(wěn)定性較差,所以可以對(duì)待求解的幾何約束系統(tǒng)進(jìn)行分解,減小求解問(wèn)題的規(guī)模,同時(shí)確定分解以后所形成子問(wèn)題的求解順序,避免大量方程組的同時(shí)求解?;诜纸獠呗缘膸缀渭s束問(wèn)題求解可以分為構(gòu)造求解序列和按照求解序列求解兩個(gè)階段。
裝配模型中的大部分操作為根據(jù)基準(zhǔn)零件加入新的零件,幾何意義明顯,所以一般不需要進(jìn)行較多的分解。求解過(guò)程只要按照裝配過(guò)程進(jìn)行即可??梢葬槍?duì)約束圖使用自由度分析的方法進(jìn)行求解。裝配模型中也有一些情況是從多個(gè)起點(diǎn)進(jìn)行設(shè)計(jì),這時(shí)每個(gè)起點(diǎn)都會(huì)形成一個(gè)欠約束模型,造成求解困難,需要考慮使用數(shù)值方法求解。
自由度分析方法就是從初始的已知節(jié)點(diǎn)出發(fā)在約束圖上進(jìn)行規(guī)約操作。對(duì)于自由度為零的節(jié)點(diǎn),定義為已知節(jié)點(diǎn)。從已知節(jié)點(diǎn)出發(fā)在約束圖中進(jìn)行寬度優(yōu)先搜索,通過(guò)節(jié)點(diǎn)的約束邊訪問(wèn)相鄰節(jié)點(diǎn),求解約束邊。如果約束方程可以直接求解則繼續(xù)遍歷,如果不可解則說(shuō)明存在約束閉環(huán)。
初始的約束圖中,每個(gè)節(jié)點(diǎn)表示一個(gè)基本的幾何實(shí)體。規(guī)約過(guò)程中一些基本幾何實(shí)體會(huì)形成新的節(jié)點(diǎn),對(duì)這些節(jié)點(diǎn)我們可以在規(guī)約體內(nèi)部求解,這樣可以減小問(wèn)題的規(guī)模。規(guī)約過(guò)后需要生成新節(jié)點(diǎn)與系統(tǒng)中其他實(shí)體的約束關(guān)系。
對(duì)于簡(jiǎn)單的情況可以根據(jù)裝配的過(guò)程使用解析的方法直接進(jìn)行計(jì)算,對(duì)于復(fù)雜的情況,需要確定計(jì)算的順序。計(jì)算順序的確定可以使用分組的方法減小問(wèn)題的規(guī)模。分組的過(guò)程與拓?fù)渑判蝾愃?。自由度為零的分為一組,與自由度為零的相鄰的節(jié)點(diǎn)為一組,其余節(jié)點(diǎn)為一組。求解過(guò)程中總是計(jì)算與自由度為零的節(jié)點(diǎn)相鄰的邊即可。求解后更新第二組中節(jié)點(diǎn)的自由度,重新生成三組信息。重復(fù)上述過(guò)程,直到所有實(shí)體自由度為零,或者不能求出新的自由度為零的節(jié)點(diǎn)。對(duì)于第一種情況,求解過(guò)程,對(duì)于第二種情況,使用方程組求解。
4.約束求解的數(shù)值方法
裝配模型中的約束普遍具有明顯的位置和方向意義??梢詫⑽恢米杂啥群头较蜃杂啥确謩e分解,單獨(dú)求解。使用齊次坐標(biāo)的形式可以方便的表示兩種自由度。齊次坐標(biāo)有簡(jiǎn)單的表示方法,方便求解。常見(jiàn)的裝配約束有:對(duì)靠、孔軸配合和共線三種情況。下面給出三種情況的方程,其中N為方向,P為位置,b為基底幾何題,ma為配置幾何體。
使用給定的齊次矩陣,可以根據(jù)解析幾何的知識(shí)將裝配約束轉(zhuǎn)換成上述三種形式的組合。大部分簡(jiǎn)單的裝配情況可以根據(jù)矩陣直接進(jìn)行求解。
對(duì)于存在約束閉環(huán)的情況,可以得到如下形式的方程組:
方程組中的方程次數(shù)一般較低,所以可以使用常用的解法,如高斯法求解,得到較好的結(jié)果。
5.求解算法
下面給出求解過(guò)程中的幾個(gè)算法:
自由度分析算法:
6.結(jié)論
本文在對(duì)裝配模型中的幾何約束求解問(wèn)題進(jìn)行了分析化簡(jiǎn),給出了三種基本的裝配約束的求解方法,針對(duì)裝配約束中的閉環(huán)約束的情況也給出了數(shù)值求解方法,通過(guò)使用自由度分析技術(shù),降低了求解的復(fù)雜度,加快了求解的速度,得到了較高的求解效率。本文提出的方法能夠解決絕大多數(shù)的裝配模型中的幾何約束求解問(wèn)題。但是約束閉環(huán)的數(shù)值求解,某些情況下存在不穩(wěn)定性,有待于今后的工作進(jìn)行完善。
參考文獻(xiàn)
[1] Light R.A.,Lin V,Gossard D.C. Variational geometry in CAD. Computer Graphics[J].1981,15(3):171-177.
[2] Alfedfeld B. Variation of geometries based on a geometric-reasonging method.CAD[J].1988,20(3):117-126.
[3] Hoffman C.Geometric constraint solving in R2 and R3.In: D Z Du,F(xiàn) Huang, eds,Computing in Euclidean Geometry[M]. Massachusetts: World Scientific.1995,266-298.
[4] 吳文俊.幾何定理機(jī)器證明的基本原理(第一卷)[M].北京:科學(xué)出版社. 1984.
[5] G.A.Kramer. Solving Geometric Constraint systems: a case study in kinematics[M].The MIT Press.1992.
[6] 高劍鋒,等.二維幾何約束求解器.計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào)[J].2000,12(2):110-115.