机器人导论(第四版)学习笔记——第三章

3 操作臂运动学

3.1 引言

运动学只研究运动特性,不考虑施加的力。
操作臂运动学涉及所有与运动有关的几何参数和与时间有关的性质。
本章重点是把操作臂关节变量作为自变量,描述操作臂末端执行器与操作臂基座之间的函数关系。

3.2 连杆的描述

操作臂=以关节连成的运动链的刚体。这些刚体称为连杆。
刚体间的相对运动是两个平面之间的相对滑动时,称为低副。低副有6种,转动副,移动副,圆柱副,平面副,螺旋副和球面副。
设计机器人时,优先选择一个自由度的关节。(转动、移动关节)
基座定义为连杆0,第一个可动连杆定义为连杆1,以此类推,最后一个为连杆n。为实现任何位置和姿态,需要至少6个关节。
连杆i绕关节轴i相对于连杆i-1转动,轴i-1与轴i之间的距离

a

i

1

a_{i-1}

ai1即为连杆i-1的长度,夹角为

α

i

1

alpha_{i-1}

αi1。夹角按照右手定则,绕公垂线从i-1转向轴线i。

3.3 连杆连接的描述

处于运动链中间的连杆
相邻两个连杆之间有一个公共转轴,沿两个连杆公共轴线方向的距离可以用连杆偏距来描述。关节轴i上的偏距记为

d

i

d_i

di;两相邻连杆绕公共轴线旋转的夹角称为关节角,记为

θ

i

theta_i

θi

当关节i为移动关节时,

d

i

d_i

di是一个变量;
当关节i为转动关节时,

θ

i

theta_i

θi是一个变量。

运动链中首末端连杆
如果1为转动关节,

θ

1

theta_1

θ1的零位任取,

d

1

d_1

d1=0;
如果1为移动关节,

d

1

d_1

d1的零位任取,

θ

1

theta_1

θ1=0。

a

0

=

a

n

=

0

a_0=a_n=0

a0=an=0

α

0

=

α

n

=

0

alpha_0=alpha_n=0

α0=αn=0

连杆参数
每个连杆用4个参数来表达,2个用来描述连杆本身,2个用来描述相互之间的连接关系。

转动关节:

θ

i

theta_i

θi为关节变量,其他三个参数固定不变
移动关节:

d

i

d_i

di为关节变量,其他三个参数固定不变

连杆参数描述机构运动关系的方法称为Denavit-Hartenber方法。一个6关节机器人,18个参数即可描述这些固定的运动参数,如果是6个转动关节,则18个参数可以分为6组,

(

a

i

,

α

i

,

d

i

)

(a_i,alpha_i,d_i)

(ai,αi,di)

3.4 连杆坐标系的定义

为了描述每个连杆与相邻连杆之间的相对位置关系,在每个连杆上定义一个固连坐标系,连杆i对应坐标系{i}。
运动链中间位置连杆坐标系的定义
Z轴与关节轴重合,原点位于公垂线与关节轴交点处,X轴沿公垂线指向下一个关节轴,Y轴遵循右手定则。
运动链首末端连杆坐标系的定义
基座(连杆0)上的坐标系固定不动,一般作为参考坐标系。参考坐标系可任意设定,但通常设定

Z

^

0

hat Z_0

Z^0轴沿关节轴1的方向,且当关节变量1为0时,坐标系{0}与坐标系{1}重合。因此总有

a

0

=

0

,

α

0

=

0

a_0=0, alpha_0=0

a0=0,α0=0。对转动关节而言,

d

1

=

0

d_1=0

d1=0,对移动关节而言,

θ

1

=

0

theta_1=0

θ1=0

对于转动关节n,当

θ

n

=

0

theta_n=0

θn=0时,

X

^

N

hat X_N

X^N

X

^

N

1

hat X_{N-1}

X^N1方向相同,选择{N}的原点,使之满足

d

n

=

0

d_n=0

dn=0
对于移动关节n,设定

X

^

N

hat X_N

X^N轴的方向使之满足

θ

N

=

0

theta_N=0

θN=0,当

d

n

=

0

d_n=0

dn=0时选取坐标系{N}的原点位于

X

^

N

1

hat X_{N-1}

X^N1轴与关节轴n的交点。

连杆参数在坐标系中的表示方法

a

i

a_i

ai:沿

X

^

i

hat X_i

X^i轴,从

Z

^

i

hat Z_i

Z^i移动到

Z

^

i

+

1

hat Z_{i+1}

Z^i+1轴的距离

α

i

alpha_i

αi:绕

X

^

i

hat X_i

X^i轴,从

Z

^

i

hat Z_i

Z^i旋转到

Z

^

i

+

1

hat Z_{i+1}

Z^i+1轴的角度

d

i

d_i

di:沿

Z

^

i

hat Z_i

Z^i轴,从

X

^

i

1

hat X_{i-1}

X^i1移动到

X

^

i

hat X_i

X^i轴的距离

θ

i

theta_i

θi:沿

X

^

i

hat X_i

X^i轴,从

X

^

i

1

hat X_{i-1}

X^i1旋转到

X

^

i

hat X_i

X^i轴的角度

连杆坐标系的建立步骤

  1. 找出各关节轴,并标出轴的延长线
  2. 找出轴i与轴i+1之间的公垂线或两轴之间的交点,以此交点或公垂线与i轴交点为原点,确定坐标系{i}的原点
  3. 规定

    Z

    ^

    i

    hat Z_i

    Z^i轴的指向

  4. 规定

    X

    ^

    i

    hat X_i

    X^i轴沿着公垂线的指向,如为相交两周,则规定垂直两轴平面的指向

  5. 按照右手定则确定

    Y

    ^

    i

    hat Y_i

    Y^i轴的指向

  6. 当第一个关节变量为0时,令坐标系{0}与坐标系{1}重合。对于坐标系{N},其原点和

    X

    ^

    N

    hat X_N

    X^N的方向可以任意选取,选取时尽量使两岸参数为0。

