机器人静力学与雅可比矩阵

  • Post author:
  • Post category:其他




机器人静力学与雅可比矩阵



引言



两大问题

  • 问题一:机器人静力学建模问题。已知外界环境对机器人手部作用力,求相应的满足静力学平衡条件的关节驱动力矩。

    输入力与输出力间的传递(映射)关系
  • 问题二:刚度问题。在外力和负载的作用下,机器人末端执行器会偏离理想的位置。

    载荷与变形间对应关系



虚功与虚功原理

虚功原理:具有理想约束力学体系,其平衡的充要条件是所有主动力在任意虚位移中所作元功之和等于零。

虚功:作用在质点上的力(含约束力)在任意虚位移中所作的功。

虚位移:质点在约束允许情况下可能发生的无限小位置变更。



操作臂力和力矩的平衡



关节驱动力计算

对于每个杆件而言,考虑

负载力

(从末端传递到各关节),

重力

(作用于质心),和

关节力

(关节载荷,由此获得关节驱动力)

计算时,采用前置DH法,即改进的DH(MDH)法创建坐标系。

在这里插入图片描述

使用MDH法,使得每个杆件的坐标系建立在输入端,便于在列写平衡方程时,力与杆件的下标相对应,不易出现错误。

在这里插入图片描述

在这其中:




  • f

    i

    f_i







    f










    i





















    :连杆i-1作用在连杆i上的力




  • M

    i

    M_i







    M










    i





















    :连杆i-1作用在连杆i上的力矩




  • f

    i

    +

    1

    f_{i+1}







    f











    i


    +


    1






















    :连杆i作用在连杆i+1上的力




  • M

    i

    +

    1

    M_{i+1}







    M











    i


    +


    1






















    :连杆i作用在连杆i+1上的力矩




  • m

    i

    g

    m_i g







    m










    i


















    g





    :连杆i的重力,作用在质心上




  • i

    r

    c

    i

    ^ir_{ci}

















    i










    r











    c


    i






















    :连杆i上的质心位置




  • i

    P

    i

    +

    1

    ^iP_{i+1}

















    i










    P











    i


    +


    1






















    :坐标系{i+1}的原点相对于坐标系{i}的表示

单独分析连杆i,其处于平衡状态有:

力平衡





i

f

i

i

f

i

+

1

+

i

m

i

g

=

0

^if_i – ^if_{i+1} + ^im_i g = 0

















i










f










i
































i
















f











i


+


1






















+










i
















m










i


















g




=








0





各力均在坐标系{i}下表示,相互作用力之间使用负号标注。

力矩平衡





i

M

i

i

M

i

+

1

i

P

i

+

1

×

i

f

i

+

1

+

i

r

c

i

i

m

i

g

=

0

^iM_i – ^iM_{i+1} – ^iP_{i+1} \times ^if_{i+1} + ^ir_{ci} {^im_i g} = 0

















i










M










i
































i
















M











i


+


1

































i
















P











i


+


1






















×










i
















f











i


+


1






















+










i
















r











c


i































i










m










i


















g





=








0







如果忽略掉连杆本身重量,上两式可以写成反向迭代的形式





i

f

i

=

i

f

i

+

1

^if_i = ^if_{i+1}

















i










f










i





















=










i
















f











i


+


1


























i

M

i

=

i

M

i

+

1

+

i

P

i

+

1

×

i

f

i

+

1

^iM_i = ^iM_{i+1} + ^iP_{i+1} \times ^if_{i+1}

















i










M










i





















=










i
















M











i


+


1






















+










i
















P











i


+


1






















×










i
















f











i


+


1






















建立虚功方程:





δ

w

=

(

i

F

i

+

1

)

i

D

i

+

1

=

(

i

+

1

F

i

+

1

)

i

+

1

D

i

+

1

\delta w = (^iF_{i+1})^{\prime} {^iD_{i+1}} = (^{i+1}F_{i+1})^{\prime} {^{i+1}D_{i+1}}






