黃立智,于忠海
(1.上海理工大學(xué) 機(jī)械工程學(xué)院,上海200093;2.上海電機(jī)學(xué)院 機(jī)械學(xué)院,上海201306)
?
基于實(shí)例的液壓扳手設(shè)計(jì)型專家系統(tǒng)
黃立智1,于忠海2
(1.上海理工大學(xué) 機(jī)械工程學(xué)院,上海200093;2.上海電機(jī)學(xué)院 機(jī)械學(xué)院,上海201306)
為了解決液壓扳手重復(fù)設(shè)計(jì)的問題。文中研究了液壓扳手各部件的知識(shí)表達(dá)以及構(gòu)建知識(shí)庫系統(tǒng),建立各部件參數(shù)化模型,以VC++為主要的設(shè)計(jì)語言、SQLServer2008數(shù)據(jù)庫并在UG軟件基礎(chǔ)上進(jìn)行二次開發(fā),完成液壓扳手快速設(shè)計(jì)型專家系統(tǒng)。該系統(tǒng)設(shè)計(jì)達(dá)到了提高效率、降低成本的作用。
液壓扳手;專家系統(tǒng);知識(shí)庫;二次開發(fā)
液壓扳手在螺紋連接拆卸和控制預(yù)緊力等方面是有一定的優(yōu)點(diǎn),在制造業(yè)、基礎(chǔ)設(shè)施建設(shè)等行業(yè)應(yīng)用廣泛。一些大型設(shè)備的制造由于加工、裝配、運(yùn)輸、維修等原因無法制成一體,必須制成幾個(gè)分體或部件,然后通過高強(qiáng)度的大直徑螺栓連接裝配,使其完成預(yù)期的設(shè)計(jì)功能。其主要由旋轉(zhuǎn)接頭、反力臂、活塞和驅(qū)動(dòng)架4部分構(gòu)成。
專家系統(tǒng)是一種能夠在一些專門領(lǐng)域,利用已有知識(shí)和推理方式,用專家的水準(zhǔn)解決該領(lǐng)域里的難題的計(jì)算機(jī)程序。其性能體現(xiàn)在兩個(gè)方面: 一是含有許多領(lǐng)域知識(shí);二是運(yùn)用領(lǐng)域知識(shí)進(jìn)行推理的能力。本文通過分析液壓扳手各部件參數(shù),將各部件的設(shè)計(jì)方案及其相應(yīng)的參數(shù)化三維模型存儲(chǔ)于專家系統(tǒng)知識(shí)庫中,利用基于實(shí)例的推理機(jī)制,實(shí)現(xiàn)液壓扳手快速設(shè)計(jì)[1-2]。
液壓扳手的設(shè)計(jì)型專家系統(tǒng)采用自頂向下的模式,系統(tǒng)以Windows為平臺(tái),采用SQLServer2008設(shè)計(jì)數(shù)據(jù)庫系統(tǒng),VC++設(shè)計(jì)系統(tǒng)推理機(jī)制,使用MFCODBC來完成推理機(jī)訪問數(shù)據(jù)庫系統(tǒng),UG二次開發(fā)的參數(shù)化設(shè)計(jì)。系統(tǒng)的主要功能模塊包括:人機(jī)界面、綜合數(shù)據(jù)庫系統(tǒng)、推理機(jī)制以及參數(shù)化設(shè)計(jì)等,其整體的結(jié)構(gòu)如圖1所示。
圖1 液壓扳手專家系統(tǒng)結(jié)構(gòu)框圖
系統(tǒng)主要部分功能說明如下:
(1)人機(jī)界面。液壓扳手設(shè)計(jì)專家系統(tǒng)和外界溝通的渠道,用戶和專家可以使用人機(jī)界面輸入信息,系統(tǒng)通過人機(jī)界面將輸入的信息導(dǎo)入系統(tǒng)內(nèi)部進(jìn)行運(yùn)行,最后再通過人機(jī)界面輸出設(shè)計(jì)方案[6];
(2)綜合數(shù)據(jù)庫系統(tǒng)。作為專家系統(tǒng)的核心部分,主要包含規(guī)則庫、實(shí)例庫和知識(shí)庫3個(gè)部分。實(shí)例庫中存儲(chǔ)了液壓扳手實(shí)例的一些基本參數(shù)值以及相關(guān)圖片和說明,用戶可以通過設(shè)計(jì)要求從實(shí)例庫中調(diào)取相似實(shí)例,同時(shí),也能夠?qū)⒆约涸O(shè)計(jì)或改進(jìn)的方案存儲(chǔ)在實(shí)例庫里。規(guī)則庫中存儲(chǔ)了大量液壓扳手設(shè)計(jì)行業(yè)規(guī)則類知識(shí)。知識(shí)庫里面則是存儲(chǔ)了大量液壓扳手設(shè)計(jì)的一般性知識(shí)以及專家經(jīng)驗(yàn)類知識(shí);
(3)推理機(jī)制。系統(tǒng)運(yùn)行的程序規(guī)則,對(duì)于用戶輸入的設(shè)計(jì)要求,按照產(chǎn)生式規(guī)則等方式從知識(shí)庫中選取適合的知識(shí)推理,并得出推理結(jié)果;
(4)參數(shù)化設(shè)計(jì)。該部分主要是通過對(duì)UG軟件的二次開發(fā),對(duì)于實(shí)例庫中沒有的實(shí)例,或者需要修改的實(shí)例進(jìn)行快速設(shè)計(jì),獲得用戶需求的方案。
2.1知識(shí)的表示
目前專家系統(tǒng)中表示知識(shí)的方式有產(chǎn)生式、框架式、邏輯式、語義網(wǎng)絡(luò)式、面向?qū)ο笫降?,本系統(tǒng)主要采取以面向?qū)ο笫綖榛A(chǔ),結(jié)合框架式以及產(chǎn)生式為一體的混合式知識(shí)表示法。根據(jù)液壓扳手的主要結(jié)構(gòu)分析得出,液壓扳手的主要知識(shí)可分為元知識(shí)、規(guī)則類知識(shí)、實(shí)例類知識(shí)以及專家經(jīng)驗(yàn)類知識(shí)[3-5]。
2.2規(guī)則類知識(shí)
液壓扳手的規(guī)則知識(shí)主要包括一些公式、表格、國標(biāo)等。系統(tǒng)采用框架式與產(chǎn)生式相結(jié)合的方法來表示,液壓扳手主要分為液壓動(dòng)力源和驅(qū)動(dòng)機(jī)構(gòu),而驅(qū)動(dòng)機(jī)構(gòu)又由活塞組件、驅(qū)動(dòng)架組件、反力臂和旋轉(zhuǎn)接頭組成??蚣苁絼t是將其分為多個(gè)槽,每個(gè)槽對(duì)應(yīng)多個(gè)側(cè)面,液壓扳手的框架式知識(shí)表示具體如圖2所示。
圖2 規(guī)則類知識(shí)框架圖
產(chǎn)生式表示法在專家系統(tǒng)中使用較多,它的一般形式為P→Q或ifPthenQ,P為前提條件,Q為得出結(jié)論。設(shè)計(jì)中有許多的參數(shù)確定、設(shè)計(jì)規(guī)則類知識(shí),都是明確的知識(shí),當(dāng)滿足適當(dāng)條件時(shí)能夠得出一定結(jié)論[7],例如:螺栓的規(guī)格與所選液壓扳手的外形尺寸和扭矩有關(guān),對(duì)于重型機(jī)器設(shè)備,在國標(biāo)為JB-T5000.10-2007中8.8級(jí)精度規(guī)格為M48的螺栓所需扭矩為4 236N·m,則選擇輸出扭矩>4 236N·m的液壓扳手,可選額定輸出扭矩5 000N·m,外形尺寸540×308×325的液壓扳手??梢员硎緸椋篿f螺栓規(guī)格=“M42”then選用額定輸出扭矩5 000N·m,外形尺寸540×308×325的液壓扳手。
2.3經(jīng)驗(yàn)參數(shù)類知識(shí)
面向?qū)ο笫街R(shí)表示法是目前比較新的一種知識(shí)表示法,對(duì)于初設(shè)計(jì)過程中的經(jīng)驗(yàn)類知識(shí),運(yùn)用面向?qū)ο笫降谋硎痉▉韺?shí)現(xiàn)[8-9]。經(jīng)驗(yàn)參數(shù)的值,儲(chǔ)存在外部數(shù)據(jù)庫里,當(dāng)設(shè)計(jì)者輸入液壓扳手的外形尺寸、輸出功率、工作壓力等設(shè)計(jì)需求后,從數(shù)據(jù)庫中讀取這些經(jīng)驗(yàn)參數(shù),賦給類的屬性,再進(jìn)行如下參數(shù)求解。下面為活塞組件的類定義。
ClassYPiston
{
public:
doubleP_trip; //活塞行程
doubleP_area; //活塞缸面積
doubleP_press//活塞連桿壓力
doubleP_inner-diameter//活塞內(nèi)徑
doubleP_speed//連桿速度
…//其他經(jīng)驗(yàn)參數(shù)
};
2.4實(shí)例類知識(shí)
液壓扳手實(shí)例類的知識(shí)用面向?qū)ο蟮闹R(shí)表示和框架式相結(jié)合,將液壓扳手總體結(jié)構(gòu)分為很多類模塊,每個(gè)類模塊則反映了每個(gè)部件的參數(shù)表示,通過對(duì)用戶輸入的不同設(shè)計(jì)要求,將不同類對(duì)象實(shí)例化,得出所要的設(shè)計(jì)案例。實(shí)例庫是在UG二次開發(fā)的基礎(chǔ)上實(shí)現(xiàn)零件的三維模型設(shè)計(jì),當(dāng)用戶檢測到相似實(shí)例后,使用實(shí)例庫的數(shù)據(jù)來驅(qū)動(dòng)參數(shù)化模型,在UG中完成零件建模。假如得出的實(shí)例不能滿足需求,可在UG中修改其設(shè)計(jì)參數(shù),快速完成所需零件的設(shè)計(jì)[10]。
2.5知識(shí)的存儲(chǔ)
利用SQLServer2008數(shù)據(jù)庫技術(shù),將系統(tǒng)的所有知識(shí)存儲(chǔ)于數(shù)據(jù)庫中,下面列出了一些主要知識(shí)的存儲(chǔ)方法。
(1)規(guī)則類知識(shí)的存儲(chǔ);
圖3 內(nèi)六角螺釘
(2)經(jīng)驗(yàn)參數(shù)類知識(shí)存儲(chǔ);
圖4 液壓扳手經(jīng)驗(yàn)參數(shù)知識(shí)
(3)實(shí)例類知識(shí)存儲(chǔ)。
圖5 反力臂部件參數(shù)
推理機(jī)作為專家系統(tǒng)中的重要環(huán)節(jié),其實(shí)是用程序來實(shí)現(xiàn)知識(shí)庫中知識(shí)的調(diào)用,并且使用知識(shí)來解決問題,得出合理方案[11]。系統(tǒng)采用基于實(shí)例的推理方法,其結(jié)構(gòu)如圖6所示。
本系統(tǒng)中推理機(jī)建立在類的基礎(chǔ)之上,其主要類的聲明如下
classYTuiliji:publicYObiect
{
public:
voidClearTemRule(); //初始化數(shù)據(jù)庫
voidTuiliji(); //實(shí)現(xiàn)推理函數(shù)
YTuiliji(); //構(gòu)造函數(shù)
virtual~YTuiliji() //析構(gòu)函數(shù)
private:
YKnowledgen_KldSet; //聲明知識(shí)庫實(shí)例類
YTemRulen_TemRule;//激活知識(shí)庫實(shí)例
YPutInn_PutIn; //聲明用戶輸入實(shí)例
};
圖6 基于實(shí)例的推理機(jī)制
對(duì)于液壓扳手的快速設(shè)計(jì),系統(tǒng)采用對(duì)UGNX6.0軟件的二次開發(fā)來實(shí)現(xiàn)。當(dāng)用戶輸入的設(shè)計(jì)要求沒有相似的實(shí)例時(shí),用戶可以通過系統(tǒng)按鈕直接進(jìn)入U(xiǎn)G設(shè)計(jì)界面,對(duì)液壓扳手主要部件進(jìn)行快速設(shè)計(jì)。如果用戶對(duì)于相似的實(shí)例需要修改時(shí),也可以直接進(jìn)入U(xiǎn)G進(jìn)行修改,具體的二次開發(fā)界面如圖7所示。
圖7 基于UG的液壓扳手快速設(shè)計(jì)菜單
基于實(shí)例的液壓扳手設(shè)計(jì)型專家系統(tǒng)以VisualStudio2010為開發(fā)平臺(tái),SQLServer2008構(gòu)建數(shù)據(jù)庫存儲(chǔ)知識(shí),采用ODBC連接程序與數(shù)據(jù)庫,實(shí)現(xiàn)對(duì)液壓扳手的快速設(shè)計(jì)。其主要功能是根據(jù)現(xiàn)有實(shí)例進(jìn)行推理改進(jìn)得到用戶需要的設(shè)計(jì)方案。
圖8 液壓扳手專家系統(tǒng)主界面
系統(tǒng)主界面如圖9所示,用戶登錄后,系統(tǒng)自動(dòng)連接SQLServer2008 數(shù)據(jù)庫,用戶可以對(duì)數(shù)據(jù)庫中知識(shí)進(jìn)行修改、維護(hù)并添加,也可以進(jìn)入?yún)?shù)化設(shè)計(jì)板塊,系統(tǒng)將自動(dòng)連接并打開UGNX6的建模界面,用戶可以直接進(jìn)行快速設(shè)計(jì)。當(dāng)進(jìn)入實(shí)例推理模塊時(shí)會(huì)出現(xiàn)如圖10所示界面,用戶可以輸入需要的液壓扳手技術(shù)參數(shù),點(diǎn)擊搜索實(shí)例則自動(dòng)從數(shù)據(jù)庫中調(diào)出與用戶輸入?yún)?shù)相似的實(shí)例。用戶可根據(jù)需要對(duì)其修改,同時(shí),將改好的實(shí)例存入數(shù)據(jù)庫。
通過分析目前液壓扳手設(shè)計(jì)效率比較低的問題,
研究開發(fā)了基于實(shí)例的液壓扳手設(shè)計(jì)型專家系統(tǒng)。對(duì)于知識(shí)的表示,運(yùn)用產(chǎn)生式、框架式與面向?qū)ο笫较嘟Y(jié)合的方法,介紹各種知識(shí)的存儲(chǔ)方式;闡述了基于規(guī)則的正向推理方法;基于VisualStudio2010實(shí)現(xiàn)UGNX6的二次開發(fā);完成本系統(tǒng)的設(shè)計(jì),對(duì)于提高效率、降低成本起到了推動(dòng)作用。
[1]張永明,李和平.岸邊集裝箱起重機(jī)結(jié)構(gòu)設(shè)計(jì)專家系統(tǒng)研究[D].武漢:武漢理工大學(xué),2014.
[2]李長林,王雪亮,金曉萍. 高速插秧機(jī)底盤快速設(shè)計(jì)專家系統(tǒng)[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào),2012(43):324-328.
[3]金超寧,陳堅(jiān)強(qiáng),許瑛. 自動(dòng)制孔系統(tǒng)智能設(shè)計(jì)專家系統(tǒng)的研究[J].機(jī)械設(shè)計(jì)與制造,2015(6):238-244.
[4]高景龍,程光輝.基于人工智能的榴彈設(shè)計(jì)專家系統(tǒng)的研究[D].四川:電子科技大學(xué),2013.
[5]王飛,王軍.基于實(shí)例與規(guī)則推理的斗式提升機(jī)設(shè)計(jì)專家系統(tǒng)研究[D].秦皇島:燕山大學(xué),2006.
[6]蔡瑞英.人工智能[M].武漢:武漢理工出版社,2003.
[7]劉波.知識(shí)驅(qū)動(dòng)的車身結(jié)構(gòu)設(shè)計(jì)方法研究及相關(guān)軟件開發(fā)[D].長春:吉林大學(xué),2007.
[8]周濟(jì).智能設(shè)計(jì)[M].北京:高等教育出版社,1998.
[9]尹朝慶.人工智能與專家系統(tǒng)[M].北京:中國水利水電出版社,2001.
[10]張煜東,吳樂南,王水花.專家系統(tǒng)發(fā)展綜述[J].計(jì)算機(jī)工程與應(yīng)用,2010(19):43-47.
[11]鄭麗敏.人工智能與專家系統(tǒng)原理及其應(yīng)用[M].北京:中國農(nóng)業(yè)大學(xué)出版社,2004.
Expert System of Hydraulic Wrench Based on Examples
HUANGLizhi1,YUZhonghai2
(1.SchoolofMechanicalEngineering,UniversityofShanghaiforScienceandTechnology,Shanghai200093,China; 2.SchoolofMechanics,ShanghaiDianjiUniversity,Shanghai201306,China)
Thecomponentsofhydraulicwrencharestudiedandtheparametermodelofeachcomponentisestablishedtosolvetheproblemofrepeateddesignofhydraulicwrench.AhydraulicwrenchrapiddesigntypeexpertsystemisdesignedusingVC+ +asthemaindesignlanguage,SQLServer2008databaseandesecondarydevelopmentonthebasisoftheUGsoftwaretoimprovetheefficiencyandreducethecost.
hydraulicwrench;expertsystem;knowledgedatabase;secondarydevelopment
2015- 12- 23
黃立智(1991-),男,碩士研究生。研究方向:智能控制。于忠海(1958-),男,博士,教授,碩士生導(dǎo)師。研究方向:數(shù)控技術(shù)等。
10.16180/j.cnki.issn1007-7820.2016.09.033
TG333
A
1007-7820(2016)09-122-04