劉 麗,宮霞霞
(成都大學(xué)工業(yè)制造學(xué)院,四川成都 610106)
在離散制造業(yè)中,數(shù)控編程一直是目前我國數(shù)控機(jī)床應(yīng)用的瓶頸之一.對于采用數(shù)控加工的復(fù)雜零件來說,編制出正確的數(shù)控程序是保證數(shù)控加工質(zhì)量的基礎(chǔ).面對復(fù)雜零件數(shù)控編程的知識復(fù)雜性、形式多樣性、動態(tài)實時性等特點,傳統(tǒng)的數(shù)控編程決策已無法滿足現(xiàn)代制造業(yè)發(fā)展的需要.隨著計算機(jī)技術(shù)的飛速發(fā)展,多智能體系統(tǒng)(multi-agent system,MAS)已成為計算機(jī)自動化領(lǐng)域的關(guān)鍵性技術(shù)之一,并在相關(guān)領(lǐng)域得到廣泛的應(yīng)用[1-3].基于此,本文建立了一種基于多智能體技術(shù)的復(fù)雜零件數(shù)控編程系統(tǒng)模型.該系統(tǒng)模型通過黑板模型集成了包含在工作流管理過程中的編程語言、加工策略、圖形計算、仿真模擬、程序編輯和線程通信6個智能體,同時,提出了“CBR+RBR"混合推理模型的Agent結(jié)構(gòu)及其實現(xiàn)方法,并通過黑板機(jī)制完成了不同Agent系統(tǒng)之間的通訊和協(xié)作.
在人工智能領(lǐng)域中,Agent被定義為具有感知能力、問題求解能力和與外界進(jìn)行通信能力的實體,是完全自治的或者半自制的[4],并具有自主性、通信能力、感知能力和響應(yīng)能力、推理和規(guī)劃能力等特性.多智能體系統(tǒng)(MAS)是一個分布式的智能體系統(tǒng),代理彼此分工,互相協(xié)作.
根據(jù)復(fù)雜零件的數(shù)控編程特點以及多Agent系統(tǒng)的特點,本研究建立了基于多智能體的復(fù)雜零件數(shù)控編程系統(tǒng)模型總體框架結(jié)構(gòu)(見圖1),它采用瀏覽器/服務(wù)器/數(shù)據(jù)庫模式(Browser/Server/Database)的3層網(wǎng)絡(luò)體系結(jié)構(gòu),由系統(tǒng)資源層、編程控制層和multi-agent執(zhí)行層組成.
圖1 基于多智能體的復(fù)雜零件數(shù)控編程系統(tǒng)模型示意圖
工作流管理Agent是整個系統(tǒng)的進(jìn)程管理中心.在多Agent系統(tǒng)中,各Agent是自治的,Agent之間只能通過通訊和改變環(huán)境達(dá)到相互影響的目的,Agent自身的行為最終是由其自己決策的.復(fù)雜零件的工作流管理Agent通過黑板模型對編程語言A-gent、加工策略Agent、圖形計算Agent、仿真模擬A-gent、程序編輯Agent和線程通信Agent進(jìn)行集中控制,以實現(xiàn)各個Agent之間進(jìn)行信息共享和交換.
近年來,國內(nèi)外開發(fā)的 Pro/ENGINEER、UG (Unigraphics)、UGⅡ和Visual C++編程語言等軟件,都是性能較完善的數(shù)控編程一體化軟件,可以面向眾多的數(shù)控機(jī)床和大多數(shù)數(shù)控系統(tǒng).為實現(xiàn)面向任務(wù)和知識的數(shù)控編程語言Agent,本研究選擇Microsoft的Visual C++編程語言作為人工智能和智能控制用編程語言.
加工策略Agent是根據(jù)編程員輸入的有關(guān)參數(shù)與指標(biāo),確定各工步及加工參數(shù),并確定數(shù)控加工策略Agent.根據(jù)編程員輸入的材料、加工精度要求等,以及刀庫數(shù)據(jù)庫的刀具信息,智能地確定出合理的加工參數(shù),如選擇合適的刀具、適當(dāng)?shù)倪M(jìn)給率、切削速度、主軸轉(zhuǎn)速及合理的工步流程,同時,根據(jù)需要調(diào)整刀庫.
圖形計算Agent,即圖形編輯和坐標(biāo)計算A-gent,是根據(jù)零件圖的幾何尺寸、確定的工藝路線及設(shè)定的坐標(biāo)系,計算零件粗、精加工運(yùn)動的軌跡,得到刀位數(shù)據(jù).圖形計算Agent的實現(xiàn)由編程員輸入刀具軌跡,軟件系統(tǒng)自動計算全部節(jié)點坐標(biāo),以形成G00、G01、G02、G03、G8X等指令參數(shù).
仿真模擬Agent,即仿真模擬NC程序Agent.仿真模擬Agent對給定NC程序執(zhí)行過程的模擬,由編程員給出與其相應(yīng)NC程序相關(guān)的零件外形與尺寸,以單步/自動方式仿真模擬加工過程.在有CRT圖形顯示的數(shù)控機(jī)床上,可用模擬刀具與工件切削過程進(jìn)行檢驗.
程序編輯Agent是編程員根據(jù)仿真模擬NC程序的結(jié)果對NC程序直接進(jìn)行必要的調(diào)整、打印輸出等操作.
Windows多線程技術(shù)與串行通信是數(shù)控系統(tǒng)的主要通訊程序,串行通信技術(shù)已在DNC通信系統(tǒng)中得到了廣泛的應(yīng)用.各個應(yīng)用Agent之間通過Internet或Intranet網(wǎng)進(jìn)行通信與合作,在網(wǎng)絡(luò)上傳輸和存取數(shù)據(jù)時的安全問題由線程通信Agent統(tǒng)一負(fù)責(zé).
在復(fù)雜零件數(shù)控編程系統(tǒng)中設(shè)置的每一個A-gent都具有一定的推理能力.因此,在完成一個A-gent推理過程時,必須首先建立推理模型.基于規(guī)則推理(rule based reasoning,RBR)稱為基于規(guī)則的專家系統(tǒng),是只依靠專家的經(jīng)驗獲得規(guī)則,而基于實例推理(case based reasoning,CBR)是人工智能發(fā)展過程中涌現(xiàn)出來的區(qū)別于 RBR和基于模型推理(MBR)的一種推理模式.在基于實例的系統(tǒng)中,知識的基本單元是實例而不是規(guī)則,可以通過自己的方法來獲取知識而不必從專家那里獲取知識.
將CBR與RBR 2種人工智能技術(shù)相結(jié)合可以提高混合推理的效率.本系統(tǒng)在推理機(jī)制設(shè)計上采用了“CBR+RBR"混合推理模型.
系統(tǒng)在使用“CBR+RBR"進(jìn)行推理之前,首先要對每一個Agent需要解決的問題進(jìn)行分析,并建立推理模型,然后根據(jù)專家的知識和經(jīng)驗建立推理所需的規(guī)則庫和知識庫[5].根據(jù)上述特點,本文建立了復(fù)雜零件數(shù)控編程的Agent結(jié)構(gòu)(見圖2).
圖2 復(fù)雜零件數(shù)控編程的Agent結(jié)構(gòu)示意圖
在圖2所示的復(fù)雜零件數(shù)控編程的Agent結(jié)構(gòu)中,每一個Agent都具有自己的知識庫(知識模板)、規(guī)則庫和推理機(jī),推理機(jī)通過“CBR+RBR"混合推理,利用獲得的信息和本身的信息進(jìn)行推理形成數(shù)控編程知識模板,同時,將推理結(jié)果(NC程序)傳送到全局黑板中與其他智能體進(jìn)行分配和共享.
推理模型的知識表達(dá)要在外部問題域與Agent內(nèi)部符號推理系統(tǒng)之間建立起聯(lián)系.合理的知識表示模式應(yīng)滿足表達(dá)充分、便于推理、方便管理和易于理解等要求[6].“CBR+RBR"混合推理的知識表示方式為:知識庫系統(tǒng)中規(guī)則和實例采用統(tǒng)一的編碼機(jī)制,以提高CBR的主動性和高效性;用RBR優(yōu)化CBR的質(zhì)量,以提高實例修改的自動化水平.
2.3.1 RBR推理模型的規(guī)則表示.
在RBR中,知識單元是規(guī)則,描述信息實體之間的關(guān)系.規(guī)則表示符合人類常規(guī)的思維,可用不完全的啟發(fā)式知識解決特定問題,特別適合于需要大量經(jīng)驗性知識求解的復(fù)雜零件數(shù)控編程.目前,大多采用產(chǎn)生式規(guī)則表示方法,其一般形式為:
IF(條件1);……;IF(條件n);
THEN(結(jié)論,CF)(n>1)
其中,CF表示規(guī)則的可信度,指出規(guī)則為真的可信程度.
2.3.2 CBR推理模型的實例表示.
在CBR中,知識的單元是實例,是數(shù)控編程過程模型的具體體現(xiàn).這里,復(fù)雜零件數(shù)控編程實例[7]的描述為,
其中,ID為實例的唯一標(biāo)識碼,Index為實例檢索,Content為復(fù)雜零件數(shù)控編程實例的內(nèi)容,其由復(fù)雜零件的名稱、所屬類別、主參數(shù)規(guī)格等組成,形成數(shù)控編程知識模板,PCS為零件控制結(jié)構(gòu),表示裝配信息和附件類型.
在實際應(yīng)用中,我們采用Java方案和IBM公司的Aglets技術(shù)相結(jié)合的方法,利用Java多媒體框架JMF開發(fā)出集音頻、視頻為一體的,包含黑板、在線討論等協(xié)同功能的工具,同時,根據(jù)數(shù)控車編程與操作工藝通過成都數(shù)控機(jī)床產(chǎn)業(yè)集群論壇使用黑板的派遣—回收機(jī)制查詢到相對應(yīng)的階梯軸NC程序模板,完成了階梯軸的計算機(jī)模擬仿真和優(yōu)化NC程序(見圖3).
圖3 階梯軸數(shù)控編程N(yùn)C程序
本文設(shè)計了一種基于多智能體的復(fù)雜零件數(shù)控編程系統(tǒng),通過因特網(wǎng)可將這些不同智能體聯(lián)系在一起,實現(xiàn)多機(jī)分布計算,提高了編程效率,而且便于數(shù)控編程管理者參與管理和決策.將多智能體技術(shù)應(yīng)用到復(fù)雜零件數(shù)控編程中是一項很有意義的工作,隨著多智能體技術(shù)的日趨成熟,其必將對數(shù)控編程的分布式協(xié)同模式起著較好的促進(jìn)作用.實際應(yīng)用表明,采用多智能體技術(shù)對復(fù)雜零件數(shù)控編程進(jìn)行管理不僅能夠提高編程的自動化程度,而且能夠有效反映數(shù)控編程員的管理思想,為數(shù)控編程系統(tǒng)管理提供決策支持.
[1]Adler J L,Blue V J.A Cooperative Multi-agent Transportation Management and Route Guidance System[J].Transportation Research(Part C),2002,10(5-6):433-454.
[2]Kosonen I.Multi-Agent Fuzzy Signal Control Based on Realtime Simulation[J].Transportation Research(Part C),2003,11(5):389-403.
[3]王俊松,崔世剛.Muti-Agent技術(shù)及應(yīng)用[J].計算機(jī)工程與應(yīng)用,2003,40(18):61-66.
[4]朱淼良,楊建剛,吳春明.自主式智能系統(tǒng)[M].杭州:浙江大學(xué)出版社,2000.
[5]徐麗群.基于多智能體技術(shù)的出行誘導(dǎo)管理系統(tǒng)研究[J].東南大學(xué)學(xué)報(自然科學(xué)版),2004,11(6):814-818.
[6]Parrott L,Lacroix R,Wade K M.Design Considerations for the Implementation of Multi-Agent Systems in the Dairy Industry[J].Computers and Electronics in Agriculture,2003,38(2):79-98.
[7]賈維,張勝文,張亮,等.數(shù)控編程KBE系統(tǒng)的基礎(chǔ)性使能技術(shù)研究[J].CAD/CAM與制造業(yè)信息化,2008,15 (7):88-91.
[8]周長春,殷國富,胡曉兵,等.面向復(fù)雜機(jī)械產(chǎn)品開發(fā)的多Agent系統(tǒng)研究[J].高技術(shù)通訊,2008,18(8):830-836.