δ


w




=









(










i










F











i


+


1




















)


































i










D











i


+


1






















=









(











i


+


1











F











i


+


1




















)



































i


+


1











D











i


+


1

























D表示杆件微分运动(虚位移)

F表示杆件力(六维向量)

微分运动之间存在这样的关系:





i

D

i

+

1

=

[

i

R

i

+

1

0

0

i

R

i

+

1

]

^iD_{i+1} = \begin{bmatrix} ^iR_{i+1} & 0\\ 0 & ^iR_{i+1} \end{bmatrix}

















i










D











i


+


1





















=










[
























i










R











i


+


1

























0





























0



















i










R











i


+


1





































]









记:





J

D

F

=

[

i

R

i

+

1

0

0

i

R

i

+

1

]

J_{DF} = \begin{bmatrix} ^iR_{i+1} & 0\\ 0 & ^iR_{i+1} \end{bmatrix}







J











D


F





















=










[
























i










R











i


+


1

























0





























0



















i










R











i


+


1





































]









有:





i

D

i

+

1

=

J

D

F

i

+

1

D

i

+

1

^iD_{i+1} = J_{DF} {^{i+1}D_{i+1}}

















i










D











i


+


1





















=









J











D


F
































i


+


1











D











i


+


1

























整理可得:





i

F

i

+

1

=

J

D

F

i

+

1

F

i

+

1

^iF_{i+1} = J_{DF} {^{i+1}F_{i+1}}

















i










F











i


+


1





















=









J











D


F
































i


+


1











F











i


+


1

























把该式带入上述的反向迭代公式的矩阵形式中:





[

i

f

i

i

M

i

]

=

[

E

0

i

P

i

+

1

×

E

]

[

i

f

i

+

1

i

M

i

+

1

]

\begin{bmatrix} ^if_i \\ ^iM_i \end{bmatrix} = \begin{bmatrix} E & 0\\ ^iP_{i+1} \times & E \end{bmatrix} \begin{bmatrix} ^if_{i+1}\\ ^iM_{i+1} \end{bmatrix}








[
























i










f










i



































i










M










i




































]






=










[













E



















i










P











i


+


1



















×





























0








E




















]








[
























i










f











i


+


1




































i










M











i


+


1





































]









得到:





[

i

f

i

i

M

i

]

=

[

i

+

1

i

R

0

i

P

i

+

1

×

i

+

1

i

R

i

+

1

i

R

]

[

i

+

1

f

i

+

1

i

+

1

M

i

+

1

]

\begin{bmatrix} ^if_i \\ ^iM_i \end{bmatrix} = \begin{bmatrix} ^i_{i+1}R & 0\\ ^iP_{i+1} \times ^i_{i+1}R & ^i_{i+1}R \end{bmatrix} \begin{bmatrix} ^{i+1}f_{i+1}\\ ^{i+1}M_{i+1} \end{bmatrix}








[
























i










f










i



































i










M










i




































]






=










[

























i


+


1









i


















R



















i










P











i


+


1






















×











i


+


1









i




















R





























0




















i


+


1









i


















R




















]








[

























i


+


1











f











i


+


1





































i


+


1











M











i


+


1





































]









进一步可以得到力和力矩的传递公式:





i

f

i

=

i

+

1

i

R

i

+

1

f

i

+

1

^if_i = {^i_{i+1}R} \, {^{i+1}f_{i+1}}

















i










f










i




















=





















i


+


1









i


















R


















i


+


1











f











i


+


1





























i

M

i

=

i

+

1

i

R

i

+

1

M

i

+

1

+

i

P

i

+

1

×

i

f

i

^iM_i = {^i_{i+1}R} \, {^{i+1}M_{i+1}} + ^iP_{i+1} \times ^if_i

















i










M










i




















=





















i


+


1









i


















R


















i


+


1











M











i


+


1























+










i
















P











i


+


1






















×










i
















f










i





















