技術(shù)頻道

      基于知識(shí)的槍管CAD系統(tǒng)的研究與開發(fā)

      知識(shí)的表示與數(shù)據(jù)庫(kù)的構(gòu)造是開發(fā)基于知識(shí)的槍管CAD系統(tǒng)的關(guān)鍵。本文采用規(guī)則與框架混合的方法表達(dá)設(shè)計(jì)知識(shí),以面向?qū)ο蟮姆椒?gòu)造數(shù)據(jù)庫(kù),并在專家系統(tǒng)工具CLIPS上加以實(shí)現(xiàn)。采用參數(shù)化設(shè)計(jì)的方法使設(shè)計(jì)結(jié)果實(shí)現(xiàn)了數(shù)據(jù)與圖形的結(jié)合。通過綜合運(yùn)用上述技術(shù)開發(fā)的基于知識(shí)的槍管CAD系統(tǒng)較好地解決了槍械主要零部件——槍管的自動(dòng)化設(shè)計(jì)問題。

      引 言

        槍管是自動(dòng)武器中最重要的零部件之一,槍管設(shè)計(jì)是自動(dòng)武器設(shè)計(jì)中最基礎(chǔ)的一環(huán)。當(dāng)前槍管設(shè)計(jì)過程中主要是借助一些通用CAD軟件完成一些諸如繪圖、三維實(shí)體建模等方面的工作,計(jì)算機(jī)對(duì)設(shè)計(jì)人員的輔助作用非常有限,設(shè)計(jì)的自動(dòng)化程度很低。為了提高槍管設(shè)計(jì)中CAD智能化的程度,解決槍管設(shè)計(jì)自動(dòng)化的問題,本文采用AI技術(shù)和參數(shù)化設(shè)計(jì)技術(shù),對(duì)開發(fā)基于知識(shí)的槍管CAD系統(tǒng)進(jìn)行了研究和實(shí)踐。基于知識(shí)的系統(tǒng),是人工智能中最活躍的分支之一,旨在研究利用計(jì)算來模仿人類專家的智能活動(dòng)。在自動(dòng)武器設(shè)計(jì)中引入AI技術(shù),目的在于提高自動(dòng)武器行業(yè)中CAD智能化的程度。參數(shù)化設(shè)計(jì)使設(shè)計(jì)人員通過變動(dòng)某些參數(shù)來更新設(shè)計(jì),是基于尺寸驅(qū)動(dòng),可變化幾何圖形的技術(shù)。

      1 基于知識(shí)的槍管CAD系統(tǒng)總體結(jié)構(gòu)及其功能

        基于知識(shí)的槍管CAD系統(tǒng)的總體結(jié)構(gòu)見圖1。

      圖1 基于知識(shí)的槍管CAD系統(tǒng)結(jié)構(gòu)示意圖

        (1) 知識(shí)獲取模塊 用于對(duì)知識(shí)庫(kù)中的知識(shí)進(jìn)行修正和更新。其中添加功能可以使專家或用戶把自己在設(shè)計(jì)過程中發(fā)現(xiàn)的知識(shí)庫(kù)中所缺乏的相應(yīng)知識(shí)按一定的方式加入知識(shí)庫(kù);刪改功能有來刪除不必要的或過時(shí)的知識(shí);修改功能則完成對(duì)知識(shí)不能完全反映設(shè)計(jì)的本質(zhì)過程但仍有運(yùn)用價(jià)值的知識(shí)更新。通過該模塊可以使知識(shí)庫(kù)保持與用戶或?qū)<医涣鳎瓜到y(tǒng)中的知識(shí)更趨于合理。

        (2) 系統(tǒng)總控模塊 用于接受用戶輸入的最初設(shè)計(jì)要求。依次調(diào)用初始方案設(shè)計(jì)功能,評(píng)價(jià)與決策功能以及再設(shè)計(jì)功能等,通過推理機(jī)激活知識(shí)庫(kù)中與之匹配的知識(shí),對(duì)設(shè)計(jì)過程進(jìn)行推理、運(yùn)算,把各階段所得設(shè)計(jì)結(jié)果存入數(shù)據(jù)庫(kù),并通過解釋機(jī)制向用戶顯示系統(tǒng)運(yùn)行情況。

        (3) 解釋機(jī)制 旨在對(duì)系統(tǒng)運(yùn)行過程、運(yùn)行情況進(jìn)行說明。采用預(yù)置文本的方法,將每一問題求解方式的解釋框架采用自然語(yǔ)言事先組織好,插入相應(yīng)的程序段中。

        (4) 知識(shí)庫(kù)與數(shù)據(jù)庫(kù) 知識(shí)庫(kù)中存放進(jìn)行初始方案設(shè)計(jì)、評(píng)估與決策、方案再設(shè)計(jì)過程所需運(yùn)用的各種專業(yè)知識(shí)。這些知識(shí)包括經(jīng)驗(yàn)性知識(shí)、原理性知識(shí)和常識(shí)性知識(shí)。數(shù)據(jù)庫(kù)中存放設(shè)計(jì)所需的原始數(shù)據(jù)、設(shè)計(jì)過程所產(chǎn)生的中間數(shù)據(jù)、以及經(jīng)再設(shè)計(jì)后的最終數(shù)據(jù)等。

        (5) 圖形處理模塊 從數(shù)據(jù)庫(kù)中讀取推理、計(jì)算所得出的槍管的參數(shù),并檢索公差,然后通過與商用CAD軟件的應(yīng)用程序接口(API—application program interface),來對(duì)系統(tǒng)所求得的槍管方案進(jìn)行二維、三維顯示輸出。

        (6) 分析計(jì)算與規(guī)整 由槍管設(shè)計(jì)中需要依據(jù)一定的公式、算法進(jìn)行求解的規(guī)模比較大的子程序庫(kù)組成。除進(jìn)行分析計(jì)算之外,還對(duì)計(jì)算所得結(jié)果進(jìn)行規(guī)整。這類計(jì)算主要包括求解內(nèi)彈道和強(qiáng)度計(jì)算及校核等。

      2 系統(tǒng)中知識(shí)的表示

        (1) 槍管設(shè)計(jì)的特點(diǎn) 槍管設(shè)計(jì)過程是把設(shè)計(jì)者的構(gòu)思、設(shè)想轉(zhuǎn)化為現(xiàn)實(shí)的實(shí)踐活動(dòng),其中不僅包含了公理性的知識(shí),而且也包含了諸多經(jīng)驗(yàn)性的知識(shí)。其目的是為了使設(shè)計(jì)目標(biāo)能夠容納槍彈、賦予彈頭一定的方向和初速,并符合全槍外形設(shè)計(jì)要求,具有足夠的強(qiáng)度、剛度工和使用壽命等。槍管設(shè)計(jì)的內(nèi)容見圖2。

      圖2 槍管設(shè)計(jì)內(nèi)容

        (2) 系統(tǒng)中知識(shí)表示形式的選擇 常用的知識(shí)表示形式有產(chǎn)生式規(guī)則、框架表示、語(yǔ)義網(wǎng)絡(luò)表示、一階謂詞邏輯表示、過程表示等。槍管設(shè)計(jì)的知識(shí)是屬擴(kuò)散型的,其中包括有大量經(jīng)驗(yàn)性知識(shí),而設(shè)計(jì)又可以分解為外部構(gòu)造設(shè)計(jì)、內(nèi)膛設(shè)計(jì)、強(qiáng)度設(shè)計(jì)這樣一些可以相對(duì)獨(dú)立進(jìn)行的子問題,子問題又可以分解為更細(xì)小的子問題,如內(nèi)膛設(shè)計(jì)又可以分解為線膛設(shè)計(jì)與彈膛設(shè)計(jì)。最終的分解成為一些公式性、規(guī)則性的知識(shí)。產(chǎn)生式規(guī)則是一種適合表示因果關(guān)系的表示模式。它在語(yǔ)義上表示“IF A THEN B”的因果關(guān)系。運(yùn)用產(chǎn)生式規(guī)則就可以基本上來表達(dá)一系列設(shè)計(jì)中可以分解出來的最小的設(shè)計(jì)元素。框架表示則層次化、模塊化地表示客觀事物所具有的屬性或所處的狀態(tài),以及它與其它事物的關(guān)系。但是單一的產(chǎn)生式規(guī)則表示知識(shí)存在著不足,這種方法不宜于表達(dá)各規(guī)則之間的層次關(guān)系,因?yàn)檫@些規(guī)則在概念上、功能上的層次深淺是不一樣的。從這種層次深度出發(fā),選擇框架表示知識(shí)是必要的。從槍管設(shè)計(jì)知識(shí)結(jié)構(gòu)的實(shí)際出發(fā),選用產(chǎn)生式與框架相結(jié)合的知識(shí)表示體系。這里框架的槽值可以為一產(chǎn)生式,從而可以使所要表達(dá)的知識(shí)充分、清晰、易懂。表1說明了用產(chǎn)生式與框架相結(jié)合來表示的關(guān)于槍管設(shè)計(jì)的知識(shí)。

        在構(gòu)建本系統(tǒng)過程中,選用了專家系統(tǒng)工具CLIPS(C language integrated production system)作為專家系統(tǒng)的開發(fā)軟件。CLIPS是美國(guó)航空航天局(NASA)推出的一種基于產(chǎn)生式規(guī)則的通用型專家系統(tǒng)開發(fā)工具,在1997年的6.0版本中,又加入了基于過程,基于模塊,面向?qū)ο蟮姆椒āS肅LIPS構(gòu)建專家系統(tǒng)比用高級(jí)語(yǔ)言(C++、Ada、Prolog等)具有更高的效率。CLIPS是基于規(guī)則的系統(tǒng),本文采用CLIPS的結(jié)構(gòu)命令deftemple來定義框架。deftemple命令表示框架的一般形式為
        (deftemple〈框架名〉[〈功能描述〉]
        (slot〈規(guī)則名〉)
        (slot〈規(guī)則名〉)
        (… …))
        當(dāng)定義規(guī)則時(shí),使用結(jié)構(gòu)命令defrule,相當(dāng)于IF〈模式〉THEN〈動(dòng)作〉,即
        (defrule〈規(guī)則名〉[〈功能描述〉]
          《模式》
        ?
          《動(dòng)作》
        這樣就可以實(shí)現(xiàn)規(guī)則/框架混合的知識(shí)表示。

      表 產(chǎn)生式/框架相結(jié)合的槍管設(shè)計(jì)知識(shí)的表示

      框架名 槽名 槽值 槽名 槽值 槽名 槽值
      槍管

      設(shè)計(jì)

      外部
      構(gòu)造
      外部構(gòu)造
      框架
      內(nèi)膛 內(nèi)膛設(shè)計(jì)
      框架
      強(qiáng)度 強(qiáng)度設(shè)計(jì)
      框架
      外部
      構(gòu)造
      槍管
      尾部
      槍管尾部
      設(shè)計(jì)框架
      槍管
      外形
      槍管外形
      設(shè)計(jì)框架
      槍口
      形狀
      槍口形狀
      設(shè)計(jì)框架
      槍管
      尾部
      尾端面
      形狀
      尾端面形狀
      設(shè)計(jì)規(guī)劃
             

      3 系統(tǒng)數(shù)據(jù)庫(kù)

        槍管設(shè)計(jì)推理的啟動(dòng)參數(shù),如膛壓、線膛的長(zhǎng)度等;設(shè)計(jì)過程中產(chǎn)生的各類過渡型參數(shù);以及最終所選定的槍管的尺寸、公差、材料等,都存放在系統(tǒng)數(shù)據(jù)庫(kù)中。為了有效地管理這些數(shù)據(jù),采用了面向?qū)ο蟮姆椒ā?/FONT>

        面向?qū)ο蟮姆椒ㄖ杏袃蓚€(gè)重要概念“類”和“對(duì)象”。在CLIPS6.0中,分別稱為“Class”、“Instance”。CLIPS有一個(gè)最高級(jí)的類OBJECT,它有一個(gè)子類USER。USER類用來定義用戶自定義類。在本系統(tǒng)中類的定義如下:

        (defclass BARREL(is-a USER))
        (defclass BORE(is-a BARREL))
        (defclass CHAMBER(is-a BORE))

      對(duì)象的定義如下:

        (definstances NEW_CHAMBER
        (new_chamber of CHAMBER))

        設(shè)計(jì)過程中所產(chǎn)生的各種參數(shù),都存放在各實(shí)例對(duì)象對(duì)應(yīng)的屬性中。這種面向?qū)ο蟮臄?shù)據(jù)庫(kù)結(jié)構(gòu)簡(jiǎn)單,一目了然。在系統(tǒng)運(yùn)行中只需對(duì)數(shù)據(jù)庫(kù)中某一對(duì)象的屬性進(jìn)行讀、寫操作即可。

        數(shù)據(jù)庫(kù)中除了存放新的設(shè)計(jì)內(nèi)容,還包括一些成熟的設(shè)計(jì)實(shí)例。一些國(guó)內(nèi)外裝備過的制式槍械的槍管,如56沖、M16步槍的槍管等,都放在數(shù)據(jù)庫(kù)中。這樣不僅使設(shè)計(jì)者在設(shè)計(jì)過程中可隨時(shí)調(diào)用以作參考,而且可以適應(yīng)基于實(shí)例的推理方式。CLIPS是以基于規(guī)則的推理為主,但基于實(shí)例的推理也是可以適當(dāng)采用的。譬如在設(shè)計(jì)時(shí)采用某種制式彈,那么在設(shè)計(jì)彈膛時(shí),系統(tǒng)提出兩套設(shè)計(jì)方法——基于規(guī)則和基于實(shí)例。基于實(shí)例的設(shè)計(jì)使設(shè)計(jì)者在為制式槍彈設(shè)計(jì)彈膛時(shí),可以通過人機(jī)對(duì)話,選擇一種制式槍械槍管的彈膛作為新設(shè)計(jì)槍管的彈膛的原型,新的設(shè)計(jì)可通過對(duì)這種原型在滿足一定條件(規(guī)則)的前提下進(jìn)行修改而得出。這樣可以使設(shè)計(jì)過程得以簡(jiǎn)化。

      4 設(shè)計(jì)計(jì)算及計(jì)算結(jié)果的規(guī)整

        槍管設(shè)計(jì)中涉及計(jì)算的部分主要由三部分組成:內(nèi)彈道計(jì)算、主要斷面處壁厚的計(jì)算、安全系數(shù)的校核。

        內(nèi)彈道計(jì)算的目的在于計(jì)算出裝填條件一定和彈頭一定的發(fā)射條件下膛壓、彈頭速度與彈頭行程、時(shí)間的關(guān)系。通過分析,認(rèn)為在槍彈已知的條件下,膛壓的峰值(最大膛壓)、該峰值出現(xiàn)的位置、線膛總長(zhǎng)、膛口壓力這四個(gè)量在槍管設(shè)計(jì)中最為重要。

        當(dāng)膛壓特性確定之后,對(duì)膛壓曲線進(jìn)行處理,就可以根據(jù)膛壓曲線確定槍管主要斷面處壁厚。壁厚由下式計(jì)算:

      r2=r1[(3σs+2np)/(3σs-4np)]1/2  (1)

      式中,r1、r2分別為槍管內(nèi)、外半徑;σs為材料屈服極限;n為斷面處完全系數(shù);p為斷面處膛壓。

        由式(1)計(jì)算得出主要斷面處的外徑、壁厚,并形成槍管的理論外形之后,還需要考慮與槍管結(jié)合零部件的大小和所在位置,工藝性要求,壁厚差的容許量等,并按這些因素對(duì)槍管理論外形進(jìn)行規(guī)整。本系統(tǒng)既可采用人機(jī)交互的方式進(jìn)行尺寸規(guī)整,也可以采用知識(shí)庫(kù)和推理機(jī)進(jìn)行外形尺寸規(guī)整。

      5 槍管參數(shù)化圖形設(shè)計(jì)原理與應(yīng)用

        本系統(tǒng)中選用美國(guó)SDRC公司的微機(jī)版本IDEAS MS6.0作為圖形參數(shù)化模塊的CAD支撐平臺(tái)。IDEAS是一個(gè)功能強(qiáng)大的CAD/CAE/CAM集成軟件包。在IDEAS中,物體的某些尺寸可以設(shè)置為參數(shù)關(guān)系式,以參數(shù)來控制物體的幾何元素。用戶可以產(chǎn)生兩種類型的參數(shù):驅(qū)動(dòng)參數(shù)型和等式參數(shù)型。驅(qū)動(dòng)參數(shù)型的尺寸值是用戶在產(chǎn)生該物體時(shí)輸入的初始值,這種尺寸可以參數(shù)化,從而在等式參數(shù)型中作為變量。等式參數(shù)型定義了物體上相關(guān)參數(shù)間的數(shù)學(xué)等式關(guān)系。該等式由用戶定義,其中包含有驅(qū)動(dòng)參數(shù)或其它等式參數(shù)。物體的關(guān)鍵尺寸、輪廓約束尺寸等設(shè)為參數(shù)變量(可以賦一初始值)。物體的參數(shù)化過程實(shí)際上就給這些參數(shù)賦予某個(gè)具體尺寸的過程。

        本系統(tǒng)通過對(duì)IDEAS的二次開發(fā)來實(shí)現(xiàn)槍管圖形的參數(shù)化三維顯示。系統(tǒng)中推理、計(jì)算所得的槍管的外形尺寸、尺寸約束關(guān)系記錄在數(shù)據(jù)庫(kù)中。系統(tǒng)總控模塊以一定的順序讀取數(shù)據(jù),并生成專用數(shù)據(jù)文件。之后通過C語(yǔ)言編寫的接口程序啟動(dòng)IDEAS,并執(zhí)行一個(gè)相應(yīng)的由IDEAS自帶的高級(jí)語(yǔ)言編寫的程序文件,將數(shù)據(jù)文件中的數(shù)據(jù)賦給預(yù)先建好的槍管三維實(shí)體參數(shù)化模型。

        具體實(shí)現(xiàn)方法如下:

        (1) 參數(shù)化實(shí)體模型的建立 在IDEAS實(shí)體建模模塊中生成一個(gè)槍管實(shí)體模型,存放在參數(shù)化模型庫(kù)中。可以手工建立模型,并記錄在程序文件中;或者用IDEAS自帶的高級(jí)語(yǔ)言編寫程序文件。這個(gè)模型包括了典型槍管所具有的結(jié)構(gòu)特征。該模型所具有的結(jié)構(gòu)參數(shù)中有一部分可以設(shè)置為驅(qū)動(dòng)參數(shù)型變量,定義、命名這些變量。之后定義、命名與這些驅(qū)動(dòng)參數(shù)型相關(guān)的等式參數(shù)型變量,并給出約束關(guān)系(尺寸鏈要求、聯(lián)接件的形狀約束等)。

        (2) 幾何尺寸與結(jié)構(gòu)形式的確定 通過推理、計(jì)算所確定的結(jié)構(gòu)及尺寸存放在數(shù)據(jù)庫(kù)中,以便于圖形處理模塊調(diào)用。

        (3) 參數(shù)變量賦值 系統(tǒng)總控模塊從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù),生成專用數(shù)據(jù)文件,并啟動(dòng)IDEAS。數(shù)據(jù)讀取的順序依據(jù)前面所產(chǎn)生的數(shù)據(jù)文件的格式確定。依次讀取各段的數(shù)據(jù),放入指定的數(shù)據(jù)結(jié)構(gòu)中。讀取完成后,將讀取成功的槍管的尺寸、結(jié)構(gòu)參數(shù)數(shù)據(jù)傳給參數(shù)化實(shí)體模型,在屏幕上輸出顯示,并生成二維工程圖。

      6 結(jié)論

        知識(shí)的表達(dá)與數(shù)據(jù)庫(kù)的構(gòu)造是運(yùn)用專家系統(tǒng)工具CLIPS過程中的兩個(gè)最基本的問題,也是該系統(tǒng)能否有效運(yùn)行的關(guān)鍵。在系統(tǒng)中采用規(guī)則與框加混合的知識(shí)表達(dá)體系,允許框加的槽值為一組產(chǎn)生式,將產(chǎn)生式局部化,比單一的產(chǎn)生式有更高的效率。數(shù)據(jù)庫(kù)的構(gòu)造中運(yùn)用了面向?qū)ο蟮姆椒ㄒ约盎趯?shí)例的方法,使得數(shù)據(jù)庫(kù)中數(shù)據(jù)間的關(guān)系表達(dá)易于理解,便于維護(hù)。參數(shù)化設(shè)計(jì)思想可以實(shí)現(xiàn)數(shù)據(jù)與圖形的結(jié)合,有效地解決了設(shè)計(jì)結(jié)果向圖形的轉(zhuǎn)化。綜合運(yùn)用上述技術(shù)開發(fā)的智能化槍管CAD系統(tǒng),較好地解決了槍械主要零部件——槍管的自動(dòng)化設(shè)計(jì)問題。

      文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。

      主站蜘蛛池模板: 免费观看日本污污ww网站一区| 午夜DV内射一区二区| 一区二区三区四区免费视频| 蜜桃无码AV一区二区| 国产无码一区二区在线| 国产无人区一区二区三区| 韩国美女vip福利一区| 久久99国产精一区二区三区| 久久影院亚洲一区| 国产成人av一区二区三区不卡| 中文字幕在线一区二区在线 | 精品国产一区二区三区不卡| 中文字幕一区二区三区免费视频| 精品理论片一区二区三区| 怡红院AV一区二区三区| 亚洲无码一区二区三区| 国产精品亚洲午夜一区二区三区 | 国产怡春院无码一区二区| 亚洲av乱码一区二区三区| 无码AV天堂一区二区三区| 无码精品视频一区二区三区| 亚洲日本一区二区三区在线| 国产在线一区二区在线视频| 成人乱码一区二区三区av| 国产精品毛片a∨一区二区三区| 丰满岳妇乱一区二区三区| 日韩精品一区二区三区在线观看 | 色偷偷一区二区无码视频| 国产精品无圣光一区二区| 国产一区二区电影| 亚洲Av无码一区二区二三区 | 日本一区二区三区在线观看| 中文字幕精品亚洲无线码一区应用| 国产精品自在拍一区二区不卡| 亚洲第一区在线观看| 亚洲不卡av不卡一区二区| 日韩av无码一区二区三区| 国产一区二区不卡老阿姨| 黑人一区二区三区中文字幕| 久久精品人妻一区二区三区 | 日韩一区二区电影|