一、引入
假设有6个函数,每个函数有6个独立的变量,即:
y1=f1(x1,x2,x3,x4,x5,x6)y2=f2(x1,x2,x3,x4,x5,x6)⋮y6=f6(x1,x2,x3,x4,x5,x6)
我们用矢量形式表达上式,即:
Y=F(X)
现在,如果我们要计算
yi的微分关于
xi的微分的函数,通过多元函数求导法则,可以计算出:
δy1=∂x1∂f1δx1+∂x2∂f1δx2+⋯+∂x6∂f1δx6δy2=∂x1∂f2δx1+∂x2∂f2δx2+⋯+∂x6∂f2δx6⋮δy6=∂x1∂f6δx1+∂x2∂f6δx2+⋯+∂x6∂f6δx6
同样,我们以矢量形式表示:
δY=∂X∂FδX(1)
式(1)中的
∂X∂F为
6×6偏导数矩阵。它,就是我们所说的雅克比矩阵
J
速度映射
如果
f1(X)到
f6(X)都是非线性函数,那么,这些偏导数都是关于
xi的函数,我们可以用以下式子表达:
δY=J(X)δX(2)
式(2)两边同时除以时间微分
dt,我们就可以将雅克比矩阵看作是
X中的速度映射为
Y中的速度:
Y˙=J(X)X˙
在任一瞬间,X都有一个确定的值,
J(X)是个线性变换,在每一新时刻,如果X发生改变,
J(X)也会发生改变
在机器人学中,通常使用雅克比将关节速度与操作臂末端的速度联系起来:
v=J(θ)Θ˙(3)
其中,
Θ为关节角组成的向量,
v为速度向量。对于6关节机械臂,雅克比矩阵为
J∈R6×6,关节角
Θ∈R6×1,速度
v∈R6×1,而
v是由一个
3×1的线速度和一个
3×1的角速度所组成,表达为:
v=[vω]
对于两连杆机构,如下图,我们很容易写出它的关节速度(世界坐标系下)与执行器末端速度的关系:
vw=⎣⎡−l1s1θ˙1−l2s12(θ˙1+θ˙2)l1c1θ˙1+l2c12(θ˙1θ˙2)0⎦⎤=⎣⎡−l1s1−l2s12l1c1+l2c120−l2s12l2c1200⎦⎤⎣⎡θ˙1θ˙20⎦⎤
以及相对于执行器末端的速度:
vb=⎣⎡l1s2θ˙1l1c2θ˙1+l2(θ˙1+θ˙2)0⎦⎤=⎣⎡l1s2l1c2+l200l20000⎦⎤⎣⎡θ˙1θ˙20⎦⎤
因此,我们能够算出世界坐标系的雅克比矩阵为:
Jw(Θ)=[−l1s1−l2s12l1c1+l2c12−l2s12l2c12]
末端执行器坐标系下的雅克比:
Jb(Θ)=[l1s2l1c2+l20l2]