模块机器人及计算机辅助设计
摘要:本文利用新一代计算机辅助设计方法,开展模块机器人的设计方法论和CAD系统的研究,旨在提出解决柔性加工系统的计算机辅助设计智能软件的思路和框架.本文以模块机器人的设计为突破口,提出了以面向任务为特征、基于事例的设计方法在机械概念化设计中的应用.论文中介绍了近年来发展迅速的模块机器人的标准模块和基本拓扑关系,根据模块机器人概念化设计的特征,结合人工智能应用中基于事例的推理机制,提出了面向任务和基于事例的计算机辅助设计方法和应用软件的框架,以及实现自上而下的计算机推理的流程.文中还介绍了面向用户的机器人任务和工作环境的表示.
关键词:机器人,模块,基于事例推理,智能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开发的标准模块的示意.一自由度的关节模块可以是摇摆或平动,二自由度的关节可以是回转与摇摆、平动与回转和平动与摇摆.同一类型的关节可以有不同的驱动机构,以适应不同的运动与动力学要求,但可选择的余地是有限的.关节的长度可以根据实际要求制作。
图1 标准模块
2.2 模块机器人拓扑关系
从理论上讲,使用同一类型的标准模块可以构成无数不同拓扑关系的机器人.但从实际应用角度出发,一个满足六自由度空间运动要求的串连机器人(图1的标准模块仅限于串连机器人),由不超过4个多自由度的关节模块和3个连杆模块组成.若考虑到终端执行器本身具有的三自由度,对操作器的自由度的要求还会降低.图2给出了由标准模块组成的几种常见串连机器人拓扑关系[1].图2(a)所示的六自由度模块机器人为最典型的工业机器人拓扑关系,它能满足大多数工业应用要求.这种类型的机器人的优点在于能在它的工作空间回避障碍,但对某些应用,它并不是最佳拓扑关系.对于执行器运动空间要求不大的机器人,如流水线上的装配机器人,图2(b)、(d)和(e)所示的机器人应用较多.其余所示机器人的应用则相对较少。
图2 模块机器人拓扑关系
3模块机器人的计算机辅助设计
模块机器人的计算机辅助设计,可以遵循Nnaji或其他专家提出的设计流程进行设计,但使用这些方法的前提是该用户必须是机器人领域的行家里手,用户必须精通机器人运动学、动力学、机器人控制,以及熟悉现有机器人产品的结构和性能.这正是大多数计算机辅助设计软件不能得到普及和应用的主要障碍,也与现代概念设计方法和面向用户和对象的软件设计思想格格不入.我们研究的目的在于,根据模块机器人设计的特点,提出面向用户、基于事例的方法和计算机辅助设计系统,使得模块机器人的计算机辅助设计不再为领域专家所专有.