席平, 張寶源, 寧濤
北京航空航天大學(xué) 機(jī)械工程及自動(dòng)化學(xué)院, 北京 100191
基于開放式知識(shí)表示的智能化產(chǎn)品設(shè)計(jì)
席平*, 張寶源, 寧濤
北京航空航天大學(xué) 機(jī)械工程及自動(dòng)化學(xué)院, 北京 100191
基于知識(shí)的智能化產(chǎn)品設(shè)計(jì)是CAD技術(shù)的發(fā)展方向之一,但現(xiàn)有知識(shí)表示方式缺乏對(duì)產(chǎn)品設(shè)計(jì)人員的開放性,不利于設(shè)計(jì)人員理解和維護(hù)設(shè)計(jì)系統(tǒng)中的知識(shí)。針對(duì)這一不足,研究機(jī)械產(chǎn)品設(shè)計(jì)領(lǐng)域常見的公式、表格、二維映射圖、過程、規(guī)則等類型知識(shí)的開放式表示方法,給出了其BNF(Backus Naur Form)范式描述,并研究了各類知識(shí)的推理方法。所研究的開放式知識(shí)表示及相應(yīng)推理方法具有以下優(yōu)點(diǎn):1)知識(shí)不再固化于設(shè)計(jì)系統(tǒng);2)知識(shí)便于設(shè)計(jì)人員自行錄入和維護(hù)。最后以基于知識(shí)的航空發(fā)動(dòng)機(jī)渦輪葉片氣膜孔設(shè)計(jì)為例,驗(yàn)證了該方法應(yīng)用于工程實(shí)踐的可行性。
開放式知識(shí)表示; 知識(shí)推理; 知識(shí)驅(qū)動(dòng); 智能化設(shè)計(jì); 渦輪葉片
CAD技術(shù)自問世以來,已顯著提高了產(chǎn)品的設(shè)計(jì)效率,然而,傳統(tǒng)的CAD技術(shù)本質(zhì)上是幾何領(lǐng)域的技術(shù),而工程技術(shù)的核心為設(shè)計(jì)方法、邏輯推理、工程計(jì)算及優(yōu)化評(píng)估等,這些仍需要大量人工參與。為解決這一問題,研究者將人工智能(AI)技術(shù)引入了CAD系統(tǒng),由此產(chǎn)生了知識(shí)工程,它將CAD技術(shù)的應(yīng)用范圍從幾何造型領(lǐng)域擴(kuò)展到了工程設(shè)計(jì)領(lǐng)域。利用基于知識(shí)的智能化設(shè)計(jì)系統(tǒng)進(jìn)行產(chǎn)品開發(fā),用戶只需給定設(shè)計(jì)要求和初始工程參數(shù),就可以在知識(shí)庫(kù)中蘊(yùn)涵的設(shè)計(jì)知識(shí)的作用下自動(dòng)推理構(gòu)造出符合需求的產(chǎn)品模型。從而實(shí)現(xiàn)了以知識(shí)驅(qū)動(dòng)為特征的設(shè)計(jì)自動(dòng)化和智能化。
研究符合設(shè)計(jì)過程特點(diǎn)的知識(shí)表示模型以及知識(shí)的計(jì)算機(jī)理解過程,是基于知識(shí)的產(chǎn)品設(shè)計(jì)的關(guān)鍵技術(shù)[1]。孫林夫[2]建立了包括工程語(yǔ)言知識(shí)、工程數(shù)據(jù)表知識(shí)、工程設(shè)計(jì)示例知識(shí)和工程圖形知識(shí)的工程設(shè)計(jì)知識(shí)表達(dá)體系,但設(shè)計(jì)知識(shí)固化于設(shè)計(jì)系統(tǒng)中。婁臻亮等[3]使用了基于框架-規(guī)則的知識(shí)表示法、基于事例的推理方法以及神經(jīng)網(wǎng)絡(luò)知識(shí)處理方法,建立了注塑模模架設(shè)計(jì)KBE系統(tǒng),設(shè)計(jì)知識(shí)與經(jīng)驗(yàn)也固化于設(shè)計(jì)系統(tǒng)中。Rezayat[4]使用記錄產(chǎn)品關(guān)鍵特性(Key Characteristics)的XML文檔表示設(shè)計(jì)知識(shí),但不涉及圖形、表格知識(shí)的表示。夏禹等[5]使用面向?qū)ο蠛彤a(chǎn)生式規(guī)則相結(jié)合的方式表示設(shè)計(jì)知識(shí),并通過對(duì)設(shè)計(jì)知識(shí)與廣義特征的封裝,構(gòu)建了廣義特征信息模型,但由于知識(shí)與幾何特征結(jié)合緊密,而依賴于UG平臺(tái)。Kurumatani[6]和Yan[7]采用多Agent以及Agent網(wǎng)的知識(shí)表示方式,發(fā)揮其自主性和社會(huì)性的特點(diǎn),以適應(yīng)設(shè)計(jì)制造資源網(wǎng)絡(luò)化、分布式的發(fā)展趨勢(shì)。鐘秀琴等[8]研究了基于本體的幾何學(xué)知識(shí)表示,構(gòu)建了一個(gè)可共享、可重用、可擴(kuò)展的幾何學(xué)本體,將其應(yīng)用于建立幾何學(xué)知識(shí)庫(kù),可大大提高知識(shí)搜索和知識(shí)推理的效率。多Agent和本體側(cè)重于表示宏觀知識(shí),以方便對(duì)知識(shí)元進(jìn)行管理和檢索,底層的知識(shí)驅(qū)動(dòng)仍需要在已有的產(chǎn)生式規(guī)則、框架等表示法基礎(chǔ)上不斷尋找更優(yōu)秀的知識(shí)表示方式。
通過以上分析,筆者認(rèn)為已有的基于知識(shí)的設(shè)計(jì)系統(tǒng)仍存在以下不足:
1) 設(shè)計(jì)知識(shí)(尤其是圖、表格類知識(shí))多通過硬編碼的方式固化于設(shè)計(jì)系統(tǒng)中,更新知識(shí)時(shí)需要將設(shè)計(jì)系統(tǒng)重新編譯;設(shè)計(jì)知識(shí)依賴于造型平臺(tái)或設(shè)計(jì)系統(tǒng),可移植性不好。
2) 已有的知識(shí)表示方法,如:一階謂詞邏輯表示法,產(chǎn)生式規(guī)則表示法,框架表示法,語(yǔ)義網(wǎng)絡(luò)表示法,面向?qū)ο蟊硎痉ǖ戎饕嫦蛑R(shí)的計(jì)算機(jī)理解,產(chǎn)品設(shè)計(jì)人員不易理解,需要在程序開發(fā)者的幫助下才能完成知識(shí)的錄入和維護(hù),不利于知識(shí)系統(tǒng)在使用中自我完善。
以上兩點(diǎn)可歸結(jié)為現(xiàn)有知識(shí)表示方式缺乏對(duì)產(chǎn)品設(shè)計(jì)人員的開放性。
在現(xiàn)代設(shè)計(jì)環(huán)境下,該項(xiàng)不足將愈發(fā)限制基于知識(shí)的設(shè)計(jì)系統(tǒng)充分發(fā)揮作用。謝友柏院士[9-10]認(rèn)為:隨著市場(chǎng)競(jìng)爭(zhēng)日益激烈,產(chǎn)品開發(fā)所依賴的智力資源逐步由垂直結(jié)構(gòu)向分布式結(jié)構(gòu)轉(zhuǎn)變。在分布式智力資源結(jié)構(gòu)下,智力資源單元所擁有的設(shè)計(jì)系統(tǒng)若不能隨著設(shè)計(jì)知識(shí)的更新而迅速變更或是已經(jīng)積累的設(shè)計(jì)知識(shí)不能迅速地移植到另一個(gè)造型平臺(tái),將嚴(yán)重影響該單元的市場(chǎng)競(jìng)爭(zhēng)力。馮毅雄等[11]持“知識(shí)進(jìn)化”觀點(diǎn),即將設(shè)計(jì)系統(tǒng)中的知識(shí)看作是有生命的,可以隨著自身知識(shí)組群中個(gè)體的重新組合以及設(shè)計(jì)人員與系統(tǒng)的交互而不斷進(jìn)化。如果系統(tǒng)中設(shè)計(jì)知識(shí)的表示方式開放性不高,將影響系統(tǒng)在使用中的自我進(jìn)化和完善。
針對(duì)以上不足之處,本文提出了開放式知識(shí)表示及其推理方法。并據(jù)此制定了知識(shí)表示語(yǔ)言,開發(fā)了知識(shí)解釋器,實(shí)現(xiàn)了知識(shí)驅(qū)動(dòng)的智能化產(chǎn)品設(shè)計(jì)過程。最后以航空發(fā)動(dòng)機(jī)渦輪葉片氣膜孔設(shè)計(jì)為例,對(duì)方法的可行性進(jìn)行了驗(yàn)證。
知識(shí)表示是指為描述知識(shí)所作的約定,是知識(shí)的形式化過程,以便將人類知識(shí)表示成計(jì)算機(jī)能夠接收和處理的代碼。針對(duì)現(xiàn)有知識(shí)表示方式的不足,提出產(chǎn)品設(shè)計(jì)知識(shí)的開放式表示。它包括兩方面的內(nèi)涵:①制定獨(dú)立于設(shè)計(jì)系統(tǒng)的知識(shí)表示語(yǔ)言,使知識(shí)不再固化于設(shè)計(jì)系統(tǒng)中;②知識(shí)表示語(yǔ)言可以被產(chǎn)品設(shè)計(jì)人員理解。前者保證了設(shè)計(jì)人員可以在系統(tǒng)外修改設(shè)計(jì)知識(shí),后者保證了用戶容易掌握修改方法,從而使得設(shè)計(jì)人員可以不必借助設(shè)計(jì)系統(tǒng)的開發(fā)者(Software Developer)即可自行完成知識(shí)的錄入和維護(hù)工作,如圖1所示。機(jī)械產(chǎn)品設(shè)計(jì)領(lǐng)域的常見知識(shí)可歸為公式、表格、二維映射圖、過程、規(guī)則等類型,以下分別討論各類型知識(shí)的開放式表示方法。
圖1 開放式知識(shí)表示的目的Fig.1 Purpose of open knowledge representation
1.1 公式類知識(shí)的開放式表示
機(jī)械設(shè)計(jì)過程中經(jīng)常需要進(jìn)行工程計(jì)算和公式推導(dǎo),存在著大量公式形式的知識(shí)。例如:發(fā)動(dòng)機(jī)轉(zhuǎn)子葉片葉盆處氣膜冷卻效率η與冷卻范圍X,吹風(fēng)比M,當(dāng)量縫寬S具有如下關(guān)系:
(1)
公式類知識(shí)的BNF(Backus Naur Form)范式描述為:
〈公式類知識(shí)〉::=〈變量〉={〈變量〉=}〈表達(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
使用知識(shí)表示語(yǔ)言可將式(1)表示為
coeff=-0.014*(X/M/S)^0.654+0.5
公式類知識(shí)的導(dǎo)入和維護(hù)機(jī)制為:在知識(shí)文件中直接加入或更改公式所對(duì)應(yīng)的語(yǔ)句。
1.2 表格類知識(shí)的開放式表示
工程知識(shí)還經(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]將表格類知識(shí)轉(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é)論查詢條件。例如:無法查詢編號(hào)為1201的軸承的內(nèi)徑d。
2) 當(dāng)表格中記錄條數(shù)很多時(shí),這樣的表示方式冗長(zhǎng),而且推理時(shí)要對(duì)眾多條規(guī)則進(jìn)行語(yǔ)義解析和條件判斷,較為費(fèi)時(shí)。
表格本質(zhì)上是離散數(shù)據(jù)間的映射,所以本文將表格內(nèi)容存儲(chǔ)在關(guān)系型數(shù)據(jù)庫(kù)中,并用知識(shí)查詢語(yǔ)句描述根據(jù)一定條件查詢某些參數(shù)的過程。
表格類知識(shí)的BNF范式描述為:
〈表格類知識(shí)〉::=〈查詢語(yǔ)句〉〈表格信息〉
〈查詢語(yǔ)句〉::=〈待查參數(shù)〉=Table“(”〈表名〉,〈待查
參數(shù)所在字段〉,〈查詢條件〉“)”
〈查詢條件〉::=〈表達(dá)式〉|NULL
〈表格信息〉::=〈表名〉〈字段〉〈記錄〉
其中查詢條件可以為表達(dá)式,也可以為NULL(即查詢所有記錄)。
使用知識(shí)表示語(yǔ)言表示表格類知識(shí)實(shí)例如下(在“調(diào)心球軸承參數(shù)”表格中查找內(nèi)徑在15 mm和20 mm之間的軸承的基本額定動(dòng)載荷):
Bearing1_C=Table(“調(diào)心球軸承參數(shù)”, C, d>= 15&&d<=20)
表格類知識(shí)的導(dǎo)入和維護(hù)機(jī)制為:設(shè)計(jì)人員通過表格知識(shí)向?qū)Ы⑿卤?,增加字段,設(shè)置字段類型,并添加記錄;在知識(shí)文件中加入表格查詢語(yǔ)句即可使用表格類知識(shí)。通過表格知識(shí)向?qū)ЬS護(hù)表格內(nèi)容,通過表格查詢語(yǔ)句控制查詢方式,刪除表格查詢語(yǔ)句則在本次推理中不再使用這條知識(shí)。
1.3 二維映射圖類知識(shí)的開放式表示
二維映射圖是產(chǎn)品設(shè)計(jì)中常見的一種知識(shí)形式,包括曲線圖和區(qū)域圖等。例如:圖2為曲線圖,反映了在給定的孔間距P和孔徑c下,氣膜冷卻效率η隨冷卻范圍X的變化情況[14]。圖3為區(qū)域圖(使用對(duì)數(shù)刻度),反映了普通V帶型號(hào)由設(shè)計(jì)功率Pd和小帶輪轉(zhuǎn)速n1共同決定[15]。
圖2 冷卻范圍和孔間距對(duì)氣膜冷卻效率的影響Fig.2 Effect of cooling range and hole distance on film cooling effectiveness
目前處理這類圖形知識(shí)的辦法多為用多項(xiàng)式擬合曲線,將圖形查詢轉(zhuǎn)化為多項(xiàng)式求值或解方程問題。文獻(xiàn)[16]詳細(xì)討論了對(duì)多種圖形進(jìn)行曲線擬合的方法。但這種方法存在以下不足:
1) 圖形所蘊(yùn)含的幾何信息被隱去,比如:曲線的變化趨勢(shì)、單調(diào)性、凹凸性、極值點(diǎn)、是否有多個(gè)解以及區(qū)域圖中所選點(diǎn)是否很靠近區(qū)域邊線等。不利于用戶對(duì)查詢結(jié)果做出定性判斷。
圖3 普通V帶型號(hào)的選擇Fig.3 Selection of common V-belt type
2) 產(chǎn)品設(shè)計(jì)人員需要在程序開發(fā)者的幫助下才能完成該類知識(shí)的錄入和維護(hù)。
為克服以上不足,對(duì)設(shè)計(jì)過程中的圖形查詢行為進(jìn)行了分類,直接將圖形呈現(xiàn)給設(shè)計(jì)人員,并輔助設(shè)計(jì)人員做出決策。
設(shè)計(jì)過程中的圖形查詢行為分為3種:①已知曲線上點(diǎn)的橫坐標(biāo)查詢?cè)擖c(diǎn)的縱坐標(biāo);②已知曲線上點(diǎn)的縱坐標(biāo)查詢?cè)擖c(diǎn)的橫坐標(biāo);③已知一點(diǎn)的橫、縱坐標(biāo)判斷該點(diǎn)所處區(qū)域。分別用GraphX語(yǔ)句、GraphY語(yǔ)句和GraphXY語(yǔ)句表示,如圖4所示。
對(duì)于①②,解釋器根據(jù)查詢條件繪制輔助直線,設(shè)計(jì)人員點(diǎn)選與曲線的交點(diǎn),解釋器自動(dòng)計(jì)算交點(diǎn)另一坐標(biāo)值。對(duì)于③,解釋器根據(jù)給定的兩個(gè)坐標(biāo)值繪制輔助直線,設(shè)計(jì)人員根據(jù)兩直線的交點(diǎn)位置輸入所屬區(qū)域。
圖4 二維映射圖查詢方法Fig.4 Selection methods of 2D mapping graph
二維映射圖類知識(shí)的BNF范式描述為
〈二維映射圖類知識(shí)〉::=〈查詢語(yǔ)句〉〈圖形信息〉
〈查詢語(yǔ)句〉::=〈GraphX語(yǔ)句〉|〈GraphY語(yǔ)句〉|
〈GraphXY語(yǔ)句〉
〈GraphX語(yǔ)句〉::=〈縱坐標(biāo)值〉=GraphX“(”〈圖名〉,
〈橫坐標(biāo)值〉“)”
〈GraphY語(yǔ)句〉::=〈橫坐標(biāo)值〉=GraphY“(”〈圖名〉,
〈縱坐標(biāo)值〉“)”
〈GraphXY語(yǔ)句〉::=〈所屬區(qū)域〉=GraphXY “(”〈圖
名〉,〈橫坐標(biāo)值〉,〈縱坐標(biāo)值〉“)”
〈圖形信息〉::=〈圖名〉〈原點(diǎn)位置〉
〈橫軸最大刻度對(duì)應(yīng)的屏幕位置〉
〈縱軸最大刻度對(duì)應(yīng)的屏幕位置〉
〈橫軸最小刻度〉〈橫軸最大刻度〉
〈縱軸最小刻度〉〈縱軸最大刻度〉
〈橫軸刻度類型〉〈縱軸刻度類型〉
〈橫軸刻度類型〉::=〈均勻刻度〉|〈對(duì)數(shù)刻度〉
〈縱軸刻度類型〉::=〈均勻刻度〉|〈對(duì)數(shù)刻度〉
使用知識(shí)表示語(yǔ)言表示二維映射圖類知識(shí)的實(shí)例如下:
coeff = GraphX(“冷卻范圍-氣膜冷卻效率”, 24)
V_type = GraphXY(“普通V帶型號(hào)的選擇”, 7.0, 1100)
二維映射圖類知識(shí)的導(dǎo)入和維護(hù)機(jī)制為:設(shè)計(jì)人員使用二維映射圖知識(shí)向?qū)D形載入,選取原點(diǎn)位置(x0,y0)、橫軸最大刻度對(duì)應(yīng)的屏幕位置(xmax,y0)、縱軸最大刻度對(duì)應(yīng)的屏幕位置(x0,ymax)(以上為屏幕坐標(biāo)),輸入橫軸最小刻度xLmin、最大刻度xLmax,縱軸最小刻度yLmin、最大刻度yLmax(以上為邏輯坐標(biāo)),并選擇橫軸和縱軸刻度類型以完成對(duì)二維映射圖的標(biāo)定,將上述標(biāo)定信息存入數(shù)據(jù)庫(kù)。在知識(shí)文件中加入查詢語(yǔ)句即可使用該圖形知識(shí),刪除查詢語(yǔ)句則在本次推理中不再使用這條知識(shí)。
1.4 過程類知識(shí)的開放式表示
在機(jī)械設(shè)計(jì)過程中,有些知識(shí)是使用線性方程組、非線性方程(組)、微分方程(組)、積分方程表示的。這些知識(shí)的推理求解過程很難使用知識(shí)表示語(yǔ)言來描述,可以將各自的求解方法封裝為過程類知識(shí),需要時(shí)作為一個(gè)整體被調(diào)用。過程類知識(shí)的BNF范式描述為:
〈過程類知識(shí)〉::=〈定義語(yǔ)句〉〈調(diào)用語(yǔ)句〉〈可執(zhí)行程序〉
〈定義語(yǔ)句〉::=〈過程名〉:〈命令行〉
〈調(diào)用語(yǔ)句〉::=〈變量〉=〈過程名〉“(”〈參數(shù)列表〉“)”
使用知識(shí)表示語(yǔ)言表示過程類知識(shí)的實(shí)例如下:(使用牛頓法求解非線性方程)
Newton: “
x=Newton (“5^x=20*x”)
過程類知識(shí)的導(dǎo)入和維護(hù)機(jī)制為:在知識(shí)文件的過程定義段為命令行指定一個(gè)過程名,在推理段加入調(diào)用語(yǔ)句即可使用該過程知識(shí),刪除調(diào)用語(yǔ)句則在本次推理中不再使用這條知識(shí)。
1.5 規(guī)則類知識(shí)的開放式表示
規(guī)則是指變量之間邏輯上的約束關(guān)系,??梢员硎緸镮F-THEN形式。例如,計(jì)算氣膜冷卻效率η的NASA公式具體形式與氣膜孔所處位置有關(guān):
如果氣膜孔在葉背,則
(2)
如果氣膜孔在葉盆,則
(3)
規(guī)則類知識(shí)的BNF范式描述為:
〈規(guī)則類知識(shí)〉::=if “(”〈表達(dá)式〉“)” [“{”]
{〈公式類知識(shí)〉|〈表格類知識(shí)〉|
〈二維映射圖類知識(shí)〉|
〈過程類知識(shí)〉|
使用知識(shí)表示語(yǔ)言表示規(guī)則類知識(shí)的實(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ī)則類知識(shí)的導(dǎo)入和維護(hù)機(jī)制為在知識(shí)文件中直接加入或更改規(guī)則語(yǔ)句。
知識(shí)推理是根據(jù)知識(shí)表示方式,由已知條件得到結(jié)論的過程。與開放式知識(shí)表示相適應(yīng)的知識(shí)推理方法應(yīng)該不局限于某一條具體知識(shí)的推理,而應(yīng)給出每一類知識(shí)的通用推理方法。
2.1 公式類知識(shí)的推理
Step1根據(jù)預(yù)先定義的運(yùn)算符優(yōu)先級(jí),對(duì)表示公式類知識(shí)的字符串進(jìn)行語(yǔ)法分析。建立由運(yùn)算符、常量和變量構(gòu)成的求值樹(代表了公式類知識(shí)的語(yǔ)義)。例如:式(1)所對(duì)應(yīng)知識(shí)語(yǔ)句的求值樹如圖5所示。
圖5 求值樹示例Fig.5 Example of evaluation tree
Step2對(duì)求值樹進(jìn)行后序遍歷,遇到變量時(shí),從變量列表中讀取變量值,遞歸對(duì)左、右、根結(jié)點(diǎn)求值。最終得到根結(jié)點(diǎn)的值即為整個(gè)公式的值。
2.2 表格類知識(shí)的推理
Step1將表格查詢語(yǔ)句右部翻譯成SQL語(yǔ)句:Table“(”〈表名〉,〈待查參數(shù)所在字段〉,〈查詢條件〉“)”=>“select 〈待查參數(shù)所在字段〉 from 〈表名〉 where 〈查詢條件〉”。若〈查詢條件〉為NULL,則不需要where子句。
Step2根據(jù)select語(yǔ)句查詢結(jié)果數(shù)目,分3種情況處理:
1) 只查到一條記錄,則將相應(yīng)字段的值賦給表格查詢語(yǔ)句左部的〈待查參數(shù)〉;
2) 查到多于一條記錄,彈出對(duì)話框?qū)⑺杏涗浟谐?,用戶選擇其中的一條后,將相應(yīng)字段的值賦給〈待查參數(shù)〉;
3) 查到0條記錄,彈出對(duì)話框提示沒有符合條件的記錄,結(jié)束推理。
2.3 二維映射圖類知識(shí)的推理
對(duì)于曲線圖(以GraphX查詢語(yǔ)句為例,GraphY語(yǔ)句類似):
Step1根據(jù)圖形的標(biāo)定信息,將參數(shù)列表中的橫坐標(biāo)由邏輯坐標(biāo)xL轉(zhuǎn)換為屏幕坐標(biāo)x,并在圖形顯示區(qū)內(nèi)繪制對(duì)應(yīng)于xL的豎直輔助線;
Step2用戶點(diǎn)選輔助線與曲線的交點(diǎn),程序獲取交點(diǎn)的縱向屏幕坐標(biāo)y;
Step3根據(jù)圖形標(biāo)定信息,程序計(jì)算屏幕坐標(biāo)y對(duì)應(yīng)邏輯坐標(biāo)yL,并賦值給GraphX語(yǔ)句左部的〈縱坐標(biāo)值〉。
對(duì)于區(qū)域圖(對(duì)應(yīng)于GraphXY查詢語(yǔ)句):
Step1根據(jù)圖形的標(biāo)定信息,將參數(shù)列表中的橫、縱坐標(biāo)由邏輯坐標(biāo)xL、yL轉(zhuǎn)換為屏幕坐標(biāo)x、y,并在圖形顯示區(qū)內(nèi)繪制對(duì)應(yīng)于xL的豎直輔助線和對(duì)應(yīng)于yL的水平輔助線;
Step2用戶根據(jù)兩輔助線交點(diǎn)所處的區(qū)域,輸入?yún)^(qū)域代號(hào);
Step3程序?qū)⒂脩糨斎胫蒂x值給GraphXY語(yǔ)句左部的〈所屬區(qū)域〉參數(shù)。
將邏輯坐標(biāo)轉(zhuǎn)化為屏幕坐標(biāo)的方法與坐標(biāo)刻度類型有關(guān)(以橫坐標(biāo)為例,縱坐標(biāo)類似):
對(duì)于均勻刻度:
(4)
對(duì)于對(duì)數(shù)刻度:
(5)
將屏幕坐標(biāo)轉(zhuǎn)化為邏輯坐標(biāo)的方法為其逆過程,不再贅述。
2.4 過程類知識(shí)的推理
Step1解析過程調(diào)用語(yǔ)句:檢驗(yàn)過程名是否已定義,是否有返回值,建立實(shí)際參數(shù)列表;
Step2從過程定義語(yǔ)句中獲取命令行,并將其中的形式參數(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ī)則類知識(shí)的推理
規(guī)則類知識(shí)中可以包含公式、表格、二維映射圖、過程類知識(shí),還可以嵌套包含規(guī)則類知識(shí)。其推理算法的偽代碼如下:
POSITION RunIllation (POSITION pos)
{
while (pos不是最后一行&& 第pos行不是“}”)
{
如果第pos行是if語(yǔ)句
{
求條件表達(dá)式的值,并將pos指向下一行;
如果條件表達(dá)式為真
{
如果pos行是“{”,則遞歸執(zhí)行pos=
RunIllation (pos);
否則,只執(zhí)行pos行語(yǔ)句,判斷其是公式、
表格、二維映射圖還是過程語(yǔ)句,并按相
應(yīng)推理方法執(zhí)行;
}
如果條件表達(dá)式為假,則跳過結(jié)論部分,并
后移pos至結(jié)論部分結(jié)束;
}
如果第pos行不是if語(yǔ)句,則判斷語(yǔ)句類型,
并按相應(yīng)推理方法執(zhí)行;
pos指向下一行;
}
返回pos值;
}
知識(shí)驅(qū)動(dòng)產(chǎn)品設(shè)計(jì)的原理如圖6所示。用戶輸入設(shè)計(jì)要求和初始工程參數(shù),知識(shí)庫(kù)將推理求解所需知識(shí)以知識(shí)文件的形式提交給知識(shí)解釋器。知識(shí)解釋器解析知識(shí)語(yǔ)句,并對(duì)公式、表格、二維映射圖、過程、規(guī)則等不同形式的知識(shí)分別執(zhí)行推理,得到產(chǎn)品各特征的形狀描述和幾何參數(shù)。形狀描述決定了特征的有無,幾何參數(shù)決定了特征的尺寸。最終由形狀描述和幾何參數(shù)來驅(qū)動(dòng)參數(shù)化幾何模型的生成。
圖6 知識(shí)驅(qū)動(dòng)設(shè)計(jì)原理Fig.6 Principle of knowledge driven design
渦輪葉片是航空發(fā)動(dòng)機(jī)中的關(guān)鍵零件之一,其設(shè)計(jì)過程需要流體力學(xué)、固體力學(xué)、傳熱學(xué)和材料學(xué)等不同領(lǐng)域知識(shí)的支持。為實(shí)現(xiàn)設(shè)計(jì)知識(shí)重用,提高設(shè)計(jì)自動(dòng)化程度,課題組在與某研究所的合作項(xiàng)目中開發(fā)了基于知識(shí)的氣膜孔設(shè)計(jì)模塊。氣膜孔是渦輪葉片上的一種冷卻結(jié)構(gòu),用于沿壁面噴出冷卻氣流,形成氣膜,將高溫燃?xì)馀c壁面隔離。該模塊可以根據(jù)用戶輸入的設(shè)計(jì)要求以及初始工程參數(shù),根據(jù)設(shè)計(jì)知識(shí),自動(dòng)推理得到氣膜孔未知幾何參數(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ì)知識(shí)以知識(shí)文件為載體,如圖7(b)所示,在本算例中,由冷卻效率反求當(dāng)量縫寬時(shí)使用NASA公式。程序自動(dòng)推理得到氣膜孔直徑為0.35 mm。氣膜孔模型如圖7(c)所示。
圖7 算例1Fig.7 Example 1
算例2設(shè)計(jì)要求和輸入?yún)?shù)與算例1完全相同,只是由冷卻效率反求當(dāng)量縫寬時(shí)將NASA公式換成Juhasz公式(如圖8(b),設(shè)計(jì)人員只需用“//”注釋掉不參與推理的語(yǔ)句,并添加表示新知識(shí)的語(yǔ)句即可)。程序自動(dòng)推理得到氣膜孔直徑為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í)推理步驟,自動(dòng)生成設(shè)計(jì)報(bào)告,記錄每一個(gè)步驟的輸入值和輸出值,以備之后核對(duì)和糾錯(cuò),如圖9(c)所示。
圖9 算例3Fig.9 Example 3
1) 本文提出的開放式知識(shí)表示方法和推理方法,使機(jī)械產(chǎn)品設(shè)計(jì)領(lǐng)域中常見的公式、表格、二維映射圖、過程、規(guī)則等知識(shí)克服了需要硬編碼固化到設(shè)計(jì)系統(tǒng)中,且不易被設(shè)計(jì)人員自行維護(hù)的不足。
2) 基于知識(shí)的渦輪葉片氣膜孔設(shè)計(jì)實(shí)例,驗(yàn)證了本文方法應(yīng)用于工程實(shí)踐的可行性。
3) 開放式知識(shí)表示和推理方法,在賦予產(chǎn)品設(shè)計(jì)系統(tǒng)智能的同時(shí),還為這種智能在使用中不斷進(jìn)化提供了有力工具。后續(xù)的研究重點(diǎn)是模糊知識(shí)、殘缺知識(shí)、不確定性知識(shí)的開放式表示及推理方法,以進(jìn)一步提高機(jī)械產(chǎn)品設(shè)計(jì)的自動(dòng)化和智能化程度。
[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)
朱上上, 潘云鶴, 羅仕鑒, 等. 基于知識(shí)的產(chǎn)品創(chuàng)新設(shè)計(jì)技術(shù)研究. 中國(guó)機(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ì)知識(shí)表達(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í)處理技術(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í)的設(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é)知識(shí)獲取及知識(shí)表示. 計(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)
馮毅雄, 譚建榮, 魏?jiǎn)? 基于知識(shí)進(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ì)手冊(cè)編委會(huì). 機(jī)械設(shè)計(jì)手冊(cè), 第20篇: 滾動(dòng)軸承. 北京: 機(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)
劉忠途. 基于知識(shí)的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ù)對(duì)氣膜冷卻效率的影響. 航空動(dòng)力學(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ì)手冊(cè)編委會(huì). 機(jī)械設(shè)計(jì)手冊(cè), 第14篇: 帶傳動(dòng)和鏈傳動(dòng). 北京: 機(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ò)出版時(shí)間
時(shí)間:2011-10-111412
www.cnki.net/kcms/detail/11.1929.V.20111011.1412.008.html
國(guó)家自然科學(xué)基金(51075021)
.Tel.:010-82316768E-mailxiping@buaa.edu.cn
XiP,ZhangBY,NingT.Intelligentproductdesignbasedonopenknowledgerepresentation.ActaAeronauticaetAstronauticaSinica,2012,33(9):1746-1754. 席平,張寶源,寧濤.基于開放式知識(shí)表示的智能化產(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ù)字化設(shè)計(jì)與制造, 復(fù)雜曲面造型。
Tel: 010-82316768
E-mail: xiping@buaa.edu.cn
張寶源男, 博士研究生。主要研究方向: 知識(shí)工程, 基于約束的產(chǎn)品建模技術(shù)。
Tel: 010-82316747
E-mail: drunkenfist@163.com