工业机器人运动学-数学基础课件_第1页
工业机器人运动学-数学基础课件_第2页
工业机器人运动学-数学基础课件_第3页
工业机器人运动学-数学基础课件_第4页
工业机器人运动学-数学基础课件_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章工业机器人运动学

引言

要实现对工业机器人在空间运动轨迹的控制,完成预定的作业任务,就必须知道机器人在空间瞬时的位置与姿态。如何计算机器人手部在空间的位姿是实现对机器人的控制首先要解决的问题。本章讨论机器人运动学的基本问题,将引入齐次坐标变换。推导出坐标变换方程;利用DH参数法,进行机器人的位姿分析;介绍机器人正向和逆运动学的基础知识。

主要内容

数学基础——齐次坐标变换机器人运动学方程的建立(正运动学)机器人逆运动学分析1.1引言(Introduction)

机器人操作涉及到各物体之间的关系和各物体与机械手之间的关系。这一章将给出描述这些关系必须的表达方法。类似这种表示方法在计算机图形学中已经解决。在计算机图形学和计算机视觉中,物体之间的关系是用齐次坐标变换来描述的。在本课程我们将采用齐次坐标变换来描述机械手各关节坐标之间、各物体之间以及各物体与机械手之间的关系。本章首先介绍向量和平面的表示方法,然后引出向量和平面的坐标变换,这些变换基本上是由平移和旋转组成,因此可以用坐标系来描述各种物体和机械手的空间位置和姿态。稍后还要介绍逆变换,逆变换是运动学求解的基础。a0vzyxzyxpcb0uEH图1.1点向量的描述•1.2点向量和平面的描述(Notationofpointvectorsandplanes)

1.2.1点向量(Pointvectors)点向量描述空间的一个点在某个坐标系的空间位置。同一个点在不同坐标系的描述及位置向量的值也不同。如图1.1中,点p在E坐标系上表示为Ev,在H坐标系上表示为Hu,且v≠u。一个点向量可表示为v=ai+bj+ck

通常用一个(n+1)维列矩阵表示,即除x、y、z三个方向上的分量外,再加一个比例因子w,即

v=[xyzw]T其中a=x/w,b=y/w,c=z/w。

改变比例因子w,则分量a、b、c的数值相应改变,但描述的还是同一个点向量。如v=3i+4j+5k

可表示为

v=[3451]T=[68102]T=[-3-4-5-1]T

在向量中增加一个比例因子w是为了方便坐标变换中的矩阵运算。已知两个向量

a=axi+ayj+azkb=bxi+byj+bzk(1.1)向量的点积是标量。用“·”来定义向量点积,即

a·b=axbx+ayby+azbz(1.2)向量的叉积是一个垂直于由叉积的两个向量构成的平面的向量。用“×”表示叉积,即a×b=(aybz¯azby)i+(azbx¯axbz)j+(axby¯ayby)k(1.3)可用行列式表示为

ijka×b=axayaz(1.4)

bxbybz

H空间的变换是由4×4矩阵来完成的,它可以表示平移、旋转、扩展和透视等各种变换。如已知点u(在平面p上),它的变换v(在平面q上)用矩阵积表示为

v=Hu(1.7)

其中H为4×4变换矩阵,u和v为4×1的点列向量,相应的平面p到q的变换是

q=pH-1(1.8)其中H-1为H的逆阵,p和q为1×4的平面行向量。经变换后的平面向量q与点向量v的点乘为

q·v=pH-1·Hu=p·u(1.9)

与变换前平面p与点u的点乘相等,证明了变换的等效性。1.3变换(Transformation)1.4平移变换(Translationtransformation)用向量h=ai+bj+ck

进行平移,其相应的H变换矩阵是100a010bH=Trans(abc)=001c(1.10)

0001因此对向量u=[xyzw]T,经H变换为向量v可表示为

