雅克比
雅克比矩阵
对向量求导,也就是求q的偏导,左边是m×1向量,右边是m×n矩阵乘以n×1向量 = m×1向量,左右相等。求出来的就是雅克比矩阵。
瞬时运动学
瞬时运动学(Instantaneous kinematics)也是描述从关节空间到操作空间的映射,不过“瞬时”表明它不是描述“静态”的位置,而是描述“动态”的速度。
x
=
f
(
q
)
x=f(q)
x=f(q)其中,q向量表示关节位置,x向量表示end effector的位置和朝向。
当我们说“瞬时运动学”求解的是从关节空间到操作空间的速度映射时,由于速度描述的是短时间内的位置变化,即位置对时间的导数,相信你很自然地会想到我们需要求解这样一个函数:
现在我们的任务就是,从“正运动学”公式推导出“瞬时运动学”公式:
将关节空间的速度与操作空间的速度连接起来的,就是由向量求导获得的雅可比矩阵。现在,让我们把这个重要的结论用数学方式表示出来,用J表示向量x对向量q的导数:
根据一开始讲的向量求导方法,J是一个矩阵。这个矩阵其实一点也不抽象:如果我们仔细看它的每一个元素,就会发现它的第i行第j列表示的物理意义就是当第j个关节运动时,操作空间的第i个平动/转动方向会如何运动:
下面就来看看雅克比是怎么来的?以及如何求解?需要哪些参数?
微分运动
线速度
位置矢量的速度可以看成是用位置矢量描述的空间一点的线速度。在通常的情况下, 速度矢量都是与空间的某点相关的, 而描述此点速度的大小取决千两个坐标系: 一个是进行微分运算的坐标系, 另一个是描述这个速度矢量的坐标系。
角速度
线速度描述了点的一种属性, 角速度描述了刚体的一种属性。 坐标系总是固连在被描述的刚体上, 所以可以用角速度来描述坐标系的旋转运动。
A
Ω
B
^AΩ_B
AΩB描述了坐标系{B}相对于坐标{A}的旋转,实际上,
A
Ω
B
^AΩ_B
AΩB的方向就是{B}相对对于{A}的瞬时旋转轴,
A
Ω
B
^AΩ_B
AΩB的大小表示旋转速度。
刚体的线速度和角速度
线速度
把坐标系{B}固连在一刚体上,要求描述相对于坐标系{A}的运动
B
Q
^BQ
BQ如图5所示。这里已经认为坐标系{A}是固定的。坐标系{B}相对于坐标系{A}的位置用位置矢量
A
P
B
O
R
G
^AP_{BORG}
APBORG和旋转矩阵
B
A
R
^A_BR
BAR来描述。此时,假定方位
B
A
R
^A_BR
BAR不随时间变化,则Q点相对于坐标系{A}的运动是由
A
P
B
O
R
G
^AP_{BORG}
APBORG或
B
Q
^BQ
BQ随时间的变化引起的。求解坐标系{A}中Q点的线速度是非常简单的。只要写出坐标系{A}中的两个速度分量, 求其和为:
A
V
Q
=
A
V
B
O
R
G
+
B
A
R
B
V
Q
^AV_Q=^AV_{BORG}+^A_BR^BVQ
AVQ=AVBORG+BARBVQ方程只适用于坐标系{B}和坐标系{A}的相对方位保持不变的情况。
角速度
两坐标系的原点重合、相对线速度为零的情况, 而且它们的原点始终保持重合。其中一个或这两个坐标系固连在刚体上。
图所示为用两个瞬时量表示矢量P绕Ω的旋转。 这是从固定坐标系中观测到的。
由图可以计算出这个从固定坐标系中观测到的矢量的方向和大小的变化。第一, 显然
v
P
v_P
vP的微分增量一定垂直于P和Ω。
第二, 从图可以看出微分增量的大小为:
v
P
=
Ω
×
P
v_P=Ω\times P
vP=Ω×P
书中的例子详细讲解了角速度的变换
连杆间的速度传递
在机器人连杆运动的分析中,一般使用连杆坐标系{0}作为参考坐标系。因此,
v
i
v_i
vi是连杆坐标系原点{i}的线速度,
Ω
i
Ω_i
Ωi是连杆坐标系{i}的角速度。在任一瞬时,机器人的每个连杆都具有一定的线速度和角速度。
现在讨论计算机器人连杆线速度和角速度的问题。操作臂是一个链式结构,每一个连杆的运动都与它的相邻杆有关。由千这种结构的特点,我们可以由基坐标系依次计算各连杆的速度。连杆i+1的速度就是连杆i的速度加上那些附加到关节i+1上的新的速度分量。
将机构的每一个连杆看作为一个刚体,可以用线速度矢量和角速度矢量描述其运动。进一步,我们可以用连杆坐标系本身描述这些速度,而不用基坐标系。
当两个Ω矢量都是相对千同一个坐标系时,那么这些角速度能够相加。因此,连杆i+l的 角速度就等于连杆i的角速度加上一个由千关节i+1的角速度引起的分量。参照坐标系{i},上 述关系可写成:
i
ω
i
+
1
=
i
ω
i
+
i
+
1
i
R
θ
˙
i
+
1
i
+
1
Z
^
i
+
1
^i\omega_{i+1}=^i\omega_{i}+^i_{i+1}R \dot{θ}_{i+1}^{i+1}\hat{Z}_{i+1}
iωi+1=iωi+i+1iRθ˙i+1i+1Z^i+1
注意,
θ
˙
i
+
1
i
+
1
Z
^
i
+
1
=
[
0
0
θ
˙
i
+
1
]
\dot{θ}_{i+1}^{i+1}\hat{Z}_{i+1}=\begin{bmatrix} 0 \\ 0\\\dot{θ}_{i+1} \end{bmatrix}
θ˙i+1i+1Z^i+1=⎣⎡00θ˙i+1⎦⎤
雅克比显式
求显式
利用上面讲的内容将角速度和线速度进行变换,把
0
v
p
3
^0v_{p3}
0vp3和
0
ω
p
3
^0\omega_{p3}
0ωp3求出
整理可得
由此,可得关于雅克比矩阵的函数。
取任意关节处的旋转向量
Ω
i
Ω_i
Ωi
从此关节的线速度和角速度求末端执行器的角速度和线速度
整理
由此可得雅克比矩阵显式
雅克比在各个坐标系的表达
向量表达:
0坐标系表达:
案例
求DH参数
求其次变换矩阵
取
Z
i
Z_i
Zi
John J. Craig《机器人学导论》
斯坦福大学《机器人学讲义》
oCCo(古月居)《干货 | “瞬时运动学”——还是从关节空间到操作空间(雅可比矩阵上篇)》