如果不考虑关节之间的摩擦,旋转关节除了绕转轴的扭矩外,其余各方向的力和力矩都由机械构件承受。故关节驱动力矩为:





τ

i

=

i

M

i

T

i

Z

i

\tau_i = ^iM_i^T \,{^iZ_i}







τ










i





















=










i
















M










i








T
































i










Z










i
























同理,关节的驱动力为





τ

i

=

i

f

i

T

i

Z

i

\tau_i = ^if_i^T \,{^iZ_i}







τ










i





















=










i
















f










i








T
































i










Z










i
























我们可以以此为根据,在已知负载的情况下,从末端执行元件开始,递推得到各个关节所需的驱动力矩。从而进一步建立力雅可比矩阵关系。

在这里插入图片描述



雅可比矩阵


雅可比矩阵


机器人速度雅可比矩阵(也称为运动雅可比矩阵)可定义为由机器人关节空间速度到操作空间速度的线形变换


在向量微积分中,雅可比矩阵是一阶导数以一定方式排列成的矩阵,其行列式成为雅可比行列式。

在这里插入图片描述



解析雅可比矩阵

微分运动学方程:





P

˙

=

d

f

d

q

q

˙

\dot{P} = \frac{df}{dq} \dot{q}














P







˙









=



















d


q














d


f




























q







˙





















P可以理解为广义的机器人的运动输出量,q为广义的机器人的输入量。





P

=

f

(

q

)