3.5 操作臂运动学

推导相邻连杆之间坐标变换的一般形式,然后将这些独立的变换联系起来求出连杆n对于连杆0的位置和姿态,是本节的核心。
连杆变换的推导
这里用到了科学方法论,将此问题分解成n个

i

i

1

T

^{i-1}_iT

ii1T的求解,再将单个

i

i

1

T

^{i-1}_iT

ii1T分解成4个独立变换,每个变换对应一个连杆参数
坐标系i对于坐标系i-1的推导,即

i

i

1

T

^{i-1}_iT

ii1T

取三个中间坐标系,{P},{Q},{R}
由于旋转了

α

i

1

alpha_{i-1}

αi1,{R}与{i-1}不同
由于平移了

a

i

1

a_{i-1}

ai1,{Q}与{R}不同
由于旋转了

θ

i

theta_i

θi,{P}与{Q}不同
由于平移了

d

i

d_i

di,{i}与{P}不同

因此如果想把坐标系{i}中的矢量变换成{i-1}中的矢量,即可写成:

i

1

P

=

R

i

1

T

P

Q

T

i

P

T

i

P

=

i

i

1

T

P

^{i-1}P=^{i-1}_RT^Q_PT^P_iT^iP=^{i-1}_iTP

i1P=Ri1TPQTiPTiP=ii1TP
即:

i

i

1

T

=

R

i

1

T

Q

R

T

P

Q

T

i

P

T

^{i-1}_iT=^{i-1}_RT^R_QT^Q_PT^P_iT

ii1T=Ri1TQRTPQTiPT
由上述变换,则可写成

i

i

1

T

=

R

X

(

α

i

1

)

D

X

(

a

i

1

)

R

Z

(

θ

i

)

D

Z

(

d

i

)

^{i-1}_iT=R_X(alpha_{i-1})D_X(a_{i-1})R_Z(theta_i)D_Z(d_i)

ii1T=RX(αi1)DX(ai1)RZ(θi)DZ(di)
还可写成

i

i

1

T

=

S

c

r

e

w

X

(

a

i

1

,

α

i

1

)

S

c

r

e

w

(

d

i

,

θ

i

)

^{i-1}_iT=Screw_X(a_{i-1},alpha_{i-1})Screw(d_i,theta_i)

ii1T=ScrewX(ai1,αi1)Screw(di,θi),Screw为算子,表示先平移再旋转
连乘即可得到结果:

i

i

1

T

=

(

c

θ

i

s

θ

i

0

a

i

1

s

θ

i

c

α

i

1

c

θ

i

c

α

i

1

s

α

i

1

s

α

i

1

d

i

s

θ

i

s

α

i

a

c

θ

i

s

α

i

1

c

α

i

1

c

α

i

1

d

i

0

0

0

1

)

^{i-1}_iT=left(begin{matrix} ctheta_i & -stheta_i & 0 & a_{i-1}\ stheta_icalpha_{i-1} & ctheta_icalpha_{i-1} & -salpha_{i-1} & -salpha{i-1}d_i\ stheta_isalpha_{i-a} & ctheta_isalpha_{i-1} & calpha_{i-1} & calpha_{i-1}d_i\ 0 & 0 & 0 & 1\ end{matrix}right)

ii1T=cθisθicαi1sθisαia0sθicθicαi1cθisαi100sαi1cαi10ai1sαi1dicαi1di1
连杆变换的连乘

N

0

T

=

1

0

T

2

1

T

N

N

1

T

^0_NT=^0_1T^1_2T cdots ^{N-1}_{N}T

N0T=10T21TNN1T,是关于n个关节变量的函数,如果通过传感器测出每个关节变量,即可计算出末端位置和姿态。

3.6 驱动空间、关节空间和笛卡尔空间

n个关节变量组成一个nx1的关节向量,所有关节向量组成的空间被称作关节空间。相应的有驱动空间和笛卡尔空间。从驱动空间

to

关节空间

to

笛卡尔空间的计算被称为正运算,反之为逆运算。

3.7 实例:两种工业机器人的运动学问题

分别是Unimation公司的PUMA 560机器人和Yasukawa公司的Motoman L-3机器人。

3.8 坐标系的标准命名

基座标系{B}: 即基座上的坐标系{0}
固定坐标系{S}: 桌子角上的坐标系,也叫任务坐标系、世界坐标系或通用坐标系
腕部坐标系{W}: 操作臂末端连杆上的坐标系,也叫{N},原点位于操作臂手腕上
工具坐标系{T}: 附于机器人所夹持工具的末端,没有工具时,原点位于机器人的指尖之间
目标坐标系{G}: 对机器人移动工具要达到的位置的描述,即运动结束时,工具坐标系需与目标坐标系重合

3.9 工具的位置

变换方程

T

S

T

=

S

B

T

1

W

B

T

T

W

T

^S_T{T} = ^B_ST^{-1}{^B_WT}^W_TT

TST=SBT1WBTTWT一般被称为定位函数,用它可以计算手臂的位置。

3.10 计算问题

浮点数or定点数表示变量,由于变化范围较小,用定点数表示可以减少运算量。
做因式分解,以增加局部变量的代价减少乘法和加法次数。
正余弦采用查表法。
姿态求解时,先计算前两列,第三列是前两列做叉乘。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>