席平, 張寶源, 寧濤
北京航空航天大學(xué) 機(jī)械工程及自動化學(xué)院, 北京 100191
基于開放式知識表示的智能化產(chǎn)品設(shè)計(jì)
席平*, 張寶源, 寧濤
北京航空航天大學(xué) 機(jī)械工程及自動化學(xué)院, 北京 100191
基于知識的智能化產(chǎn)品設(shè)計(jì)是CAD技術(shù)的發(fā)展方向之一,但現(xiàn)有知識表示方式缺乏對產(chǎn)品設(shè)計(jì)人員的開放性,不利于設(shè)計(jì)人員理解和維護(hù)設(shè)計(jì)系統(tǒng)中的知識。針對這一不足,研究機(jī)械產(chǎn)品設(shè)計(jì)領(lǐng)域常見的公式、表格、二維映射圖、過程、規(guī)則等類型知識的開放式表示方法,給出了其BNF(Backus Naur Form)范式描述,并研究了各類知識的推理方法。所研究的開放式知識表示及相應(yīng)推理方法具有以下優(yōu)點(diǎn):1)知識不再固化于設(shè)計(jì)系統(tǒng);2)知識便于設(shè)計(jì)人員自行錄入和維護(hù)。最后以基于知識的航空發(fā)動機(jī)渦輪葉片氣膜孔設(shè)計(jì)為例,驗(yàn)證了該方法應(yīng)用于工程實(shí)踐的可行性。
開放式知識表示; 知識推理; 知識驅(qū)動; 智能化設(shè)計(jì); 渦輪葉片
CAD技術(shù)自問世以來,已顯著提高了產(chǎn)品的設(shè)計(jì)效率,然而,傳統(tǒng)的CAD技術(shù)本質(zhì)上是幾何領(lǐng)域的技術(shù),而工程技術(shù)的核心為設(shè)計(jì)方法、邏輯推理、工程計(jì)算及優(yōu)化評估等,這些仍需要大量人工參與。為解決這一問題,研究者將人工智能(AI)技術(shù)引入了CAD系統(tǒng),由此產(chǎn)生了知識工程,它將CAD技術(shù)的應(yīng)用范圍從幾何造型領(lǐng)域擴(kuò)展到了工程設(shè)計(jì)領(lǐng)域。利用基于知識的智能化設(shè)計(jì)系統(tǒng)進(jìn)行產(chǎn)品開發(fā),用戶只需給定設(shè)計(jì)要求和初始工程參數(shù),就可以在知識庫中蘊(yùn)涵的設(shè)計(jì)知識的作用下自動推理構(gòu)造出符合需求的產(chǎn)品模型。從而實(shí)現(xiàn)了以知識驅(qū)動為特征的設(shè)計(jì)自動化和智能化。
研究符合設(shè)計(jì)過程特點(diǎn)的知識表示模型以及知識的計(jì)算機(jī)理解過程,是基于知識的產(chǎn)品設(shè)計(jì)的關(guān)鍵技術(shù)[1]。孫林夫[2]建立了包括工程語言知識、工程數(shù)據(jù)表知識、工程設(shè)計(jì)示例知識和工程圖形知識的工程設(shè)計(jì)知識表達(dá)體系,但設(shè)計(jì)知識固化于設(shè)計(jì)系統(tǒng)中。婁臻亮等[3]使用了基于框架-規(guī)則的知識表示法、基于事例的推理方法以及神經(jīng)網(wǎng)絡(luò)知識處理方法,建立了注塑模模架設(shè)計(jì)KBE系統(tǒng),設(shè)計(jì)知識與經(jīng)驗(yàn)也固化于設(shè)計(jì)系統(tǒng)中。Rezayat[4]使用記錄產(chǎn)品關(guān)鍵特性(Key Characteristics)的XML文檔表示設(shè)計(jì)知識,但不涉及圖形、表格知識的表示。夏禹等[5]使用面向?qū)ο蠛彤a(chǎn)生式規(guī)則相結(jié)合的方式表示設(shè)計(jì)知識,并通過對設(shè)計(jì)知識與廣義特征的封裝,構(gòu)建了廣義特征信息模型,但由于知識與幾何特征結(jié)合緊密,而依賴于UG平臺。Kurumatani[6]和Yan[7]采用多Agent以及Agent網(wǎng)的知識表示方式,發(fā)揮其自主性和社會性的特點(diǎn),以適應(yīng)設(shè)計(jì)制造資源網(wǎng)絡(luò)化、分布式的發(fā)展趨勢。鐘秀琴等[8]研究了基于本體的幾何學(xué)知識表示,構(gòu)建了一個可共享、可重用、可擴(kuò)展的幾何學(xué)本體,將其應(yīng)用于建立幾何學(xué)知識庫,可大大提高知識搜索和知識推理的效率。多Agent和本體側(cè)重于表示宏觀知識,以方便對知識元進(jìn)行管理和檢索,底層的知識驅(qū)動仍需要在已有的產(chǎn)生式規(guī)則、框架等表示法基礎(chǔ)上不斷尋找更優(yōu)秀的知識表示方式。
通過以上分析,筆者認(rèn)為已有的基于知識的設(shè)計(jì)系統(tǒng)仍存在以下不足:
1) 設(shè)計(jì)知識(尤其是圖、表格類知識)多通過硬編碼的方式固化于設(shè)計(jì)系統(tǒng)中,更新知識時需要將設(shè)計(jì)系統(tǒng)重新編譯;設(shè)計(jì)知識依賴于造型平臺或設(shè)計(jì)系統(tǒng),可移植性不好。
2) 已有的知識表示方法,如:一階謂詞邏輯表示法,產(chǎn)生式規(guī)則表示法,框架表示法,語義網(wǎng)絡(luò)表示法,面向?qū)ο蟊硎痉ǖ戎饕嫦蛑R的計(jì)算機(jī)理解,產(chǎn)品設(shè)計(jì)人員不易理解,需要在程序開發(fā)者的幫助下才能完成知識的錄入和維護(hù),不利于知識系統(tǒng)在使用中自我完善。
以上兩點(diǎn)可歸結(jié)為現(xiàn)有知識表示方式缺乏對產(chǎn)品設(shè)計(jì)人員的開放性。
在現(xiàn)代設(shè)計(jì)環(huán)境下,該項(xiàng)不足將愈發(fā)限制基于知識的設(shè)計(jì)系統(tǒng)充分發(fā)揮作用。謝友柏院士[9-10]認(rèn)為:隨著市場競爭日益激烈,產(chǎn)品開發(fā)所依賴的智力資源逐步由垂直結(jié)構(gòu)向分布式結(jié)構(gòu)轉(zhuǎn)變。在分布式智力資源結(jié)構(gòu)下,智力資源單元所擁有的設(shè)計(jì)系統(tǒng)若不能隨著設(shè)計(jì)知識的更新而迅速變更或是已經(jīng)積累的設(shè)計(jì)知識不能迅速地移植到另一個造型平臺,將嚴(yán)重影響該單元的市場競爭力。馮毅雄等[11]持“知識進(jìn)化”觀點(diǎn),即將設(shè)計(jì)系統(tǒng)中的知識看作是有生命的,可以隨著自身知識組群中個體的重新組合以及設(shè)計(jì)人員與系統(tǒng)的交互而不斷進(jìn)化。如果系統(tǒng)中設(shè)計(jì)知識的表示方式開放性不高,將影響系統(tǒng)在使用中的自我進(jìn)化和完善。
針對以上不足之處,本文提出了開放式知識表示及其推理方法。并據(jù)此制定了知識表示語言,開發(fā)了知識解釋器,實(shí)現(xiàn)了知識驅(qū)動的智能化產(chǎn)品設(shè)計(jì)過程。最后以航空發(fā)動機(jī)渦輪葉片氣膜孔設(shè)計(jì)為例,對方法的可行性進(jìn)行了驗(yàn)證。
知識表示是指為描述知識所作的約定,是知識的形式化過程,以便將人類知識表示成計(jì)算機(jī)能夠接收和處理的代碼。針對現(xiàn)有知識表示方式的不足,提出產(chǎn)品設(shè)計(jì)知識的開放式表示。它包括兩方面的內(nèi)涵:①制定獨(dú)立于設(shè)計(jì)系統(tǒng)的知識表示語言,使知識不再固化于設(shè)計(jì)系統(tǒng)中;②知識表示語言可以被產(chǎn)品設(shè)計(jì)人員理解。前者保證了設(shè)計(jì)人員可以在系統(tǒng)外修改設(shè)計(jì)知識,后者保證了用戶容易掌握修改方法,從而使得設(shè)計(jì)人員可以不必借助設(shè)計(jì)系統(tǒng)的開發(fā)者(Software Developer)即可自行完成知識的錄入和維護(hù)工作,如圖1所示。機(jī)械產(chǎn)品設(shè)計(jì)領(lǐng)域的常見知識可歸為公式、表格、二維映射圖、過程、規(guī)則等類型,以下分別討論各類型知識的開放式表示方法。

圖1 開放式知識表示的目的Fig.1 Purpose of open knowledge representation
1.1 公式類知識的開放式表示
機(jī)械設(shè)計(jì)過程中經(jīng)常需要進(jìn)行工程計(jì)算和公式推導(dǎo),存在著大量公式形式的知識。例如:發(fā)動機(jī)轉(zhuǎn)子葉片葉盆處氣膜冷卻效率η與冷卻范圍X,吹風(fēng)比M,當(dāng)量縫寬S具有如下關(guān)系:
(1)
公式類知識的BNF(Backus Naur Form)范式描述為:
〈公式類知識〉::=〈變量〉={〈變量〉=}〈表達(dá)式〉
〈變量〉::=〈變量名〉〈變量類型〉〈變量值〉
〈表達(dá)式〉::=〈項(xiàng)〉|(〈單目運(yùn)算符〉〈項(xiàng)〉)|(〈項(xiàng)〉〈雙目
運(yùn)算符〉〈項(xiàng)〉)
〈項(xiàng)〉::=〈常量〉|〈變量〉|〈表達(dá)式〉|“(”〈表達(dá)式〉“)”
〈單目運(yùn)算符〉::=〈函數(shù)運(yùn)算符〉|-|!
〈雙目運(yùn)算符〉::=+|-|*|/|^|〉|〈|〉=|〈=|==|!=|&&|||
〈函數(shù)運(yùn)算符〉::=sin|cos|tan|cot|asin|acos|atan|abs|
sqrt|exp|ln|round
使用知識表示語言可將式(1)表示為
coeff=-0.014*(X/M/S)^0.654+0.5
公式類知識的導(dǎo)入和維護(hù)機(jī)制為:在知識文件中直接加入或更改公式所對應(yīng)的語句。
1.2 表格類知識的開放式表示
工程知識還經(jīng)常以表格形式存在,特別是各種標(biāo)準(zhǔn)件,表1所示為調(diào)心球軸承的系列化外形尺寸和性能參數(shù)[12]。表1中:d、D、B為軸承的基本尺寸;da、Da、ra為安裝尺寸;C、C0為基本額定載荷。

