雅可比是多元函数的导数形式。例如有6个函数,每个函数都有6个独立变量
(5-58) y 1 = f 1 ( x 1 , x 2 , x 3 , x 4 , x 5 , x 6 ) y 2 = f 2 ( x 1 , x 2 , x 3 , x 4 , x 5 , x 6 ) ⋮ y 6 = f 6 ( x 1 , x 2 , x 3 , x 4 , x 5 , x 6 ) y_1=f_1(x_1,x_2,x_3,x_4,x_5,x_6)\\ y_2=f_2(x_1,x_2,x_3,x_4,x_5,x_6)\\ \vdots \\ y_6=f_6(x_1,x_2,x_3,x_4,x_5,x_6)\\ \tag{5-58} y1=f1(x1,x2,x3,x4,x5,x6)y2=f2(x1,x2,x3,x4,x5,x6)⋮y6=f6(x1,x2,x3,x4,x5,x6)(5-58)
用矢量符号表示为
(5-59) Y = F ( X ) Y=F(X)\tag{5-59} Y=F(X)(5-59)
按照求导法则,有
(5-63) Y ˙ = J ( X ) X ˙ \dot Y=J(X)\dot X \tag{5-63} Y˙=J(X)X˙(5-63)
在任一时刻,X都有一个确定的值, J ( X ) J(X) J(X)是一个线性变换。在每一个新时刻,如果X改变,线性变换也会随之改变。所以雅可比是时变的线性变换。
在机器人学中,通常使用雅可比将关节速度与操作臂末端的笛卡尔速度联系起来,比如
(5-64) 0 v = 0 J ( Θ ) Θ ˙ ^0\text v=^0J(\Theta)\dot \Theta\tag{5-64} 0v=0J(Θ)Θ˙(5-64)
式中, Θ \Theta Θ是操作臂关节矢量, v v v是笛卡尔速度矢量。注意,对于任意已知操作臂位形,关节速度和操作臂末端速度的关系是线性的,然而这种线性关系近视瞬时的。
可以定义任何维数的雅可比(包括非方阵形式)。雅可比矩阵的行数等于操作臂在笛卡尔空间的自由度数,雅可比矩阵的列数等于操作臂的关节数量。例如对于通常的6轴机器人,雅可比是 6 × 6 6\times 6 6×6阶的矩阵, Θ ˙ \dot\Theta Θ˙是 6 × 1 6\times1 6×1维的, 0 v ^0v 0v也是 6 × 1 6\times1 6×1维的,这个 6 × 1 6\times1 6×1笛卡尔速度矢量是一个 3 × 1 3\times1 3×1的线性速度矢量和一个 3 × 1 3\times 1 3×1的角速度矢量组合起来的
(5-65) 0 v = [ 0 v 0 w ] ^0\text v=\left[\begin{matrix} ^0v \\ ^0w \end{matrix}\right] \tag{5-65} 0v=[0v0w](5-65)
我们知道,速度在不同参考坐标系中的描述时不一样的,那么雅可比矩阵也是跟参考坐标系相关的。
已知坐标系{B}中的雅可比矩阵
(5-68) [ B v B w ] = B v = B J ( Θ ) Θ ˙ \left[\begin{matrix} ^Bv \\ ^Bw \end {matrix}\right]=^B\text v=^BJ(\Theta)\dot\Theta \tag{5-68} [BvBw]=Bv=BJ(Θ)Θ˙(5-68)
我们要求雅可比矩阵在另一个坐标系{A}中的表达。已知坐标系{B}中的 6 × 1 6\times 1 6×1笛卡尔速度矢量可以通过如下变换得到相对于坐标系{A}的表达式
(5-69) [ A v A w ] = [ B A R 0 0 B A R ] [ B v B w ] \left[\begin{matrix} ^Av \\ ^Aw \end {matrix}\right]=\left[\begin{matrix} ^A_BR & 0 \\ 0 &^A_B R \end {matrix}\right]\left[\begin{matrix} ^Bv \\ ^Bw \end {matrix}\right]\tag{5-69} [AvAw]=[BAR00BAR][BvBw](5-69)
因此可以得到
(5-70) [ A v A w ] = [ B A R 0 0 B A R ] B J ( Θ ) Θ ˙ \left[\begin{matrix} ^Av \\ ^Aw \end {matrix}\right]=\left[\begin{matrix} ^A_BR & 0 \\ 0 &^A_B R \end {matrix}\right] \ ^BJ(\Theta)\dot\Theta\tag{5-70} [AvAw]=[BAR00BAR] BJ(Θ)Θ˙(5-70)
因此,利用下列关系式可以完成雅可比矩阵参考坐标系的变换
(5-71) A J ( Θ ) = [ B A R 0 0 B A R ] B J ( Θ ) ^AJ(\Theta)=\left[\begin{matrix} ^A_BR & 0 \\ 0 &^A_B R \end {matrix}\right] \ ^BJ(\Theta)\tag{5-71} AJ(Θ)=[BAR00BAR] BJ(Θ)(5-71)
另外,雅可比矩阵在某些情况下会出现奇异,这里对此暂不讨论。
参考文献
[1] JOHN J.CRAIG. 机器人学导论: 第3版[M]. 机械工业出版社, 2006.