磁控溅射喷涂机器人示教轨迹优化控制方法

文档序号:2333163阅读:291来源:国知局
专利名称:磁控溅射喷涂机器人示教轨迹优化控制方法
技术领域
本发明涉及磁控溅射喷涂技术,具体地说,是一种磁控溅射喷涂 机器人示教轨迹优化控制方法。
背景技术
磁控溅射法又叫高速低温溅射法,是一种十分有效的薄膜沉积方 法,与蒸发法相比,具有镀膜层与基材的结合力强,镀膜层致密、均 匀。成份容易控制等优点。在微子、光学薄膜、材料等方面用于薄膜 的沉积、表面处理等。溅射是一个在离子与物质表面原子碰撞过程中 发生能量与动量转移、最终将物质表面原子激发出来的复杂过程。溅射过程中Ar+以几十电子伏以上的能量直接轰击材料表面,使其表面 原子获得足够的能量以克服表面東缚能,同时以一定的能量进入真空 中并沉积到基片表面。目前国内的真空磁控镀膜机的真空室还不够 大,不能加工结构复杂的基片。并且加工的基片形状基本上是固定的 几种样式,不能进行各种基片的加工,难以满足需求。机器人示教的主要功能在控制系统原有软件上已实现,但是机器 人位于不透明的真空仓内,在控制系统上进行示教操作时无法实时观 察机器人的实际运动状态,因而每次示教都需要两个人相互配合,一 人在控制系统旁搡作, 一人在机器人旁观察,十分不便,影响了机器 人示教的效果,也存在安全隐患。发明内容本发明针对上述不足,提供一种磁控裁射喷涂机器人示教轨迹优 化控制方法。本发明通过一个计算机(最好便携式电廣,伊j如笔记本电靡), 与控制系统相连,通过控制系统来控制机器入的运行。具体地说,通过计算机将获得的示教轨迹反解成机器人各轴运动 的数据,将该数据传输给控制系统,并通过控制系统控制机器人的运 行,使得被机器人抓着的溅射靶按照示教轨迹行走。为了保证数据的安全性,控制系统接收到由计算机传输的数据后 将该数据反馈给计算机,计算机将该数据进行复核。并且,可以在计 算机相关软件搡作窗口中显示出来。计算机每次传输的数据包括数据起始标记、传输数据长度、事件编号、结束标记等等,并且对于事件编号,在传输的消息中增加冗佘 信息,以备校验。由于串口传输的速率较低,不适于传输过长的数据,否则影响示 教操作的实时性,而且每次从接受缓冲区读取的数据长度不等,为此对每次传输数据的总长度限制为256个字节以内,并可规定数据的起 始标志(0xFF)和结束标志(0x00);此外,对于数据内的附加信息增加长度校验在数据传输过程中,数据接收最为关键,也是难点之所在。数据 接收端接受缓冲区清零,并将接收到的数据存入临时缓冲区。判断接 收数据缓冲区的数据格式是否正确,首先判断的起始位是否正确,然 后判断数据结東标志位是否正确,判断收到的数据长度是否正确,最 后验证事件编号是否正确(定义的事件编号与数据所在的字位相适 应,例如可以将事件编号所在的位置=事件编号+1,这样有利于校验), 其中如果有一个判断不满足条件,程序跣出,报错。如果收到数锯缓 冲区的数据正确则将数据传送给控制系统执行。对于示教轨迹,可以是曲面三维轨迹,其可参照如下方法获得 i)读取用三角形数据表示的曲面文件;2)用一个或多个平面切割曲 面,求得平面与三角形两边的交点;3)将获得的交点按照顒序播列, 即得到曲面三维轨迹。其中,步骤i)所述的用三角形数据表示的曲面文件为Stl文件。其中,步骤3所述的排序方法通过如下步骤实现假定用某一平 面S切割曲面,将与平面S相交的三角形数据建立单链表,每个三角 形数据用链表中的每一个结点表示,设链表指针为Sn, n=l,2,3,...,Max,设Sn所指向的结点中平面与三角形的交点为&和取任一结点中的两个交点,假设为Ai和Bi,以Ai为头结点,& 作为尾结点,建立新的链表,用Ai的值遍历链表,找到具有相同交 点的结点,假定为Sj,则下一个点为Bj,以此类推,从而得到以A, 作为头结点的链表,同样可以得到以Bi为尾结点的链表,将这两个 链表连接成一个链表,即得到平面S切割形成的连续排列的曲面三维 轨迹。用多个平面切割曲面时,将得到多个轨迹,将相邻两平面a、 b 切割得到的顺序排列的链表的首结点或尾结点相连,将平面b以及与 平面b相邻的另一平面c的尾结点或首结点相连,依次类推,将多个 平面切割得到的轨迹拟合成一个。为防止两结点间的具体超出真空电 机的运动极限而导致电机抱死,因而相在邻两平面两首结点或两尾结 点之间的直线上增加结点。将上面获得的三维轨迹用距离均匀的点来表示,这样有助于溅射 靶匀速行走,从而形成均匀的镀膜。例如可按照下述方法获得距离均 匀的点表示的三维轨迹假定需要将三维轨迹用固定距离为S的点表 示,假定用Al, A2, ...., An来表示三维轨迹中的各点,当Al与 A2之间的距离小于S时,舍弃A2点,再将A1与A3之间的距离与 S比较;当AI与A2两点间的距离大于S时,劑在A1与A2之阏插 入点B1, A1与B1之间的距离为S,再将B1与A2之间的距离与S 比较,以此类推。进一步,还可将轨迹末端沿着轨迹切线方向延长,由于可以使得 轨迹末端也能够均勾镀膜。通过控制溅射靶的行走轨迹可以使得磁控溅射镀膜机能够加工复杂基片,并且具有良好的精度和均匀性。