表1 調(diào)心球軸承參數(shù)Table 1 Parameters of self-aligning ball bearings
文獻(xiàn)[13]將表格類知識轉(zhuǎn)化為規(guī)則的形式:
IF(d=10)
THEN((D=30)AND(B=9)AND…)
ELSE IF(d=12)
THEN((D=32)AND(B=10)AND…)
……
但這樣的表示方法存在以下不足:
1) 只能根據(jù)規(guī)則中的條件查詢結(jié)論,無法根據(jù)結(jié)論查詢條件。例如:無法查詢編號為1201的軸承的內(nèi)徑d。
2) 當(dāng)表格中記錄條數(shù)很多時,這樣的表示方式冗長,而且推理時要對眾多條規(guī)則進(jìn)行語義解析和條件判斷,較為費(fèi)時。
表格本質(zhì)上是離散數(shù)據(jù)間的映射,所以本文將表格內(nèi)容存儲在關(guān)系型數(shù)據(jù)庫中,并用知識查詢語句描述根據(jù)一定條件查詢某些參數(shù)的過程。
表格類知識的BNF范式描述為:
〈表格類知識〉::=〈查詢語句〉〈表格信息〉
〈查詢語句〉::=〈待查參數(shù)〉=Table“(”〈表名〉,〈待查
參數(shù)所在字段〉,〈查詢條件〉“)”
〈查詢條件〉::=〈表達(dá)式〉|NULL
〈表格信息〉::=〈表名〉〈字段〉〈記錄〉
其中查詢條件可以為表達(dá)式,也可以為NULL(即查詢所有記錄)。
使用知識表示語言表示表格類知識實(shí)例如下(在“調(diào)心球軸承參數(shù)”表格中查找內(nèi)徑在15 mm和20 mm之間的軸承的基本額定動載荷):
Bearing1_C=Table(“調(diào)心球軸承參數(shù)”, C, d>= 15&&d<=20)
表格類知識的導(dǎo)入和維護(hù)機(jī)制為:設(shè)計(jì)人員通過表格知識向?qū)Ы⑿卤?,增加字段,設(shè)置字段類型,并添加記錄;在知識文件中加入表格查詢語句即可使用表格類知識。通過表格知識向?qū)ЬS護(hù)表格內(nèi)容,通過表格查詢語句控制查詢方式,刪除表格查詢語句則在本次推理中不再使用這條知識。
1.3 二維映射圖類知識的開放式表示
二維映射圖是產(chǎn)品設(shè)計(jì)中常見的一種知識形式,包括曲線圖和區(qū)域圖等。例如:圖2為曲線圖,反映了在給定的孔間距P和孔徑c下,氣膜冷卻效率η隨冷卻范圍X的變化情況[14]。圖3為區(qū)域圖(使用對數(shù)刻度),反映了普通V帶型號由設(shè)計(jì)功率Pd和小帶輪轉(zhuǎn)速n1共同決定[15]。

圖2 冷卻范圍和孔間距對氣膜冷卻效率的影響Fig.2 Effect of cooling range and hole distance on film cooling effectiveness
目前處理這類圖形知識的辦法多為用多項(xiàng)式擬合曲線,將圖形查詢轉(zhuǎn)化為多項(xiàng)式求值或解方程問題。文獻(xiàn)[16]詳細(xì)討論了對多種圖形進(jìn)行曲線擬合的方法。但這種方法存在以下不足:
1) 圖形所蘊(yùn)含的幾何信息被隱去,比如:曲線的變化趨勢、單調(diào)性、凹凸性、極值點(diǎn)、是否有多個解以及區(qū)域圖中所選點(diǎn)是否很靠近區(qū)域邊線等。不利于用戶對查詢結(jié)果做出定性判斷。