{

p

1

(

t

)

=

f

1

(

q

1

,

q

2

,

,

q

n

)

p

2

(

t

)

=

f

2

(

q

1

,

q

2

,

,

q

n

)

p

m

(

t

)

=

f

m

(

q

1

,

q

2

,

,

q

n

)

P=f(q) \to \left\{ \begin{aligned} p_1(t) & = f_1(q_1,q_2,\dots,q_n) \\ p_2(t) & = f_2(q_1,q_2,\dots,q_n) \\ \dots \\ p_m(t) & = f_m(q_1,q_2,\dots,q_n) \end{aligned} \right.






P




=








f


(


q


)















































































































































p










1


















(


t


)









p










2


















(


t


)


















p










m


















(


t


)





























=





f










1


















(



q










1


















,





q










2


















,









,





q










n


















)












=





f










2


















(



q










1


















,





q










2


















,









,





q










n


















)












=





f










m


















(



q










1


















,





q










2


















,









,





q










n


















)





























d

d

t

f

i

(

q

(

t

)

)

=

d

d

t

f

i

(

q

i

(

t

)

,

,

q

j

(

t

)

,

,

q

n

(

t

)

)

=

f

i

q

1

q

1

˙

(

t

)

+

+

f

i

q

j

q

j

˙

(

t

)

+

+

f

i

q

n

q

n

˙

(

t

)

\frac{d}{dt}f_i(q(t)) = \frac{d}{dt}f_i(q_i(t), \dots, q_j(t), \dots,q_n(t)) = \frac{\partial f_i}{\partial q_1} \dot{q_1}(t) + \dots + \frac{\partial f_i}{\partial q_j} \dot{q_j}(t) + \dots + \frac{\partial f_i}{\partial q_n} \dot{q_n}(t)

















d


t














d





















f










i


















(


q


(


t


)


)




=



















d


t














d





















f










i


















(



q










i


















(


t


)


,









,





q










j


















(


t


)


,









,





q










n


















(


t


)


)




=























q










1


































f










i













































q










1























˙
















(


t


)




+













+























q










j


































f










i













































q










j























˙
















(


t


)




+













+























q










n


































f










i













































q










n























˙
















(


t


)









d

d

t

f

i

(

q

(

t

)

)

=

(

f

i

q

1

f

j

q

j

f

n

q

n

)

(

q

1

˙

(

t

)

q

j

˙

(

t

)

q

n

˙

(

t

)

)

=

J

f

i

(

q

(

t

)

)

q

t

˙

\frac{d}{dt}f_i(q(t)) = \begin{pmatrix} \frac{\partial f_i}{\partial q_1} & \dots & \frac{\partial f_j}{\partial q_j} & \dots & \frac{\partial f_n}{\partial q_n} \end{pmatrix} \begin{pmatrix} \dot{q_1}(t) \\ \vdots \\ \dot{q_j}(t) \\ \vdots \\ \dot{q_n}(t) \end{pmatrix}= J_{f_i}(q(t)) \dot{q_t}

















d


t














d





















f










i


















(


q


(


t


)


)




=










(





























q










1




































f










i














































































































q










j




































f










j














































































































q










n




































f










n























































)





















































































































q










1























˙
















(


t


)






























q










j























˙
















(


t


)






























q










n























˙
















(


t


)

















































































































=









J












f










i



































(


q


(


t


)


)











q










t























˙





















得到:

在这里插入图片描述

这种求解雅可比矩阵的方法称为求导法,所构建的雅可比矩阵称为解析雅可比矩阵。



几何雅可比矩阵

机器人关节速度向量定义为:





q

˙

=

[

q

1

˙

q

2

˙

q

n

˙

]

T

\dot{q}= \begin{bmatrix} \dot{q_1} & \dot{q_2} & \dots & \dot{q_n} \end{bmatrix}^{T}














q







˙


















=











[






















q










1























˙




















































q










2























˙


















































































q










n























˙


































]













T















执行器在基系中的广义速度向量:





V

=

[

v

ω

]

=

[

x

˙

y

˙

z

˙

ω

x

˙

ω

y

˙

ω

z

˙

]

T

V= \begin{bmatrix} v \\ \omega \end{bmatrix}= \begin{bmatrix} \dot{x} & \dot{y} & \dot{z} & \dot{\omega_x} & \dot{\omega_y} & \dot{\omega_z} \end{bmatrix}^{T}






V




=










[













v








ω




















]






=











[





















x







˙










































y







˙



















































z







˙











































ω










x























˙




















































ω










y























˙




















































ω










z























˙


































]













T



















V

=

J

(

q

)

q

˙

V = J(q) \dot{q}






V




=








J


(


q


)










q







˙





















前三行称为位置雅可比矩阵,代表对末端执行器线速度v的传递比,后三行称为姿态雅可比矩阵,代表相应的关节速度对末端执行器角速度



ω

\omega






ω





的传递比

根据虚功原理,还可以推导出速度雅可比与力雅可比的关系,推导过程这里暂时省略,可能后续会添加:

在这里插入图片描述


矢量积法构建雅可比矩阵


在这里插入图片描述

对于移动关节:





[

v

ω

]

=

[

z

i

0

]

q

i

˙

J

i

=

[

z

i

0

]

\begin{bmatrix} v\\ \omega \end{bmatrix}= \begin{bmatrix} z_i\\ 0 \end{bmatrix} \dot{q_i} \quad J_i = \begin{bmatrix} z_i\\ 0 \end{bmatrix}








[













v








ω




















]






=










[














z










i
























0




















]















q










i























˙



















J










i




















=










[














z










i
























0




















]










z

i

z_i







z










i





















是i坐标系



z

z






z





轴单位矢量在基系中的表示。

对于转动关节:





[

v

ω

]

=

[

z

i

×

0

P

(

n

,

i

)

z

i

]

q

i

˙

\begin{bmatrix} v\\ \omega \end{bmatrix}= \begin{bmatrix} z_i \times ^0P_{(n,i)}\\ z_i \end{bmatrix} \dot{q_i}








[













v








ω




















]






=










[














z










i





















×










0












P











(


n


,


i


)


























z










i




































]















q










i























˙
























0

P

(

n

,

i

)

^0P_{(n,i)}

















0










P











(


n


,


i


)






















为末端坐标原点相对于i系的位置矢量在基系的表示。

最终有:

在这里插入图片描述



版权声明:本文为weixin_44911075原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。