国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于特征識(shí)別的航天器艙段零件自動(dòng)編程

2022-01-19 05:08席逸凡楊建中朱萬(wàn)強(qiáng)張成磊
關(guān)鍵詞:鄰接矩陣艙段航天器

席逸凡,楊建中,,高 嵩,朱萬(wàn)強(qiáng),夏 暢,張成磊

(1.華中科技大學(xué)機(jī)械科學(xué)與工程學(xué)院,湖北 武漢 430074)(2.國(guó)家數(shù)控系統(tǒng)工程技術(shù)研究中心,湖北 武漢 430074)

數(shù)控編程是數(shù)控加工的關(guān)鍵步驟。目前的CAD/CAM軟件中,CAD與CAM系統(tǒng)功能相對(duì)獨(dú)立,集成度不高,編程過(guò)程中需要先設(shè)計(jì)相關(guān)加工特征,根據(jù)特征加工工藝設(shè)置相關(guān)的工藝參數(shù)后生成加工程序,這一過(guò)程中對(duì)同類型的加工特征需進(jìn)行大量的重復(fù)性操作,導(dǎo)致編程效率不高。

運(yùn)用特征識(shí)別技術(shù)被認(rèn)為是CAD/CAM系統(tǒng)一體化的有效途徑[1],一經(jīng)提出,就受到了大量關(guān)注,隨著該項(xiàng)技術(shù)的不斷發(fā)展,其識(shí)別復(fù)雜目標(biāo)的效果更優(yōu),識(shí)別效率也越來(lái)越高。陶建華等[2]以STEP文件為對(duì)象,將模糊推理引入到基于屬性鄰接圖(attributed adjacency graph,AAG)的識(shí)別中;趙鵬等[3]采用單元體分解策略,對(duì)切削體(毛坯和零件的布爾差集)設(shè)定分割面進(jìn)行分解,再將單元體重組,從而進(jìn)行識(shí)別;湯志鴻等[4]利用屬性鄰接圖進(jìn)行有效鄰面計(jì)算,識(shí)別出飛機(jī)框肋類零件的部分制造特征;左曉娟等[5]將AAG簡(jiǎn)化為加工面鄰接圖(manufacturing face adjacency graph,MFAG),以型腔零件作為識(shí)別對(duì)象,給出了MFAG的分解策略并對(duì)其進(jìn)行識(shí)別。對(duì)于航天器艙段零件而言,其加工特征復(fù)雜且數(shù)量眾多,數(shù)控編程仍然依靠CAM軟件選擇加工特征,配置工藝參數(shù),編程時(shí)間周期長(zhǎng)。從現(xiàn)狀看,上述特征識(shí)別方法并未應(yīng)用于航天器艙段零件加工。采用特征識(shí)別方式自動(dòng)提取航天器艙體零件復(fù)雜的加工特征形狀,供CAM軟件實(shí)現(xiàn)自動(dòng)編程,對(duì)航天器艙段零件編程效率的提升具有較大的意義。

本文以航天器艙段零件為研究對(duì)象,以UG7.5作為系統(tǒng)環(huán)境支撐,根據(jù)AAG圖的存儲(chǔ)矩陣進(jìn)行擴(kuò)展定義,在此基礎(chǔ)上設(shè)計(jì)了特征識(shí)別算法識(shí)別出零件的加工特征,隨后建立了加工操作模板,并實(shí)現(xiàn)自動(dòng)編程。

1 基于圖的特征識(shí)別方法

1.1 特征形狀分析

所謂加工特征,是指材料經(jīng)切削成型后零件所具有的形狀特征,是實(shí)體零件所攜帶的有意義的信息集合。航天器艙段零件由圓柱形毛坯經(jīng)車銑加工后所得,其特征主要由艙段體端面和內(nèi)外面嵌入的形狀特征兩區(qū)域所構(gòu)成。其中端面特征主要為端面圓柱孔,內(nèi)面特征主要為花邊以及網(wǎng)絡(luò)筋,外面特征包括開口、槽、橢圓孔以及圓孔。其主要特征形狀如圖1所示。

1.2 屬性鄰接圖(AAG)

屬性鄰接圖是將零件抽象成面與邊的模型,其主要以面、邊以及邊的凹凸性闡述模型各個(gè)面的邏輯關(guān)系。屬性鄰接圖G的定義如式(1):

