基于MBD和多Agent的飞机结构件协同设计

2010-05-31 09:55简建帮李迎光宋智勇
中国机械工程 2010年22期
关键词:结构件本体协同

简建帮 李迎光 王 伟 宋智勇

1.南京航空航天大学,南京,210016 2.成都飞机工业(集团)有限责任公司,成都,610092

0 引言

协同设计要求在产品设计阶段就考虑到产品开发后期可能影响到产品质量、成本及开发时间的所有因素[1]。Agent是指在网络环境中具有灵活、自主行动能力的一类软件主体[2],由于现实系统的复杂性,以及单Agent因自身能力与资源的有限性而无法独立地实现一些复杂的系统,因此,多Agent技术得以迅速发展,逐渐成为分布式人工智能研究的热点[3-5]。基于多Agent的协同设计使分布在不同地点的设计人员及其他相关人员可以通过网络采用各种CAX工具协同地进行产品设计活动。

在国外,Toye等[6]开展的SHARE项目研究了如何利用基于Agent的计算机辅助工具和服务实现团队成员间的交流、协作、分析和综合。Ahn等[7]研究开发了一个基于Internet的CAD/CAM系统 CyberCut。Kim 等[8]开发了一个基于Web的三维协同标注系统CyberView。在国内,牟玉洁等[9]将 Windows API函数与图层覆盖技术相结合,开发了网络环境下产品协同开发过程中的三维工程图形实时批注工具系统。高曙明等[10]通过分析现有协作支持工具和系统的不足,提出了用协作支持工具软件CoCADToolAgent改造商品化CAD系统来开发计算机支持协同设计系统的方法。西安交通大学系统工程研究所开发出了基于复制式应用程序共享技术的协同式计算机辅助设计系统CoopCAD[11]。西北工业大学CAD/CAM中心对协同几何造型技术有较深入的研究,以UG二次开发为基础实现了UG环境下的实时协同造型和浏览、查询和标注以及模型协同编辑等[12-13]。

然而,以三维模型为主,二维工程图纸为辅的协同模式在解决非几何信息的协同设计上往往采用批注的方法,存在如下主要问题:

(1)难以表达分散在2D工程图纸中的非几何信息。协同人员对协同对象的共同认知是协同设计的必要条件,因此需要对非几何信息进行知识的表达和存储。但是,由于传统协作模式采用“3D模型+2D图纸”的方式,协同设计数据源不唯一,非几何信息分散在2D图纸中,故难以对其进行形式化表达、共享和重用。

(2)不能有效地传递非几何信息知识。Agent间消息传递的基础是对协同对象的共同认知,非几何信息的难以表达将导致协同站点间不能有效地传递协同信息。

(3)难以进行相关性修改。当协同人员对工艺信息提出修改建议时,设计人员难以根据修改意见对分散在二维图纸中的工艺信息进行自动修改,且3D模型和2D工程图纸间的相关性难以保证。

因此,本文将基于模型的定义(model based definition,MBD)和多Agent技术相结合,提出了基于MBD和多Agent的飞机结构件协同设计方法。

1 协同设计技术

1.1 协同设计框架

基于MBD和多Agent的飞机结构件协同设计框架采用联邦式的多Agent协同结构,通过应用开发接口实现对相关MBD非几何信息的访问,并对已有的功能尺寸和标注工具进行接口封装来支持协同工作,如图1所示。

图1 基于MBD和多Agent的飞机结构件协同设计框架

根据飞机结构件协调专业多、路线长的特点,按照功能进行划分,协同设计中各专业Agent包括飞机结构件详细设计Agent(detailed design Agent,DDA)、制造工艺 Agent(manufacturing process Agent,MPA)、装配仿真 Agent(assembly simulation Agent,ASA)等。这些专业Agent封装相应的CAX工具,并借助于专业服务器(Facilitator)进行集中的消息接收和发送,避免了点对点的通信,降低了系统实现的复杂度。设计Facilitator在以目标为导向的整体协调控制下,通过各专业Agent进行领域活动,逐步完成设计任务。同时,各专业应用Agent能随着任务的下发而创建并自动组合,随着任务的结束而自动解体、消亡,体现了产品协同设计的灵活、快速响应。