圖3 普通V帶型號的選擇Fig.3 Selection of common V-belt type
2) 產(chǎn)品設(shè)計(jì)人員需要在程序開發(fā)者的幫助下才能完成該類知識的錄入和維護(hù)。
為克服以上不足,對設(shè)計(jì)過程中的圖形查詢行為進(jìn)行了分類,直接將圖形呈現(xiàn)給設(shè)計(jì)人員,并輔助設(shè)計(jì)人員做出決策。
設(shè)計(jì)過程中的圖形查詢行為分為3種:①已知曲線上點(diǎn)的橫坐標(biāo)查詢該點(diǎn)的縱坐標(biāo);②已知曲線上點(diǎn)的縱坐標(biāo)查詢該點(diǎn)的橫坐標(biāo);③已知一點(diǎn)的橫、縱坐標(biāo)判斷該點(diǎn)所處區(qū)域。分別用GraphX語句、GraphY語句和GraphXY語句表示,如圖4所示。
對于①②,解釋器根據(jù)查詢條件繪制輔助直線,設(shè)計(jì)人員點(diǎn)選與曲線的交點(diǎn),解釋器自動計(jì)算交點(diǎn)另一坐標(biāo)值。對于③,解釋器根據(jù)給定的兩個坐標(biāo)值繪制輔助直線,設(shè)計(jì)人員根據(jù)兩直線的交點(diǎn)位置輸入所屬區(qū)域。