G={V,E}

(1)

圖1 航天器艙段零件特征種類

式中:V為屬性鄰接圖中的頂點(diǎn),對(duì)應(yīng)于模型的面;E為模型兩面相交而構(gòu)成的邊,對(duì)應(yīng)于模型中兩面相交的邊。

目前,大部分CAD系統(tǒng)采用B-Rep(boundary-representation)模型表達(dá)方法表示零件,B-Rep是以物體邊界為基礎(chǔ)定義描述幾何體的方法[6],直接從B-Rep中進(jìn)行特征識(shí)別較為復(fù)雜,因此需對(duì)B-Rep中的信息進(jìn)行適當(dāng)?shù)奶幚砗团判颉1疚膶-Rep轉(zhuǎn)化為AAG,作為特征識(shí)別的基礎(chǔ)工具,其主要流程如圖2所示。

圖2 AAG構(gòu)造流程

在UG中,UG OPEN API提供了UF_BREP開頭的函數(shù)可以直接獲取零件B-Rep信息。其中,UF_BREP_ask_topology()接口函數(shù)可以將零件面、邊、點(diǎn)的拓?fù)錁湫畔⒋鎯?chǔ)于UF_BREP_topology_s結(jié)構(gòu)體中。

1.2.1屬性鄰接圖的構(gòu)建

在獲得零件B-Rep樹形結(jié)構(gòu)的基礎(chǔ)上,創(chuàng)建AAG,邊的凹凸性判斷方法可以參考文獻(xiàn)[7]。從B-Rep到AAG的構(gòu)建算法主要如下:

1)創(chuàng)建鏈表List,并創(chuàng)建結(jié)構(gòu)體Struct,包含面1(face1)、面2(face2)、邊(edge)3個(gè)元素。

2)自樹的根節(jié)點(diǎn)Root開始遍歷List,遍歷過(guò)程中若節(jié)點(diǎn)Node為面,讀取該面屬性并標(biāo)識(shí)該面Tag。

3)節(jié)點(diǎn)Node為面時(shí),搜索其Loop的孩子節(jié)點(diǎn)Child,其Child為各個(gè)Edge,遍歷List,若List中同一個(gè)Struct中face和edge元素同時(shí)無(wú)該Face與該Edge,則創(chuàng)建Struct并用face1記錄此Node中的Face,用edge記錄此Node中的Edge,并在List中插入該Struct;若有該Edge且face2未被賦值,則在該Edge所在的Struct中,將該面標(biāo)識(shí)為face2;若有該Face和Edge且face2已經(jīng)被賦值,則創(chuàng)建新Struct,將原來(lái)的face1與edge拷貝,將face2賦值給該Face。

4)若含有多個(gè)Child,則創(chuàng)建新的Struct,在新Struct中將該面Face標(biāo)識(shí)為face1,邊Edge標(biāo)識(shí)為edge,訪問(wèn)完所有Child,再循環(huán)直至訪問(wèn)過(guò)所有的面Face。

5)遍歷List,并根據(jù)面的屬性計(jì)算邊的凹凸性,在Struct中標(biāo)識(shí),將每個(gè)Struct中的face插入為AAG中的Vertex,edge插入為連接AAG中的各個(gè)邊,結(jié)束。

計(jì)算機(jī)對(duì)于圖的存儲(chǔ),主要有鄰接矩陣、鄰接表等方法。鄰接矩陣主要以二維數(shù)組的方式存儲(chǔ),在內(nèi)存中占有連續(xù)的內(nèi)存,更易于直接讀取數(shù)據(jù),而鄰接表以鏈表的方式進(jìn)行存儲(chǔ),不方便直接讀取。本文采用子圖匹配算法,考慮到特征識(shí)別過(guò)程中子圖匹配的效率,采用鄰接矩陣存儲(chǔ)屬性鄰接圖。

定義構(gòu)成鄰接矩陣為n×n二維數(shù)組G:

(2)

式中:i與j代表面;G[i,j]代表邊的屬性值(凸邊、凹邊或不相交)。

在傳統(tǒng)的屬性鄰接矩陣中,矩陣的值只包含0和1,易產(chǎn)生二義性[8],以此矩陣表達(dá)圖形時(shí)其信息不夠完整,故考慮定義鄰接矩陣中的各值,以增加矩陣含義。