基于MBD和多Agent的飞机结构件协同设计流程为:①由设计员发布MBD模型给所有参与协同设计的下游分析人员,如制造工艺员、装配分析员;②下游分析人员利用自己的专业知识对产品模型进行分析,若存在不合理之处,则拾取MBD模型中相应的非几何信息及与其相关联的几何信息,并附加相应的操作建议(如新建、修改、删除等),调用置于下游的Agent(如制造工艺Agent、装配仿真Agent等),封装拾取到的非几何信息及与其相关联的几何信息和操作建议;③多Agent系统通过基于 Web的Agent交流信道将封装好的消息发送给设计员;④设计员分析通过设计Agent接收到的操作建议,若认为建议合理,则根据建议操作,调用封装的MBD非几何信息建模工具对初步MBD模型进行修改,并将该修改操作发送给所有参与协同的设计人员,以便他们更新模型,保持协同模型的一致性。如此反复,直到设计的模型符合当前的制造水平、工艺以及经济性等方面的要求。

1.2 基于MBD的飞机结构件数字化定义

MBD是一种用集成的3D实体模型来完整表达产品定义信息的方法,它详细规定了3D模型中产品尺寸、公差的标注规则和工艺信息的表达方式[14],取代了2D图纸成为协同设计共享中的唯一授权资料,设计、工艺制造等方面的人员共同围绕该数据集进行产品的设计、加工、检验等一系列工作。通过参考ASME Y14.41[15]标准和波音公司对MBD模型的表达方式,本文针对飞机结构件的特点研究了飞机结构件MBD模型几何信息和非几何信息的表达方式,并采用特征结构树的方式对该信息进行组织管理。图2所示为某飞机框类零件在CATIA中的MBD模型。

1.3 MBD非几何信息本体表达

本体用于描述事物的本质,是共享概念模型明确的形式化规范说明[16]。通过本体,可以解决由于缺乏共同认识而导致的人与人、人与组织以及组织与组织之间缺乏沟通的问题,提高了系统的互用性,实现了知识的重用和共享。

图2 CATIA中某飞机框类零件MBD模型

结合飞机结构件MBD模型非几何信息表达需求,本文建立了飞机结构件MBD模型非几何信息本体。用O表示飞机结构件MBD模型非几何信息本体,那么O可以表示为如下三元组:

其中,C表示类,代表某类个体的集合,它描述了该类个体的通用属性;R表示关系,描述了该领域内类与类之间的关系,基本的4种关系为part-of,kind-of,instance-of和attributeof 4种;I表示实体,描述某个类具体化的值。

图3为部分本体的表达结构图,其中“Concept”是所有类的父类,“AID”是所有Agent类的父类,“AgentAction”是所有Agent所具有的功能的父类。除与Agent有关的本体定义之外,所有的类均继承自“MBDJBaseUnknown”,这些子类表达了所有的 MBD非几何信息。其中,类“MBDJTTRSSet”表达了与非几何信息标注相关联的几何集,如表面与粗糙度相关联的面;类“MBDJTPSObject”表达了所有的非几何信息标注对象,如其子类“MBDJTPSTolerance”表达所有的公差信息,包括尺寸公差类“MBDJTPSDimension”、形状公差类“MBDJTPSForm”。

图3 部分飞机结构件MBD非几何信息本体表达结构图

1.4 基于多Agent的协同通信

为实现各协同站点人员的协同通信,本文采用FIPA(foundation for intelligent physical Agents)组织定义的Agent通信模型,并通过Agent通信语言(Agent communication language,ACL)封装MBD非几何信息本体发送到接收方。

1.4.1 FIPA-Agent通信模型

