《浅析工业机器人的坐标转换矩阵算法.docx》由会员分享,可在线阅读,更多相关《浅析工业机器人的坐标转换矩阵算法.docx(26页珍藏版)》请在第一文库网上搜索。
1、浅析工业机器人的坐标转换矩阵算法摘要:本文主要阐述笔者在使用史陶比尔六轴工业机器人进行激光加工的过程中总结出的一种计算方法,该方法基于线性代数理论对机器人的关节坐标和笛卡尔坐标进行相互转换。这种方法易于理解,既不要求机器人编程者掌握高深的数学知识,也不要求编程者购买价格昂贵的机器人模拟软件,可以实现六轴工业机器人位置的笛卡尔坐标与关节坐标的相互转换求解。通过实例验证,用此方法计算出的机器人关节坐标值,和史陶比尔机器人得出的关节坐标值相差在千分之一以内。关键词:工业机器人,坐标转换O概述工业机器人是面向工业领域的多关节机械手。关节坐标系和世界坐标系是工业机器人的两个基本坐标系,两者之间相互转换的
2、算法是机器人算法的基础。各机器人厂家有各自的算法,但不会向使用者详细介绍,所以机器人使用者往往不易更加深入了解机器人的内部算法,这在某种程度上对机器人的编程使用造成了一定的难度。本文浅显地论述了一种矩阵算法,可以加深机器人使用者对机器人工作原理的理解,对其在进行机器人编程、选型购买、方案设计等工作时起到一定的帮助作用。此方法获得的结果与实际机器人自身的运行结果高度吻合,验证了此方法的正确性。1机人坐标系1.1关节坐标系图1关节坐标系关节坐标是工业机器人最基本的坐标系。如图1所示的工业机器人具有六个自由度,j1,j2,j3,j4,j5,j6这六个自由度给定六个关节的角度值(单位为。,旋转方向如图
3、1中箭头方向所示)。习惯上将这六个自由度叫作机器人的六个轴。1.2世界坐标系世界坐标系如图2所示,是一种笛卡尔坐标系,它类似于一般数控机床的机床坐标系。它包括原点和符合右手定则的XYZ三个坐标轴。其中,原点是机器人底座的中心点,X轴正向指向机器人的正前方,Z轴指向机器人的正上方,Y轴由右手定则规定,即指向如图2所示的右方。世界坐标系同样具有六个自由度。这六个自由度包括三个位置X,y,z和三个角rx,ry,rz。在机器人尚未夹持工具的情况下,x,y,z代表第六轴法兰盘圆心相对于原点的位置偏移量。rx,ry,rz代表第六轴法兰盘的轴线角度,由初始姿态即竖直向上绕Z轴旋转rz度,再绕y轴旋转ry度,
4、再绕X轴旋转rx度得到。图2世界坐标系1.3工具坐标系图3机器人第六轴法兰盘工具坐标系类似于数控机床的刀补。首先,在机器人尚未夹持工具(如焊枪、油漆喷头等)的时候,机器人默认第六轴法兰盘的中心位置(如图3所示)为工具坐标原点,相应的X轴、Y轴在法兰盘平面内,Z轴由右手定则决定,即为第六轴的轴线。如果机器人手臂末端需要安装工具的时候,使用者不再关心机器人第六轴法兰盘的位置和角度,而更关心焊枪、油漆喷头等工具最终的位置和角度,这时,就需要对工具坐标系进行赋值。工具坐标系记录执行工具的尺寸信息,其中包含too1x,too1y,too1z三个位置偏移信息和too1rx,too1ry,too1rz三个角
5、度旋转信息、。这即说明,最终工具的工作点相对于图3所示的原点的位置偏移量为too1x,too1y,too1z,工具的工作轴线是绕相对于图3坐标系中的Z轴旋转rz度,再绕y轴旋转ry度,再绕X轴旋转rx度得到。例如,本项目使用激光头作为工具,如图4所示,激光头的几何尺寸如图5所示。激光头的几何尺寸经过计算,激光头对应的工具坐标即为:too1x=15.097;too1y=0;too1z=307.405;too1rx=0;too1ry=35;too1rz=0o(实际中,机器人厂家可以通过五点示教的方法对工具坐标进行赋值,在此不再赘述)。图4机器人与工具(激光头)图5激光头的关键几何尺寸2线性代数理论
6、基础众所周知,在平面几何中,在平面XY中某一向量,值为,如果将此向量逆时针旋转度,根据线性代数理论,其旋转后的坐标值为Cos(O)Sin(O)-Sin(O)CoS(O)x()yo同理,在立体几何中,如图6(a)所示,某一向量的值为如果将此向量绕Z轴逆时针旋转0度,根据线性代数理论,其旋转后的坐00图6坐标系旋转一sin(8)CoS(8)标值为cos()sin(6f)如图6(b)所示,某一向量的值为xO0,如果将此向量绕Y轴逆时针旋转。度,根据线性代数理论,其旋转后的坐标值为Cos(O)sin(8)-sin(0)COS(夕)如图6(C)所示,某一向量的值为Ov,如果将此向量绕X轴逆时针旋转0度,
7、根据线性代数理论,其旋转后的坐标值为COS()sin(O)-sin()CoS(03已知关节坐标求解世界坐标3.1 机器人尺寸和关节坐标与直角坐标不带工具坐标系的机器人初始状态,即各关节j1,j2,j3,j4,j5,j6(单位为度)为。度位置,如I7所示(图中长度数据单位为mm)。图7机器人关键尺寸和初始姿态当关节坐标j1,j2,j3,j4,j5,j6不为零时,机器人的工作状态如图8所示。图8机器人的一般工作姿态3.2 不带工具坐标系的角度公式对于图7所示的初始位置,机器人的第六轴竖直向上,指向Z轴正方o-O1向,用向量表示此方向为1o而对于某个工作位置(图8),是由第一二三四五六各轴旋转角度为
8、j1,j2,j3,j4,j5,j6得到的。六个轴的旋转分六步。第六轴先旋转j6角度,相当于绕Z轴逆时针旋转j6度后,第六轴Z轴指向变为CoS(/6)sin(/6)0一sin(6)cos(6)O五轴旋转j5角度后,第六轴Z轴指向相当于向量OOOXO11再绕X轴顺时cos(76)-sin(6)sin(6)cos(6)OOcos(y6)Xsin(6)0-sin(6)cos(6)0针再旋转j5角度,用向量表示cos(5)0sin(5)0I0-sin(5)0cos(5)第四轴的旋转j4角度相当于上述向量再绕Z轴逆时针旋转j4角度,第三轴的旋转相当于再绕X轴逆时针旋转j3角度,第二轴的旋转相当于再绕X轴逆
9、时针旋转j2角度,第一轴的旋转相当于绕Z轴逆时针旋转j1角度,最终向量表示为cos(1)-sin(y1)0cos(y2)0sin(2)sin(y1)cos(y1)0X010X001-sin(y2)0cos(y2)cos(3)0sin(3)cos(4)-sin(y4)0010Xsin(4)cos(y4)0X-sin(3)0cos(y3)001cos(y5)0sin(5)cos(y,6)-sin(y,6)0010Xsin(6)cos(6)0。-sin(y5)0cos(5)001为了方便起见,不妨采用以下简化记法:cos(1)-sin(y1)0Ej1矩阵=sin(yi)cos(y1)0001COS(
10、J2)Osin(y2)U2矩阵=O1O-sin(j2)Ocos(2)cos(3)Osin(3)S3矩阵二O1O-sin(3)Ocos(y,3)j4矩阵二j5矩阵二U6矩阵二j2矩阵!j3矩阵!j4矩阵!j5矩阵!j5矩阵仃6矩阵!COS(/4)sin(y4)Ocos(5)-Sin(75)COS(J6)sin(6)=U1矩阵=j1矩阵=j1矩阵X=Ej1矩阵X=j1矩阵仃5矩阵j6矩阵j2矩阵j2矩阵仃2矩阵j2矩阵j2矩阵-sin(y4)cos(4)OOSin(J5)Ocos(5)-Sin(J6)cos(6)j3矩阵j3矩阵XU3矩阵j3矩阵X在7不带工具坐标的情况下,对于关节坐标为(j1,j
11、2,j3,j4,j5,j6)的位置时,第六轴Z轴指向为j6矩阵!Xoj4矩阵j4矩阵Xj4矩阵XO1而在世界坐标系中,角度rx、ry、rz代表第六轴法兰盘轴线先后绕Z轴、Y轴和X轴旋转的角度。记:100Erx矩阵=0cos(rr)0sin(rx)cos(,)0-sin(7:v)cos(rx)sin(n)Ery矩阵=0I0-SinQy)0cos(n9cos(rz)sin(rz)0rz矩阵=-sin(rz)cos(z)0001r矩阵=rx矩阵Xry矩阵Xrz矩阵。即,对于世界坐标(x,y,z,rx,可,rz),是指第六轴轴线指向变为:OO1Erx矩阵ry矩阵Xrz矩阵X1。因此,已知关节坐标(j1
12、,j2,j3,j4,j5,j6)求世界坐标系中的角度问题,即求rx、ryrz的公式为:rx矩阵Xry矩阵Xrz矩阵二j6矩阵!(D例如,当关节坐标为(10,20,30,40,50,60)时,求其世界坐标角度值rxryrzocos(10)-sin(10)0cos(20)0sin(20)1cos(30)0sin(30)sin(10)cos(10)0010010.00Ij-sin(20)0cos(20)J-sin(30)0cos(30)cos(40)-sin(40)01cos(50)0sin(50)-cos(60)-sin(60)0sin(40)cos(40)0010sin(60)cos(60)00
13、01100-sin(50)0cos(50)JCoS(Zy)0sin(1001cos(rz)-Sin(rz)Or=0cos(nr)-sin(r)sin(*z)COS(N)00sin(rx)cos(rx)sin(rv,)0cos(ry)J1O1此方程展开后含有rx,ry,rz三个未知数及三个方程,因而可求。3.3 不带工具坐标系的位置公式机器人由六个关节组成,末端手臂的位置向量是这六个关节位置向量的矢量和。对于项目中的史陶比尔机器人,各关节的尺寸已知,如图7所示,不妨记x1=150,z2=825,z3=132,z4=625-132=493,z5=110o第一关节:在j1角度为O的情况下,位置向量是在X轴正向偏移X1x1OO距离,而只角度不为零时,位置向量则为j1矩阵X10-O第二关节:在j1,j2角度皆为O的情况下,位置向量是1J,而j1,j2不为零的时候,位置向量则为OOj2矩阵!1z2Jo(注意这里的j2矩阵!二只矩阵Xj2矩阵。)第三关节:j1,j2,j3不为零时,位置向量为0Oj3矩阵!1z3Jo第四关节:j1,j2,j3,j4不为零时,位置向量为0-O仃4矩阵!X1。第五关节:j1,j2,j3,j4,j5不为零时,位置向量为Oz5j5矩阵!1jo第六关节:对于最终位