1.2.2擴(kuò)展的屬性鄰接矩陣

在傳統(tǒng)屬性鄰接矩陣n×n的二維數(shù)組G基礎(chǔ)上定義擴(kuò)展的屬性鄰接圖M,同樣用n×n的二維數(shù)組表示如下:

1)對(duì)于每個(gè)元素M[i,j]而言,如果i=j,則定義M[i,j]不同的數(shù)值代表不同的面,具體見(jiàn)表1。

表1 i=j時(shí)節(jié)點(diǎn)值對(duì)應(yīng)的面類型

2)對(duì)于每個(gè)元素M[i,j]而言,在i≠j的情況下,如果面i與面j不相交,則M[i,j]=0;如果面i與面j相交,則M[i,j]的值可根據(jù)需要定義。本文以二位數(shù)表示邊的屬性,在二位數(shù)的個(gè)位上以0,1分別代表面i與面j相交邊的凹凸性,在二位數(shù)的十位上以1,2,3等代表直線邊、圓弧邊、橢圓邊等,具體見(jiàn)表2。

根據(jù)上述定義,以圖3(a)所示帶有側(cè)壁開口的零件特征圖為例,可以構(gòu)建出如圖3(b)所示的零件特征結(jié)構(gòu)AAG,并以圖3(c)中的拓展屬性鄰接矩陣進(jìn)行存儲(chǔ)。

表2 i≠j時(shí)節(jié)點(diǎn)值對(duì)應(yīng)的邊類型

圖3 零件AAG圖與擴(kuò)展屬性鄰接矩陣

1.3 特征識(shí)別

建立零件的擴(kuò)展屬性鄰接圖后,特征識(shí)別過(guò)程實(shí)為特征子圖匹配過(guò)程,因此需要先建立好各個(gè)特征的子鄰接矩陣。在整體艙段零件中,建立如表3所示的特征矩陣庫(kù)。

表3 特征擴(kuò)展屬性鄰接矩陣

在上述規(guī)則下,提出如下算法。

1)在1.2節(jié)中方法建立擴(kuò)展屬性鄰接矩陣的基礎(chǔ)上,定義k的值,若k為1,則代表是該類型的面,若k為其他數(shù),則代表非該類型的面。以式(3)計(jì)算出k值:

(3)

式中:Mii為擴(kuò)展屬性鄰接矩陣對(duì)角線上的元素;d為不同類型面所對(duì)應(yīng)的值,本文例中只取d=-1,-2,-3。針對(duì)其他特征可繼續(xù)拓展。

設(shè)立數(shù)組v[p]用來(lái)標(biāo)識(shí)所有面是否被訪問(wèn):

(4)

式中:p表示拓展屬性鄰接表中所有面的編號(hào)。

2)識(shí)別橢圓孔:當(dāng)k=1且d=-3時(shí),記錄此刻i值,標(biāo)記該面為橢圓孔特征并輸出,將V中該面的值設(shè)為1。

3)識(shí)別側(cè)壁面:當(dāng)k=1且d=-2時(shí),記錄此刻i值,在屬性鄰接矩陣中,遍歷i所在列的數(shù)據(jù)值,若無(wú)Mij=20且存在Mij=21時(shí)i值所對(duì)應(yīng)的Mij為-1,標(biāo)記該i面tag為側(cè)壁面,將V中該面的值設(shè)為1。

4)識(shí)別端面:遍歷側(cè)壁面所在的列,若存在Mij=21且i值所對(duì)應(yīng)的Mii=-1,且該面與兩側(cè)壁面相連,并所有與該面相鄰面所在的Mii=-2,則將該i側(cè)壁面tag更改為端面,將V中該面的值設(shè)為1。

5)提取側(cè)壁面特征子矩陣:遍歷側(cè)壁面所在的列,若Mij≠0且v[p]≠1,在當(dāng)前i值下,將V中該面的值設(shè)為1,并搜索所有與該i值相鄰的面,將V中該面的值設(shè)為1。遞歸搜索該相鄰面的鄰面,直至所有鄰面均被訪問(wèn),終止循環(huán)。提取出該幾個(gè)面相交的值Mij,建立特征子矩陣。繼續(xù)上述操作,直至j值到列末。