FIPA是一个非营利Agent标准化权威组织,其制定的FIPA规范中,Agent通信模型如图4所示。其中,AMS表示Agent管理系统,管理该Agent平台的所有Agent、DF以及ACC,协调Agent通信合作;DF表示目录服务器,管理平台上Agent的目录注册和目录检索,提供黄页服务;应用Agent是面向特定应用领域的,解决领域设计问题的Agent可以封装相应的CAD工具;ACC表示Agent通信通道;Socket、CORBA、RMI、SOAP表示Agent平台间的通信协议。同一个Agent平台中Agent间消息的发送只需经过ACC,而不同Agent平台中Agent间消息的发送需要发送给 ACC,再通过Socket、CORBA、RMI、SOAP等协议传输给另一个Agent平台。

图4 FIPA-Agent通信模型

FIPA-ACL提出的ACL主体通信语言定义了Agent之间交互的一组消息类型,对这些交互消息的语法、语义和语用做出了严格的、形式化的描述和定义。该语法结构中规定了消息的类型(如通知、同意、请求等)、消息的参数(如发送者、接收者、消息内容、所采用的本体等)。

根据FIPA-ACL的语法定义,一条ACL消息一般具有的格式如图5所示。该条ACL消息表示由名为“Designer1”的“MBDDesignerAgent”向目录服务器“df”发送以“sl”语言描述的搜索该Agent平台内“MBDProcesserAgent”类型的Agent。

1.4.2 各Agent间的通信过程

基于MBD和多Agent的飞机结构件协同设计过程中,各协同站点的人员通过调用相应的Agent进行协同合作。各Agent采用FIPA-ACL通信语言,通过ACC实现消息的传递,并且该消息是采用MBD非几何信息本体对MBD模型进行表达的,实现了各Agent间的语义消息传递。本系统各Agent间的协同通信如图6所示。

图5 查询MBDProcesserAgent的ACL消息

图6 各Agent间的协同通信

首先,各Agent向 DF发送注册请求(request),完成各Agent向该Agent平台的注册;其次,由详细设计Agent向DF发送查询协同Agent的请求,请求消息如图5所示,DF将查询的结果以通知(inform)的形式返回给详细设计Agent;然后详细设计Agent将初步的MBD模型发送给各协同Agent(如制造工艺Agent、装配仿真A-gent),各协同Agent根据各自的专业知识对MBD模型进行可制造性、工艺性、可装配性等分析,并向详细设计Agent发送修改意见;最后,详细设计Agent根据修改意见修改模型,并将修改操作发送到各协同Agent,各协同Agent通过调用CAD软件相应的功能完成模型的自动更新,以达到协同模型的一致性。如此反复协商、修改,最终使修改后的MBD模型符合现有的制造条件,具有经济效益好、可装配性好等优点。

1.5 CAX工具封装

为实现产品设计人员可以根据下游协同人员的修改建议自动修改MBD模型,需要将CAX的建模工具进行封装。由于协同人员间消息由MBD非几何信息本体进行表达,并通过多Agent系统进行传递,因此,对于CAX建模工具的封装,首先要进行多Agent系统与CAX软件的集成,然后通过CAX软件访问多Agent系统传递的修改建议,并通过调用CAX建模API对MBD模型进行修改,最后将修改操作发送给其他协同人员,进行MBD模型的更新。

本文采用CATIA作为MBD模型的建模工具,采用JADE平台开发多Agent系统。由于多Agent系统与CATIA应用开发的复杂性及各自技术的特点,它们的集成比较困难,并且多Agent采用Java语言开发,而CATIA开发平台CAA采用C++语言开发。针对以上问题,本文建立了多Agent系统与CATIA集成框架,如图7所示。该框架采用接口交换及JNI(Java native interface)技术,即通过API函数获得各自系统内部的数据,并进行数据交换,同时采用JNI技术,实现了Java与C++之间的互相调用。

图7 多Agent系统与CATIA集成框架

2 相关技术比较

