250 likes | 453 Views
工业机器人. 湖北工业大学 机械工程学院 主讲:张铮. 第 2 章 工业机器人的运动学. 2.1 齐次坐标及对象物的描述 2.2 齐次变换及运算 2.3 工业机器人连杆参数及其齐次变换矩 2.4 工业机器人运动学方程. 2.1 齐次坐标及对象物的描述. 一、点的位置描述 在选定的直角坐标系 {A } 中 , 空间任一点 P 的位置可用 3×1 的位置矢量 p 表示 , 其左上标代表选定的参考坐标系. px p= py pz.
E N D
工业机器人 湖北工业大学 机械工程学院 主讲:张铮
第2章 工业机器人的运动学 • 2.1 齐次坐标及对象物的描述 • 2.2 齐次变换及运算 • 2.3 工业机器人连杆参数及其齐次变换矩 • 2.4 工业机器人运动学方程
2.1 齐次坐标及对象物的描述 一、点的位置描述 在选定的直角坐标系{A }中,空间任一点 P 的位置可用3×1的位置矢量 p 表示,其左上标代表选定的参考坐标系 px p= py pz 式中:p x 、p y 、p z 是点P在坐标系{A}中的三个位置坐标分量,如图
二、齐次坐标 如用四个数组成的(4×1)列阵 Px P= Py Pz 1 表示三维空间直角坐标系{A}中点P,则列阵[ Px Py Pz 1] 称为三维空间点P的齐次坐标。 必须注意,齐次坐标的表示不是惟一的。我们将其各元素同乘一非零因子 w 后,仍然代表同一点P,即 Px a P = Py = b Pz c 1 w 式中: a = wpx; b= wpy; c = wpz。
三、坐标轴方向的描述 如图所示,i、j、k分别是直角坐标系中X、Y、Z坐标轴的单位向量。若用齐次坐标来描述X 、Y 、Z 轴的方向,则 X=[1 0 0 0] T Y=[0 1 0 0] T Z=[0 0 1 0] T 从上可知,我们规定: (4×1)列阵[ a b c 0] T中第四 个元素为零,且 a2 + b 2+ c 2=1, 则表示某轴(某矢量)的方向; (4×1)列阵[ a b c w ] T 中第四个 元素不为零,则表示空间某点的位置。 图中矢量 v 的方向用(4×1)列阵可表达为v=[a b c 0] T a=cosα, b=cosβ, c=cosγ 图中矢量v所坐落的点O为坐标原点,可用(4×1)列
例2-1 用齐次坐标写出图2-3中矢量 u 、v、w 的方向列阵。 解 矢量 u: cosα =0, cosβ =0.7071067, cosγ =0.7071067 u=[0 0.7071067 0.7071067 0] T 矢量 v: cosα =0.7071067, cosβ =0, cosγ =0.7071067 v=[0.7071067 0 0.7071067 0] T 矢量 w: cosα =0.5, cosβ =0.5, cosγ=0.7071067 w=[0.5 0.5 0.7071067 0] T
四、动坐标系位姿的描述 动坐标系位姿的描述就是对动坐标系原点位置的描述以及对动坐标系各坐标轴方向的描述。 1.刚体位置和姿态的描述 设有一刚体Q,如图2-4所示,O′为刚体上任一点,O ′ X ′Y ′Z ′为与刚体固连的一个坐标系,称为动坐标系刚体Q在固定坐标系OXYZ中的位置可用齐次坐标形式的一个(4×1)列阵表示为: x0 p= y0 z0 1
刚体的姿态可由动坐标系的坐标轴方向来表示。令n 、o 、a分别为 X ′、Y′、 Z′坐标轴的单位方向矢量,每个单位方向矢量在固定坐标系上的分量为动坐标系各坐标轴的方向余弦,用齐次坐标形式的(4×1)列阵分别表示为 n=[nx ny nz 0] T, o=[ox oy oz 0] T, a=[ax ay az 0] T 因此,图2-4中刚体的位姿可用下面(4×4)矩阵来描述: nx ox ax x0 T=[n o a p]= ny oy ay y0 nz oz az z0 0 0 0 1 很明显,对刚体 Q 位姿的描述就是对固连于刚体 Q 的坐标系 O′ X ′Y ′Z′位姿的描述。
例2-2 图2-5表示固连于刚体的坐标系{B}位于OB点, xb=10,yb=5,zb=0。ZB轴与画面垂直,坐标系{B}相对固定坐标 系{A}有一个30°的偏转,试写出表示刚体位姿的坐标系{B}的(4×4)矩阵表达式。 解 XB的方向列阵: n=[cos30°cos60°cos90°0] T =[0.866 0.500 0.000 0] T YB的方向列阵: o=[cos120°cos30°cos90°0] T =[-0.500 0.866 0.000 0] T 0.866 -0.500 0.000 10.0 T T= 0.500 0.866 0.000 5.0 0.000 0.000 1.000 0.0 0 0 0 1 ZB的方向列阵: a =[0.000 0.000 1.000 0] T 坐标系{B }的位置列阵: p =[10.0 5.0 0.0 1] T 所以,坐标系{B}的(4×4)矩阵表达式为
2.手部位置和姿态的表示 机器人手部的位置和姿态也可以用固连于手部的坐标系{B}的位姿来表示,如图所示。 手部的位姿可用(4×4)矩阵表示为: nx ox ax px [ n o a p ]= ny oy ay py nz oz az pz 0 0 0 1
例2-3 图表示手部抓握物体 Q ,物体为边长2个单位的正立方体,写出表达该手部位姿的矩阵式。 解 因为物体 Q 形心与手部坐标系 O ′X ′Y′ Z′的坐标原点 O ′相重合,所以手部位置的(4×1)列阵为 p = [ 1 1 1 1 ] T 手部坐标系X′轴的方向可用单位矢量n来表示: α=90°,β=180°,γ=90° n: nx=cosα=0 ny=cosβ=-1 nz=cosγ=0 同理,手部坐标系 Y′轴与 Z ′轴的方向可分别用单位矢量 o 和 a 来表示,根据式(2-8)可知,手部位姿可用矩阵表达为 0 -1 0 1 T=[n o a p]= -1 0 0 1 0 0 -1 1 0 0 0 1
2.2齐次变换及运算 刚体的运动是由转动和平移组成的。为了能用同一矩阵表示转动和平移,有必要引入(4×4)的齐次坐标变换矩阵。 一、平移的齐次变换 首先,我们介绍点在空间直角坐标系中的平移。如图所示,空间某一点A ,坐标为( x , y ,z),当它平移至A′点后,坐标为(x′,y′,z′) x′=x+Δx y′=y+Δy z′=z+Δz 或写成: x′ 1 0 0 Δx x y′ = 0 1 0 Δy y z′ 0 0 1 Δz z 1 0 0 0 1 1 也可以简写为 A′=Trans(Δx,Δy,Δz)A 式中: Trans ( Δx , Δy , Δz )表示齐次坐标变换的平移算子。
例2-4 有下面两种情况(如图所示)动坐标系{A}相对于固定坐标系的 X 0、Y 0、Z0轴作(-1,2,2)平移后到{ A ′};动坐标系{A}相对于自身坐标系(即动系)的X、Y、Z轴分别作(-1,2,2)平移后到{A ″}。已知 写出{ A ′} {A ″}矩阵表达式。 0 -1 0 1 A= -1 0 0 1 0 0 -1 1 0 0 0 1 解 动坐标系{A }的两个平移坐标变换算子均为 1 0 0 -1 Trans(Δx,Δy,Δz)= 0 1 0 2 0 0 1 2 0 0 0 1 { A ″}坐标系是动系{A }沿自身坐标系作平移变换得来的,因此算子右乘,{ A ″}的矩阵表达式为 {A′}坐标系是动系{A}沿固定坐标系作平移变换得来的,因此算子左乘,{A′}的矩阵表达式为 A′=Trans(-1,2,2) A 0 -1 0 0 = -1 0 0 3 0 0 -1 3 0 0 0 1 A″=ATrans(-1,2,2) 0 -1 0 -1 = -1 0 0 2 0 0 -1 -1 0 0 0 1
二、旋转的齐次变换 首先我们介绍点在空间直角坐标系中的旋转,如图2-10所示,空间某一点A,坐标为(x,y,z ),当它绕 Z 轴旋转θ角后至 A ′点,坐标为( x ′, y ′, z ′)。 A ′点和 A 点的坐标关系为: x′=cosθx-sinθy y′=sinθx+cosθy z′=z 或用矩阵表示为 x′ cosθ -sinθ 0 x y ′ = sinθ cosθ 0 y z′ 0 0 1 z A ′点和 A 点的齐次坐标分别为[ x ′ y ′z ′1] T和[ x y z 1 ] T , 因此A点的旋转齐次变换过程为 x′ cosθ -sinθ 0 0 x y′ = sinθ cosθ 0 0 y z′ 0 0 1 0 z 1 0 0 0 1 1 a′=Rot(z,θ)a Rot ( z,θ)表示齐次坐标变换时 绕 Z 轴的旋转算子,算子左乘表示相对于固定坐标系进行变换
下图所示为点A绕任意过原点的单位矢量k旋转θ角的情况, kx, ky, kz分别为 k 矢量在固定参考系坐标轴 X 、Y 、Z上的三个分量,且 kx 2 + ky 2 + kz2=1。 可以证得,绕任意过原点的单位矢量k转θ角的旋转齐次变换公式为 kxkxversθ+cθ kykxversθ-kzsθ kzkxversθ+kysθ 0 Rot(k,θ)= kxkyversθ+kzsθ kykyversθ+cθ kzkyversθ-kxsθ 0 kxkzversθ-kysθ kykzversθ+kxsθ kzkzversθ+cθ 0 0 0 0 1 式中: versθ=1- cosθ;θ值的正负号由右手螺旋法则决定。上式称为一般旋转齐次变换通式,它概括了绕X、Y、Z轴进行旋转齐次变换的各种特殊情况。
三、平移加旋转的齐次变换 平移变换和旋转变换可以组合在一个齐次变换中, 点W若还要作4i-3j+7k 的平移,则如图2-14所示,只要左乘上平移变换算子,即可得到最后 E 点的列阵表达式 e=Trans(4,-3,7)Rot(y,90°)Rot(z,90°) u ③ ② ① 1 0 0 4 0 0 1 0 7 = 0 1 0 -3 1 0 0 0 3 0 0 1 7 0 1 0 0 2 0 0 0 1 0 0 0 1 1 0 0 1 4 7 6 = 1 0 0 -3 3 = 4 0 1 0 7 2 10 0 0 0 1 1 1 0 0 1 4 1 0 0 -3 0 1 0 7 0 0 0 1 其中, 为平移加旋转的一般齐次变换矩阵。
2.3 工业机器人连杆参数及其齐次变换矩阵 一、连杆参数及连杆坐标系的建立 如图1所示,连杆两端有关节 n 和 n +1。该连杆尺寸可以用两个量来描述:一 个是两个关节轴线沿公垂线的距离an,称为连杆 长度; 另一个是垂于an的平面内两个轴线的夹 角 αn,称为连杆扭角。这两个参数为连杆的尺 寸参数。 再考虑连杆 n 与相邻连杆 n -1的关系,若它们通过 关节相连,如图2所示,其相对位置可用两个参数 dn和θn来确定,其中dn是沿关节n轴线两个公垂线 的公距离,θn是垂直于关节n轴线的平面内两个公 垂线的夹角。这是表达相邻杆件关系的两个参数。 图1 图2
二、连杆坐标系之间的变换矩阵 建立了各连杆坐标系后,n-1系与n系间的变换关系可以用坐标系的平移、旋转来实现从 n -1系到 n 系的变换,可先令 n -1系绕 Zn-1轴旋转θn角,再沿 Zn-1轴平移 dn,然后沿 Xn轴平移an,最后绕Xn轴旋转αn角,使得n-1系与n系重合。于是连杆n的齐次变换矩阵为: An= Rot(z,θn) Trans(0,0,dn) Trans(an,0,0) Rot(x,αn) ① ② ③ ④ cθn -sθn 0 0 1 0 0 an 1 0 0 0 = sαn cαn 0 0 0 1 0 0 0 cθn -sθn 0 0 0 1 0 0 0 1 dn 0 sαn cαn 0 0 0 0 1 0 0 0 1 0 0 0 1 cθn -sθncαn sθnsαn ancθn = sθn cθncαn -cθnsαn ansθn 0 sαn cαn dn 0 0 0 1
2.4 工业机器人运动学方程 一 机器人运动学方程 通常把描述坐标系与下一个连杆间的相对关系的齐次变换矩阵叫做A变换矩阵或A矩阵。如果A1矩阵表示第一个连杆坐 标系相对于固定的坐标系的位置,A2矩阵表示第二个连杆坐标系相对第一连杆坐标系的位置,那么第二个连杆坐标系 在固定坐标系中的位置可用A1和A2的乘积来表示:T2 =A1A2。 若A3矩阵表示第三个连杆坐标系相对于第二个连杆坐标系的位置,则有:T3=A1A2A3。如此类推,对于六连杆机器人,有下列T6矩阵:T6=A1A2A3A4A5A6 。 计算结果T6是一个(4×4)矩阵,即 nx ox ax px T6= ny oy ay py nz oz az pz 0 0 0 1 式中:前三列表示手部的姿态;第四列表示手部的位置。
二、正向运动学及实例 1.平面关节型机器人的运动学方程 下图1所示为具有一个肩关节、一个肘关节和一个腕关节的SCARA机器人。机器人连杆的参数如表1所示,机器人坐标系图2所示。 图1 图2 表1
该平面关节型机器人的运动学方程为 T3=A1A2A3 式中: A1表示连杆1的坐标系{1}相对于固定坐标系{0}的齐次变换矩阵; A2表示连杆2的坐标系{2}相对于连杆1的坐标系{1}的齐次变换矩阵; A3表示连杆3的坐标系即手部坐标系{3}相对于连杆2的坐标系{2}的齐次变换矩阵。参考图2,于是有 A1 = Rot(z0,θ1)Trans(l1,0,0) A2 = Rot(z1,θ2)Trans(l2,0,0) cθ1 -sθ1 0 l1cθ1 cθ2 -sθ2 0 l2cθ2 = sθ1 cθ1 0 l1sθ1 = sθ2 cθ2 0 l2sθ2 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 A3 = Rot(z2,θ3)Trans(l3,0,0) cθ3 -sθ3 0 l3cθ3 = sθ3 cθ3 0 l3sθ3 0 0 1 0 0 0 0 1 c123 -s123 0 l3c123+l2c12+l1c1 T3= s123 c123 0 l3s123+l2s12+l1s1 0 0 1 0 0 0 0 1
T3是A1、A2、A3连乘的结果,表示手部坐标系{3}(即手部)的位置和姿态。 nx ox ax px T3= ny oy ay py nz oz az pz 0 0 0 1 px l3c123+l2c12+l1c1 P= py = l3s123+l3s12+l1s1 pz 0 1 1 于是,可写出手部位置(4×1)列阵为 表示手部姿态的方向矢量n、o、a分别为 nx c123 n = ny = s123 nz 0 0 0 ox -s123 o = oy = c123 oz 0 0 0 ax 0 a = ay = 0 az 1 0 0 当转角变量θ1、θ2、θ3给定时,可以算出具体数值。
2.斯坦福机器人的运动学方程 表2-3斯坦福机器人杆件参数 斯坦福机器人手臂坐标系 矩阵 Ai。{1}系与{0}系是旋转关节连接,如上图(a)所示。坐标系{1}相对于固定坐标系{0}的Z0轴的旋转为变量θ1,然后绕自身坐标系X1轴作α1的旋转变换,α1=-90°。所以 c10-s10 A1=Rot(z0,θ1)Rot(x1,α1)= s10c10 0-100 0001 同理得A2,A3,A4,A5,A6。
这样,所有杆的 A 矩阵已建立。如果要知道非相邻杆件间的关系,只要用相应的 A 矩阵连乘即可。如: c5c6 -c5s6 s5 Hs5 4T6 = A5A6 = s5c6 -s5s6 -c5 Hc5 s6 c6 0 0 0 0 0 1 3T6=A4A5A6 2T6=A3A4A5A6 1T6=A2A3A4A5A6 则斯坦福机器人运动学方程为 0T6=T6=A1A2A3A4A5A6 方程右边的结果就是最后一个坐标系{6}的位置和姿态矩阵,各元素均为 θ和d 的函数,当θ和d给出后,可以计算出斯坦福机器人手部坐标系{6}的位置p 和姿态 n、o、 a。这就是斯坦福机器人手部位姿的解,这个求解过程叫做斯坦福机器人运动学正解。