数控机床设计知识库系统的研究与开发*
2011-09-28刘婷婷汪惠芬
刘 钊 刘婷婷 汪惠芬
(南京理工大学机械工程学院,江苏南京 210094)
数控机床设计知识库是将机床设计过程中的设计经验知识、理论和实验方法、优化设计知识等重要的设计知识综合起来建立的一个完整的知识库,旨在帮助机床设计人员更好更快地完成机床的设计。
当前,欧美国家在研究知识库系统方面取得了很大的成果,国外对知识库系统的研究正向通用化、标准化、网络化和高度智能化方向发展[1]。在国内,许多大学和科研机构对知识库系统进行了研究与探索,但由于研究起步比较晚,仍有很多理论和应用问题需要去研究。在机械设计领域,知识库系统的研究也逐渐起步,主要研究集中在计算机辅助设计领域,涉及到设计知识、协同设计、虚拟设计等方面。刘晓冰等人采用面向对象的建模技术和方法对产品设计知识库建立方法开展了研究[2],王晓倩在硕士论文中探讨了机械产品设计知识库系统的研究,分析了机械产品设计知识的特点、类型及表示方法,并进行了推理机的设计[3]。但是针对数控机床设计知识库方面的研究却比较少。
我国现阶段的数控机床设计水平较之国外先进水平仍有很大差距,存在自主开发能力薄弱,专业化的配套体系不完善,功能部件发展滞后,产品自动化水平低,可靠性、精度保持性差等落后状况。各类机床厂设计的机床结构为确保设计的成功率,大多数利用以往的设计经验,模仿国内外成熟产品采用类比设计,较少有创新和突破。同时,在机床设计行业,数控机床设计知识以及设计经验的重用性和共享性差,机床设计知识库的研究尚在起步阶段,还有很长的路要走。
因此,在我国这样一个数控机床产量巨大,而核心技术又比较落后的国家,开展数控机床设计知识库方面的研究,建立完整准确的数控机床设计知识库,才能快速、低成本地开发出高速、高精度、高效率的机床产品,提高市场竞争力。
本文分析了数控机床设计知识的特点并对其进行了归纳和分类,采用面向对象的表示方法来表示机床设计知识,运用层次知识库结构思想划分实例库和规则库,应用元知识的方法实现知识管理和利用。成功地实现了知识获取、表示和维护,并运用SQL Server 2000和Visual Basic 6.0开发了数控机床设计知识管理系统,最后给出了应用实例。
1 数控机床的设计知识
数控机床设计知识的特点主要表现在以下几个方面:
(1)广泛性机床产品设计知识涉及范围广,与机床设计密切相关的知识主要包括工程技术、机械原理、机械设计、加工工艺、金属材料、理论力学、材料力学、人机工程学、工程制图和计算机辅助设计技术等,这些专业知识都是机床设计人员所要掌握的知识。
(2)隐含性机床产品设计知识有很大一部分是设计人员头脑中的经验、技艺和诀窍等,很难以显性化的方式表达出来,需要采用一定的方法激励设计人员以实现知识的共享。
(3)复杂多样性 机床产品设计领域知识类型多、内容复杂且多种多样,既有设计理论知识和专家设计经验,还有实践中不断发展着的设计知识。
由此可见机床设计知识库开发的难度很大程度上取决于对机床设计知识的归纳总结。依据理论学习和实际调研情况,可以将机床设计知识分为实例知识和规则知识,具体分类如图1所示。
实例知识主要是设计成功的机床产品、相应的设计经验以及机床动态特性分析知识等。机床设计实例具有可重用性,根据所要设计机床产品的功能、精度、性能等要求,分析查找先前设计成功的实例作为设计的重要参考,并依据设计经验做出需要的修改,将适用的设计思想和设计方法运用于当前的设计中。
规则知识是指在数控机床设计领域的设计理论知识,设计标准知识以及设计人员宝贵的设计经验等,将这些知识作为规则存储到规则库中,用于指导机床设计。这一部分相当关键,规则库中知识量的多少将直接影响解决问题的能力,所以应该建立激励机制,鼓励设计人员贡献出自己的知识,使隐性知识显化。将这些宝贵的设计经验知识放到知识库中实现知识共享。
2 数控机床设计知识的表示方法
知识表示是把从知识源获得的关于事实、判断和推理的知识进行归纳概括并建立起各种关系,然后将知识表达成计算机易于表达和利用的符号[4]。知识表示的常用方法有一阶谓词逻辑、产生式规则表示法、语义网络法、框架表示法和面向对象表示法等[5]。知识表示是实现知识存储和建立知识库的前提。根据上文中阐述的数控机床设计知识的特点,本文选用面向对象的知识表示方法,很好地实现了机床设计知识的表示。
面向对象的知识表示方法是以对象为中心,将对象的属性、动态行为和特征、相关领域的知识和数据处理方法等有关知识封装在表达对象的结构中,以便于数据的共享和再利用;而且面向对象方法的继承性体现了概念分离抽象,在对象继承结构上,下层对象继承上层对象的特征(属性和操作),因而便于知识的演化和增量式的扩充[6-7]。
2.1 机床产品设计知识抽象成类以及类间关系的表示
依据图1机床设计知识的分类,采用面向对象的知识表示方法,我们将机床设计知识抽象成两大基本类:机床设计实例知识类和机床设计规则知识类,在此基础上还可以再抽象出多个知识子类,例如实例知识类可以再分为机床系列实例类、关键零部件实例类、整机动态特性分析实例类和机床结合面特性实例类;设计规则知识类可以再抽象为总体设计方案规则类、部件设计规则类和零件设计规则类。根据实际情况还可以在子类的基础上再抽象子类的子类,然后根据情况具体化为对象。
在抽象成类的同时定义每一个知识类的属性和类与类之间的联系。用户在定义类的同时实现了知识类的属性定义和属性之间的关联定义,从而实现了类之间的关系模型。
对象类的抽象结构定义形式:
2.2 对机床设计知识类的管理
在将机床产品设计知识抽象成类以后,可以采用树形知识结构来对这些类进行管理。树形结构非常适合表达层次知识模型,这样就可以清晰地表达出类与类以及类与对象之间的层次关系。
在树形结构中,每一个节点表示一个类,知识节点之间存在明显的分支和层次关系。如图1机床设计知识分类所示,上层知识是对下层知识的概括和归纳,下层知识是对上层知识的细化、详述及扩展。树形结构一般具有以下几个特点:
(1)节点的层数可以是无限的;
(2)有1个或者几个根节点;
(3)每个根节点有大于或者等于0个子节点;
(4)每个节点最多只有1个父节点,有大于或者等于0个子节点。
2.3 按照面向对象的方法实现对机床设计知识的描述
数控机床设计实例知识和规则知识运用面向对象的表示方法可以描述如下。
(1)实例知识的表示
在面向对象的知识库中,可以描述如下:
实例知识:Object:<Object Name><Object ID><CLASS><ATTRIBUTE>。以导轨知识为例,Object<导轨LAH30EL><Guideway008><关键零部件><生产厂家:HWIN……>。
(2)规则知识的表示
在面向对象知识库中,单条规则主题由 IFTHEN两个部分组成。IF部分为一组前提或状态,THEN部分为若干结论或动作。规则的表示形式为:IF(前提1)&(前提2)&… THEN(结论1)&(结论2)&…。例如:IF(载荷大)&(转速低)THEN(选用滚子轴承)。
3 数控机床设计知识库系统的开发
知识库研究的重点之一是根据数控机床设计知识的特点及其表示方法来组织设计知识和经验的存储方法。为了有效地存储数控机床设计过程中使用的各种设计知识、方法和实例,采用面向对象建模技术和方法构建知识表达模型,将面向对象模型映射到关系数据库中[2],按照数据库的组织策略组织实例库和规则库。
3.1 知识库的结构
数控机床设计知识库的层次结构如图2所示。数控机床设计实例库按照知识库层次结构的分类特点,分为机床系列实例库、关键零部件实例库、整机动态特性分析实例库和机床结合面特性实例库等。规则库则由总体设计方案规则库、部件设计规则库、零件设计规则库和设计标准库等组成。
数控机床设计知识的层次性结构特点决定了知识库的层次结构。为了更好地管理这些设计知识,本文采用元知识的方法(元知识是关于知识的知识),建立元知识层(如图2中第二层),这样既可以方便地管理知识库中的知识,也便于知识的查询。
3.2 知识库系统的开发
在人与计算机交互进行知识的处理时,必须有一个能对知识进行系统化的组织与管理,能存储、查询和检索知识,以及能对知识进行增、减、删、改的机制,这就是知识库和知识库的管理系统。知识库管理系统是知识库系统的核心部分,实现对知识库的知识获取、知识查询、知识维护等功能。目前常用的知识库管理的方式主要有文件管理方式、框架系统管理方式、借用数据库管理系统方式以及专用知识库管理系统。考虑到将设计知识存入数据库中,使用数据库管理系统实现对知识的管理是一种成熟且容易实现的方法,本文采用借用数据库管理系统的方式来开发知识库管理系统。
知识库系统的原理简图如图3所示,按照面向对象的方法,机床设计知识抽象成类,并定义每个类的属性及类之间的关系,然后将其存储到知识类的SQL数据库中,用户可以运用ADO技术通过程序接口调用数据库。知识库管理系统界面用来向用户展示规则知识和实例知识的具体内容,实现知识获取、知识维护和知识查询等功能。知识获取有两种形式:一是由知识库管理系统直接输入知识库,二是由规则推理生成中间知识输入知识库中。知识维护主要实现对知识的删除与更新,及时清除冗余知识,更新知识库,是非常有必要的。为了保证知识库中输入知识的质量,需要通过知识检查技术对知识进行校验。这里的知识检查包括语法检查、冗余性检查和矛盾性检查。知识查询概括起来主要有两种方式:精确查询和模糊查询。以设计流程知识查询为例,既可以根据知识名称进行精确查询又可以根据关键词、设计要求等进行模糊查询。知识库管理系统还实现了知识库和推理系统的接口,这样就很好地实现二者的分离,提高系统的性能。推理系统采用了先实例推理,再规则推理的集成机制[8-9]。
4 数控机床设计知识库的运行实例
数控机床设计知识库管理系统是在SQL Server 2000和Visual Basic 6.0环境下开发的,能够实现知识添加、知识修改、知识删除和知识查询等管理功能。下面给出机床设计过程知识管理实例。
机床设计过程由总体方案设计、结构分析优化、部件及机构设计和零件设计组成。以主轴部件知识管理为例,用户可以通过知识维护界面(如图4所示)实现主轴部件设计知识的添加、修改和删除功能,其中用户可以上传设计知识相关的文件或工程图,存储于知识库中。设计人员可以通过知识查询界面查找设计需要的知识,方便快捷。知识查询界面如图5所示,设计人员既可以选择精确查询,根据知识名称、关键词和知识范畴精确查询所需要的设计知识,也可以使用模糊查询功能,输入所需要的内容进行匹配查询。查询结果会显示在界面的表中,使用者可以打开相应的记录查看,对更好更快地完成设计具有积极的意义。
5 结语
本课题研究与开发的数控机床设计知识库系统能够应用于一些规模较大的机床生产企业。该知识库以树状的知识结构清晰地组织了机床实例设计知识、关键零部件设计知识、动态特性分析知识、机床设计流程知识以及一些重要的设计规则知识和专家设计经验,能够方便地查看知识分类信息,进行全方位的知识检索以及调用一些推理结果以辅助机床的设计。该知识库系统依据机床企业设计人员的需求而设计,能够快速地融入到企业的实际应用中,提高企业的经济效益。
[1]徐洁馨,马玉书,范明.知识库系统导论[M].北京:科学出版社,2000.
[2]刘晓冰,杨春立,孙伟.产品设计知识库建立方法研究[J].计算机集成制造系统 CIMS,2003,8(8):621 -625.
[3]王晓倩.机械产品设计知识库系统研究[D].西安:西安建筑科技大学,2005.
[4]何新贵.知识处理与专家系统[M].北京:国防工业出版社,1990.
[5]TANIA CRISTINA.Knowledge engineering suite:a tool to create ontologies for automatic knowledge representation in Knowledge-based.sys-tems[M].Computers Science,2005.
[6]WALCZAK S.Knowledge acquisition and knowledge representation with class the object- oriented paradigm[J].Expert Systems with Applications,1998,15(3):235 -244.
[7]Yao Tsung Lin,S S Tseng,Chi- Feng Tsai.Design and implementation of new object- oriented rule base management system[J].Expert Systems with Applications,2003,25:369 -385.
[8]代荣,何玉林,杨显刚.基于摩托车智能设计的实例推理应用研究[J].西南大学学报:自然科学版,2007,29(9):163 -168.
[9]Marling CR,Petol G J.Integrating case-based and rule-based reasoning too meet multiple design constraints[J].Computational Intelligence,1999,15(3).