针对飞机结构件非几何信息协同设计的各重要因素,将基于MBD和多Agent的协同设计技术与其他常用技术进行了比较,如表1所示。基于NetMeeting的协同设计可以通过截取单用户CAX/DFX工具的用户界面和传输界面图像来实现简单的同步协同设计,但存在协同工作效率低、不支持多系统等问题,无法有效地支持同步协同设计工作;基于JAVA 3D/Web的协同设计采用了复制程序和3D模型到各机器的方式,用户之间传递的是命令,负担轻,用户间可以进行操作,但难于直接进行协同标注,相关性难于保证;基于多Agent的协同设计采用本体表达修改意见和操作,用户之间传递的是本体,负担轻,但难以实现三维协同标注。通过比较可知,基于MBD和多Agent的协同设计网络负担轻,能实现3D标注且保持非几何信息和几何元素的相关性。

表1 相关技术比较

3 应用实例

根据以上研究,在CATIA V5和JADE平台上开发的基于MBD和多Agent的飞机结构件协同设计系统已在某大型航空企业的飞机结构件数控加工中得到了初步的应用。图8所示为某典型双面框类零件(图2)中某尺寸的修改过程。

首先,制造工艺人员采用MBD非几何信息本体,向详细设计人员提出更改尺寸请求,如图8中部对话框所示;然后,若详细设计人员接受建议,则调用CATIA相应的API对MBD模型进行修改(如图8右部所示),并将修改操作发送给制造工艺人员;最后,制造工艺人员根据修改操作更新MBD模型,以保持协同模型的统一性。

4 结论

(1)采用本体表达MBD模型非几何信息,设计模型非几何信息得以进行形式化表达、共享和重用。

(2)采用多Agent技术,实现了协同设计人员间的灵活多变的分布式同步协同。

图8 某典型双面框类零件中某尺寸修改过程

(3)CAD系统与多Agent的集成,实现了CAD系统与多Agent间数据的交换、MBD模型的更改和自动更新。

[1] 王磊.飞机协同设计应用技术研究[D].西安:西北工业大学,2007.

[2] 王妆传,徐小龙,黄海平.智能Agent及其在信息网络中的应用[M].北京:北京邮电大学出版社,2006.

[3] 高曙明,何发智.分布式协同设计技术综述[J].计算机辅助设计与图形学学报,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] 牟玉洁,张友良,汪惠芬.网络协同产品开发环境中的三维工程图形批注技术[J].计算机集成制造系统—CIMS,2002,8(9):700-703.

[10] 何发智,高曙明,王少梅,等.基于CSCW 的CAD系统协作支持技术与支持工具的研究[J].计算机辅助设计与图形学学报,2002,14(2):163-167.

[11] 王魁生,李人厚,李宏敏,等.一个基于CSCW的协同式计算机辅助设计系统[J].计算机辅助设计与图形学学报,2001,13(3):278-283.

[12] 朱剑飞.网络环境下三维模型的协同浏览、查询和批注技术研究[D].西安:西北工业大学,2003.

[13] 陆的明.支持矢量图形的二维协同浏览、标注技术研究[D].西安:西北工业大学,2005.

[14] 卢鹄,韩爽,范玉青.基于模型的数字化定义技术[J].航空制造技术,2008(3):78-81.

[15] Y14.41-2003Digital Product Definition Data Practices[S].New York:ASME,2003.

[16] Studer R,Benjamins V R,Fensel D.Knowledge Engineering,Principles and Methods[J].Data and Knowledge Engineering,1998,25(122):161-197.

[17] 缪燕尹,佑盛.在局域网上用NetMeeting进行协同设计[J].机械与电子,1996(6):41-43.

[18] 严峻,张新元,黄瑞.利用Netmeeting实现局域网协同工作[J].电脑开发与应用,2004,17(1):40-41.

猜你喜欢
结构件本体协同
家校社协同育人 共赢美好未来
眼睛是“本体”
蜀道难:车与路的协同进化
楔形结构件蜂窝积水检测识别方法探讨
基于PLC的飞机结构件变夹紧力柔性夹具研究
“四化”协同才有出路
一种航空薄壁结构件的加工应用
钛合金结构件变进给工艺分析
基于本体的机械产品工艺知识表示
三医联动 协同创新