圖4 二維映射圖查詢方法Fig.4 Selection methods of 2D mapping graph
二維映射圖類知識的BNF范式描述為
〈二維映射圖類知識〉::=〈查詢語句〉〈圖形信息〉
〈查詢語句〉::=〈GraphX語句〉|〈GraphY語句〉|
〈GraphXY語句〉
〈GraphX語句〉::=〈縱坐標(biāo)值〉=GraphX“(”〈圖名〉,
〈橫坐標(biāo)值〉“)”
〈GraphY語句〉::=〈橫坐標(biāo)值〉=GraphY“(”〈圖名〉,
〈縱坐標(biāo)值〉“)”
〈GraphXY語句〉::=〈所屬區(qū)域〉=GraphXY “(”〈圖
名〉,〈橫坐標(biāo)值〉,〈縱坐標(biāo)值〉“)”
〈圖形信息〉::=〈圖名〉〈原點(diǎn)位置〉
〈橫軸最大刻度對應(yīng)的屏幕位置〉
〈縱軸最大刻度對應(yīng)的屏幕位置〉
〈橫軸最小刻度〉〈橫軸最大刻度〉
〈縱軸最小刻度〉〈縱軸最大刻度〉
〈橫軸刻度類型〉〈縱軸刻度類型〉
〈橫軸刻度類型〉::=〈均勻刻度〉|〈對數(shù)刻度〉
〈縱軸刻度類型〉::=〈均勻刻度〉|〈對數(shù)刻度〉
使用知識表示語言表示二維映射圖類知識的實(shí)例如下:
coeff = GraphX(“冷卻范圍-氣膜冷卻效率”, 24)
V_type = GraphXY(“普通V帶型號的選擇”, 7.0, 1100)
二維映射圖類知識的導(dǎo)入和維護(hù)機(jī)制為:設(shè)計(jì)人員使用二維映射圖知識向?qū)D形載入,選取原點(diǎn)位置(x0,y0)、橫軸最大刻度對應(yīng)的屏幕位置(xmax,y0)、縱軸最大刻度對應(yīng)的屏幕位置(x0,ymax)(以上為屏幕坐標(biāo)),輸入橫軸最小刻度xLmin、最大刻度xLmax,縱軸最小刻度yLmin、最大刻度yLmax(以上為邏輯坐標(biāo)),并選擇橫軸和縱軸刻度類型以完成對二維映射圖的標(biāo)定,將上述標(biāo)定信息存入數(shù)據(jù)庫。在知識文件中加入查詢語句即可使用該圖形知識,刪除查詢語句則在本次推理中不再使用這條知識。
1.4 過程類知識的開放式表示
在機(jī)械設(shè)計(jì)過程中,有些知識是使用線性方程組、非線性方程(組)、微分方程(組)、積分方程表示的。這些知識的推理求解過程很難使用知識表示語言來描述,可以將各自的求解方法封裝為過程類知識,需要時作為一個整體被調(diào)用。過程類知識的BNF范式描述為:
〈過程類知識〉::=〈定義語句〉〈調(diào)用語句〉〈可執(zhí)行程序〉
〈定義語句〉::=〈過程名〉:〈命令行〉
〈調(diào)用語句〉::=〈變量〉=〈過程名〉“(”〈參數(shù)列表〉“)”
使用知識表示語言表示過程類知識的實(shí)例如下:(使用牛頓法求解非線性方程)
Newton: “
x=Newton (“5^x=20*x”)
過程類知識的導(dǎo)入和維護(hù)機(jī)制為:在知識文件的過程定義段為命令行指定一個過程名,在推理段加入調(diào)用語句即可使用該過程知識,刪除調(diào)用語句則在本次推理中不再使用這條知識。
1.5 規(guī)則類知識的開放式表示
規(guī)則是指變量之間邏輯上的約束關(guān)系,常可以表示為IF-THEN形式。例如,計(jì)算氣膜冷卻效率η的NASA公式具體形式與氣膜孔所處位置有關(guān):
如果氣膜孔在葉背,則
(2)
如果氣膜孔在葉盆,則
(3)
規(guī)則類知識的BNF范式描述為:
〈規(guī)則類知識〉::=if “(”〈表達(dá)式〉“)” [“{”]
{〈公式類知識〉|〈表格類知識〉|
〈二維映射圖類知識〉|
〈過程類知識〉|
使用知識表示語言表示規(guī)則類知識的實(shí)例如下:(定義整型變量Pos代表氣膜孔位置)
if(Pos==1)
coeff=-0.014*(X/M/S)^0.654+0.5
if(Pos==2)
coeff=-0.00000331*(X/M/S)^2.13+0.5
規(guī)則類知識的導(dǎo)入和維護(hù)機(jī)制為在知識文件中直接加入或更改規(guī)則語句。
知識推理是根據(jù)知識表示方式,由已知條件得到結(jié)論的過程。與開放式知識表示相適應(yīng)的知識推理方法應(yīng)該不局限于某一條具體知識的推理,而應(yīng)給出每一類知識的通用推理方法。
2.1 公式類知識的推理
Step1根據(jù)預(yù)先定義的運(yùn)算符優(yōu)先級,對表示公式類知識的字符串進(jìn)行語法分析。建立由運(yùn)算符、常量和變量構(gòu)成的求值樹(代表了公式類知識的語義)。例如:式(1)所對應(yīng)知識語句的求值樹如圖5所示。

圖5 求值樹示例Fig.5 Example of evaluation tree
Step2對求值樹進(jìn)行后序遍歷,遇到變量時,從變量列表中讀取變量值,遞歸對左、右、根結(jié)點(diǎn)求值。最終得到根結(jié)點(diǎn)的值即為整個公式的值。
2.2 表格類知識的推理
Step1將表格查詢語句右部翻譯成SQL語句:Table“(”〈表名〉,〈待查參數(shù)所在字段〉,〈查詢條件〉“)”=>“select 〈待查參數(shù)所在字段〉 from 〈表名〉 where 〈查詢條件〉”。若〈查詢條件〉為NULL,則不需要where子句。
Step2根據(jù)select語句查詢結(jié)果數(shù)目,分3種情況處理:
1) 只查到一條記錄,則將相應(yīng)字段的值賦給表格查詢語句左部的〈待查參數(shù)〉;
2) 查到多于一條記錄,彈出對話框?qū)⑺杏涗浟谐觯脩暨x擇其中的一條后,將相應(yīng)字段的值賦給〈待查參數(shù)〉;
3) 查到0條記錄,彈出對話框提示沒有符合條件的記錄,結(jié)束推理。
2.3 二維映射圖類知識的推理
對于曲線圖(以GraphX查詢語句為例,GraphY語句類似):
Step1根據(jù)圖形的標(biāo)定信息,將參數(shù)列表中的橫坐標(biāo)由邏輯坐標(biāo)xL轉(zhuǎn)換為屏幕坐標(biāo)x,并在圖形顯示區(qū)內(nèi)繪制對應(yīng)于xL的豎直輔助線;
Step2用戶點(diǎn)選輔助線與曲線的交點(diǎn),程序獲取交點(diǎn)的縱向屏幕坐標(biāo)y;
Step3根據(jù)圖形標(biāo)定信息,程序計(jì)算屏幕坐標(biāo)y對應(yīng)邏輯坐標(biāo)yL,并賦值給GraphX語句左部的〈縱坐標(biāo)值〉。
對于區(qū)域圖(對應(yīng)于GraphXY查詢語句):
Step1根據(jù)圖形的標(biāo)定信息,將參數(shù)列表中的橫、縱坐標(biāo)由邏輯坐標(biāo)xL、yL轉(zhuǎn)換為屏幕坐標(biāo)x、y,并在圖形顯示區(qū)內(nèi)繪制對應(yīng)于xL的豎直輔助線和對應(yīng)于yL的水平輔助線;
Step2用戶根據(jù)兩輔助線交點(diǎn)所處的區(qū)域,輸入?yún)^(qū)域代號;
Step3程序?qū)⒂脩糨斎胫蒂x值給GraphXY語句左部的〈所屬區(qū)域〉參數(shù)。
將邏輯坐標(biāo)轉(zhuǎn)化為屏幕坐標(biāo)的方法與坐標(biāo)刻度類型有關(guān)(以橫坐標(biāo)為例,縱坐標(biāo)類似):
對于均勻刻度:

(4)
對于對數(shù)刻度:

(5)
將屏幕坐標(biāo)轉(zhuǎn)化為邏輯坐標(biāo)的方法為其逆過程,不再贅述。
2.4 過程類知識的推理
Step1解析過程調(diào)用語句:檢驗(yàn)過程名是否已定義,是否有返回值,建立實(shí)際參數(shù)列表;
Step2從過程定義語句中獲取命令行,并將其中的形式參數(shù)替換為實(shí)際參數(shù);
Step3根據(jù)實(shí)際命令行創(chuàng)建子進(jìn)程,并創(chuàng)建通信管道(可使用Windows API函數(shù)CreateProcess和CreatePipe);
Step4通過通信管道,接收子進(jìn)程返回?cái)?shù)據(jù),并賦給左端的輸出參數(shù)。
2.5 規(guī)則類知識的推理
規(guī)則類知識中可以包含公式、表格、二維映射圖、過程類知識,還可以嵌套包含規(guī)則類知識。其推理算法的偽代碼如下:
POSITION RunIllation (POSITION pos)
{
while (pos不是最后一行&& 第pos行不是“}”)
{
如果第pos行是if語句
{
求條件表達(dá)式的值,并將pos指向下一行;
如果條件表達(dá)式為真
{
如果pos行是“{”,則遞歸執(zhí)行pos=
RunIllation (pos);
否則,只執(zhí)行pos行語句,判斷其是公式、
表格、二維映射圖還是過程語句,并按相
應(yīng)推理方法執(zhí)行;
}
如果條件表達(dá)式為假,則跳過結(jié)論部分,并
后移pos至結(jié)論部分結(jié)束;
}
如果第pos行不是if語句,則判斷語句類型,
并按相應(yīng)推理方法執(zhí)行;
pos指向下一行;
}
返回pos值;
}
知識驅(qū)動產(chǎn)品設(shè)計(jì)的原理如圖6所示。用戶輸入設(shè)計(jì)要求和初始工程參數(shù),知識庫將推理求解所需知識以知識文件的形式提交給知識解釋器。知識解釋器解析知識語句,并對公式、表格、二維映射圖、過程、規(guī)則等不同形式的知識分別執(zhí)行推理,得到產(chǎn)品各特征的形狀描述和幾何參數(shù)。形狀描述決定了特征的有無,幾何參數(shù)決定了特征的尺寸。最終由形狀描述和幾何參數(shù)來驅(qū)動參數(shù)化幾何模型的生成。

圖6 知識驅(qū)動設(shè)計(jì)原理Fig.6 Principle of knowledge driven design
渦輪葉片是航空發(fā)動機(jī)中的關(guān)鍵零件之一,其設(shè)計(jì)過程需要流體力學(xué)、固體力學(xué)、傳熱學(xué)和材料學(xué)等不同領(lǐng)域知識的支持。為實(shí)現(xiàn)設(shè)計(jì)知識重用,提高設(shè)計(jì)自動化程度,課題組在與某研究所的合作項(xiàng)目中開發(fā)了基于知識的氣膜孔設(shè)計(jì)模塊。氣膜孔是渦輪葉片上的一種冷卻結(jié)構(gòu),用于沿壁面噴出冷卻氣流,形成氣膜,將高溫燃?xì)馀c壁面隔離。該模塊可以根據(jù)用戶輸入的設(shè)計(jì)要求以及初始工程參數(shù),根據(jù)設(shè)計(jì)知識,自動推理得到氣膜孔未知幾何參數(shù)。而在傳統(tǒng)的CAD系統(tǒng)中,需要在建模前手工計(jì)算氣膜孔各幾何參數(shù)。
算例1燃?xì)饣謴?fù)溫度1 400 ℃,冷卻氣體溫度20 ℃,要求絕熱壁溫降至1 100 ℃。氣膜孔位于葉盆,吹風(fēng)比為0.5,氣膜孔數(shù)目為5,冷卻范圍為3.0 mm,氣膜孔間距為2.0 mm,求氣膜孔直徑。設(shè)計(jì)知識以知識文件為載體,如圖7(b)所示,在本算例中,由冷卻效率反求當(dāng)量縫寬時使用NASA公式。程序自動推理得到氣膜孔直徑為0.35 mm。氣膜孔模型如圖7(c)所示。

圖7 算例1Fig.7 Example 1
算例2設(shè)計(jì)要求和輸入?yún)?shù)與算例1完全相同,只是由冷卻效率反求當(dāng)量縫寬時將NASA公式換成Juhasz公式(如圖8(b),設(shè)計(jì)人員只需用“//”注釋掉不參與推理的語句,并添加表示新知識的語句即可)。程序自動推理得到氣膜孔直徑為0.19 mm。氣膜孔模型如圖8(c)所示。

圖8 算例2Fig.8 Example 2
算例3燃?xì)饣謴?fù)溫度1 400 ℃,冷卻氣體溫度20 ℃,要求絕熱壁溫降至1 100 ℃。氣膜孔位于葉盆,吹風(fēng)比為0.5,氣膜孔數(shù)目為5,氣膜孔間距為1.2 mm,氣膜孔直徑為0.3 mm,求冷卻范圍,以確定下一排氣膜孔的位置。在推理過程中需要查詢曲線圖,如圖9(b)所示。最終求得冷卻范圍為1.4 mm。程序根據(jù)知識推理步驟,自動生成設(shè)計(jì)報(bào)告,記錄每一個步驟的輸入值和輸出值,以備之后核對和糾錯,如圖9(c)所示。

