簡建幫 李迎光 王 偉 宋智勇
1.南京航空航天大學(xué),南京,210016 2.成都飛機工業(yè)(集團)有限責(zé)任公司,成都,610092
協(xié)同設(shè)計要求在產(chǎn)品設(shè)計階段就考慮到產(chǎn)品開發(fā)后期可能影響到產(chǎn)品質(zhì)量、成本及開發(fā)時間的所有因素[1]。Agent是指在網(wǎng)絡(luò)環(huán)境中具有靈活、自主行動能力的一類軟件主體[2],由于現(xiàn)實系統(tǒng)的復(fù)雜性,以及單Agent因自身能力與資源的有限性而無法獨立地實現(xiàn)一些復(fù)雜的系統(tǒng),因此,多Agent技術(shù)得以迅速發(fā)展,逐漸成為分布式人工智能研究的熱點[3-5]。基于多Agent的協(xié)同設(shè)計使分布在不同地點的設(shè)計人員及其他相關(guān)人員可以通過網(wǎng)絡(luò)采用各種CAX工具協(xié)同地進行產(chǎn)品設(shè)計活動。
在國外,Toye等[6]開展的SHARE項目研究了如何利用基于Agent的計算機輔助工具和服務(wù)實現(xiàn)團隊成員間的交流、協(xié)作、分析和綜合。Ahn等[7]研究開發(fā)了一個基于Internet的CAD/CAM系統(tǒng) CyberCut。Kim 等[8]開發(fā)了一個基于Web的三維協(xié)同標(biāo)注系統(tǒng)CyberView。在國內(nèi),牟玉潔等[9]將 Windows API函數(shù)與圖層覆蓋技術(shù)相結(jié)合,開發(fā)了網(wǎng)絡(luò)環(huán)境下產(chǎn)品協(xié)同開發(fā)過程中的三維工程圖形實時批注工具系統(tǒng)。高曙明等[10]通過分析現(xiàn)有協(xié)作支持工具和系統(tǒng)的不足,提出了用協(xié)作支持工具軟件CoCADToolAgent改造商品化CAD系統(tǒng)來開發(fā)計算機支持協(xié)同設(shè)計系統(tǒng)的方法。西安交通大學(xué)系統(tǒng)工程研究所開發(fā)出了基于復(fù)制式應(yīng)用程序共享技術(shù)的協(xié)同式計算機輔助設(shè)計系統(tǒng)CoopCAD[11]。西北工業(yè)大學(xué)CAD/CAM中心對協(xié)同幾何造型技術(shù)有較深入的研究,以UG二次開發(fā)為基礎(chǔ)實現(xiàn)了UG環(huán)境下的實時協(xié)同造型和瀏覽、查詢和標(biāo)注以及模型協(xié)同編輯等[12-13]。
然而,以三維模型為主,二維工程圖紙為輔的協(xié)同模式在解決非幾何信息的協(xié)同設(shè)計上往往采用批注的方法,存在如下主要問題:
(1)難以表達分散在2D工程圖紙中的非幾何信息。協(xié)同人員對協(xié)同對象的共同認(rèn)知是協(xié)同設(shè)計的必要條件,因此需要對非幾何信息進行知識的表達和存儲。但是,由于傳統(tǒng)協(xié)作模式采用“3D模型+2D圖紙”的方式,協(xié)同設(shè)計數(shù)據(jù)源不唯一,非幾何信息分散在2D圖紙中,故難以對其進行形式化表達、共享和重用。
(2)不能有效地傳遞非幾何信息知識。Agent間消息傳遞的基礎(chǔ)是對協(xié)同對象的共同認(rèn)知,非幾何信息的難以表達將導(dǎo)致協(xié)同站點間不能有效地傳遞協(xié)同信息。
(3)難以進行相關(guān)性修改。當(dāng)協(xié)同人員對工藝信息提出修改建議時,設(shè)計人員難以根據(jù)修改意見對分散在二維圖紙中的工藝信息進行自動修改,且3D模型和2D工程圖紙間的相關(guān)性難以保證。
因此,本文將基于模型的定義(model based definition,MBD)和多Agent技術(shù)相結(jié)合,提出了基于MBD和多Agent的飛機結(jié)構(gòu)件協(xié)同設(shè)計方法。
基于MBD和多Agent的飛機結(jié)構(gòu)件協(xié)同設(shè)計框架采用聯(lián)邦式的多Agent協(xié)同結(jié)構(gòu),通過應(yīng)用開發(fā)接口實現(xiàn)對相關(guān)MBD非幾何信息的訪問,并對已有的功能尺寸和標(biāo)注工具進行接口封裝來支持協(xié)同工作,如圖1所示。
圖1 基于MBD和多Agent的飛機結(jié)構(gòu)件協(xié)同設(shè)計框架
根據(jù)飛機結(jié)構(gòu)件協(xié)調(diào)專業(yè)多、路線長的特點,按照功能進行劃分,協(xié)同設(shè)計中各專業(yè)Agent包括飛機結(jié)構(gòu)件詳細設(shè)計Agent(detailed design Agent,DDA)、制造工藝 Agent(manufacturing process Agent,MPA)、裝配仿真 Agent(assembly simulation Agent,ASA)等。這些專業(yè)Agent封裝相應(yīng)的CAX工具,并借助于專業(yè)服務(wù)器(Facilitator)進行集中的消息接收和發(fā)送,避免了點對點的通信,降低了系統(tǒng)實現(xiàn)的復(fù)雜度。設(shè)計Facilitator在以目標(biāo)為導(dǎo)向的整體協(xié)調(diào)控制下,通過各專業(yè)Agent進行領(lǐng)域活動,逐步完成設(shè)計任務(wù)。同時,各專業(yè)應(yīng)用Agent能隨著任務(wù)的下發(fā)而創(chuàng)建并自動組合,隨著任務(wù)的結(jié)束而自動解體、消亡,體現(xiàn)了產(chǎn)品協(xié)同設(shè)計的靈活、快速響應(yīng)。
基于MBD和多Agent的飛機結(jié)構(gòu)件協(xié)同設(shè)計流程為:①由設(shè)計員發(fā)布MBD模型給所有參與協(xié)同設(shè)計的下游分析人員,如制造工藝員、裝配分析員;②下游分析人員利用自己的專業(yè)知識對產(chǎn)品模型進行分析,若存在不合理之處,則拾取MBD模型中相應(yīng)的非幾何信息及與其相關(guān)聯(lián)的幾何信息,并附加相應(yīng)的操作建議(如新建、修改、刪除等),調(diào)用置于下游的Agent(如制造工藝Agent、裝配仿真Agent等),封裝拾取到的非幾何信息及與其相關(guān)聯(lián)的幾何信息和操作建議;③多Agent系統(tǒng)通過基于 Web的Agent交流信道將封裝好的消息發(fā)送給設(shè)計員;④設(shè)計員分析通過設(shè)計Agent接收到的操作建議,若認(rèn)為建議合理,則根據(jù)建議操作,調(diào)用封裝的MBD非幾何信息建模工具對初步MBD模型進行修改,并將該修改操作發(fā)送給所有參與協(xié)同的設(shè)計人員,以便他們更新模型,保持協(xié)同模型的一致性。如此反復(fù),直到設(shè)計的模型符合當(dāng)前的制造水平、工藝以及經(jīng)濟性等方面的要求。
MBD是一種用集成的3D實體模型來完整表達產(chǎn)品定義信息的方法,它詳細規(guī)定了3D模型中產(chǎn)品尺寸、公差的標(biāo)注規(guī)則和工藝信息的表達方式[14],取代了2D圖紙成為協(xié)同設(shè)計共享中的唯一授權(quán)資料,設(shè)計、工藝制造等方面的人員共同圍繞該數(shù)據(jù)集進行產(chǎn)品的設(shè)計、加工、檢驗等一系列工作。通過參考ASME Y14.41[15]標(biāo)準(zhǔn)和波音公司對MBD模型的表達方式,本文針對飛機結(jié)構(gòu)件的特點研究了飛機結(jié)構(gòu)件MBD模型幾何信息和非幾何信息的表達方式,并采用特征結(jié)構(gòu)樹的方式對該信息進行組織管理。圖2所示為某飛機框類零件在CATIA中的MBD模型。
本體用于描述事物的本質(zhì),是共享概念模型明確的形式化規(guī)范說明[16]。通過本體,可以解決由于缺乏共同認(rèn)識而導(dǎo)致的人與人、人與組織以及組織與組織之間缺乏溝通的問題,提高了系統(tǒng)的互用性,實現(xiàn)了知識的重用和共享。
圖2 CATIA中某飛機框類零件MBD模型
結(jié)合飛機結(jié)構(gòu)件MBD模型非幾何信息表達需求,本文建立了飛機結(jié)構(gòu)件MBD模型非幾何信息本體。用O表示飛機結(jié)構(gòu)件MBD模型非幾何信息本體,那么O可以表示為如下三元組:
其中,C表示類,代表某類個體的集合,它描述了該類個體的通用屬性;R表示關(guān)系,描述了該領(lǐng)域內(nèi)類與類之間的關(guān)系,基本的4種關(guān)系為part-of,kind-of,instance-of和attributeof 4種;I表示實體,描述某個類具體化的值。
圖3為部分本體的表達結(jié)構(gòu)圖,其中“Concept”是所有類的父類,“AID”是所有Agent類的父類,“AgentAction”是所有Agent所具有的功能的父類。除與Agent有關(guān)的本體定義之外,所有的類均繼承自“MBDJBaseUnknown”,這些子類表達了所有的 MBD非幾何信息。其中,類“MBDJTTRSSet”表達了與非幾何信息標(biāo)注相關(guān)聯(lián)的幾何集,如表面與粗糙度相關(guān)聯(lián)的面;類“MBDJTPSObject”表達了所有的非幾何信息標(biāo)注對象,如其子類“MBDJTPSTolerance”表達所有的公差信息,包括尺寸公差類“MBDJTPSDimension”、形狀公差類“MBDJTPSForm”。
圖3 部分飛機結(jié)構(gòu)件MBD非幾何信息本體表達結(jié)構(gòu)圖
為實現(xiàn)各協(xié)同站點人員的協(xié)同通信,本文采用FIPA(foundation for intelligent physical Agents)組織定義的Agent通信模型,并通過Agent通信語言(Agent communication language,ACL)封裝MBD非幾何信息本體發(fā)送到接收方。
1.4.1 FIPA-Agent通信模型
FIPA是一個非營利Agent標(biāo)準(zhǔn)化權(quán)威組織,其制定的FIPA規(guī)范中,Agent通信模型如圖4所示。其中,AMS表示Agent管理系統(tǒng),管理該Agent平臺的所有Agent、DF以及ACC,協(xié)調(diào)Agent通信合作;DF表示目錄服務(wù)器,管理平臺上Agent的目錄注冊和目錄檢索,提供黃頁服務(wù);應(yīng)用Agent是面向特定應(yīng)用領(lǐng)域的,解決領(lǐng)域設(shè)計問題的Agent可以封裝相應(yīng)的CAD工具;ACC表示Agent通信通道;Socket、CORBA、RMI、SOAP表示Agent平臺間的通信協(xié)議。同一個Agent平臺中Agent間消息的發(fā)送只需經(jīng)過ACC,而不同Agent平臺中Agent間消息的發(fā)送需要發(fā)送給 ACC,再通過Socket、CORBA、RMI、SOAP等協(xié)議傳輸給另一個Agent平臺。
圖4 FIPA-Agent通信模型
FIPA-ACL提出的ACL主體通信語言定義了Agent之間交互的一組消息類型,對這些交互消息的語法、語義和語用做出了嚴(yán)格的、形式化的描述和定義。該語法結(jié)構(gòu)中規(guī)定了消息的類型(如通知、同意、請求等)、消息的參數(shù)(如發(fā)送者、接收者、消息內(nèi)容、所采用的本體等)。
根據(jù)FIPA-ACL的語法定義,一條ACL消息一般具有的格式如圖5所示。該條ACL消息表示由名為“Designer1”的“MBDDesignerAgent”向目錄服務(wù)器“df”發(fā)送以“sl”語言描述的搜索該Agent平臺內(nèi)“MBDProcesserAgent”類型的Agent。
1.4.2 各Agent間的通信過程
基于MBD和多Agent的飛機結(jié)構(gòu)件協(xié)同設(shè)計過程中,各協(xié)同站點的人員通過調(diào)用相應(yīng)的Agent進行協(xié)同合作。各Agent采用FIPA-ACL通信語言,通過ACC實現(xiàn)消息的傳遞,并且該消息是采用MBD非幾何信息本體對MBD模型進行表達的,實現(xiàn)了各Agent間的語義消息傳遞。本系統(tǒng)各Agent間的協(xié)同通信如圖6所示。
圖5 查詢MBDProcesserAgent的ACL消息
圖6 各Agent間的協(xié)同通信
首先,各Agent向 DF發(fā)送注冊請求(request),完成各Agent向該Agent平臺的注冊;其次,由詳細設(shè)計Agent向DF發(fā)送查詢協(xié)同Agent的請求,請求消息如圖5所示,DF將查詢的結(jié)果以通知(inform)的形式返回給詳細設(shè)計Agent;然后詳細設(shè)計Agent將初步的MBD模型發(fā)送給各協(xié)同Agent(如制造工藝Agent、裝配仿真A-gent),各協(xié)同Agent根據(jù)各自的專業(yè)知識對MBD模型進行可制造性、工藝性、可裝配性等分析,并向詳細設(shè)計Agent發(fā)送修改意見;最后,詳細設(shè)計Agent根據(jù)修改意見修改模型,并將修改操作發(fā)送到各協(xié)同Agent,各協(xié)同Agent通過調(diào)用CAD軟件相應(yīng)的功能完成模型的自動更新,以達到協(xié)同模型的一致性。如此反復(fù)協(xié)商、修改,最終使修改后的MBD模型符合現(xiàn)有的制造條件,具有經(jīng)濟效益好、可裝配性好等優(yōu)點。
為實現(xiàn)產(chǎn)品設(shè)計人員可以根據(jù)下游協(xié)同人員的修改建議自動修改MBD模型,需要將CAX的建模工具進行封裝。由于協(xié)同人員間消息由MBD非幾何信息本體進行表達,并通過多Agent系統(tǒng)進行傳遞,因此,對于CAX建模工具的封裝,首先要進行多Agent系統(tǒng)與CAX軟件的集成,然后通過CAX軟件訪問多Agent系統(tǒng)傳遞的修改建議,并通過調(diào)用CAX建模API對MBD模型進行修改,最后將修改操作發(fā)送給其他協(xié)同人員,進行MBD模型的更新。
本文采用CATIA作為MBD模型的建模工具,采用JADE平臺開發(fā)多Agent系統(tǒng)。由于多Agent系統(tǒng)與CATIA應(yīng)用開發(fā)的復(fù)雜性及各自技術(shù)的特點,它們的集成比較困難,并且多Agent采用Java語言開發(fā),而CATIA開發(fā)平臺CAA采用C++語言開發(fā)。針對以上問題,本文建立了多Agent系統(tǒng)與CATIA集成框架,如圖7所示。該框架采用接口交換及JNI(Java native interface)技術(shù),即通過API函數(shù)獲得各自系統(tǒng)內(nèi)部的數(shù)據(jù),并進行數(shù)據(jù)交換,同時采用JNI技術(shù),實現(xiàn)了Java與C++之間的互相調(diào)用。
圖7 多Agent系統(tǒng)與CATIA集成框架
針對飛機結(jié)構(gòu)件非幾何信息協(xié)同設(shè)計的各重要因素,將基于MBD和多Agent的協(xié)同設(shè)計技術(shù)與其他常用技術(shù)進行了比較,如表1所示?;贜etMeeting的協(xié)同設(shè)計可以通過截取單用戶CAX/DFX工具的用戶界面和傳輸界面圖像來實現(xiàn)簡單的同步協(xié)同設(shè)計,但存在協(xié)同工作效率低、不支持多系統(tǒng)等問題,無法有效地支持同步協(xié)同設(shè)計工作;基于JAVA 3D/Web的協(xié)同設(shè)計采用了復(fù)制程序和3D模型到各機器的方式,用戶之間傳遞的是命令,負(fù)擔(dān)輕,用戶間可以進行操作,但難于直接進行協(xié)同標(biāo)注,相關(guān)性難于保證;基于多Agent的協(xié)同設(shè)計采用本體表達修改意見和操作,用戶之間傳遞的是本體,負(fù)擔(dān)輕,但難以實現(xiàn)三維協(xié)同標(biāo)注。通過比較可知,基于MBD和多Agent的協(xié)同設(shè)計網(wǎng)絡(luò)負(fù)擔(dān)輕,能實現(xiàn)3D標(biāo)注且保持非幾何信息和幾何元素的相關(guān)性。
表1 相關(guān)技術(shù)比較
根據(jù)以上研究,在CATIA V5和JADE平臺上開發(fā)的基于MBD和多Agent的飛機結(jié)構(gòu)件協(xié)同設(shè)計系統(tǒng)已在某大型航空企業(yè)的飛機結(jié)構(gòu)件數(shù)控加工中得到了初步的應(yīng)用。圖8所示為某典型雙面框類零件(圖2)中某尺寸的修改過程。
首先,制造工藝人員采用MBD非幾何信息本體,向詳細設(shè)計人員提出更改尺寸請求,如圖8中部對話框所示;然后,若詳細設(shè)計人員接受建議,則調(diào)用CATIA相應(yīng)的API對MBD模型進行修改(如圖8右部所示),并將修改操作發(fā)送給制造工藝人員;最后,制造工藝人員根據(jù)修改操作更新MBD模型,以保持協(xié)同模型的統(tǒng)一性。
(1)采用本體表達MBD模型非幾何信息,設(shè)計模型非幾何信息得以進行形式化表達、共享和重用。
(2)采用多Agent技術(shù),實現(xiàn)了協(xié)同設(shè)計人員間的靈活多變的分布式同步協(xié)同。
圖8 某典型雙面框類零件中某尺寸修改過程
(3)CAD系統(tǒng)與多Agent的集成,實現(xiàn)了CAD系統(tǒng)與多Agent間數(shù)據(jù)的交換、MBD模型的更改和自動更新。
[1] 王磊.飛機協(xié)同設(shè)計應(yīng)用技術(shù)研究[D].西安:西北工業(yè)大學(xué),2007.
[2] 王妝傳,徐小龍,黃海平.智能Agent及其在信息網(wǎng)絡(luò)中的應(yīng)用[M].北京:北京郵電大學(xué)出版社,2006.
[3] 高曙明,何發(fā)智.分布式協(xié)同設(shè)計技術(shù)綜述[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,2004,16(2):149-157.
[4] Shen W M,Norrie D H,Barthés J P.Multi-agent System for Concurrent Intelligent Design and Manufacturing[M].New York:Taylor &Francis,2001.
[5] Li Y G,Jian J B,Yan R J,et al.Aircraft Tooling Collaborative Design Based on Multi-agent and PDM[J].Concurrent Engineering:Research and Applications,2009,17(2):139-146.
[6] Toye G,Cutkosky M R,Leifer L J,et al.Share:a Methodology and Environment for Collaborative Production Development[J].Intelligent & Cooperative Information Systems,1994,3(2):129-153.
[7] Ahn S H,Sundararajan V,Smith C E,et al.Cyber-Cut:An Internet-based CAD/CAM System[J].Journal of Computing and Information Science in Engineering,2001,1(1):52-59.
[8] Kim C Y,Kim N,Kim Y,et al.Distributed Concurrent Engineering:Internet-Based Interactive 3D Dynamic Browsing and Markup of STEP Data[J].Concurrent Engineering,1998,6(1):53-70.
[9] 牟玉潔,張友良,汪惠芬.網(wǎng)絡(luò)協(xié)同產(chǎn)品開發(fā)環(huán)境中的三維工程圖形批注技術(shù)[J].計算機集成制造系統(tǒng)—CIMS,2002,8(9):700-703.
[10] 何發(fā)智,高曙明,王少梅,等.基于CSCW 的CAD系統(tǒng)協(xié)作支持技術(shù)與支持工具的研究[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,2002,14(2):163-167.
[11] 王魁生,李人厚,李宏敏,等.一個基于CSCW的協(xié)同式計算機輔助設(shè)計系統(tǒng)[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,2001,13(3):278-283.
[12] 朱劍飛.網(wǎng)絡(luò)環(huán)境下三維模型的協(xié)同瀏覽、查詢和批注技術(shù)研究[D].西安:西北工業(yè)大學(xué),2003.
[13] 陸的明.支持矢量圖形的二維協(xié)同瀏覽、標(biāo)注技術(shù)研究[D].西安:西北工業(yè)大學(xué),2005.
[14] 盧鵠,韓爽,范玉青.基于模型的數(shù)字化定義技術(shù)[J].航空制造技術(shù),2008(3):78-81.
[15] Y14.41-2003Digital Product Definition Data Practices[S].New York:ASME,2003.
[16] Studer R,Benjamins V R,F(xiàn)ensel D.Knowledge Engineering,Principles and Methods[J].Data and Knowledge Engineering,1998,25(122):161-197.
[17] 繆燕尹,佑盛.在局域網(wǎng)上用NetMeeting進行協(xié)同設(shè)計[J].機械與電子,1996(6):41-43.
[18] 嚴(yán)峻,張新元,黃瑞.利用Netmeeting實現(xiàn)局域網(wǎng)協(xié)同工作[J].電腦開發(fā)與應(yīng)用,2004,17(1):40-41.