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