第6章操作臂的雅克比矩阵

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 26

第 6 章:操作臂的雅克比矩阵

主讲:李文龙、陈文斌

单位:数字制造装备与技术国重

邮箱: wlli@mail.hust.edu.cn

办公:先进制造大楼东楼 D213

版权所有:华中科技大学机器人学教研组
主要内容

6.1 引例
6.2 速度雅克比矩阵
6.3 逆雅克比矩阵和奇异性
6.4 操作臂的灵巧度
6.5 力雅克比矩阵
6.6 冗余度机器人
6.7 刚度与柔度
6.8 误差标定与补偿
 位移分析:第三章运动学方程建立( D-H 、指数积)

 速度分析:操作空间速度与关节空间速度的线性映射关系—雅可比矩阵 J
(q)

 力分析:末端操作力与各关节驱动力的线性映射关系——力雅可比矩阵
JT(q)
6.1 引例

 R-P 平面机械手,有 2 个关节,一个旋转关节(关节变量  ),一个


为移动关节(关节变量 r ),运动学方程:
x  r cos ,
y  r sin  r
y
 对时间求导,得操作速度与关节速度关系:  x, y 

x   r sin   r cos  , x

y   r cos   r sin  
y
x

 写成矩阵形式:
  r sin  cos 
x    q  J  q  q R-P 平面机械手
 r cos  sin  
T
式中 x   x y  q  
T
表示末端操作速度、 r  表示关节速度

 速度雅克比矩阵 J(q) 表示:从关节速度矢量q 到操作速度x 的映射

 雅克比矩阵行列式为零 J  q   0 ,机器人形位处于奇异状态(避
免)
6.1 引例

 2R 平面机械手,有 2 个转动关节,关节变量1 ,  2
运动学方程:
x  l1 cos1  l2 cos 1   2 
y  l1 sin 1  l2 sin 1   2

雅克比矩阵:
 l sin 1  l2 sin 1   2  l2 sin 1  2 
J q    1 
1l cos 1  l2 cos  1   2  l2 cos  1   
2 

逆雅克比矩阵: 2R 平面机械手
1  l2 cos 1   2  l2 sin 1  2  
J q  
1
 
l1l2 sin  2  l1 cos 1  l2 cos 1   2   l1 sin 1  l2 sin 1   2  

行列式为零: 2  0 或 2   ,即机器人完全拉直或缩回时处于奇异状
态;机器人末端只能沿一个方向(切向)运动,退化为 1 个自由度。
6.2 速度雅克比矩阵

 速度可以看作时单位时间内的微分运动,故雅克比可以看成是关节空
间的微分运动 dq 向操作空间微分运动 D 的转换矩阵,即:
D  J  q  dq

 雅克比矩阵:不一定是方阵,行数等于机器人操作空间维,列数等于
机器人的关节数。对于 n 个关节的机器人,雅克比是 6 ×n 的矩阵,前
3 行代表末端线速度映射、后 3 行代表末端角速度映射,分块为:
 q1 
   J l 1  J ln   
    J 
 J an  


   a1  q n 

 微分移动矢量 d 和微分转动矢量  与各关节微分运动 dq 的关系:


d  J l1dq1  J l 2 dq2    J l n dqn ,
  J a1dq1  J a 2 dq2    J an dqn
矢量积方法

 对于移动关节 i ,末端线速度 与 zi 方向相同:

    zi   zi 
    0  q i , Ji   
    0

 对于转动关节 i ,末端角速度为ω  zi q i ,线速度为矢量积,故:


 zi   0i R i pn 
Ji   
 zi 

式中  R i pn 
0
i 表示末端原点在 {i} 坐标系的位置矢量在基坐标系 {0} 的表

 当需要在工具坐标系 {T} 中表示线速度和角速度时:
 n   no R T 0     no R 0 
n    
o T  
   J  q  
q  T
J  q  q
   0 
nR  
o
 0 n R
工具坐标系 {T} 中的雅克比
微分变换法( D-H 方法基础上)
 相对工具坐标系的微分与相对基坐标系的微分存在如下关系:

 T d x   nx ny nz ( p  n) x ( p  n) y ( p  n) z   d x 
 T  o oy oz ( p  o) x ( p  o) y ( p  o) z   d y 
 dy   x  
 T d z  ax ay az ( p  a)x ( p  a) y ( p  a)z   d z 
T     
 x   0 0 0 nx ny nz   x 
 T   0 0 0 ox oy oz   y 
T y   
  z   0 0 0 ax ay az    z 

 应用广泛:机器人速度分析、标定、补偿、夹具、加工等