6)提取端面特征子矩陣:在端面所在的列中,同步驟5),提取建立特征子矩陣。

7)將5)和6)提取得到的特征子矩陣與特征庫(kù)中的特征矩陣進(jìn)行比較,若特征子矩陣滿足特征庫(kù)中特征矩陣,則輸出該特征。滿足條件為:兩矩陣階數(shù)必須相同,對(duì)應(yīng)行元素值必須相同,對(duì)應(yīng)行的位置可不相同。

2 自動(dòng)編程

2.1 工藝知識(shí)庫(kù)的建立

本文提出用工藝知識(shí)庫(kù)存儲(chǔ)各個(gè)加工特征的工藝數(shù)據(jù),用于特征識(shí)別后對(duì)加工工藝的查詢。該工藝知識(shí)庫(kù)包含以下模塊:

1)航天器艙段零件常見(jiàn)加工特征;

2)不同加工特征的工藝操作以及工藝參數(shù)初始值;

3)各類工藝參數(shù)間的制約關(guān)系;

4)各類加工操作的模板。

各模塊的功能示意如圖4所示。

圖4 工藝知識(shí)庫(kù)模塊關(guān)系圖

每個(gè)加工特征都有相應(yīng)的加工工藝知識(shí),本文以MySQL數(shù)據(jù)庫(kù)存儲(chǔ)工藝知識(shí)??紤]從加工特征到各個(gè)加工步驟再到其加工方法的映射關(guān)系為樹形結(jié)構(gòu),因此采用Closure Table進(jìn)行其結(jié)構(gòu)的存儲(chǔ)。主要方法為:

1)創(chuàng)建表ProcessKnowledge,用于存儲(chǔ)數(shù)據(jù)信息。數(shù)據(jù)序號(hào)為Eid,各類的名稱設(shè)定為Ename,各類的數(shù)據(jù)設(shè)定為Data;

CREATE TABLE ProcessKnowledge (

Eid INT,

Ename VARCHAR(100),

Data VARCHAR(100)

)

表ProcessKnowledge的具體內(nèi)容見(jiàn)表4。

表4 加工數(shù)據(jù)信息存儲(chǔ)表ProcessKnowledge(例)

2)創(chuàng)建表Relations,用于存儲(chǔ)數(shù)據(jù)之間的關(guān)系,其中RootID用于表示其根節(jié)點(diǎn),Depth表示其深度,IsLeaf表示其是否是葉節(jié)點(diǎn),NodeID表示其FeatureID。

CREATE TABLE Relations(

RootID INT,

Depth INT,

IsLeaf TINYINT,

NodeID INT

)

表5為表Relations的示例。

表5 加工數(shù)據(jù)關(guān)系表Relations(例)

以此方法建立加工工藝庫(kù),如需讀取側(cè)壁槽精加工的數(shù)據(jù),只需查詢RootID為精加工且深度為1的葉節(jié)點(diǎn)。

2.2 自動(dòng)編程模板

結(jié)構(gòu)、形態(tài)、功能等相似性的加工特征一般具有相同的加工方法,因此采用設(shè)計(jì)模板思路對(duì)同一類加工特征調(diào)用同一個(gè)加工模板的方式來(lái)實(shí)現(xiàn)自動(dòng)編程。模板的內(nèi)容主要包含加工幾何體、驅(qū)動(dòng)方法以及工藝參數(shù),而基于特征識(shí)別的編程模板可將識(shí)別出的特征自動(dòng)導(dǎo)入模板中去,自動(dòng)編程模板主要是針對(duì)工藝參數(shù)的設(shè)計(jì)。

1)刀具庫(kù)的設(shè)計(jì)。

加工模板需滿足同一類加工特征不同尺寸的加工,因此每一類特征的加工模板需要建立好滿足所有加工要求的刀具。在刀具庫(kù)中設(shè)置加工刀具的直徑、圓角、有效刀長(zhǎng)、材質(zhì)等,用于記錄刀具的詳細(xì)信息,方便在模板中使用。

2)加工工藝參數(shù)的設(shè)計(jì)。

不同加工步驟對(duì)加工精度的要求不同,因此設(shè)定的加工工藝參數(shù)也不同。企業(yè)中常用刀具有D10、D8、D6、D4等,一般加工工藝參數(shù)根據(jù)刀具的規(guī)格尺寸選取。不同尺寸刀具加工工藝參數(shù)見(jiàn)表6。

表6 不同尺寸刀具工藝參數(shù)表

由此,經(jīng)過(guò)特征識(shí)別、調(diào)用工藝知識(shí)庫(kù)即可通過(guò)映射關(guān)系得到對(duì)應(yīng)的加工方法,再選擇刀具獲取相應(yīng)的工藝參數(shù),最終得到相應(yīng)的加工刀具模板,從而實(shí)現(xiàn)自動(dòng)編程。

3 應(yīng)用實(shí)例

基于本文提出的特征識(shí)別方法,以VS2010作為開發(fā)環(huán)境、Qt以及NX 7.5提供的庫(kù)文件,開發(fā)了整體艙段零件自動(dòng)編程系統(tǒng)。該系統(tǒng)以Qt搭建系統(tǒng)界面,運(yùn)行于NX 7.5的平臺(tái)上,包括加工特征選取、特征顯示以及加工工藝參數(shù)編輯模塊,可識(shí)別航天器艙段零件端面圓柱孔、側(cè)面槽、側(cè)面開口、側(cè)面圓柱孔、側(cè)面橢圓孔5種不同的特征。通過(guò)編輯界面右側(cè)的工藝參數(shù),生成自動(dòng)編程模板,最終生成刀具路徑軌跡。系統(tǒng)的運(yùn)行界面如圖5所示。

圖5 航天器艙段零件自動(dòng)編程系統(tǒng)

如圖6所示,識(shí)別出的加工特征于軟件界面的左側(cè)特征列表中顯示,加工特征的工藝參數(shù)于軟件界面右側(cè)工藝參數(shù)列表中,讀取的數(shù)據(jù)存入刀具路徑模板。如圖6所示,在NX加工模式下的幾何視圖中,可生成各種特征加工工藝模板,從而實(shí)現(xiàn)數(shù)控編程的自動(dòng)化。

針對(duì)航天器艙段零件的加工,采用本文所提出的特征識(shí)別算法可有效識(shí)別出航天器艙段零件中側(cè)壁槽、圓孔、橢圓孔、側(cè)壁開口等加工特征。根據(jù)特征識(shí)別算法和工藝庫(kù)數(shù)據(jù)自動(dòng)生成的加工程序在Vericut中用AC雙轉(zhuǎn)臺(tái)結(jié)構(gòu)五軸加工中心進(jìn)行仿真,其仿真結(jié)果如圖7所示。

4 結(jié)束語(yǔ)

本文以特征識(shí)別的方式識(shí)別航天器艙段零件的各類典型特征,建立了工藝知識(shí)庫(kù)以及加工模板,實(shí)現(xiàn)了整體艙段零件的自動(dòng)編程。在深入研究特征識(shí)別算法的基礎(chǔ)上,選用了基于圖的特征識(shí)別方法,通過(guò)將此方法嵌入U(xiǎn)G 7.5平臺(tái)中,實(shí)現(xiàn)了從CAD系統(tǒng)導(dǎo)入模型直接獲取加工特征信息的功能,減少人工的交互操作,為基于特征識(shí)別實(shí)現(xiàn)自動(dòng)編程從而提高編程效率提供了可借鑒的方法。

圖6 刀具路徑模板

圖7 仿真結(jié)果

猜你喜歡
鄰接矩陣艙段航天器
輪圖的平衡性
2022 年第二季度航天器發(fā)射統(tǒng)計(jì)
2019 年第二季度航天器發(fā)射統(tǒng)計(jì)
基于TwinCAT的艙段數(shù)字化柔性自動(dòng)對(duì)接平臺(tái)控制系統(tǒng)設(shè)計(jì)
2018 年第三季度航天器發(fā)射統(tǒng)計(jì)
一種通用的航天器在軌分離設(shè)計(jì)方法
2018年第二季度航天器發(fā)射統(tǒng)計(jì)
基于鄰接矩陣變型的K分網(wǎng)絡(luò)社團(tuán)算法
基于子模性質(zhì)的基因表達(dá)譜特征基因提取
水下航行器電池艙段溫度場(chǎng)數(shù)值模擬