x+awx/w+ay+bwy/w+bv=z+cw=z/w+c(1.11)w1可见,平移实际上是对已知向量u=[xyzw]T与平移向量h=[abc1]T相加。【例1.1】对点向量u=[2321]T

进行平移,平移向量为h=[4-371]T,则平移后的向量为v=[6091]T,或100426010―330v=H∙u=00172=9000111点向量的平移过程如图1.3所示。对平面的平移则用H-1进行变换,如对平面

p=[100-2]

进行H变换为平面q,则根据变换原理有100-4

0103

q=pH-1=[100-2]001-70001

=[100-6]

平面p=[100-2]是y-z平面沿x正方向移动2个单位形成的平面(图1.3),点u=[2321]T是平面p上的一个点,它们的点乘p∙u=0。经H变换后的平面q=[100-6]是y-z平面沿x正方向移动6个单位形成的平面,点v=[6091]T是平面q上一个点,平面q与点v的点乘也应是零,即q∙v=0,说明变换前后的结果不变,证明H变换是正确的。u•0zyx3P22图1.3点向量的平移•v69qp【例1.2】点u=7i+3j+2k,它绕z轴旋转90°为v,经式(1.14)变换得到(sinθ=1,cosθ=0)0-1007-3100037v=Rot(z,90°)=00102=2000111起始点u和终点v如图1.5所示。如将v点再绕y轴旋转90°得到w。用式(1.13)变换得到

-10002=3000111

结果如图1.6所示。如果将上述两次旋转结合起来,写成一个表达式得到

w=Rot(y,90°)v=Rot(y,90°)Rot(z,90°)u用两个变换矩阵Rot(y,90°)、Rot(z,90°)和起始点u代入上式计算的结果与前面分两次计算的结果相同。2•uzyx•v0图1.5Rot(z,90°)

yuv0zx•w••图1.6Rot(y,90°)Rot(z,90°)27为此,先将点u绕z轴旋转90°,然后再绕y轴旋转90°,我们得到

00100-100720100100037w=Rot(y,90°)Rot(z,90°)u=-100000102=30001000111如果按着逆序旋转,首先绕y轴旋转90°,然后再绕z轴旋转90°,其结果为

0-10000107-31000010032w=Rot(z,90°)Rot(y,90°)u=0100-10002=-70001000111逆序旋转的结果如图1.7所示。显然,变换的顺序不同,其结果也不同。这从矩阵相乘是不可交换的(AB≠BA)也可以得到证明。如对经过两次旋转变换得到的点向量w再进行一次平移(平移向量为h=[4-371]T),则可得到如图1.8所示的点向量n。变换过程如下100426010-374n=Trans(4,-3,7)w=00173=10000111zuv0yx•w••图1.8Trans(4,-3,7)Rot(y,90°)Rot(z,90°)•••n72w0zyx•••u图1.7Rot(z,90°)Rot(y,90°)2-7v这个新坐标系的x、y、z轴的方向分别是[0,1,0,0]T、[0,0,1,0]T和[1,0,0,0]T,它是由单位向量的H变换减去这个坐标原点的向量得到的。这些方向向量相应于变换矩阵的前三列(见式(1.15))。可见,H变换矩阵描述了一个坐标系绕原参考坐标系旋转和对参考坐标系平移的三个轴的方向和原点的位置(见图1.9)。如图1.10所示,当对一个向量n进行式(1.15)给出的H变换时,原向量n可以被认为是在新坐标系描述的那个向量u,即被变换了的向量u就是相对于参考坐标系描述的同一个向量n。00zzyyxxu(7,3,2,1)•n(6,4,10,1)图1.10向量的H变换1.7相对变换(Relativetransformation)

我们刚刚描述的旋转和平移都是相对于一个固定的坐标系而进行的。这样,在已给的例子里0014100-3

Trans(4,-3,7)Rot(y,90°)Rot(z,90°)=0107(1.16)0001坐标系首先绕参考坐标系z轴旋转90°,然后绕y轴旋转90°,最后平移4i-3j+7k,如图2.9所示。如果以相反次序从左到右来进行这些操作:首先对坐标平移4i―3j+7k,然后将它绕当前坐标系的y轴旋转90°,此时当前坐标系的y轴与参考坐标系的y轴是相同的。然后再绕着新坐标系(当前的)坐标系的z轴旋转90°,所得结果与前面的方法相同(见图1.11)。

•00zzzzyyyyxxxxRot(y,90°)Rot(z,90°)Trans(4,-3,7)坐标原点图1.11相对变换

YXTrans(10,0,0)Rot(z,90°)0zyxxxxxyyyyzzzzRot(z,90°)Trans(10,0,0)图1.12相对于基坐标系和当前坐标系的变换1.8物体的描述(Objectrepresentation)

变换可用来描述物体的位置与方向(方位)。如图1.13所示的楔形物体用六个角点来描述,这六个角点是相对于物体所在的参考坐标系的。如果把物体绕z轴旋转90°,然后绕y轴旋转90°,接着沿x方向平移4个单位,我们可以描述这个变换为00141000Trans(4,0,0)Rot(y,90°)Rot(z,90°)=01000001这个变换表示了对参考坐标系的旋转和平移操作,变换后物体的六个角点为44664400141-1-111-11-1-111-11000000044000044=01000002201111110001111111变换后该物体在坐标上的方位如图1.13所示。

从图1.13可以看出,由于楔形物体的角点与它所在的坐标系有固定的关系,因此没有必要对所有的角点进行变换,只要对物体所在的坐标系进行变换,就可得到变换后的各个角点在基坐标中的位置,将这些角点用直线连接起来就可得到楔形物体的边缘,它与逐点变换的结果完全相同(见图1.14)。(-1,0,0)(-1,0,2)(1,0,2)(1,4,0)(-1,4,0)(1,0,0)zyx0图1.13楔形物体图1.14被变换的楔形物体(4,1,0)(4,-1,4)(4,1,4)(6,1,0)(6,-1,0)(4,-1,0)yx0yxzz1.10一般性旋转变换(Generalrotationtransformation)

前面我们介绍的旋转变换都是绕x,y,z轴旋转的旋转变换,这些变换都有一个简单的几何解释。例如:在绕z轴旋转的情况下,表示z轴保持恒定,x轴和y轴将如图1.15所示那样变化。

图1.15绕z轴的旋转θz0zyyxxCosθ-SinθSinθCosθθ

如图1.16所示,给出一个变换矩阵C,它绕任意向量k旋转,我们把k当作C坐标系的z轴单位向量。

nxoxax0nyoyay0C=nzoz

az0

(1.21)0001

k=axi+ayj+azk

(1.22)绕k旋转就相等于绕C坐标系的z轴旋转。

Rot(k,θ)=Rot(Cz,θ)(1.23)如果我们给一个坐标系T,它在参考坐标系里被描述,它在C坐标系里用X描述,这样

T=CX(1.24)其中X描述T相对C的位姿,求X,我们得到

X=C-1T(1.25)kTzzyyxxx00图1.16一般性旋转变换C应用下列关系进行简化:C坐标系任意的行或列与其他行或列的点积为零,因为这些向量是正交的;C坐标系任意的行或列与其自身的点积为I,因为它们是单位量;z向量是x和y向量的叉积:a=n×o,它有下列分量ax=nyoz―nzoyay=nzox―nxozaz=nxoy―nyox正矢Versθ=(1―cosθ),简写成Versθ,且kx=ax,ky=ay,kz=az。由此可得到简化式为

Rot(k,θ)=kxkxVersθ+cosθkykxVersθ―kzsinθkzkxVersθ+kysinθ0kxkyVersθ+kzsinθkykyVersθ+cosθkzkyVersθ―kzxsinθ0kxkzVersθ―kysinθkykzVersθ+kxsinθkzkzVersθ+cosθ0(1.32)0

0