图l、笔记本电脑、控制系统以及机^^人的连接关系;图2、数据接受端(控制系统)的数据接收;图3、用某一平面a切割坐标系中三角形示意图;图4、用平面A切割曲面B (平面)示意图;图5、 Stl文件中三角形数据储存格式;图6、链表中各结点以及保存的交点示意图;图7、多条切割轨迹示意图;图8、轨迹末端延伸示意图;图9、多条轨迹拟合示意图;图10、用平面S切割曲面R示意图;图ll、链表中各结点以及保存的交点示意图。
具体实施方式
下面结合附图进一步说明本发明,但是一下实施例不应理解为对 本发明的限制,在不背离本发明精神和实质的情况下,对一下实施方 式所作的修改或替换均属于本发明的范围. 实施例l本例中,计算机采用目前常用的笔记本电脑,采用RS-232串行接 口将工控机和笔记本电脑相连,实现二者的交互。控制系统控制机器 人的运行,溅射靶安装在机器人的机械臂上。计算机将获得的轨迹数据反解成机器人各轴运动的数据,其数据格式如下;第O个字节OxFF 起始标志第1个字节ii 传输数据的长度(不包含结秉标志),n<256第2个字节ID 事件编号第3个字节ID
事件编号,IDI-1D............... 附加信息第n个字节0x00 结束标志 为便于事件的识别和处理,对所有相关的事件作了如下编号: 事件编号 事件意义1X向后2x向前3Y向右4Y向左Z向下6z向上v松开8v夹紧9A逆时针10A顺时针11B逆时针12B顒时针13C向下14C向上15开始16存储17导出18机器人各轴实时位置坐标显示25设^/显示位置步长26设^/显示姿态步长28定/显示乾号29设定/显示取/放乾30显示示教记录31显示提示信息32机器人停止33机器人返回34启动备轴坐标数据传输35禁止各轴坐标数据传输41设定/显示x轴速度42设定/显示Y轴速度43设定/显示z轴速度44设定/显示v轴速度45设^/显示A轴速度46设定/显示B轴速度47设定/显示C轴速度253串口已打开254串口已关闭为了保证关键数据通过串口传输的准确性和完整性,做了以下处理1. 对于笔记本电脑的设定信息(见笔记本电脑示教界面右側第二 列编辑栏),例如速度、步长、靶号等,工控机收到后将它在 相应的位置显示出来并将它返回给笔记本电脑,笔记本电脑收 到后则将它在旁边的编辑栏内显示出来,比较设定和返回数据 的就不难判断工控机收到的数据正确与否;2. 对于事件编号,在传输的消息中增加冗余信息,以备校验;3. 由于串口传输的速率较低,不适于传输过长的数据,否则影响 示教搡作的实时性,而且每次从接受缓冲区读取的数据长度不 等,为此对每次传输数据的总长度限制为256个字节以内,并 规定数据的起始标志(0xFF)和结束标志(0x00);4. 对于数据内的附加信息增加长度校验在数据传输过程中,数据接收最为关键,也是难点之所在。如图2所示,数据接收端启动程序,接受缓冲区清零(接受数据的长度 k=0),串口收到数据发生后延迟50亳秒,这样可以将接收到的数据 收齐,将接收到的数据存入临时缓冲区tmp,将收到数据长度存入临 时变量n。判断接收数据缓冲区的数据格式是否正确,铜如数据起始数据长度FFnIDID1J… 首先判断的起始位是否为FF,然后判断是否为数据结東标志位 00,判断收到的数据长度是否正确,最后验证事件编号ID是否等于 ID1,其中如果有一个判断不满足条件,程序跳出,报错》如果收到 数据缓冲区的数据正确则将数据传送给工控机执行。实施例2本例以Stl文件为源文件,来说明曲面三维轨迹的获得过程。读取sti文件Stl文件实际上是许多三角形的集合,它给出了每一个三角形的三个頭点的坐标和三角形的法向量。其数据存储格式如下所示 fecet normal 9.763660e-001-3.565955e-002 2,131615e-001 outer loopvertex-3.640531e+002 4 261792 e+(XB 4-675909 e+002 vertex-3.656961e+002 4.195778 e+003 4.640729 e+002 vertex-3.651771e+002 4.207171 e+0034.636015 e+002 endloop endfacet可以将stl文件中的数据读到设计好的单链表中去,单链表结点的可用如下格式表示 SttiMrt Tri油gle 《CPOINT N; /*法向量*/CPOINT A; /*顶点1*/CPOINT B; /=*顶点2*/CPOINT C; /*顶点3*/float f—MaxX f—MinX; /*最大和最小X坐标*/ floatf一MaxY, f一MinY; /*最大和最小Y坐标*/ float f—MaxZ,f_MinZ; /*最大和最小Z坐标*/ struct Triangle* next;
);
读取的程序的编码可采用的是由C4+标准委员会提供的输入输 出接口函数,读取在Stl文件中的所有三角形的值,直到把所有的值 都写入到设计的单链表中去。 切割曲面
实际中的曲面是不规则的空间曲面,为了把空间中的曲面转化为 计算机能够识别和认识的数据,我们把空间中的曲面用很小的三角形 进行拼凑,使得用许多平面三角形拼凑的空间曲面近似于实际的曲
面。这些三角的顶点和法向量数据都保存到了 stl文件中。现在所有
的三角形的数据都已经写入到了单链表中了。
用空间中的平面去切割实际中的不规则曲面,对于计算机来说就 是用平面切割那个近似曲面。实际上是求空间三角形和空间平面的交
点*如图3所示。空间平面的y坐标是已知的,三角形的两条边的空 间直线方程根据公式可以求出。 公式如下=[(y-yl)/(yl-y2)]=[(Z-zl)/(Zl-z2)]=t
由于知道空间平面坐标的y值,故交点的Y坐标值是已知的,
根据直线方程可以求出直线参数方程中的来知数t,交点的x和z坐
标就可以求出。由于默认三角形为平面,所以三角形上的点的法向量 和三角形的法向量保持一致。所求的点的数据可保存到如下的结构体

