An experiment has been performed to verify the proposed approaches. An assembly of three components is assembled. The experimental results prove the feasibility of the proposed system. The system is ready to be used for automated assembly operations. However, there are still many open issues to be solved in order to achieve fully automated assembly. For example, currently, the position of parts is assured by a special fixture on the worktable. Now a CAD-based image processing model is under
development. It is expected that, with the aid of the image-processing model, the system can deal with parts with random positions and orientations.
机器人控制和装配计划相结合的精密机械手
摘要
本文研究了如何实现对两个手指精密机械手进行自动装配操作。提出了一个多层次装配支持系统。在任务规划层的基础上,计算机辅助设计(CAD)模型、装配序列最先产生,必要的技能信息也从此分解而得。装配顺序为在技能分解层的机器人技能。这些技能,在机器人控制层进行管理和执行。实验结果表明了该系统的可行性和有效性。、 关键词 机械手;装配计划;程序分解;自动装配
1简介
由于微电子机械系统(MEMS)技术,许多产品都变得非常小而复杂的,如麦克风,微光学元件,微流体生物医学设备,创造增加了对微型零件的自动化精密装配技术和系统的需求。在半自动化或自动化装配中,许多努力都是以微组装技术为重点。然而,高灵活性,效率高和可靠性好的微组装技术,还是有待深入研究。这篇文章研究了如何实现对两个手指微操作机械手自动装配操作。提出了一个多层次装配支持系统。
自动装配是一个复杂的问题,可能涉及许多不同的问题,如任务计划,装配顺序的产生,执行和控制等等。它可以简单地分为两个阶段:装配计划和机器人控制。在装配计划阶段,生成装配所需的信息,如装配顺序。在机器人控制阶段,由装配计划阶段产生的信息驱动机器人,并控制装配作业。程序可以作为装配计划到机器人控制的接口。基于程序基元的几个机器人系统已有报道。这些系统背后的基本理论是机器人编程。机器人的动作被指定为技术单元,在此基础上,装配的任务是手动编写程序。通过这些程序,机器人被控制去自动完成组装任务。
一个以程序为基础的微操作系统已经在作者的实验室完成,它可以实现许多显微操作。在该系统中,装配任务被手动分成技能顺序,并且编译成一个文件。再导入文件到系统中,系统可自动执行装配任务。本文试图探讨一个好用,并且简单的顺序代法,以减轻手工编程的负担。
它是一种有效的方法,从几何计算机辅助设计(CAD)模型确定装配顺序。许多方法已经被提出。本文采用一种简单的方法来生成装配序列。它与低层次的CAD数据模型结构无关,并且可以与许多商业CAD软件包提供应用程序编程接口(API)相连。在提出的方法中,不同的组件之间的关系图是首先通过分析装配模型而建立,然后,在图的基础上搜
索可能的顺序。根据某些标准,最终得到最优顺序。
把装配顺序分解成机器人技术顺序,有些作品被报道。在Nnaji et al.的作品中,按照事先确定的格式,装配任务命令被扩展到更详细的命令,它可以作为机器人技术出现。Mosemann和Wahl的分解方法是基于自动生成装配计划的图表AND/OR的分析。本文提出了一种方法来指导程序分解。零件的装配过程分成不同的阶段,并且部件处于不同的状态。具体的工作流程使部件从一个状态到另一个状态。每个工作流程与一个程序发生器相连。根据工作流程不同有开始状态和目标状态,程序生成器产生一系列的命令,使部件进一步到达它的最终状态。
这里提出了系统的层次结构,如图1所示。关于如何通过多个层次利用机器人组装产品的转配信息。最上层是装配任务计划。任务计划和命令生成所需要的信息从CAD模型中提取,并保存在数据库中。 在CAD模型的基础上,装配任务顺序生成。在命令分解层,任务分解为程序序列。生成的程序在机器人控制层管理和执行。
2任务计划
程序是不能直接使用在装配计划阶段,而是使用任务。一个任务可以完成了装配的一系列操作,例如,从通过移动部件定位一个部件,到和另一个部件进行组装。换句话说,一个任务包括许多功能,它们可能通过几个不同程序来完成。一个任务是定义为: T =(基础部件,组装部件,操作)
Base_Part和Assembly_Part是两个部件组装在一起。 Base_Part固定在工作台上,而Assembly_Part是通过机器人的抓取,组装到Base_Part上。操作描述了Assembly_Part与Base_Part如何组装。
操作∈{Insertion_T,screw_T,align_T ,...}.
对微细结构通常是简单的,他们可以通过实体几何(CSG)来建立模型。目前,许多商业CAD软件包支持3D CSG建模。装配模型包含两个部件,具有一定的装配关系——定义如何将这两个部件进行组装。在CAD模型中,这种关系被几何约束条件限定。几何信息不能直接用于指导装配操作,我们能从CAD模型装配操作所需的必要信息。
通过搜索装配CAD模型中定义的装配树和几何关系(配偶关系),我们可以生成一个零件之间的关系图。在图中,节点表示零件。如果节点连接,这意味着在连接的节点(零件)有装配关系。
2.1装配方向
在CSG中,两个零件之间的关系,几何约束,最终表示为平面与线条之间的关系,如共线、共面、相切、垂直等。轴与孔的装配,两个零件之间的装配关系包含两个约束:轴Lc_shaft的中心线与孔Lc_hole的中心线共线,平面P_Hole 与平面P_Shaft共面。
装配方向是一个装配操作的关键问题。本文采用以下方法在几何约束的基础上计算可能的装配方向(以图3所示的轴孔操作为例子):
1.对关系图中的一个零件,计算其每一个几何约束的剩余自由度,也称分离度。对于共面,剩余的自由度为R1??x,y,Rotz?。对于共线,剩余自由度为R2??z,Rotz?。R1 R2 也可以表示为R1??1,1,0,0,0,1? R2??0,0,1,0,0,1?。在这里,1表示是有两部分之间有一个的分离度。R1?R2??0,0,0,0,0,1? ,因此,绕Z轴旋转的自由度度在下面的步骤将被忽略。 还会出现一种循环关系在关系图中,例如图中的part5,part6和part7 ,在计算装配方向之前,循环关系必须打破。假设在CAD模型的各个部分都完全约束,而不是过度约束,采用下面简单的方法。循环中的partt,利用公式计算个数 Nti?Ri1?Ri2?...?Rin,这儿的Rik是指在零件parti约束下的剩余自由度,举个例子,在图2中,Upart5,part7和Upart6,part7中1s的个数分别大于Upart5,part6和Upart6,part5,那么可以认为零件part7的位置是由part5和part6两部分约束确定的,5,并且零件part5和零件part6可以通过它们之间的约束而完全约束。在图中我们可以把零件part5和part6结合到一点,也叫复合节点。复合节点将被视为一个单独的部分,但很明显,复合节点意味着装配顺序。
2.在关系图中为所有节点的计算装配方向。再次,举个例子,轴孔装配的起始状态,在一个分离度中以一定的距离分离零件(大于最大公差),然后检查是否发生干扰。在R1的x轴与y轴的分离造成轴与孔的干扰。Z轴正方向的分离不会造成干扰。因此,选择z轴正方向作为装配方向,就是矢量M在装配坐标系统的测量。应该指出的是,在某些情况下,对于一个零件可能有几个可能的装配方向。对于装配方向即将结束的装配操作应该放在首位。装配状态时,在装配方向上,零件之间发生接触,可以通过几何约束很简单的检查出来,最后位置通过压力传感器测量,而位置信息作为最终条件。
3.计算抓的位置。在本文中,是通过两个独立探针来抓取操作零件,这将在第四部分进行讨论,而且抓取考虑零件的面或边缘。在这种情况下会有几个装配方向,通过G1∩G2∩...∩Gi寻找抓取平面,这儿的Gi指当零件处于自由状态时第i个装配方向上可能的抓取面或边。例如,在图4中,对面P1/P1',P2/P2'和P3/P3'都可以作为抓取平面,抓取平面为末端执行器接近的方向作为抓取平面的法向矢量量。很明显,并非所有平面上所有点都可以抓取。下面的方法用来确定抓面积。末端执行,器用长方体作为模型,首先添加到CAD模型中,与抓取平面共面或者相切。一开始在装配方向上抓取的边远离Base_Part,在装配方向上沿着抓取平面移动末端执行器直到末端执行器完全抓取零件,抓取平面与末端执行器完全接触,或发生碰撞。记下这条边及移动的距离,两者都是在零件的坐标系统中测量而得。
4.沿着装配方向逐步分离两个零件,同时检查在其他自由度的干扰,直到在其他自由度上没有干扰发生。显然一定的分离距离能保证在每一个自由度都不发生干扰。这就是所谓的装配方向上的安全长度。这个长度是用于无碰撞路径计算,这将在下一节讨论。
相关推荐: