工业机器人的运动学和动力学_第1页
工业机器人的运动学和动力学_第2页
工业机器人的运动学和动力学_第3页
工业机器人的运动学和动力学_第4页
工业机器人的运动学和动力学_第5页
已阅读5页,还剩137页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

第1

页工业机器人技术与应用1.教学目标① 根据学生实际情况,讲解线性代数中的矩阵方面知识。② 理解工业机器人的位姿描述和齐次变换③ 掌握齐次坐标和齐次变换矩阵的运算④ 理解连杆参数、连杆变换和运动学方程的求解⑤ 了解研究动力学的内容及方法,理解速度和力雅可比矩阵2.教学重点和难点① 【重点】工业机器人的位姿描述和齐次变换、连杆参数、连杆变换和运动学方程② 【难点】连杆参数、连杆变换和运动学方程3.讲授方法及课时:多媒体,4课时第3章 工业机器人的运动学和动力学第2

页3.1.1 工业机器人位姿描述3.1.2 齐次变换和运算3.1.3 工业机器人的连杆参数及其坐标变换3.1.4 工业机器人的正运动学方程3.1.5 工业机器人的逆运动学方程目录3.1 工业机器人的运动学3.0 线性代数----矩阵3.2 工业机器人的动力学第3章 工业机器人的运动学和动力学第3

页3.0

线性代数----矩阵

矩阵的定义及基本概念矩阵的定义及基本概念矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合,最早来自于方程组的系数及常数所构成的方阵。由

m

×

n

个数aij排成的m行n列的数表称为m行n列的矩阵,简称m

×

n矩阵。A

=a11

a12a21

a22第3章 工业机器人的运动学和动力学第4

页…a1na2na31

a32… …am1

am2………a3n…amn线性代数----矩阵这m×n

个数称为矩阵A的元素,简称为元,数aij位于矩阵A的第i行第j列,称为矩阵A的(i,j)元,以数

aij为(i,j)元的矩阵可记为(aij)或(aij)m×

n,m×n矩阵A也记作Amn。元素是实数的矩阵称为实矩阵,元素是复数的矩阵称为复矩阵。而行数与列数都等于n的矩阵称为n阶矩阵或n阶方阵。A

=a11

a12a21

a22第3章 工业机器人的运动学和动力学第5

页…a1na2na31

a32… …am1

am2………a3n…amn3.0

线性代数----矩阵

矩阵的运算及其运算规则矩阵的运算及其运算规则两个矩阵相加或者相减,即把他们相同位置的元素相加减。只有对于两个行数、列数分别相等的矩阵(即同型矩阵),加减法运算才有意义!设矩阵A

=a11

a12

… a1na21

a22

… a2n⋮ ⋮ … ⋮am1

am2

… amn,B

=b11

b12

… b1nb21

b22

… b2n⋮ ⋮ … ⋮bm1

bm2

… bmn一.矩阵的加法和减法运算规则则A

±

B

=a11±

b11a21±

b21⋮第3章 工业机器人的运动学和动力学第6

页a12±b12a22±

b22⋮a1n±

b1na2n±

b2n⋮……⋮±

bm1

±

bm2

…am1

am2

amn±

bmn3.0

线性代数----矩阵第3章 工业机器人的运动学和动力学第7

页矩阵的加法运算满足交换律和结合律交换律:A+B=B+A结合律:(A+B)+C=

A+(B+C)3.0

线性代数----矩阵第3章 工业机器人的运动学和动力学第8

页二.矩阵与数的乘法1、运算规则数λ(

/‘læmdə/

)乘矩阵A,就是将数λ乘矩阵A中的每—个元素,记为λA或A

λ特别地,称-A称为A=(aij)m×s的负矩阵.2、矩阵的乘法运算性质满足交换律和分配律结合律:

(λμ)A=

λ(μA)

(λ+μ)A=λA+μA分配律:λ(A+B)

=λA+λB3.0

线性代数----矩阵例题:已知两个矩阵,满足矩阵方程A+2X=B,求未知矩阵X。A

=

13 −1

25 72 4 5,B

=

57 5 −21 94 2 1X

=

1 B

A =12

2− 12=12= 2第3章 工业机器人的运动学和动力学第9

页7 5 −2 3 −1 25 1 9 5 74 2 1 4 54 6 −4

2

3

−24 −4 2 −2 12 −2

−4

1

−1

−23.0

线性代数----矩阵三、矩阵与矩阵的乘法1、运算规则设A

(aij)m×

s

;B

(bij)s×

n

,A与B的乘积C=AB是这样的矩阵:(1)行数与(左矩阵)A相同,列数与(右矩阵)B相同,即C=(cij)m×n

。(2)C的第i行第j列的元素cij由A的第i行元素与B的第j列元素对应位一组一组的相乘,然和再取这些乘积的和。pABij=L

aikbkj=ai1b1j+ai2b2j+⋯+aipbpjk=1C

=

AB

= 142536123456=1×1

+2×2+3×34×1

+5×2+6×31

×4

+

2

×5

+

3

×

64

×4

+

5

×5

+

6

×

6=14323277第3章 工业机器人的运动学和动力学第10

页3.0

线性代数----矩阵例题:已知两个矩阵A和B,计算C=AB。A

= 1,B

=1 2−1

1−32解:C

=

AB

= 121 −12 1 21 −1 −1 1−32=(1∗1+2∗

−1)(1∗1+−1∗

−1)(1∗2+2∗

1)(1∗2+−1∗

1)(1∗−3+2∗

2)1∗−3+−1∗

2−14121−5a1想一想:设列矩阵

A

= a2

,行矩阵B=[b1

b2

b3],AB和BA的行数和列a3数分别是多少?由于结果矩阵的行数是第一个矩阵决定,列数是第2个矩阵决定,所以AB是3x3的矩阵,BA是1x1的矩阵,即BA只有—个元素。第3章 工业机器人的运动学和动力学第11

页3.0

线性代数----矩阵例题:本题可以做AB乘法运算,但是不可以做BA运算。结论:只有在下列情况下,两个矩阵的乘法才有意义.或说乘法运算是可行的:左矩阵的列数=右矩阵的行数。设A

= 102 13 −10 204 1B

= −1 12 0 11 3 43 求ABAB=

9第3章 工业机器人的运动学和动力学第12

页9 −2

−19 11结论:在矩阵的乘法中,必须注意相乘的顺序,即使在AB与BA均有意义(可以做乘法运算)时,也未必有AB=

BA成立。可见矩阵的乘法不满足交换律。a1AB

= a2a3b1

b2

b3a1b1= a2b1a3b1a1b2a2b2a3b2a1b3a2b3a3b3BA

= b1

b2

b3a1a2

=

b1a1

b2a2

b3a3a3比较两个计算结果,能得出什么结论?AB是3

×

3矩阵,BA是1

×

1矩阵3.0

线性代数----矩阵a1例题:设列矩阵A= a2

, 行矩阵B=[b1,b2,b3],求AB和BA,第3章 工业机器人的运动学和动力学第13

页a33.0

线性代数----矩阵例题:求AE和EA,将计算结果与A比铰,看有什么样的结论。解:计算得:AE=EA=A结论:方阵A和它同阶的单位矩阵作乘积,结果仍是A,即AE=EA=A。主对角线上的元素都为1,其余元素全为0的n×n阶正方矩阵称为n阶单位矩阵,记为In或En

,通常用I或E来表示。a11

a12

a13设三阶方阵A

=

a21a22

a23a31

a32

a33,三阶单位矩阵为E

=1 0 00 1 00 0 1I1

=

1

,I2

=

100 1,n,I3

=100100…

I=0011 0 … 00 1 … 0⋮ ⋮ ⋱ ⋮0 0 … 1第3章 工业机器人的运动学和动力学第14

页3.0

线性代数----矩阵例题:结论:两个非零矩阵的乘积可以是零矩阵。如果AB=0,不能得出A=0或B=0的结论。设A=1 1−1

−1,B

=1−1

1−1

,计算AB和BAAB

=1 1 1 −1−1

−1

−1

1=1×1+1

×−1−1×1+−1×

−1−1×−1+−1×

11

×−1+

1

×1

=

0

00 0BA=1 −1

1

1−1

1

−1

−1=1×1+−1×

−1−1×1+1×

−11×1+−1×

−1−1×1+1×

−1=2 2−2

−2第3章 工业机器人的运动学和动力学第15

页3.0

线性代数----矩阵例题:利用矩阵的乘法,三元线性方程组可以写成矩阵的形式。若把三元线性方程组中的系数、未知量和常数项构成的三个矩阵分别命名为A、X、B,则线性方程组又可以简写为矩阵方程的形式:AX=Ba11x1+a12x2+a12x3=

b1

a21x1+a22x2+a23x3=b2a31x1+a32x2+a33x3=

b3a11a12a13a21a22a23a31a32

a33x1x2x3b1= b2b3a11

a12

a13A

= a21

a22

a23a31

a32

a33x1,X

= x2 ,B

=x3b1b2b3第3章 工业机器人的运动学和动力学第16

矩阵乘法运算性质(假设运算都是可行的):3.0

线性代数----矩阵矩阵乘法运算性质(假设运算都是可行的):(1)结台律:

(AB)C=

A(BC)(2)分配律:A(B±C)=

AB±AC(左分配律)(B±C)A=

BA±CA(右分配律)(3)(λA)B=λ(AB)=A(λB)第3章 工业机器人的运动学和动力学第17

矩阵的转置:3.0

线性代数----矩阵矩阵的转置:定义:将矩阵A的行换成同序号的列所得到的新矩阵称为矩阵A的转置矩阵,记作A'或AT。转置矩阵运算性质(假设运算都是可行的)(1)

(A')'=A(2)

(A+B)'=A'+B'(3)(AB)'=

B'A'(4)

(λA)'=λA’,λ是常数。例如矩阵A

= 102 13 −1 的转置矩阵为A‘

=

AT

=0 21 20 13 0−1

2第3章 工业机器人的运动学和动力学第18

矩阵的转置—例题3.0

线性代数----矩阵矩阵的转置—例题利用下面的矩阵A和B,验证(AB)'=B'A'。−1A

= 1

2

,B

= 12 −1

01 31 2 1解:AB

=

12 −1 0−1 2 1 1 3 = 3 2 −11 2 121 2 1 1而A1

= −1 ,B1

= −1 1 20 3 12 1 1 1 3所以B1A1

= −1 1 2 −1

= 20 3 1 2 −1第3章 工业机器人的运动学和动力学第19

页=

(AB)‘

对称矩阵3.0

线性代数----矩阵对称矩阵对称矩阵定义:如果方阵满足A'=A,即aij=

aji

,则称A为对称矩阵。对称矩阵的特点:它的元素以主对角线为对称轴一一对应相等。对称矩阵一定是方阵,即行和列长度相等。0 1 2 3 41 0 1 2 32 1 0 1 23 2 1 0 14 3 2 1 0第3章 工业机器人的运动学和动力学第20

页3.1.1 工业机器人位姿描述3.1.2 齐次变换和运算3.1.3 工业机器人的连杆参数及其坐标变换3.1.4 工业机器人的正运动学方程3.1.5 工业机器人的逆运动学方程目录3.1 工业机器人的运动学3.0 线性代数----矩阵3.2 工业机器人的动力学第3章 工业机器人的运动学和动力学第21

页3.1 工业机器人的运动学机器人在生产操作过程当中会涉及到各物体之间的关系和各物体与机械臂之间的关系。这些关系的表达就是机器人运动学的研究范畴。物体之间的关系可以用齐次坐标变换来描述的。机器人运动学也采用齐次坐标变换来描述机械手各关节坐标之间、各物体之间以及各物体与机器人(机械臂)之间的关系。

为什么需要学习机器人运动学?为什么需要学习机器人运动学?第3章 工业机器人的运动学和动力学第22

页3.1 工业机器人的运动学

什么是机器人运动学?第3章 工业机器人的运动学和动力学第23

页什么是机器人运动学?机器人运动学主要是把机器人的空间位姿(位置和姿态)解析地表示为时间或者关节变量的函数,特别是要研究关节变量空间和机器人末端执行器位置和姿态之间的关系。机器人运动学就是研究机器人手臂末端执行器(手部)的位置和姿态与关节变量空间之间的关系。机器人运动学分析提供了机器人运动规划和轨迹控制的理论基础。通常机器人的位姿主要是指机器人手部在空间的位置和姿态,有时也会用到其它各个活动杆件在空间的位置和姿态。3.1 工业机器人的运动学

位置(Position)位置(Position)Ap位置指物体所在或所占的地方,所处的方位。为了描述机器人上某点的位置,我们在机器人的工作空间中建立一个世界坐标系,那么空间中的任何一点都可以用一个3×1的位置矢量来进行准确的定位描述。因为在世界坐标系中还有其他坐标系,因此必须在位置矢量上附加一个信息,表明是是在哪个坐标系中被定义的。位置矢量用一个前置的上标来表明其参考坐标系。例如:AP表明AP的数值是在坐标系{A}中的表示,矢量中的各个元素用下标x,y,z来表明。工作空间中的任意一点P的位置描述如下:

px

P

y

p

z

第3章 工业机器人的运动学和动力学第24

页3.1 工业机器人的运动学对于空间中一个“点”来说我们描述他时只用位置就够了,但是对于空间中描述一个“物体”来说,单单有位置信息是不足够的,如果该物体P具有足够多的自由度,那么其在空间的同一点处也会呈现出多种状态,我们至少还需要一个姿态信息,只有该物体P的位置信息和姿态信息都确定后它的“位置姿态”才会被完全地确定下来。我们将位置和姿态统称为位姿。

姿态姿态第3章 工业机器人的运动学和动力学第25

页3.1 工业机器人的运动学为了描述该物体P的姿态,我们在空间内建立一个相对物体始终保持不变的固定坐标系{A},在该物体P上面固定一个坐标系{B},{B}也称为固连坐标系,它与该物体P时刻保持一致,会随着物体P的姿态变化而变化。我们可以通过描述{B}与{A}的关系来描述物体的姿态,物体P上的点可以用在该{B}坐标系中的向量来表示。{B}的坐标原点O’在{A}坐标系中所处的位置可以用O’在该{A}中的向量来表示。那么物体P在{A}中的位置和姿态就可以完整的表达。第3章 工业机器人的运动学和动力学第26

cos

ho

cos

cos

xyyy

na

x x

R

noo a

o

na

z z z

3.1 工业机器人的运动学那么我们又要在固定坐标系中如何描述{B}?描述{B}的一种方法是利用坐标系{A}的三个主轴单位矢量来表示。简单地说,就是要在{A}坐标系里表示{B}坐标系的三个坐标轴,这就是{B}的姿态描述。这样就可以通过描述两个坐标系{B}与{A}之间的相对关系来对物体上的任意一点的姿态进行准确地描述了。如图,假设v是{B}中的某个轴,他的单位向量是h,就可以用h与{A}坐标系中的X、Y、Z轴之间的夹角来确定h的方向。表示{B}中的X’轴在{A}中的方向矢量第3章 工业机器人的运动学和动力学第27

页3.1 工业机器人的运动学

工业机器人常用的坐标系工业机器人常用的坐标系工业机器人的运动实质是根据不同作业内容、轨迹的要求,在各种坐标系下的运动。定义坐标系的目的在于对机器人进行轨迹规划和编程时提供一种标准符号,尤其对于两台以上机器人组成的机器人工作站或柔性生产系统,要实现机器人之间的配合协作,必须是在同一个坐标系中。① 基坐标系② 世界坐标系③ 用户坐标系④ 工件坐标系⑤ 工具坐标系⑥ 腕坐标系⑦ 关节坐标系第3章 工业机器人的运动学和动力学第28

页3.1 工业机器人的运动学(1)

基坐标系(BaseCoordinate

System)基坐标系所在的位置是定义机器人基座的位置,位于机器人基座,又称为机座坐标系。它是机器人各活动杆件及手部的公共参考坐标系。基坐标系在机器人基座中有相应的零点,这使固定安装机器人的移动具有可预测性。在正常配置的机器人系统中,工人可通过控制杆进行该坐标系的移动。第3章 工业机器人的运动学和动力学第29

页3.1 工业机器人的运动学(2)世界坐标系(World

Coordinate

System)又称为大地坐标系或绝对坐标系。如果机器人安装在地面,

在基坐标系下示教编程很容易,但当机器人吊装时,机器人末端移动直观性差,因而示教编程较为困难。如果两台或多台机器人共同协作时,例如,一台安装于地面,另一台倒置,倒置机器人的基坐标系也将上下颠倒。当分别在两台机器人的基坐标系A、B中进行运动控制时,很难预测相互协作运动的情况。此时,可以定义一个共同的世界坐标系C取而代之。若无特殊说明,单台机器人世界坐标系和基坐标系是重合的。第3章 工业机器人的运动学和动力学第30

页3.1 工业机器人的运动学(3)用户坐标系(User

CoordinateSystem)用户自定义坐标系,机器人可以和不同的工作台或夹具配合工作,

在每个工作台上建立一个用户坐标系。机器人大部分采用示教编程的方式,步骤繁琐,对于相同工件,若放置在不同工作台进行操作,不必重新编程,只需相应地变换到当前用户坐标系下。用户坐标系在基坐标系或世界坐标系下建立。第3章 工业机器人的运动学和动力学第31

页3.1 工业机器人的运动学也可以把工业机器人用户坐标系定义在对象工件上,由用户自己根据需求习惯来定义,用户坐标系的方向根据客户需要任意定义。在机器人动作允许范围内的任意位置,设定任意角度的X、Y、Z

轴。用户坐标系一般定义在工件上,原点位于机器人抓取的工件上,方向由用户自己定义。可以设置多个用户坐标系。第3章 工业机器人的运动学和动力学第32

页3.1 工业机器人的运动学(4)工件坐标系(Object

Coordinate

System)工件坐标系与工件相关,它定义工件相对于大地坐标(或其他坐标)的位置。对机器人进行编程时就是在工件坐标系中创建目标和路径。重新定位工作站中的工件时,只需要更改工件坐标系的位置,所有的路径即可随之更新。机器人可以拥有若干工件坐标系,表示不同工件,或者表示同一工件在不同位置的若干状态。工件坐标系拥有特定附加属性,主要用于简化编程。他拥有两个框架:用户框架:与大地基座相关工件框架:与用户框架相关第3章 工业机器人的运动学和动力学第33

页3.1 工业机器人的运动学(5)工具坐标系(Tool

Coordinate

System)工具坐标系是把机器人腕部法兰盘所握工具的有效方向定为Z轴,把坐标定义在工具尖端点,所以工具坐标的方向随腕部的移动而发生变化。工具坐标的移动,以工具的有效方向为基准,与机器人的位置、姿势无关,所以进行相对于工件不改变工具姿势的平行移动操作时最为适宜。第3章 工业机器人的运动学和动力学第34

页3.1 工业机器人的运动学通过坐标系的转换,可以操作机器人在工具坐标系下运动,以方便操作。如果工具磨损或更换,只需重新定义工具坐标系,而不用更改程序。工具坐标系建立在腕坐标系下,即两者之间的相对位置和姿态是确定的。O第3章 工业机器人的运动学和动力学第35

页3.1.5 工业机器人的逆运动学方程建立了工具坐标系后,机器人的控制点也转移到了工具的尖端点上,这样示教时可以利用控制点不变的操作来方便地调整工具姿态,并可使插补运算时轨迹更为精确。所以,不管是什么机型的机器人,用于什么用途,只要安装的工具有个尖端,在示教程序前务必要准确地建立工具坐标系。第3章 工业机器人的运动学和动力学第36

页3.1 工业机器人的运动学(6)

腕坐标系(WristCoordinate

System)腕坐标系和工具坐标系都是用来定义工具方向的。在简单应用中,腕坐标系可以定义为工具坐标系,两者重合。腕坐标系的Z轴和机器人的第6根轴重合,如图所示,坐标系原点位于末端法兰盘中心,X轴方向与下图中腕坐标系法兰盘上标识孔的方向相同或相反,Z轴垂直向外,Y轴符合右手法则。第3章 工业机器人的运动学和动力学第37

页3.1 工业机器人的运动学(7)关节坐标系(Joint

Coordinate

System)关节坐标系用来描述机器人每个独立关节的运动,关节类型可能不同(

如移动关节、转动关节等)。若将机器人末端移动到期望位置,在关节坐标系下操作,可以依次驱动各关节的运动,从而引导机器人末端到达指定的位置。第3章 工业机器人的运动学和动力学第38

页3.1 工业机器人的运动学(8)连杆坐标系(Link

Coordinate

System)为了描述机器人每个连杆与相邻连杆之间的相对位置关系,我们通常会在每个连杆上定义一个相对连杆固定的坐标系即连杆坐标系,通常称为固连坐标系,根据固连坐标系所在的连杆为其命名。固连在连杆n上的固连坐标系称为坐标系{n}。第3章 工业机器人的运动学和动力学第39

页3.1 工业机器人的运动学第3章 工业机器人的运动学和动力学第40

页齐次坐标就是将一个原本是n维的向量用一个n+1维向量来表示,齐次坐标是一个用于投影几何里的坐标系统。如同用于欧氏几何里的笛卡尔坐标一样。齐次坐标表示是计算机图形学的重要手段之一,其重要性主要体现两点:它既能够用来明确区分向量和点,同时也更易用于进行仿射(线性)几何变换。在计算机图形学和计算机视觉中,物体之间的关系就是用齐次坐标变换来描述的。

什么是齐次坐标?什么是齐次坐标?3.1 工业机器人的运动学问题:两条平行线会相交吗?在欧几里得几何空间里,两条平行线永远都不会相交。但是在投影空间中,如图中的两条铁轨在很远的地平线处看起来却是相交与一点的。

为什么提出齐次坐标这个数学方法?为什么提出齐次坐标这个数学方法?第3章 工业机器人的运动学和动力学第41

页3.1 工业机器人的运动学在欧几里得(或称笛卡尔)空间里描述2D/3D几何物体是很理想的,但这种方法却不适合处理透视空间的问题(实际上,欧氏几何是透视几何的一个子集合)

。我们用(x,y)表示笛卡尔空间中的一个2D点,而处于无限远处的点(∞,∞

)在笛卡尔空间里是没有意义的。投影空间里的两条平行线会在无限远处相交于—点,但笛卡尔空间里面无法搞定这个问题(因为无限远处的点在笛卡尔空间里是没有意义的),因此数学家想出齐次坐标这个方法来表达。第3章 工业机器人的运动学和动力学第42

页3.1 工业机器人的运动学第3章 工业机器人的运动学和动力学第43

页由August

Ferdinand

Mobius提出的齐次坐标(Homogeneous

coordinates)让我们能够在投影空间里进行图像和几何处理,齐次坐标用N+1维来描述N维坐标。比如2D齐次坐标就是在笛卡尔坐标(x,y)的基础上增加—个新分量k(k是非零的),变成齐次坐标(

x,y,k

)。笛卡尔坐标系中的大X,Y与齐次坐标中的小x,y有如下对应关系:X

=

x/k Y=y/k笛卡尔坐标中的点(1,2)在齐次坐标中就是(1,2,1)。如果这点移动到无限远(∞,∞

)处,在齐次坐标中就是(1,2,0)

,因为(1/0,

2/0)

=

(∞,∞),这样我们就避免了用没意义的“∞“来描述无限远处的点。在欧几里得(或称笛卡尔)空间里我们用(x,

y)无法描述二维平面上的无穷远点,当我们引入齐次坐标之后,就可以用(x,

y,0)来表示无穷远点了。这就是引入齐次坐标的一个好处。

解决办法:齐次坐标解决办法:齐次坐标3.1 工业机器人的运动学我们把齐次坐标转化为笛卡尔坐标的方法是把前面n-1个坐标分量分别除以最后一个分量即可。

为什么叫齐次坐标?为什么叫齐次坐标?x y(x,

y,

W)

≪==≫

( , )W W转化齐次坐标到笛卡尔坐标的过程中,我们发现:1,

23 32,

4

= 1,

26 6 3 34

,

8 = 1,

212

12

3

31,

2,

3

==≫2,

4,

6

==≫4,

8,

12 ==≫…………1a,

2a,

3a

==≫1a,

2a

= 1,

23a

3a

3

3第3章 工业机器人的运动学和动力学第44

页3.1 工业机器人的运动学第3章 工业机器人的运动学和动力学第45

页发现(1,

2,

3),

(2,

4,

6)

和(4,

8,

12)等对应同一个笛卡尔坐标中的点(1/3,

2/3),任何标量的乘积,例如(1a,

2a,

3a)对应笛卡尔空间里面的(1/3,

2/3)

。因此这些点是“齐次”的,因为他们始终代表笛卡尔坐标系里面的同一个点。换句话说,齐次坐标有规模不变性(或者叫缩放不变性)。即给定一个二维点(x,

y),那么形如(kx,

ky,k)的所有三元组就都是等价的,它们就是这个点的齐次坐标。对每一个齐次坐标,我们只要把它除以三元组中的第三个数,即可得到原始的二维点坐标(这就是同比收缩)。“齐次”对应的英文单词homogeneous有时还会被翻译成“均匀的;[数]

齐次的;同种的;同类的,同质的”,表示某一类东西拥有一些相同的性质,这么来看的话,多个不同的齐次坐标(某一类东西)都表示同一个笛卡尔坐标中的点(相同的性质),就是“同类的,同质的”的体现。3.1 工业机器人的运动学

证明:两条平行直线可以相交证明:两条平行直线可以相交在笛卡尔坐标系中,对于如下两个直线方程:

Ax+By+C

=0Ax+By+D

=0该方程组无解,因为C

D,如果C=D,两条直线就相同了。我们在透视空间里面,用齐次坐标x/w,

y/w代替x

,y

来求解:Ax+By+C=

0W WAx+By+D=

0W W第3章 工业机器人的运动学和动力学第46

页=≫Ax+By+CW=

0Ax+By+DW=

0代入得(C

-

D)w=0,因为C≠D,所以w=0,现在就在C≠D的情况得到一组解(x,y,0)

。因而,两条平行线相交于投影空间中无限远处的一点(x,y,0)。3.1 工业机器人的运动学第3章 工业机器人的运动学和动力学第47

页齐次坐标表示是计算机图形学的重要手段之一,其重要性主要体现两点:它既能够用来明确区分向量和点,同时也更易用于进行仿射(线性)几何变换。齐次坐标有规模不变性(或者叫缩放不变性):许多图形应用涉及到几何变换,包括平移、旋转、缩放。以矩阵表达式来计算这些变换时,平移就是矩阵相加,旋转和缩放则是矩阵相乘,综合起来可以表示为p'

=

m1*p+

m2(m1旋转缩放矩阵,m2为平移矩阵,

p为原向量

,p'为变换后的向量)。引入齐次坐标的目的主要是合并矩阵运算中的乘法和加法,表示为p'

=

p*M的形式。齐次坐标提供了用矩阵运算把二维、三维甚至高维空间中的一个点集从一个坐标系变换到另一个坐标系的有效方法。齐次坐标可以表示无穷远的点。

齐次坐标的优点齐次坐标的优点3.1 工业机器人的运动学机器人可以用一条开环关节链来建模,开环关节链由数个驱动器驱动的转动或移动关节串联而成,一端固定在基座上,另一端是自由的手部,在手部上安装工具,用以操纵物体。人们感兴趣的是操作机末端执行器相对于固定参考坐标系的空间几何描述,这就是机器人的运动学问题。常见的机器人运动学问题可归纳如下两类:运动学正问题、运动学逆问题

机器人运动学研究的问题第3章 工业机器人的运动学和动力学第48

页机器人运动学研究的问题3.1 工业机器人的运动学

机器人运动学研究的问题机器人运动学研究的问题我的手在哪里在这里运动学正问题第3章 工业机器人的运动学和动力学第49

页1.运动学正问题:对一个给定的机器人,

已知各个杆件几何参数和关节角矢量,

求机器人末端执行器相对于参考坐标系的位置和姿态。3.1 工业机器人的运动学我如何把手放到这里第3章 工业机器人的运动学和动力学第50

页旋转这个角度和位移量运动学逆问题2.运动学逆问题:已知机器人各个杆件的几何参数,给定机器人末端执行器相对于参考坐标系的期望位置和姿态(位姿),判断机器人能否使其末端执行器达到这个预期的位姿?如能达到,那么机器人有几种不同的形态(不同的关节角)可满足达到的条件?3.1.1 工业机器人位姿描述3.1.2 齐次变换和运算3.1.3 工业机器人的连杆参数及其坐标变换3.1.4 工业机器人的正运动学方程3.1.5 工业机器人的逆运动学方程目录3.1 工业机器人的运动学3.0 线性代数----矩阵3.2 工业机器人的动力学第3章 工业机器人的运动学和动力学第51

页3.1.1 工业机器人位姿描述1. 点的位置描述在选定的直角坐标系{A}中,空间任一点P的位置可用(3×1)列阵(或称三维列向量)AP 表示,其左上标“A”代表选定的参考坐标系。Ap

px

P

y

p

z

3.1.1

工业机器人位姿(位置和姿态)描述3.1.1

工业机器人位姿(位置和姿态)描述第3章 工业机器人的运动学和动力学第52

页3.1.1 工业机器人位姿描述2. 点的齐次坐标用四个数组成(4×1)列阵(或称四维列向量)表示三维空间直角坐标系{A}中点P,则该列阵称为三维空间点P的齐次坐标。齐次坐标的表示不是唯一的,将其各个元素同乘以一个非零因子ω后,得到新的齐次坐标仍然表示同一个点。

px

p

y

P

p

z

1

1

TxxyzP

p

a b c

Ta

ppy

pzb

pc

p第3章 工业机器人的运动学和动力学第53

页3.1.1 工业机器人位姿描述3. 坐标轴方向的描述图中i、j、k分别是直角坐标系中X、Y、Z坐标轴的单位矢量。若用齐次坐标来描述X、Y、Z轴,则定义下面三个(4×1)列阵分别为单位矢量i、j、k(即X、Y、Z坐标轴)的方向列阵。i

=[1000]Tj

=[0100]Tk=[0010]T第3章 工业机器人的运动学和动力学第54

页工业机器人位姿描述矢量v的单位矢量h的方向列阵为:h=[a b c 0]T=[cos

cos

cos

0]T

是矢量v与坐标轴X、Y、Z的夹角。0°≤cos

≤180° 0°≤

≤180° 0°≤

≤180°cos

、cos

、cos

称为矢量v的方向余弦cos2

+cos2

+cos2

=1第3章 工业机器人的运动学和动力学第55

页工业机器人位姿描述列阵h=[a b c ω]T中的第4个元素ω不为0,则表示空间某点的位置坐标。列阵h=[a

b

c 0]T中的第4个元素为0,并且a2+b2+c2=1,则表示某个坐标轴(或某个矢量)的方向, [a b c 0]T称为该坐标轴或矢量的方向列阵。表示坐标原点的列阵定义为:O=[0 0 0 ω]T ω≠0第3章 工业机器人的运动学和动力学第56

页3.1.1 工业机器人位姿描述[例3-1]

用齐次坐标分别写出图中矢量u、v、w的方向列阵。解:矢量u:

u

=[cos

矢量v:

v

=[cos

矢量w:w=[cos

第3章 工业机器人的运动学和动力学第57

页cos

cos

cos

cos

cos

cos

0]T=[0.0 0.7071 0.7071 0]T0]T

=[0.7071 0.0 0.7071 0]T0]T=[0.5 0.5 0.7071 0]T3.1.1 工业机器人位姿描述第3章 工业机器人的运动学和动力学第58

页4. 动坐标系位姿的描述静坐标系:机器人坐标系中,运动时相对于连杆不动的坐标系称为静坐标系,简称静系;动坐标系:跟随连杆运动的坐标系称为动坐标系,简称为动系。动系位置与姿态的描述称为动系的位姿表示,是对动系原点位置及各坐标轴方向的描述。(1)连杆的位姿表示连杆的功能就是保持其所连接的两端关节轴线具有确定的几何关系。机器人的每一个连杆可以视为一个刚体,给定刚体上某一个点的位置和刚体在空间的姿态,则这个刚体在空间上是唯一确定的,可以采用一个唯一的位姿矩阵进行描述。3.1.1 工业机器人位姿描述图中O

为连杆上任一点,O

X

Y

Z

为与连杆固接的一个动坐标系,即为动系。连杆PQ在固定坐标系OXYZ(静系)中的位置可以用动系的坐标原点O

在固定坐标系OXYZ中的位置来表示,O

在固定坐标系OXYZ中用一个齐次坐标表示为:TP

X0 Y0 Z0 1

第3章 工业机器人的运动学和动力学第59

页3.1.1 工业机器人位姿描述连杆PQ的姿态可用动系O

X

Y

Z

的坐标轴方向来表示。令n、o、a分别为动系坐标轴X’、Y’、Z’的单位方向矢量,各单位方向矢量在静系上的分量为动系各坐标轴的方向余弦,以齐次坐标形式分别表示为:xyzn n0

Tn

n

xyz0

To

o

o

o

Tay aza

ax

0

xx xzzzo a

n

o

a

X

0

oy ay Y0

d

[n o a p]

ny

nZ

0

表示动系中坐标原点O

在固定坐标系中的坐标值表示动坐标系中的X’轴的方向矢量表示坐标轴的方向阵列

0 0 0 1

非0表示空间某点的位置坐标第3章 工业机器人的运动学和动力学第60

页3.1.1 工业机器人位姿描述[

例3-2]

如图所示为固连于连杆的坐标系{B}

位于OB

点,XB

=

2,YB

=

1,ZB

=

0。在XOY平面内,坐标系{B}相对固定坐标系{A}有一个30°的偏转,试写出表示连杆位姿的坐标系{B}的4

4矩阵表达式。解:XB的方向列阵n=[cos30°

cos60°

cos90°

0]T=[0.866

0.500

0.000 0]T

YB的方向列阵n=[cos120° cos30° cos90° 0]

T=[-0.500 0.866 0.000 0]TZB的方向列阵a

=[cos90° cos90° cos0° 0]T

=[0.000 0.000 1.000 0]T坐标系{B}的位置阵列P=[2 1 0 1]

T则动坐标系{B}的4

4矩阵表达式为:0第3章 工业机器人的运动学和动力学第61

页-0.5000.8660.0000

0.866

0.500d

0.0000.000

2.0

0.000

1.0

1.000

0.0

0

1

3.1.1 工业机器人位姿描述(2)手部的位姿表示机器人手部的位置和姿态可以用固连于手部的坐标系{B}的位姿来表示。第3章 工业机器人的运动学和动力学第62

页手部的位置矢量为固定参考系原点O指向手部坐标系{B}原点OB的矢量P,手部的方向矢量为n、o、a。于是手部的位姿可用4

4矩阵表示为:yaa

nx ox ax PX

n

P

y y Y

T

[no a p]

nP

z z z Z

0 0 0 1

3.1.1 工业机器人位姿描述[例3-3] 如图表示手部抓握物体Q,物体是边长为2个单位的正立方体,写出表达该手部位姿的矩阵表达式。解:因为物体Q的中心与手部坐标系O

X

Y

Z

的坐标原点O

相重合,则手部位置的4

1列阵为:手部坐标系X

轴的方向可用单位矢量n来表示:n:α=90°,β=180°,γ=90°nx=cosα=0,ny=cosβ=-1,nz=cosγ=0同理,手部坐标系Y

轴与Z

轴的方向可分别用单位矢量o和a来表示:o:ox=-1,oy=0,oz=0a:ax=0,ay=0,az=-1手部位姿可用矩阵表示为:1

TP

1

1

1

0 -1 0 1

-1 0 00 -10 0第3章 工业机器人的运动学和动力学第63

页1

T

[n oa p]

0

0

1

1

3.1.1 工业机器人位姿描述(3)目标物位姿的描述0 0 0 40 2 2 01 1 1 1设有一楔块Q如图所示,坐标系OXYZ为固定坐标系,坐标系O

X

Y

Z

为与楔块Q固连的动坐标系。在图(a)情况下,动坐标系O

X

Y

Z

与固定坐标系OXYZ重合。楔块Q的位置和姿态可用楔块上的6个点的齐次坐标来描述,在图(a)情况下,其矩阵表达式为:F

1

ABCDE

1

1

111

4

Q

0

00

1

1

第3章 工业机器人的运动学和动力学第64

页3.1.1 工业机器人位姿描述若让楔块Q先绕Z轴旋转90°,再绕Y轴旋转90°

,最后沿X轴方向平移4,则楔块成为图(b)之情况。此时楔块用新的6个点的齐次坐标来描述它的位置和姿态,其矩阵表达式为:

AF

44

Q

1BCDE4664

1

11100041111

1

04

1

1

第3章 工业机器人的运动学和动力学第65

页3.1.1 工业机器人位姿描述3.1.2 齐次变换和运算3.1.3 工业机器人的连杆参数及其坐标变换3.1.4 工业机器人的正运动学方程3.1.5 工业机器人的逆运动学方程目录3.1 工业机器人的运动学3.0 线性代数----矩阵3.2 工业机器人的动力学第3章 工业机器人的运动学和动力学第66

页3.1.2 齐次变换和运算3.1.2 齐次变换和运算3.1.2 齐次变换和运算连杆运动方式平移运动旋转运动平移加旋转运动把每次简单的运动用一个变换矩阵来表示,那么,多次运动即可用多个变换矩阵的积来表示,表示这个积的矩阵称为齐次变换矩阵。这样,用连杆的初始位姿矩阵乘以齐次变换矩阵,即可得到经过多次变换后该连杆的最终位姿矩阵。通过多个连杆位姿的传递,可以得到机器人的末端执行器的位姿。这就是机器人正运动学的范围。第3章 工业机器人的运动学和动力学第67

页3.1.2 齐次变换和运算1. 平移的齐次变换满足左矩阵的列数=右矩阵如图所示为直角坐标系 的行数,AB才可以计算。中空间某一点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

第3章 工业机器人的运动学和动力学 第68

页3.1.2 齐次变换和运算1.平移的齐次变换

0

01

Trans(

x,

y,

z)

1

0

0

x

0

1

0

y

0 1

z

0 0点A(x,y,z)分别沿着X、Y、Z轴方向平移∆x、

y、

z至A′(x′,y′,z′),则平移变换算子为:第3章 工业机器人的运动学和动力学第69

页3.1.2 齐次变换和运算[例3-4] 图3-10中有下面三种平移运动情况:1)动坐标系{A}相对于固定坐标系作(-1,2,2)平移后到{A

};2)动坐标系{A}相对于自身坐标系(即动坐标系)作(-1,2,2)平移后到{A

};3)物体Q相对于固定坐标系作(2,6,0)平移后到Q

。已知A和Q,试计算出坐标系{A

}、{A

}以及物体Q

的矩阵表达式。1

A

1

0

1

0

1

1 0 00

10 0

0

01

1

1

1

1

1

1

0 0 0 0 30 1 1 01 1 1 13

Q

0

0

11

1.平移的齐次变换第3章 工业机器人的运动学和动力学第70

页3.1.2 齐次变换和运算xzzzo a0 0

0

p]

n

n ox ax X

ny oy ay Y0

Z

0

01

问题分析:A是动坐标系{A}的位置描述齐次矩阵,因为X轴在固定坐标系中与X0轴之间夹角为90°,

X轴与Y0轴之间夹角为-180°,

X轴与Z0轴之间夹角为90°,所以:nx

=cos90°=0ny=cos-180°=-1nz

=cos90°=01

A

1

0

1

0

1

1 0 00

10 0

0

01

表示动坐标系{A}中的X轴的方向矢量d

[n o a表示坐标轴的方向表示动坐标系{A}中的O点在固定坐标系中的坐标值1.平移的齐次变换第3章 工业机器人的运动学和动力学第71

页3.1.2 齐次变换和运算问题分析:动坐标系{A}的两次平移变换,变换算子均为:

1

0

0

1

0 1 00 10 02

2

0

01

Trans(Dz,Dy,Dz)

{A′}坐标系是动坐标系{A}相对于固定坐标系作平移变换得来的,变换算子应该左乘,因此{A′}的矩阵表达式计算如下,并且得到O’在固定坐标系中的坐标为(0,3,3)。2

1

3

1

1

=

A

=Trans(-1,

2,

2)

A

2

01

0

3

1

0

0

1

0

1

0

1

0

1

0

0

0 1 0 0 0 0 00 1 0

1 0

10 0 0 0 0 0

0

01

01

01

1.平移的齐次变换第3章 工业机器人的运动学和动力学第72

页3.1.2 齐次变换和运算问题分析:{A′′}坐标系是动坐标系{A′}相对于自身(动坐标系)作平移变换得来的,变换算子应该右乘。因此{A′′}的矩阵表达式计算如下,并且得到O′′在固定坐标系中的坐标为(-1,2,-1)。1

02

2

1

=

1

02

0

-1

0

1

0

1

1

0

0

1

0

1

0

-1

1 0 0 1 0 0 00

1 0 1 0

10 0 0 0 0 0

0

01

01

01

A

=A

Trans(-1,

2,

2)

1.平移的齐次变换变换算子右乘第3章 工业机器人的运动学和动力学第73

页3.1.2 齐次变换和运算

1002

0

106

0010

0 0

0 1

问题分析:物体Q的平移坐标变换算子为:Trans(Dx2,Dy,Dz)

1.平移的齐次变换第3章 工业机器人的运动学和动力学第74

页3.1.2 齐次变换和运算0 01 1 1 11 1 1 1问题分析:物体Q相对于固定坐标系做平移变换,变换算子应该左乘,因此Q′的矩阵表达式计算如下。1

9

1002

1

1

111

1

31133

0

106

0

00033

6

=

6669

0010

001100

00110

0

01

11

1

Q

=Trans(2,

6,

0)

Q

1

1.平移的齐次变换变换算子左乘第3章 工业机器人的运动学和动力学第75

页3.1.2 齐次变换和运算

y

sin

x

cos

y

z

z

2. 旋转的齐次变换空间某一点A,坐标为(x,y,z),当它绕Z轴旋转

角后至A

点,坐标为(x

,y

,z

)。A

点和A点的坐标关系为:问题分析:设∠BOX=α,OB=ρ(OB

=

ρ

)。则有:

x

cos

x

cos(

)

cos

cos

sin

sin

y

sin

y

sin(

)

sin

cos

cos

sin

z

z

z

z

x

cos

x

sin

y第3章 工业机器人的运动学和动力学第76

页3.1.2 齐次变换和运算

x

cos

x

sin

y

y

sin

x

cos

y

z

z0

x

0

x

0

y

y

sin

cos

sin

cos

0

z

1

z

或用矩阵表示为:2. 旋转的齐次变换第3章 工业机器人的运动学和动力学第77

页3.1.2 齐次变换和运算A

点和A点的齐次坐标分别为[x

y

z

1]T和[x y z 1]

T,因此A点的旋转齐次变换过程为:也可简写为:a’=Rot(z,θ)·a式中,Rot(z,θ)表示齐次坐标变换时绕Z轴的旋转算子,算子的内容如下,式中cθ

=cosθ

,sθ

=sinθ

。00

x

0

x

0

y

y

sin

cos

sin

0cos

00 10 0

z

0

z

1

1

1

2. 旋转的齐次变换0

第3章 工业机器人的运动学和动力学第78

c

s

0

0

s

c

00 10 0Rot(z,

)

0

0

01

3.1.2 齐次变换和运算同理可写出绕X轴的旋转算子和绕Y轴的旋转算子,其内容为:0

Rot(x,

)

0

1

0

0

0

0 c

s

s

c

0 0

0

01

0

Rot(y,

)

0

c

0

s

0

0 1 0

s

0 c

0 0 01

2. 旋转的齐次变换第3章 工业机器人的运动学和动力学第79

页3.1.2 齐次变换和运算点A绕任意过原点的单位矢量k旋转

角的情况。kx,ky,kz分别为单位矢量k在固定坐标系坐标轴X、Y、Z上的三个分x y z y yx z yz z000量(方向余弦),且kx2+k

2+k 2=1。y z

kxkx(1

cos

)

cos

kykx(1

cos

)

kz

sin

kzkx(1

cos

)

ky

sin

0

0

kk(1

cos

)

k

sin

kk(1

cos

)

cos

kzky(1

cos

)

kx

sin

Rot(k,

)

0

k

k

(1

cos

)

k

sin

kykz(1

cos

)

kx

sin

kk(1

cos

)

cos

1

上式称为一般旋转齐次变换的通式,绕X轴、Y轴、Z轴进行的旋转齐次变换是其特殊情况。2. 旋转的齐次变换第3章 工业机器人的运动学和动力学第80

页3.1.2 齐次变换和运算[例3-5]

已知坐标系中点U的位置矢量u=[7

3

2

1]T,将此点绕Z轴旋转90

,再绕Y轴旋转90

,如图所示,求旋转变换后所得的点W。问题分析:前面已经推导出齐次坐标变换时绕Z轴和Y轴的旋转算子Rot(z,θ)和Rot(y,θ)表示为:2. 旋转的齐次变换000001000

0

1

0

c

s

0

0

c90

s

c

00 10 0

s90

s90

0

0

0

1

0c90

0

0

0 10 0

=

=

Rot(z,

)

0

0

0

0

00

1

1

01

0第3章 工业机器人的运动学和动力学第81

页00

0

00

=

=

Rot(y,

)

0

0

-1

0

s90

c

0

s

0

c90

0

s90

0

0

0

1

0

0 1 0 1 0 1 0

s

0 c

0 c90

0 0

0 0 0 0 0 0 01

1

01

3.1.2 齐次变换和运算20

7

0

10

3

0

2

1

0 0 1 0

0

1 0

0 1 0

0 0

1 0 0 0

0 0 1

0 0 0 1

0 0 01

1

0

7

2

0

3

7

0

2

3

0 0 1

1 0 0

0 1 0

0 0 01

1

1

W

Rot(y,90

)

Rot(z,90

)

U

2. 旋转的齐次变换第3章 工业机器人的运动学和动力学第82

温馨提示

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

评论

0/150

提交评论