微分变换法( D-H 方法基础上)
 对于第 i 个关节,微分运动矢量

 0  0 0  0
d   0 ,    0  d i d   0  dd i    0
       
0 1 1  0
转动 移动
关节 i 关节 i
 p  n z   nz   nz  0 
d  oz  ddi ,    0 
 
  oz 
T T
T
d   p  o z  T

   a z  a z  0 
  p  a  z

 注意: T 表示在工具坐标系 {T} 中表示线速度和角速度时


微分变换法( D-H 方法基础上)
 对于第 i 个关节,雅克比矩阵T J  q  的第 i 列:

 ( p  n) z   nz 
T
J li   ( p  o) z  T
J li  oz 
 ( p  a ) z  a z 

转动关节 移动关节
 nz  0
i i
T
J ai  oz  T
J ai  0
a z  0

 注意: T 表示在工具坐标系 {T} 中表示线速度和角速度时


微分变换法( PUMA560 )
 计算各连杆变换: 01T , 21T ,, nn1T
 计算末端与各连杆的变换:
n 1 n 1 n2 n2
T
n T ,
n nT T nn1T ,  ,
n 1
i 1
nT i 1
T niT ,  , 0nT  01T n1T
i

T i
 计算雅克比 T J (q) 的各列,第 i 列J i nT
由 所决定:

 工件坐标系中雅克比 J  q  与J  q 
T
之间的关系:
 n0 R T 0   n0 R 0 T
T
J q    0 T
J q  , J q    0 
J q 
 0 nR   0 n R
实例:计算 TJ(q)  ( p  n) z   nz 
T
J li   ( p  o) z  T
J li  oz 
1  ( p  a ) z  a z 
T
J(q) 第一列 J1(q) 对应的变换是T
T 6

 nz 
 nx ox ax px  0
T
J ai  oz  T
J ai   0 
n oy ay p y  a z   0 
1
6T   y

 nz oz az pz  nx  c23 (c4 c5c6  s4 s6 )  s23 s5 c6


 
0 0 0 1 n y   s4 c5c6  c4 s6
nz   s23 (c4 c5c6  s4 s6 )  c23 s5 c6
 T
J1 x  ox  c23 (c4 c5c6  s4 s6 )  s23 s5 c6
 T  o y  s4 c5 c6  c4 s6
 J1 y  oz  s23 (c4 c5c6  s4 s6 )  c23 s5 c6
T
 T
J1 z  ax  c23c4 s5  s23c5
J1 ( q )   
  s23 (c4 c5c6  s4 s6 )  c23 s5c6 
a y  s4 s5
az  s23c4 s5  c23c5
 s (c c c  s s )  c s c 
 23 4 5 6 4 6 23 5 6
 px  a2 c2  a3c23  d 4 s23
 s23c4 s5  c23c5  py  d2
pz   a3 s23  a2 s2  d 4 c2312
 a2 c2  a3c23  d 4 s23   c23 (c4 c5c6  s4 s6 )  s23 s5 c6 
T
J1x  ( p  n) z   d2 
   s c c
4 5 6  c s
4 6


 a3 s23  a2 s2  d 4 c23    s23 (c4 c5 c6  s4 s6 )  c23 s5c6 
 (a2 c2  a3c23  d 4 s23 )( s4 c5c6  c4 s6 )  d 2 (c23 (c4c5c6  s4 s6 )  s23 s5c6 )
 a2 c2  a3c23  d 4 s23   c23 (c4c5c6  s4 s6 )  s23s5c6 
T
J1 y  ( p  o) z   d2 
  s c c
4 5 6  c s
4 6


 a3 s23  a2 s2  d 4c23   s23 (c4c5c6  s4 s6 )  c23 s5c6 
 (a2 c2  a3c23  d 4 s23 )( s4c5c6  c4 s6 )  d 2 (c23 (c4c5c6  s4 s6 )  s23s5c6 )
 a2 c2  a3c23  d 4 s23   c23c4 s5  c23c5 
T
J1z  ( p  a ) z   d2 
  s s
4 5


 a3 s23  a2 s2  d 4c23   s23c4 s5  c23c5 
 s4 s5 (a2c2  a3c23  d 4 s23 )  d 2 (c23c4 s5  c23c5 )
指数积法
 经推导,末端速度与各个关节速度成线性关系,运动旋量坐标:
S
TV s  TS J s  

式中 TS J S   6n 称为操作臂的空间雅克比矩阵
 经推导(参考教材),速度雅克比的每一列为:
S
T J s    V1' V2' ... Vn'  ,