struct CROSS (
CPOINTnomi[2]; //法向量 CPOINT P[2]; #只能有两个交点 itrt NoOfTriangle; //三角形的索引号CROSS*next;
排序
当空间的平面和三角形相交得到交点所构成的链表是一个无序 链表,也就是说链表中的任意一点,它的左右邻居点并不是它在数模 中的左右邻居点。举例说明如下
假设有一个空间曲面A (为简单起见,以空间平面举例)。它由 8个三角形表示,用一平面B截A即得到c到k九个点。由于得到的 Stl文件中的三角形并不是如图4所示那样排序的,面是任意排序的, 如图5所示。
这种排序方式不满足我们要求,必须把各点的顒序调整到图4中 所示的顺序。
一种可行的方法是采用三角形拓扑排序法,其原理如下由于一 个完整的曲面被 一形平面三角形近似的拼成的这三角形除了在边远 处的之外,其它三角形的一条边是两个三角形所共有的。
在用平面截三角形求交点的过程中,这些交点(除边缘处之外) 都保存了两次。因而利用相关性就可以排序。
如图4所示平面B与③号三角形所交得到交点e和f,并倮存 在一个链表结点中,而平面B又与④号三角形所交得到交点f, g, 并保存。说明f点被保存二次。如图6所示。
假设④号三角形的交点是这个链表的头接点。我们分别取出f和 g并以g为头结点,f为尾结点建立新的链表,通过用f的值来遍历 整个链表,找到③号三角形,得到f的下一个点为e。以此类推,我 就可以得到C—d"^f这个链表。同样的方法可以得到g为顶点的 链表g—h—i—k。然后合并两个链表就可以得到所需要的链表。
再如假定用某一平面S切割曲面R,将与平面S相交的三角形 数据建立单链表,每个三角形数据用链表中的每一个结点表示,设链 表指针为Sn, n=i,2,3,...,Max,设Sn所指向的结点中平面与三角形的交点为An和B^取任一结点中的两个交点,假设为Ai和Bi,以A 为头结点,Bi作为尾结点,建立新的链表(临时链表),用A,的值遍 历链表,找到具有相同交点的结点,假定为Sj,则下一个点为Bj,以 此类推,从而得到以Ai作为头结点的链表,同样可以得到以Bi为尾 结点的链表,将这两个链表连接成一个链表,即得到平面S切割形成 的连续排列的曲面三维轨迹。
如图IO所示,平面S切割曲面R, S将与曲面上的5个三角形 相交,这五个三角形分别为Sl、 S2、 S3、 S4、 S5,在Stl文件中Si S5 并不是顺序排列的,将这些三角形数据建立一个单链表,如图11所 示,每个三角形数据用链表中的每一个结点表示,设链表指针为分别 为S1、 S2、 S3、 S4、 S5,设Sn所指向的结点中平面与三角形的交点
为An和Bn,取任一结点中的两个交点,假设用A4和B4,以A4为头
结点,B(作为尾结点,建立新的链表(临时链表),用A4的值遍历链
表,找到与A4值相同的点B3,说明A4与B3表示的为同一点,在B3 所在的结点中,还存在另外一点即As, A3与B3为同一三角形与平面 相交的点,因此A3与B3相邻,因而下一个点为A3,以此类推,从而 得到以A4作为头结点的链表,同样可以得到以B4为尾结点的链表,
将这两个链表连接成一个链表,即得到平面s切割形成的连续排列的 曲面三维轨迹。
按照上述方法即可获得排序的链表,即曲面的三维轨迹. 差补链表中的点
上面所得到的链表上两两相邻两点的距离是不均匀的,由于工艺 的要求需要保证点与点的距离是定值。本例采用的差补方式为直线差
补。仍用上例来说明问题。假设得到排序链表c —d—e—f4g—h—i —j—k 规定两点之间的距离为S,当c萝id的距离大于S时,在c 与d之间加入dl点,并计算dl到d的距离与S的关系。如大于继续 加点,如小于S拋弃d, dl与e比较,以此类獍得到一个两点距离均匀的链表。 轨迹的延伸
为了保证空间曲面边缘的镀膜的均匀性,轨迹路线相对于空间曲
面需要有一个延长量。如图7所示,假设用平面截三角形获得二条空 间的轨迹路线ab和cd,如果直线从a过渡到c或者从b过渡到d, 这都会导致边缘镀膜过厚,所以通过延长cd和ab曲线,在从延长点 e到h或f到g,这对边缘的影响较小,延伸的方法可采用按切线方 向进行延伸,如图8所示。假设A、 B点为链表中的最边缘处所截得 的两个点,以A、 B点的坐标建立直线方程,根据所要求的外延量求 出点C,即当溅射靶移动到C点处时,不会对曲面产生镀膜,在C 与A之间等进行直线差补,得到距离均匀的点的集合。
按照理论要求,外延的直线应该是曲线在点A处的切线方向, 并不是直线AB,在此我们冲艮据实际工程做了近似。由数学定理可知, 由AB确定的直线在曲线AB上必有一点,该点的切线与AB确定直 线是平行的。由于AB之间距离很小,AB的曲率变化很小,所以在 AB上任选一点做切线,与在点A处求得切线是近似平行的。如图8 所示。 拟合曲线
用多个平面切割曲面后,得到的是一条条链表,而溅射靶行走轨 迹路线应该是一条完整的曲线,所以必须把各条的链表合成一个,如 國9所示。两链表相连中,例如在链表l与链表2的表各相连中,由 于1到2的距离可能超过真空电机的运动极限而导致电机抱死,产生 中途停车的现象,所以在链表1与2相连过程中,有必要在两链表相 连的两结点间插入适当的点,以使得两点之间的距离在真空电机的运 动极限范围之内。补入的点可以以两个链表头的坐标建立直线方程, 按照一定的距离,进行等距的差分。
由于上述方法得到各个点的数据是在直角坐标系下的值,通过反解公式,把坐标数据转化为机器人各个电机的运动数据。下载数据到
pmac卡中,由pmac控制电机实际的运动。
基于上述方法,控制溅射靶按照获得的三维轨迹行走,通过实验 表明可以对多种复杂的基片进行镀膜,并取得了良好的镀膜效果。
权利要求
1、磁控溅射喷涂机器人示教轨迹优化控制方法,其特征在于,通过计算机将获得的示教轨迹反解成机器人各轴运动的数据,将该数据传输给控制系统,并通过控制系统控制机器人的运行,使得被机器人抓着的溅射靶按照示教轨迹行走。
2、 如权利要求l所述的方法,其特征在于,控制系统接收到由 计算机传输的数据后将该数据反馈给计算机,计算机将该数据进行复 核-
3、 如权利要求!或2所述的方法,其特征在于,计算机每次传 输的数据包括数据起始标记、传输数据长度、事件编号、结東标记。
4、 如权利要求3所述的方法,其特征在于,工控机接收到数据 后,对数据的有效性进行校验,包括验证数据起始标记是否正确、结 束标记是否正确、数据长度是否正确以及事件编号是否正确,若判断 全部正确,则执行该数据,若其中任一环节错误,鄉清除该数据,并 重新接收数据。
5、 如权利要求3所述的方法,其特征在于,所述每次传输的数 据的总长度限制小于等于256个字节。
6、 如权利要求l所述的方法,其特征在于,所述示教轨迹为曲 面三维轨迹,其通过如下方法获得l)读取用三角形数据表示的曲 面文件;2)用一个或多个平面切割曲面3)将平面与三角形两边的 交点按照顺序排列,即得到曲面三维轨迹。
7、 如权利要求6所述的方法,其特征在于,用某一平面S切割 曲面,将与平面S相交的三角形数据建立单链表,每个三角形数据用 链表中的每一个结点表示,设链表指针为Sn, n-l,2,3,…^Max,设SB所指向的结点中平面与三角形的交点为An和Bn,取任一结点中的两个交点,假设为Ai和Bi,以Ai为头结点,Br作为尾结点,建立新的 链表,用A的值遍历链表,找到具有相同交点的结点,假定为Si,则下一个点为Bj,以此类推,从而得到以Ai作为头结点的链表,同 样可以得到以Bi为尾结点的链表,将这两个链表连接成一个链表, 即得到平面S切割形成的连续排列的曲面三维轨迹.
8、 如权利要求7所述的方法,其特征在于,将相邻两平面a、 b 切割得到的顺序排列的链表的首结点或尾结点相连,将平面b以及与 平面b相邻的另一平面c的尾结点或首结点相连,依次类推,将多个 平面切割得到的轨迹拟合成一个。
9、 如权利要求7所述的方法,其还包括用距离均匀的点来表示 获得的三维轨迹。
10、 如权利要求7任一项所述的方法,其还包括将轨迹末端沿着 轨迹切线方向延长。
全文摘要
本发明提供了一种磁控溅射喷涂机器人示教轨迹优化控制方法,其特征在于,通过计算机将获得的示教轨迹反解成机器人各轴运动的数据,将该数据传输给控制系统,并通过控制系统控制机器人的运行,使得被机器人抓着的溅射靶按照示教轨迹行走。实验表明利用本发明可以对多种复杂的基片进行镀膜,并取得了良好的镀膜效果。
文档编号B25J9/16GK101224576SQ20081000692
公开日2008年7月23日 申请日期2008年1月25日 优先权日2008年1月25日
发明者刘爱斌, 邓中亮 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1