圖9 算例3Fig.9 Example 3
1) 本文提出的開放式知識表示方法和推理方法,使機(jī)械產(chǎn)品設(shè)計(jì)領(lǐng)域中常見的公式、表格、二維映射圖、過程、規(guī)則等知識克服了需要硬編碼固化到設(shè)計(jì)系統(tǒng)中,且不易被設(shè)計(jì)人員自行維護(hù)的不足。
2) 基于知識的渦輪葉片氣膜孔設(shè)計(jì)實(shí)例,驗(yàn)證了本文方法應(yīng)用于工程實(shí)踐的可行性。
3) 開放式知識表示和推理方法,在賦予產(chǎn)品設(shè)計(jì)系統(tǒng)智能的同時,還為這種智能在使用中不斷進(jìn)化提供了有力工具。后續(xù)的研究重點(diǎn)是模糊知識、殘缺知識、不確定性知識的開放式表示及推理方法,以進(jìn)一步提高機(jī)械產(chǎn)品設(shè)計(jì)的自動化和智能化程度。
[1] Zhu S S, Pan Y H, Luo S J, et al. Research on product innovative design technology based on knowledge. China Mechanical Engineering, 2002, 13(4): 337-340. (in Chinese)
朱上上, 潘云鶴, 羅仕鑒, 等. 基于知識的產(chǎn)品創(chuàng)新設(shè)計(jì)技術(shù)研究. 中國機(jī)械工程, 2002, 13(4): 337-340.
[2] Sun L F. The knowledge representation system for engineering design. Journal of Southwest Jiaotong University, 1999, 34(6): 617-624. (in Chinese)
孫林夫. 工程設(shè)計(jì)知識表達(dá)體系. 西南交通大學(xué)學(xué)報(bào), 1999, 34(6): 617-624.
[3] Lou Z L, Zhang Y Q, Ruan X Y. Knowledge-based engineering Ⅱ: knowledge processing technology. Mechanical Science and Technology, 2001,20(4): 611-613. (in Chinese)
婁臻亮, 張永清, 阮雪榆. 工程設(shè)計(jì)KBE系統(tǒng)(II):知識處理技術(shù). 機(jī)械科學(xué)與技術(shù), 2001,20(4): 611-613.
[4] Rezayat M. Knowledge-based product development using XML and KCs. Computer-Aided Design, 2000, 32(5): 299-309.
[5] Xia Y, Mo R, Zhang J B, et al. Design process saving and reconstruction based on knowledge. Journal of Computer-Aided Design & Computer Graphics, 2005, 17(12): 2702-2708. (in Chinese)
夏禹, 莫蓉, 張軍波, 等. 基于知識的設(shè)計(jì)過程保存與重構(gòu). 計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào), 2005, 17(12): 2702-2708.
[6] Kurumatani K. Social coordination with architecture for ubiquitous agents: CONSORTS. Proceedings of International Conference on Intelligent Agents, Web Technologies and Internet Commerce, 2003.
[7] Yan H S. A new complicated knowledge representation approach based on knowledge meshes. IEEE Transactions on Knowledge and Data Engineering, 2006, 18(1): 47-62.
[8] Zhong X Q, Fu H G, She L, et al. Geometry knowledge acquisition and representation on ontology. Chinese Journal of Computers, 2010, 33 (1): 167-174. (in Chinese)
鐘秀琴, 符紅光, 佘莉, 等. 基于本體的幾何學(xué)知識獲取及知識表示. 計(jì)算機(jī)學(xué)報(bào), 2010, 33 (1): 167-174.
[9] Xie Y B. Study on the modern design theory and methodology. Chinese Journal of Mechanical Engineering, 2004, 40(4): 1-9. (in Chinese)
謝友柏. 現(xiàn)代設(shè)計(jì)理論和方法的研究. 機(jī)械工程學(xué)報(bào), 2004, 40(4): 1-9.
[10] Xie Y B. Some basic concepts in modern design theory. Chinese Journal of Mechanical Engineering, 2007, 43(11): 7-16. (in Chinese)
謝友柏. 現(xiàn)代設(shè)計(jì)理論中的若干基本概念. 機(jī)械工程學(xué)報(bào), 2007, 43(11): 7-16.
[11] Feng Y X, Tan J R, Wei Z. Reusable design method of products based on knowledge evolution. Journal of Zhejiang University: Engineering Science, 2008, 42(6): 909-912, 948. (in Chinese)
馮毅雄, 譚建榮, 魏喆. 基于知識進(jìn)化的產(chǎn)品可重用設(shè)計(jì)方法. 浙江大學(xué)學(xué)報(bào): 工學(xué)版, 2008, 42(6): 909-912, 948.
[12] Editorial board of machine design handbook. Machine design handbook, part 20: rolling bearing. Beijing: China Machine Press, 2007: 140-144.(in Chinese)
機(jī)械設(shè)計(jì)手冊編委會. 機(jī)械設(shè)計(jì)手冊, 第20篇: 滾動軸承. 北京: 機(jī)械工業(yè)出版社, 2007: 140-144.
[13] Liu Z T. Research on the key issues of knowledge based CAD system.Wuhan: Huazhong University of Science and Technology, 2005. (in Chinese)
劉忠途. 基于知識的CAD系統(tǒng)若干關(guān)鍵技術(shù)研究. 武漢: 華中科技大學(xué), 2005.
[14] Fan Y L, Zhu H R, Li Y H, et al. Influence of geometric parameters on film cooling effectiveness under adverse pressure gradient. Journal of Aerospace Power, 2010, 25(8): 1738-1745. (in Chinese)
范宜龍, 朱惠人, 李永紅, 等. 逆壓力梯度下幾何參數(shù)對氣膜冷卻效率的影響. 航空動力學(xué)報(bào), 2010, 25(8): 1738-1745.
[15] Editorial board of machine design handbook. Machine design handbook, part 14: belt drive and chain drive. Beijing: China Machine Press, 2007: 9-10.(in Chinese)
機(jī)械設(shè)計(jì)手冊編委會. 機(jī)械設(shè)計(jì)手冊, 第14篇: 帶傳動和鏈傳動. 北京: 機(jī)械工業(yè)出版社, 2007: 9-10.
[16] Qin R M. Computer aided mechanical design. Xi’an: Xidian University Press, 2005. (in Chinese)
秦汝明. 計(jì)算機(jī)輔助機(jī)械設(shè)計(jì). 西安: 西安電子科技大學(xué)出版社, 2005.
IntelligentProductDesignBasedonOpenKnowledgeRepresentation
XIPing*,ZHANGBaoyuan,NINGTao
SchoolofMechanicalEngineeringandAutomation,BeihangUniversity,Beijing100191,China
KnowledgebasedintelligentproductdesignisoneofthepioneeringtrendsofCADtechnology.However,existingknowledgerepresentationisnotsufficientlyopentoproductdesigners,whichmakesithardforthemtounderstandandmaintaintheknowledgeinthedesignsoftware.Tosolvetheproblem,openrepresentationofdesignknowledgeintheformsofformulas,tables,2Dmappinggraphs,proceduresandrulesisstudiedrespectively,andtheBNFs(BackusNaurForms)oftheknowledgeintheseoriginalformsareprovided.Correspondingknowledgereasoningmethodsareproposedaswell.Openknowledgerepresentationanditsreasoningmethodsleadtotheseconveniences1)itisnotnecessaryforknowledgetobecodedinthedesignsoftware;2)knowledgecanbeaddedandmaintainedbydesignerswithoutthehelpofsoftwaredevelopers.Finally,theknowledgebaseddesignofcoolingfilmholesinanaeroengineturbinebladeistakenasanexampletovalidatethefeasibilityofthedesignmethods.
openknowledgerepresentation;knowledgereasoning;knowledgedriven;intelligentdesign;turbineblade
2011-07-07;Revised2011-07-26;Accepted2011-09-19;Publishedonline2011-10-111412
URL:www.cnki.net/kcms/detail/11.1929.V.20111011.1412.008.html
NationalNaturalScienceFoundationofChina(51075021)
.Tel.:010-82316768E-mailxiping@buaa.edu.cn
2011-07-07;退修日期2011-07-26;錄用日期2011-09-19; < class="emphasis_bold">網(wǎng)絡(luò)出版時間
時間:2011-10-111412
www.cnki.net/kcms/detail/11.1929.V.20111011.1412.008.html
國家自然科學(xué)基金(51075021)
.Tel.:010-82316768E-mailxiping@buaa.edu.cn
XiP,ZhangBY,NingT.Intelligentproductdesignbasedonopenknowledgerepresentation.ActaAeronauticaetAstronauticaSinica,2012,33(9):1746-1754. 席平,張寶源,寧濤.基于開放式知識表示的智能化產(chǎn)品設(shè)計(jì).航空學(xué)報(bào),2012,33(9):1746-1754.
http://hkxb.buaa.edu.cnhkxb@buaa.edu.cn
1000-6893(2012)09-1746-09
V232.4; TP391.7
A
席平女, 博士, 教授, 博士生導(dǎo)師。主要研究方向: 知識工程, 飛行器數(shù)字化設(shè)計(jì)與制造, 復(fù)雜曲面造型。
Tel: 010-82316768
E-mail: xiping@buaa.edu.cn
張寶源男, 博士研究生。主要研究方向: 知識工程, 基于約束的產(chǎn)品建模技術(shù)。
Tel: 010-82316747
E-mail: drunkenfist@163.com