Vi '  Ad e 1  1 ... e i1  i1 Vi
V  V 

显然: 雅克比第 i 列Vi
'
1 ,..., i 1
仅与 有关;第 i 个关节的运动旋量坐标
Vi '
经伴随变换即可得到雅克比的第 i 列 。

T J    Ad  TT    T J  
 空间雅克比与物体雅克比存在关系:
S s S S b

 练习:用指数积方法推导 SCARA 机器人空间雅克比?


6.3 雅克比矩阵几何性质

 线性映射 J 的域空间 R(J) 是操作空间 Rm 的子空间,代表机器人在该


形位时能达到的操作速度的集合(或微分运动的集合)
 线性映射 J 的零空间 N(J) 是关节空间 Rn 的子空间,代表不产生操作
速度(或微分运动)的关节速度(或微分运动)的集合
dim  R  J   dim  N  J   n
6.3 雅克比矩阵几何性质

 线性映射 J 的域空间 R(J) 是操作空间 Rm 的子空间,代表机器人在该


形位时能达到的操作速度的集合(或微分运动的集合)
 线性映射 J 的零空间 N(J) 是关节空间 Rn 的子空间,代表不产生操作
速度(或微分运动)的关节速度(或微分运动)的集合
dim  R  J   dim  N  J   n
 当 n>m 且 J 满秩时,机器人具有冗余自由度,冗余度定义为 N(J) 的
维数;当 n=m 且 J 满秩时,机器人具有满自由度;当 n<m ,机器人
是欠自由度。机器人处于奇异形位时,机器人冗余度将减少。
J
q V n p V m

p  0

N J 
R J 

关节速度与操作速度的线性映射
雅克比伪逆的计算

 雅克比表达式复杂,其逆 J-1(q) 的求解十分困难,数值计算较慢,会碰


到奇异和病态情况。有学者提出采用伪逆 J+ 处理奇异状态速度反解:
q  J   q  x
式中 J   R nm 是雅克比矩阵 J 伪逆,是下面方程最小范数的最小二乘解:

min Jq  x  JJ  x  x

 伪逆 J+ 满足 J J+ =I ,如果 J(q) 的秩等于 m ,可由下式计算:

 JJ 
1
 T T
J J

 机器人处于奇异形位时,可采用 Mayne 修改算法计算 J+ 。


6.4 操作臂的灵巧度

 雅克比的奇异性定性描述了操作臂灵巧度,定量指标与奇异值有关:
J  q   U V
mm
式中 U  , V nn 为正交矩阵,而:
 1 0  0 0
0   0 0
 2 
    
 
0 0  m 0

式中  1   2     m  0 为 J 的奇异值。
 对角阵  与雅克比矩阵 J 具有相同的秩,当rank     rank  J   r
时  1 0  0 0 0
0   0 0 0
 2 
    
 
0 0   r  0 0
    
 
0 0  0  0 0
灵巧性度量指标
k  J   1  r
 条件数( Salibury 和 Craig ):采用条件数(可证明 ):
|| J  q  || || J  q  ||  m  n时
k (J )  
|| J  q  || || J  q  ||

 m  n 时
 最小条件数:采用最小奇异值作为控制关节速度上限的指标
|| q || 1  r  || x ||

 运动灵巧性( Angeles 和 Rojas ):采用最小条件数的倒数


1
D   100%, km  min k  J 
km q ,q ,, q 2 3 5

 可操作性( Yoshikawa ):采用雅克比与其转置的行列式


w  det  J  q  J T  q    1 2  m

w | det  J  q  |
显然:当 m=n 时, rank  J  q   m, w  0
;处于奇异时,

6.5 力雅克比矩阵

 操作臂末端受到的外力 f n 和力矩 mn 组成 6 维矢量:


f 
Fn   n 
 mn 
 定义各个关节驱动力(或力矩)矢量:    1  2 ...  n 
T

 虚功原理:关节空间虚位移产生的虚功等于操作空间产生的虚功
τ T q  F T D

 将 D  J (q ) dq τ
代入上式可得:  J T
q  F
 上式是无摩擦时操作臂力平衡的条件。 J 的转置 JT(q) 就是力雅克比矩
阵,表示将作用在末端的力 F 线性映射为相应的关节驱动力。
6.5 力雅克比矩阵

 操作臂速度传递与静力传递存在对偶关系:
x  J  q  q , τ  J T  q  F
 J(q) 是 m×n 阶矩阵, n 表示关节数, m 表示操作空间的维数;
 J 的值域 R(J) 和零空间 N(J) 前面已经讨论;值域空间 R(JT (q)) 表示操作
力能够平衡的所有关节力矢量的集合,零空间 N(JT (q)) 代表不需要任何
关节驱动力能承受的所有操作力的集合 , 末端操作力由机构本身承受:
关节空间 操作空间
q  V n
V V m
J
s2
N J  s1
速度 o R J 
速度与静
力的线性
映射
JT
静力 o s4
R  J T  s3 N J T 
τ V n F V m
力旋量坐标的伴随表示

 由虚功原理, 6 维力旋量坐标 F 从坐标系 {B} 到 {A } 可用伴随变换表


示: A
F  Ad F  ABT  B F

 力旋量坐标的伴随变换(与速度伴随变换对偶):
 A
R 0 
Ad F  BT    A
A B

  pBo  B R
A A
B R 
S T
F F
练习:已知作用在手腕的 ,求
 ST R T
pSo 
解答: T
ST =  
 0 1 
1 )求变换矩阵:
 S d   TS R [ S pTo ]TS R   T d 
2 )微分运动传递(速度伴随):= S   S  T 
   0 T R   

T f   0 S f 
T
SR
T  =  T T T
S 
 m    pSo  S R S R   m 
3 )由对偶性得静力传递:
6.6 冗余度机器人

 冗余度机器人:完成某一任务具有多余的自由度;增加了机器人的灵
巧性、避免奇异性、躲避障碍物、改善动力学性能。
 关节空间维数大于操作空间维数: n>m ; J 满秩时,冗余度定义为:
dim  N  J  q   n  m  0

 冗余度机器人运动反解有无限个、速度反解: q  J x +  I  J J 
 

 速度比椭球:度量冗余度机器人运动过程的灵巧性:
 v  x T w x x q T wq q
mm nn
w
式中 x  R , w  R
是加权矩阵,一般为对角阵。
q

 给定机器人形位和末端速度, v 表面形成椭球:
 长轴等于 J 最大特征值,短轴等于最小特征值 ;
 短轴方向,机械手灵巧性最差,末端变向很困难;
 奇异点处,短轴为零,末端在短轴方向不能运动;
操作臂速度比椭球
 椭球越大、长短越均匀,灵巧性就越好。
6.7 刚度与柔度

 操作臂末端外力作用下变形:与操作臂刚度和作用力大小有关,刚度
影响操作臂动态特性和在负载情况下的定位精度;
 工业机器人变形:传动、减速装置和伺服驱动系统;
 关节力矩  i  ki  qi 称为静态误差力矩,其矢量形式:
  K q

式中 K  diag k1 , k2 , ... , kn  为由刚度系数组成的对角阵


 根据   J T F 与D  J q 的对偶关系,得:
D  JK 1J T F  CF ,
F  C 1 D

式中柔度矩阵 C 表示操作力 F 和末端变形 D 之间的线性关系;柔度矩阵



逆表示末端刚度矩阵,操作臂末端柔度和刚度矩阵决定了各关节的刚度
和雅克比矩阵。
6.8 误差标定与补偿

 机器人标定:运动参数标定、视觉系统标定、多维力传感标定等;
 连杆变换法:
T  ai 1 , i 1 , d i ,i   Trans  x, ai 1  Rot  x, i 1 Trans  z , d i  Rot  z , i 
i 1
i

考虑了两轴线平行时奇异情况: Rot  y,  

 ci ci  si ci s i ai 1 


 s c c  s s ci c i 1 si c i 1s i  s i 1ci di s i 1 
i 1
iT   i i 1 i i 1 i 
 s i c i 1c i  c i 1si ci s i 1 si c i 1 s i  c i 1ci di c i 1 
 
 0 0 0 1 
微分移动矢量和微分转动矢量

d  M   M d d  M a a  M   M   ,
  R   R   R 
求解线性方程: B 偏导数矩阵、 x 变量、 b 观测
矢量
Bx  b
6.8 误差标定与补偿

 机器人标定:运动参数标定、视觉系统标定、多维力传感标定等;
 指数积法:
 变换矩阵由各误差引起的微分:
T T T
T  V     VT
L  VT

式中三项分别为 T  e 1  1 e 2  2 ...e n  n e T 
V  V  V  V
 , e T   TST  0 
V ,为
V
引入的分

 最终可转化为如下运动参数辨识的约束求解问题: 2
 T T T 
Minimize :  TT 1   V     VT  T 1
 V  VT 
r  jo int i  i  1, i  i   i  i   0
Subject to : 
 p  jo int  i   i  1

You might also like