01上式是一般性的旋转变换的重要结论。从这个结论可以得出每一个基本旋转变换。例如:Rot(x,θ)就是Rot(k,θ)当kx=1,ky=0,kz=0的情况,将这些值代入式(1.32)得到10000cosθ-sinθ0Rot(x,θ)=0sinθcosθ0(1.33)0001这个结果与以前一样。1.11等价旋转角与旋转轴(Equivalentangleandaxisofrotation)

任给一个旋转变换,从(1.32)方程得到一个轴,绕这个轴旋转的等价旋转角可由如下方法得到。已知一个旋转变换R

nxoxax0nyoyay0R=nzozaz0(1.34)0001令R和式

(1.32)的Rot(k,θ)相等,并将对角线各项相加得到nx+oy+az+1=k2xVersθ+cosθ+k2yVersθ+cosθ+k2zVersθ+cosθ+1(1.35)nx+oy+az=(k2x+k2y+k2z)Versθ+3cosθ=1+2cosθ(1.36)由此可得到旋转角的余弦是

cosθ=1/2(nx+oy+az―1)(1.37)对非对角线项相减,我们得到oz―ay=2kxsinθ(1.38)ax―nz=2kysinθ(1.39)ny―ox=2kzsinθ(1.40)把式(1.38)到式(1.40)两边平方并相加有(oz―ay)2+(ax―nz)2+(ny―ox)2=4sin2θ(1.41)我们得到了sinθ的表达式sinθ=±1/2√(oz―ay)2+(ax―nz)2+(ny―ox)2

(1.42)规定这个旋转是绕k正方向旋转,当0≤θ≤180°时,在上式中取十号是合理的。这个旋转角θ被唯一定义为tanθ=√(oz―ay)2+(ax―nz)2+(ny―ox)2/(nx+oy+az―1)(1.43)k的各分量为kx=(oz―ay)/2sinθ(1.44)ky=(ax―nz)/2sinθ(1.45)kz=(ny―ox)/2sinθ(1.46)注意:当旋转角θ较小或接近180°时,上述三个式子的分子和分母都很小,所计算的k值是不精确的。为此可继续根据式(1.32)和式(1.33)对应元素以及它们的代数和相等的关系来求出k的各个分量。1.12扩展与缩小(Stretchingandscaling)

一个变换Ta0000b00T=00c0(1.47)0001将沿着x轴以a因子,沿着y轴以b因子,沿着z轴c因子均匀扩展着各种物体。假定在一个物体上任意一个点xi+yj+zk,它的变换是axa000xby0b00ycz=00c0z(1.48)100011这个正好表示出所说的扩展。这样,一个正方体可以由这个变换变成长方体。变换ss0000s00s=00s0(1.49)0001将以s为比例因子来扩展或缩小任一物体。1.13透视变换(Perspectivetransformation)

假设由一个简单透镜把一个物体形成的像如图1.17所示。透镜的轴沿着y的方向,焦距为f,物体上的一个点x,y,z成象为x/,y/,z/。y/表示象距,它随着物距y而变化。如果在通过y/而垂直于y的平面(照相机的底片)上画出各个点,那么就形成了一个透视像。射线穿过透镜中心不偏转,则

z/y=z//y/(1.50)x/y=x//y/(1.51)

根据平行透镜的轴的射线通过焦点,我们可以写出

z/f=z//(y/+f)(1.52)x/f=x//(y/+f)(1.53)x/y/

和z/是负数,而f是正数。用式(1.50)和式(1.52)消去y/

,得

z/f=z/(z/y/z+f)(1.54)

zyx0(x’,y’,z’)(x,y,z)••f•图1.17透视变换求出x/=x(1―y/f)(1.55)y/=y(1―y/f)(1.56)z/=z(1―y/f)(1.57)齐次变换p能导出同样结果,变换p是10000100

p=0010(1.58)0-1/f01任何一点xi+yj+zk变换为

x1000xy0100yz=0010z(1.59)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论