关键词:机器人,模块,基于事例推理,智能CAD
1引言
模块化思想在柔性加工系统中得到日益广泛的重视.欧美有关研究机构从80年代末就开始对模块机器人的研究,早期主要侧重于模块本身的研制,而近期则偏重于模块机器人应用领域的开拓[1~5]。
模块机器人的研究可分为3个不同的领域,即模块机器人硬件的研究、控制的研究和根据不同应用的计算机辅助设计,迄今为止的大多数研究侧重于前两个领域的研究.目前,商业化的标准模块(模块关节和模块连杆)已经面市.模块机器人的出现无疑为柔性加工系统提供了更多的选择机会,但随之而来的问题是任务对象的千变万化、工作环境的不同,加之模块机器人的可随意组合——即模块机器人拓扑关系、模块关节及模块连杆的无穷组合,模块机器人设计成为具有挑战性课题摆在我们面前。
机器人计算机辅助设计课题一直为人们所关注,B. O. Nnaji,在1986年出版了“机器人计算机辅助设计、选择与评价”的专著[6].他对可能组成机器人的4个关节的运动范围、速度进行分度编码,并对执行器,关节驱动单元、关节控制单元、设计参数等共89个参数进行了定性或定量地(16 分度)规定.Nnaji还对如何根据设计要求确定相关代码给出了程序流程,这为机器人计算机辅助设计开创了先河.K-H Wurst 在开发模块机器人的同时也给出了选择模块的一般原则[1].前者的研究主要针对一般机器人如何根据设计参数确定代码,从而确定满足设计要求的机器人拓扑关系和结构参数,这在设计新型机器人时有着一定的指导意义。
作为模块机器人的概念化计算机设计,其指导思想与Nnaji 的设计有以下不同之处,一是模块机器人的组成有一定的限制,即有限关节模块和无限连杆的可选择性;二是Nnaji的设计方案是针对机器人设计专业人员开发的,这需要设计人员具备有机构运动学、动力学、计算机控制以及对机器人的深入了解,而我们所开发的计算机辅助设计系统的用户对象是机器人用户,而非机器人专家.换言之,我们的系统是面向用户,而不是面向机器人的设计者.从用户使用角度来讲,他没有必要了解模块机器人的内部详细构造和运作,他只需要了解和描述该机器人所从事的任务和应该具备的性能,从这个意义上讲,该系统是以任务为驱动,或者说是面向任务的.由上述区别所产生的新的区别还在于,计算机辅助设计系统和数据结构不同.辅助设计系统必须有足够的智能,以进行自上而下的设计,这就要求该系统应具备足够深度的知识,以描述模块与模块机器人的功能、性能和结构(Function, Behavior and Structure,缩写为FBS),描述机器人应承担的任务和所处的环境,以及在任务-功能-结构的映射过程中的知识.这一设计智能化的要求对系统数据结构提出了更加苛刻的条件,一般关系数据库的数据结构已经不能满足其设计需要.关于以面向对象为特征的机器人知识建模可参见文献[7].
2 模块机器人
专用机器人的高效、精确和低应用成本已在规模化工业生产中得到充分体现,但面对未来多变化和小批量的柔性生产需求来讲,专用机器人的设计周期和制造成本都成为亟待解决的难题.模块化概念的引入到机器人设计为柔性加工系统注入了新的活力,选择适当的模块机器人拓扑关系和标准模块,迅速组成模块机器人是缩短机器人设计周期和降低制作成本的有效途径,模块化机器人将成为未来柔性加工系统中最重要的设备之一。
2.1标准模块
顾名思义,模块机器人由模块——即由模块关节和模块连杆组成.模块一般应具有标准化的机械与电气接口用于模块间连接,具有一到三个自由度的模块关节由直流或交流电机驱动,并集成有减速机构和控制器.无自由度的模块连杆仅用于模块关节之间的连接.不同长度的模块连杆和不同方位的标准接口,使得模块关节之间的连接能满足对机器人不同运动学和动力学要求.图1给出了由Wurst开发的标准模块的示意.一自由度的关节模块可以是摇摆或平动,二自由度的关节可以是回转与摇摆、平动与回转和平动与摇摆.同一类型的关节可以有不同的驱动机构,以适应不同的运动与动力学要求,但可选择的余地是有限的.关节的长度可以根据实际要求制作。
2.2 模块机器人拓扑关系
从理论上讲,使用同一类型的标准模块可以构成无数不同拓扑关系的机器人.但从实际应用角度出发,一个满足六自由度空间运动要求的串连机器人(图1的标准模块仅限于串连机器人),由不超过4个多自由度的关节模块和3个连杆模块组成.若考虑到终端执行器本身具有的三自由度,对操作器的自由度的要求还会降低.图2给出了由标准模块组成的几种常见串连机器人拓扑关系[1].图2(a)所示的六自由度模块机器人为最典型的工业机器人拓扑关系,它能满足大多数工业应用要求.这种类型的机器人的优点在于能在它的工作空间回避障碍,但对某些应用,它并不是最佳拓扑关系.对于执行器运动空间要求不大的机器人,如流水线上的装配机器人,图2(b)、(d)和(e)所示的机器人应用较多.其余所示机器人的应用则相对较少。
3 模块机器人的计算机辅助设计
模块机器人的计算机辅助设计,可以遵循Nnaji或其他专家提出的设计流程进行设计,但使用这些方法的前提是该用户必须是机器人领域的行家里手,用户必须精通机器人运动学、动力学、机器人控制,以及熟悉现有机器人产品的结构和性能.这正是大多数计算机辅助设计软件不能得到普及和应用的主要障碍,也与现代概念设计方法和面向用户和对象的软件设计思想格格不入.我们研究的目的在于,根据模块机器人设计的特点,提出面向用户、基于事例的方法和计算机辅助设计系统,使得模块机器人的计算机辅助设计不再为领域专家所专有.
3.1 模块机器人设计的特征
就模块机器人计算机辅助设计而言,最终用户的设计并非对所有机器人的关节和连杆进行结构设计,而是根据给定任务确定机器人最佳拓扑关系、关节和连杆参数,以确定选用标准的模块,组成满足任务要求的模块机器人,这是典型的机械系统概念化设计.面向用户的现代软件的设计指导思想确定了辅助设计软件的使用者是最终用户,而不是机器人或计算机领域的专家[8].事实上,用户根本不需要成为机器人设计的行家,也没有必要对机器人结构及其控制的细节作深入了解.用户惟一关心的,就是在辅助设计软件的应用界面上,正确地确定机器人欲完成的任务,描述其工作环境,输入模块机器人应该具备的功能和应达到的性能、以及某些限定性约束条件.作为计算机辅助设计系统推理的结论,机器人的结构,即拓扑关系和模块参数,成为满足新任务要求的新的技术方案.换言之,模块机器人概念化设计应是以任务为驱动、自上而下的设计过程.
机器人所从事的任务决定了机器人应具备的功能和性能要求.在这里需要强调的是,机器人的拓扑关系决定了机器人功能,而关节特性和连杆长度及质量则会影响机器人的性能.换言之,在机器人拓扑关系确定的情况下,该机器人的功能就已经确定,而不同的关节和连杆参数仅会影响机器人的性能.这一假设使模块机器人的任务-功能-结构之间的双向映射成为可能.
3.2 智能计算机辅助设计方案的选择
现代计算机辅助设计的发展趋势向着软件智能化方向发展,以面向用户和面向对象为特征的智能化设计软件是以知识库为依托、计算机进行推理为主线索。
一种基于事例的计算机推理(Case-Based Reasoning,缩写为CBR)过程应用于复杂系统的概念化设计,可以把寻求新的技术方案与已有的成功设计事例紧密地联系在一起[9].作为一种类似人类设计过程的方法,基于事例的设计有效地利用了已有的成功经验,大大缩短了寻求最终解决方案的时间.采用基于事例的设计思想的好处还在于简化了智能系统中的知识,过滤了许多低层的元知识,突出了与任务相关的上层知识,使得知识的表达、存储和索引更加简洁和清晰,解决了基于元规则推理时可能出现“组合爆炸”的潜在隐患。
智能软件面向用户的特征,不仅在于界面友好的形式要求,更重要的是软件的使用者仅是该领域的一般工程技术人员,而非该领域的行家里手.以任务为驱动、自上而下的设计应成为智能设计的主线索,但所谓自上而下的设计并非设计系统的惟一策略.在任务-功能-结构的映射不能奏效时,基于元知识、自下而上的正向推理则有助于产生新的机器人结构,以满足新的功能要求和适应新的任务要求,这会增加系统知识和推理机制的复杂程度.自下而上的设计对最终用户是透明的,用户并不会被要求对机器人内部结构的细节加以了解。
此外,因为模块机器人所从事的任务、所处的工作环境的不断变化,以及不断增长的模块机器人的组成,导致了系统知识的不断变更和膨胀.为了消除可能导致系统崩溃的数据混乱,面向对象的数据结构是解决这一潜在问题的唯一选择.研究模块机器人对象的功能、性能和结构之间的关系是模块机器人计算机辅助设计中最重要的环节.作为事例的数据抽象,对象类的成员数据和方法的可封装、继承和重载特性,使得用户可以有效地定义或开发各种复杂对象,这对于大型工程问题所涉及的知识、数据和方法的定义和应用是至关重要的.面向对象的设计思想用于智能CAD,导致了系统中知识的表示和组织不同于一般基于规则的推理机制中的知识表示.综上所述,根据模块机器人概念化设计的特征,选择以任务为驱动、面向对象和基于事例推理的计算机辅助设计系统,采用自上而下的推理策略是进行模块机器人概念化设计的最佳选择.
4 模块机器人概念化设计CAD系统
图3给出了模块机器人概念化设计的CAD系统示意图.图4给出了基于事例推理的CAD系统流程.领域专家作为系统的设计和维护者,将成功的模块机器人的事例(对象)按照功能与性能进行分层索引,该树状索引图直接用于支持推理的知识库.用户通过人机界面输入机器人即将从事的任务、工作环境和约束.任务编译器将输入映射为对机器人功能和性能的指标,作为推理机进行索引的标签.推理机首先根据功能要求在树状知识库中进行相关匹配候选.满足基本功能要求和部分满足性能要求的模块机器人将被作为候选者,而性能最接近的模块机器人将被选出.由于被选出的模块机器人在性能上未必能满足新的工作要求,适当的修改再所难免.由于决定模块机器人功能的机器人拓扑关系已经确定,所进行的适应性修改仅仅是选择适当的关节和连杆模块.改变模块参数后的前向计算容易确定新的机器人的性能,这实际上是一个优化过程,其优化的目标是使该机器人的功能和性能与完成新任务所需的功能和性能的差别最小.通过模拟得到用户确认的最优模块机器人结构将作为系统的输出,并增加到事例库中。
在匹配过程中如果没有适当的候选者产生,则系统首先要求用户修订对任务的说明,如放松约束或降低性能要求,以利于回调相关机器人.系统在不能回调相关模块机器人时,会向领域专家征询进一步的知识,以求解决新的任务.若在有限循环次数后仍不能回调相关事例,则系统调用综合过程,从模块库中综合新的机器人拓扑关系.
系统任务描述界面如图5所示(略),用户可以从3个属性界面上对机器人作业基本任务、工作环境和约束进行描述.例如,一机器人在一平面空间进行弧焊任务,焊头Welder重为3.5kg,最大工作范围在平面500mm×450 mm的范围内,焊头能在X平面内偏转,轨迹类型为连续,焊头Welder从给定点PStart,经轨迹Path_1,到结束点PEnd.对工作空间可以用图形方式加以直观定义和显示,对轨迹的描述可以是数组或图形方式.工作环境描述主要包括对系统坐标系统定位、相关设备、传感器等的定义.约束条件指的是对机器人作业时其他约束,诸如对执行器的最大速度、加速度、机器人定位精度、重复精度、制作成本、使用成本等因素的考虑.
5 结束语
本文旨在根据模块机器人概念化设计的特点,将基于事例推理应用到模块机器人的智能设计中.辅助设计系统的智能化在于面向对象的知识表示和基于知识和事例的推理机制引入.本研究得到香港政府研究基金委员会1996~1999年度的资助(项目编号9040222).