3.1 Introduction
对于fixed-based 动力学系统,可以用下面这个表达式。
M
(
q
)
q
¨
+
b
(
q
,
q
˙
)
+
g
(
q
)
=
τ
+
J
c
(
q
)
T
F
c
M(q)\ddot{q}+b(q, \dot{q})+g(q)=\tau +J_c(q)^TF_c
M(q)q¨+b(q,q˙)+g(q)=τ+Jc(q)TFc
有三种方法:1.newton-euler 法, 使用笛卡尔坐标系;2.Lagrange Methods, 使用广义坐标系; 3. Projected Newton-Euler methods。
3.2 Foundation from Classical Mechanics
3.2.1 粒子的力学
对于单个质点,在运动过程中没有任何几何学上的限制,通过牛顿第二定律既可以刻画。
r
¨
m
=
F
\ddot{r}m = F
r¨m=F
对于一个有几何形状的物体,将其看成一个个质点组合而成
r
¨
d
m
=
d
F
\ddot{r}dm=dF
r¨dm=dF
对于线性运动,可以看成一个质量放在质心处的单个物体,满足 r ¨ m = F \ddot{r}m=F r¨m=F。
3.2.2 virtual Displacements
质点之间内部作用力对系统运动的影响,可以用虚位移方法进行分析。
定义轨迹方程,和joint角度q和时间t有关
r
=
r
(
q
,
t
)
r = r(q,t)
r=r(q,t)
通过微分形式得到结果:
δ
r
(
q
,
t
)
=
∑
k
=
1
n
q
δ
r
δ
q
k
δ
q
k
\delta r(q,t)=\sum_{k=1}^{n_q}\frac{\delta r}{\delta q_k}\delta q_k
δr(q,t)=k=1∑nqδqkδrδqk
3.2.3 virtual displacement of single rigid bodies
下图是一个简单的系统,画出两个系统中的两个质点,dm和S的质点。
从运动基础上进行分析,相对距离始终恒定,这里的
ρ
\rho
ρ是惯性坐标系的向量。
r
⃗
=
r
⃗
o
s
+
ρ
⃗
r
⃗
˙
=
v
⃗
o
s
+
Ω
⃗
×
ρ
⃗
=
[
I
3
×
3
−
[
ρ
]
×
]
[
v
o
s
Ω
]
r
¨
=
a
⃗
o
s
+
Ψ
⃗
×
ρ
⃗
+
Ω
⃗
×
Ω
⃗
×
ρ
⃗
=
[
I
3
×
3
−
[
ρ
]
×
]
[
a
s
Ψ
]
+
Ω
⃗
×
Ω
⃗
×
ρ
⃗
\begin{aligned} \vec{r} &= \vec{r}_{os}+\vec{\rho} \\ \dot{\vec{r}} &= \vec{v}_{os}+\vec{\Omega} \times \vec{\rho} = \begin{bmatrix}I_{3\times 3} & -[\rho]_{\times} \end{bmatrix} \begin{bmatrix} v_{os} \\ \Omega \end{bmatrix} \\ \ddot{r} &= \vec{a}_{os}+\vec{\Psi} \times \vec{\rho}+\vec{\Omega} \times \vec{\Omega} \times \vec{\rho} \\ & = \begin{bmatrix}I_{3\times 3} & -[\rho]_{\times} \end{bmatrix} \begin{bmatrix} a_{s} \\ \Psi \end{bmatrix} + \vec{\Omega} \times \vec{\Omega} \times \vec{\rho} \end{aligned}
rr˙r¨=ros+ρ=vos+Ω×ρ=[I3×3−[ρ]×][vosΩ]=aos+Ψ×ρ+Ω×Ω×ρ=[I3×3−[ρ]×][asΨ]+Ω×Ω×ρ
得到差分形式:
δ
r
⃗
=
δ
r
⃗
s
+
δ
⃗
ϕ
×
ρ
⃗
=
[
I
3
×
3
−
[
ρ
]
×
]
[
δ
r
s
δ
ϕ
]
\delta {\vec{r}} = \delta{\vec{r}}_{s}+\vec{\delta}\phi \times \vec{\rho} = \begin{bmatrix}I_{3\times 3} & -[\rho]_{\times} \end{bmatrix} \begin{bmatrix} \delta r_{s} \\ \delta \phi \end{bmatrix}
δr=δrs+δϕ×ρ=[I3×3−[ρ]×][δrsδϕ]
3.2.4 virtual displacement of multi body system
对于一个多刚体系统,关节运动的限制,使得关节的速度末端的速度的映射关系如下:
[
v
s
Ω
]
=
[
J
P
J
R
]
q
˙
\begin{bmatrix} v_s \\ \Omega \end{bmatrix} = \begin{bmatrix} J_P \\ J_R \end{bmatrix} \dot{q}
[vsΩ]=[JPJR]q˙
进行差分,得到结果
[
a
s
Ψ
]
=
[
J
P
J
R
]
q
¨
+
[
J
˙
P
J
˙
R
]
q
˙
\begin{bmatrix} a_s \\ \Psi \end{bmatrix} = \begin{bmatrix} J_P \\ J_R \end{bmatrix} \ddot{q}+ \begin{bmatrix} \dot{J}_P \\ \dot{J}_R \end{bmatrix} \dot{q}
[asΨ]=[JPJR]q¨+[J˙PJ˙R]q˙
用虚位移角度来看,
[
δ
r
s
δ
Θ
]
=
[
J
P
J
R
]
δ
q
\begin{bmatrix} \delta r_s \\ \delta \Theta \end{bmatrix} = \begin{bmatrix} J_P \\ J_R \end{bmatrix} \delta q
[δrsδΘ]=[JPJR]δq
3.2.5 虚功原理
限制力在限制点所做的功为0之和为0
δ
w
=
δ
r
⃗
c
T
⋅
F
⃗
c
=
0
\delta w=\delta \vec{r}_c^T \cdot \vec{F}_c = 0
δw=δrcT⋅Fc=0
使用达朗贝尔原理,对于一个刚体,功的微分满足:
δ
W
=
∫
B
δ
r
T
⋅
(
r
⃗
¨
d
m
−
d
F
e
x
t
)
=
0
\delta W = \int_B \delta r^T \cdot (\ddot{\vec{r}}dm-dF_{ext})=0
δW=∫BδrT⋅(r¨dm−dFext)=0
对于任意的 δ r \delta r δr,虚功原理均成立。
3.3 牛顿欧拉法
3.3.1 单个刚体
使用虚功原理
0
=
δ
W
=
∫
B
[
δ
r
s
δ
Θ
]
T
[
I
3
×
3
[
ρ
]
×
]
(
[
I
3
×
3
−
[
ρ
]
×
]
[
a
s
Ψ
]
d
m
+
[
Ω
⃗
]
2
×
ρ
⃗
d
m
−
d
F
e
x
t
)
=
[
r
o
s
Θ
]
T
∫
B
(
[
I
3
×
3
d
m
[
ρ
]
×
T
d
m
[
ρ
]
×
d
m
−
[
ρ
]
×
2
d
m
]
[
a
s
Ψ
]
+
(
[
[
Ω
⃗
]
×
2
ρ
⃗
d
m
[
ρ
]
×
[
Ω
⃗
]
×
2
ρ
⃗
d
m
]
)
−
(
[
d
F
e
x
t
[
ρ
]
×
d
F
e
x
t
]
)
\begin{aligned} 0&=\delta W=\int_B \begin{bmatrix} \delta r_{s} \\ \delta \Theta \end{bmatrix}^T \begin{bmatrix}I_{3\times 3} \\ [\rho]_{\times} \end{bmatrix} ( \begin{bmatrix}I_{3\times 3} & -[\rho]_{\times} \end{bmatrix} \begin{bmatrix} a_{s} \\ \Psi \end{bmatrix}dm + [\vec{\Omega}]^2 \times \vec{\rho}dm -dF_{ext}) \\ & = \begin{bmatrix} r_{os} \\ \Theta \end{bmatrix}^T \int_B (\begin{bmatrix} I_{3\times 3}dm & [\rho]_{\times}^Tdm \\ [\rho]_{\times}dm & -[\rho]_{\times}^2 dm \end{bmatrix} \begin{bmatrix} a_{s} \\ \Psi \end{bmatrix} + (\begin{bmatrix} [\vec{\Omega}]^2_{\times}\vec{\rho}dm \\ [\rho]_{\times}[\vec{\Omega}]^2_{\times}\vec{\rho}dm \end{bmatrix}) - (\begin{bmatrix} dF_{ext} \\ [\rho]_{\times}dF_{ext} \end{bmatrix}) \end{aligned}
0=δW=∫B[δrsδΘ]T[I3×3[ρ]×]([I3×3−[ρ]×][asΨ]dm+[Ω]2×ρdm−dFext)=[rosΘ]T∫B([I3×3dm[ρ]×dm[ρ]×Tdm−[ρ]×2dm][asΨ]+([[Ω]×2ρdm[ρ]×[Ω]×2ρdm])−([dFext[ρ]×dFext])
叉乘满足下列的关系
a
×
(
b
×
(
b
×
a
)
)
=
−
b
×
(
a
×
(
a
×
b
)
)
a \times (b \times (b \times a))=-b \times (a \times (a \times b))
a×(b×(b×a))=−b×(a×(a×b)),积分公式满足
∫
B
d
m
=
:
m
b
o
d
y
m
a
s
s
∫
B
ρ
⃗
d
m
=
0
S
=
C
O
G
,
S
是
中
心
点
∫
B
−
[
ρ
]
×
2
d
m
=
∫
B
[
ρ
]
×
[
ρ
]
×
T
d
m
=
:
Θ
s
转
动
惯
量
C
O
G
\begin{aligned} \int_B dm &= : m \quad body \, mass \\ \int_B \vec{\rho} dm &=0 \quad S = COG,S是中心点 \\ \int_B -[\rho]_{\times}^2dm & = \int_B [\rho]_{\times}[\rho]_{\times}^Tdm=:\Theta_s \quad 转动惯量COG \end{aligned}
∫Bdm∫Bρdm∫B−[ρ]×2dm=:mbodymass=0S=COG,S是中心点=∫B[ρ]×[ρ]×Tdm=:Θs转动惯量COG
上面的公式,简化的结果是:
0
=
δ
W
=
[
δ
r
s
δ
Φ
]
T
(
(
[
I
3
×
3
m
0
0
Θ
s
]
[
a
s
Ψ
]
+
(
[
0
[
Ω
]
×
Θ
s
Ω
]
)
−
(
[
F
e
x
t
T
e
x
t
]
)
)
0 = \delta W = \begin{bmatrix} \delta r_{s} \\ \delta \Phi \end{bmatrix}^T ((\begin{bmatrix} I_{3\times 3}m & 0 \\ 0 & \Theta_s \end{bmatrix} \begin{bmatrix} a_{s} \\ \Psi \end{bmatrix} + (\begin{bmatrix} 0 \\ [\Omega]_{\times}\Theta_s \Omega \end{bmatrix}) - (\begin{bmatrix} F_{ext} \\ \Tau_{ext} \end{bmatrix}) )
0=δW=[δrsδΦ]T(([I3×3m00Θs][asΨ]+([0[Ω]×ΘsΩ])−([FextText]))
为了往多刚体进行扩张,引入变量
P
S
=
m
v
⃗
s
l
i
n
e
a
r
m
o
m
e
n
t
u
m
N
S
=
Θ
S
⋅
Ω
a
n
g
u
l
a
r
m
o
m
e
n
t
u
m
a
r
o
u
n
d
C
O
G
P
˙
S
=
m
a
⃗
s
c
h
a
n
g
e
i
n
l
i
n
e
a
r
m
o
m
e
n
t
u
m
N
˙
S
=
Θ
S
⋅
Ψ
+
Ω
×
Θ
S
⋅
Ω
c
h
a
n
g
e
i
n
a
n
g
u
l
a
r
m
o
m
e
n
t
u
m
\begin{aligned} P_S&= m\vec{v}_s \quad linear \, momentum \\ N_S&=\Theta_S \cdot \Omega \quad angular \, momentum \, around \, COG \\ \dot{P}_S &= m\vec{a}_s \quad change \, in \, linear \, momentum \\ \dot{N}_S & = \Theta_S \cdot \Psi + \Omega \times \Theta_S \cdot \Omega \quad change \, in \, angular \, momentum \end{aligned}
PSNSP˙SN˙S=mvslinearmomentum=ΘS⋅ΩangularmomentumaroundCOG=maschangeinlinearmomentum=ΘS⋅Ψ+Ω×ΘS⋅Ωchangeinangularmomentum
对上面的公式再进行简化:
0
=
δ
W
=
[
δ
r
s
δ
Φ
]
T
(
(
[
P
˙
s
N
˙
S
]
)
−
(
[
F
e
x
t
T
e
x
t
]
)
)
∀
(
[
δ
r
s
δ
Φ
]
)
0=\delta W = \begin{bmatrix} \delta r_{s} \\ \delta \Phi \end{bmatrix}^T ( (\begin{bmatrix} \dot{P}_s \\ \dot{N}_S \end{bmatrix})- (\begin{bmatrix} F_{ext} \\ \Tau_{ext} \end{bmatrix})) \quad \forall (\begin{bmatrix} \delta r_s \\ \delta \Phi \end{bmatrix})
0=δW=[δrsδΦ]T(([P˙sN˙S])−([FextText]))∀([δrsδΦ])
根据上面这个公式,得到了牛顿欧拉公式
P
˙
S
=
F
e
x
t
,
S
N
˙
S
=
T
e
x
t
\begin{aligned} \dot{P}_S & = F_{ext,S} \\ \dot{N}_S & = T_{ext} \end{aligned}
P˙SN˙S=Fext,S=Text
F
e
x
t
F_{ext}
Fext是外力作用在COG上结果,
T
e
x
t
T_{ext}
Text是转矩合力,如果
F
e
x
t
F_{ext}
Fext不是直接作用在COG上,就将其看成是作用在质心的力和转矩。如果constraint作用没有作用在COG上,分析在constraints点的转动惯量满足。
B
Θ
=
C
B
A
⋅
A
Θ
⋅
C
B
A
T
_B\Theta=C_{BA} \cdot _A\Theta \cdot C_{BA}^T
BΘ=CBA⋅AΘ⋅CBAT
3.3.2 多刚体
对于多刚体,在joint处,进行切割,将其看成n个刚体。
对于
n
j
n_j
nj个广义坐标系,有
6
n
j
6n_j
6nj个方程,再有
5
n
j
5n_j
5nj个限制力。手算起来还是很复杂。
3.4 Lagrange Methods
3.4.1 基础概念
几个基础概念:
- 广义坐标系和广义速度
- 拉格朗日方程:
L = T − U d d t ( ∂ L ∂ q ˙ ) − ( ∂ L ∂ q ) = τ \begin{aligned} L&=\Tau-U \\ \frac{d}{dt}(\frac{\partial L}{\partial \dot{q}})-(\frac{\partial L}{\partial q}) &= \tau \end{aligned} Ldtd(∂q˙∂L)−(∂q∂L)=T−U=τ
3.4.2 动能
系统的动能是各个关节
只要找到其中线速度和角速度是惯性系统的绝对速度,对于多刚体系统,joint的线速度和角速度是一个间接的结果,需要转换得到
q
˙
\dot{q}
q˙。
r
˙
s
i
=
J
S
i
q
˙
Ω
s
i
=
J
R
i
q
˙
\begin{aligned} \dot{r}_{si}&=J_{Si}\dot{q} \\ \Omega_{si} &=J_{Ri}\dot{q} \end{aligned}
r˙siΩsi=JSiq˙=JRiq˙
广义系统的动能:
T
(
q
,
q
˙
)
=
0.5
q
˙
T
(
∑
i
=
1
n
b
(
J
S
i
T
m
i
J
S
i
+
J
R
i
T
Θ
S
i
J
R
i
)
)
q
˙
=
0.5
∗
q
˙
T
M
(
q
)
q
˙
T(q, \dot{q})=0.5 \dot{q}^T (\sum_{i=1}^{n_b} (J_{Si}^Tm_iJ_{Si}+J_{Ri}^T\Theta_{Si}J_{Ri})) \dot{q}=0.5*\dot{q}^TM(q)\dot{q}
T(q,q˙)=0.5q˙T(i=1∑nb(JSiTmiJSi+JRiTΘSiJRi))q˙=0.5∗q˙TM(q)q˙
非线性离心力和科里奥利力由该公式差分得到的。
3.4.3 Potential Energy
势能由重力势能和弹性势能组成,考虑到势能场的不均匀性,重力可以表示为:
F
g
i
=
m
i
g
I
e
g
u
g
=
−
∑
i
=
1
n
b
r
S
i
T
F
g
i
u
E
j
=
0.5
k
j
(
d
(
q
)
−
d
0
)
2
\begin{aligned} F_{gi} &=m_ig_ Ie_g \\ u_g & = -\sum_{i=1}^{n_b}r_{Si}^TF_{gi} \\ u_{Ej}&=0.5k_j(d(q)-d_0)^2 \end{aligned}
FgiuguEj=migIeg=−i=1∑nbrSiTFgi=0.5kj(d(q)−d0)2
3.4.4 External forces
所有外力做功,均可看成是广义力做功的效果。
3.4.5 额外的限制
对于fixed-based system, 只要通过广义坐标系,就可以避开限制力。对于float-based system, 例如足式机器人,只有接触到地面才会有限制力作用,采用拉格朗日乘子解决该问题,用线性表达运动限制。
∑
k
=
1
n
q
a
k
,
j
(
q
)
q
˙
k
+
a
0
,
j
(
t
)
,
j
=
1
,
2
,
.
.
.
,
n
c
,
m
J
m
=
[
a
1
,
1
.
.
.
a
1
,
n
c
,
m
.
.
.
.
.
.
.
.
.
a
n
q
,
1
.
.
.
a
n
q
,
n
c
,
m
]
\begin{aligned} & \sum_{k=1}^{n_q}a_{k,j}(q)\dot{q}_k+a_{0,j}(t), \quad j = 1,2,...,n_{c,m} \\ & J_m = \begin{bmatrix} a_{1,1} & ... & a_{1, n_{c,m}} \\ ... & ... & ... \\ a_{n_q,1} & ... & a_{n_q, n_{c,m}} \end{bmatrix} \end{aligned}
k=1∑nqak,j(q)q˙k+a0,j(t),j=1,2,...,nc,mJm=⎣⎡a1,1...anq,1.........a1,nc,m...anq,nc,m⎦⎤
改良后的constrained culer-lagrange (CEL),公式如下:
d
d
t
(
∂
L
∂
q
˙
)
−
(
∂
L
∂
q
)
+
J
m
T
λ
m
+
(
∂
f
c
∂
q
)
T
λ
c
=
τ
\frac{d}{dt}(\frac{\partial L}{\partial \dot{q}})-(\frac{\partial L}{\partial q})+J_m^T\lambda_m+ (\frac{\partial f_c}{\partial q})^T\lambda_c=\tau
dtd(∂q˙∂L)−(∂q∂L)+JmTλm+(∂q∂fc)Tλc=τ
3.5 Projected Newton-Euler method
结合牛顿欧拉法分析在笛卡尔坐标系和广义坐标系。
M
(
q
)
q
¨
+
b
(
q
,
q
˙
)
+
g
(
q
)
=
τ
+
J
c
T
F
c
M(q)\ddot{q}+b(q, \dot{q})+g(q)=\tau + J_c^TFc
M(q)q¨+b(q,q˙)+g(q)=τ+JcTFc
3.5.2 获取运动的广义方程
从牛顿欧拉法开始,获取基础公式,根据3.2.4 部分得到的结果。
[
P
˙
S
i
N
˙
S
i
]
=
[
m
a
S
i
Θ
S
i
Ψ
S
i
+
Ω
S
i
×
Θ
S
i
Ω
S
i
]
=
[
m
J
S
i
Θ
S
i
J
R
i
]
q
¨
+
[
m
J
˙
S
i
q
˙
Θ
S
i
J
˙
R
i
q
˙
+
J
R
i
q
˙
×
Θ
S
i
J
R
i
q
˙
]
\begin{aligned} \begin{bmatrix} \dot{P}_{Si} \\ \dot{N}_{Si} \end{bmatrix} &= \begin{bmatrix} ma_{Si} \\ \Theta_{Si}\Psi_{Si} + \Omega_{Si} \times \Theta_{Si} \Omega_{Si} \end{bmatrix} \\ & = \begin{bmatrix} mJ_{Si} \\ \Theta_{Si}J_{Ri} \end{bmatrix} \ddot{q} + \begin{bmatrix} m\dot{J}_{Si}\dot{q} \\ \Theta_{Si}\dot{J}_{Ri}\dot{q}+J_{Ri}\dot{q}\times \Theta_{Si}J_{Ri}\dot{q} \end{bmatrix} \end{aligned}
[P˙SiN˙Si]=[maSiΘSiΨSi+ΩSi×ΘSiΩSi]=[mJSiΘSiJRi]q¨+[mJ˙Siq˙ΘSiJ˙Riq˙+JRiq˙×ΘSiJRiq˙]
虚功原理如下:
0
=
δ
W
=
∑
i
=
1
n
b
[
δ
r
s
i
δ
Φ
i
]
T
(
(
[
P
˙
S
i
N
˙
S
i
]
)
−
(
[
F
e
x
t
,
i
T
e
x
t
,
i
]
)
)
∀
(
[
δ
r
s
δ
Φ
]
)
=
δ
q
T
∑
i
=
1
n
b
(
(
[
P
˙
S
i
N
˙
S
i
]
)
−
(
[
F
e
x
t
,
i
T
e
x
t
,
i
]
)
)
∀
δ
q
\begin{aligned} 0=\delta W &= \sum_{i=1}^{n_b} \begin{bmatrix} \delta r_{si} \\ \delta \Phi i \end{bmatrix}^T ( (\begin{bmatrix} \dot{P}_{Si} \\ \dot{N}_{Si} \end{bmatrix})- (\begin{bmatrix} F_{ext,i} \\ \Tau_{ext,i} \end{bmatrix})) \quad \forall (\begin{bmatrix} \delta r_s \\ \delta \Phi \end{bmatrix}) \\ & =\delta q^T \sum_{i=1}^{n_b} ((\begin{bmatrix} \dot{P}_{Si} \\ \dot{N}_{Si} \end{bmatrix})- (\begin{bmatrix} F_{ext,i} \\ \Tau_{ext,i} \end{bmatrix})) \quad \forall \delta q \end{aligned}
0=δW=i=1∑nb[δrsiδΦi]T(([P˙SiN˙Si])−([Fext,iText,i]))∀([δrsδΦ])=δqTi=1∑nb(([P˙SiN˙Si])−([Fext,iText,i]))∀δq
得到最终的结果:
再对比原始公式:
M
=
∑
i
=
1
n
b
(
J
S
i
T
m
J
S
i
+
J
R
i
T
Θ
S
i
J
R
i
)
b
=
∑
i
=
1
n
b
(
J
S
i
T
m
J
˙
S
i
q
˙
+
J
R
i
T
(
Θ
S
i
)
)
g
=
∑
i
=
1
n
b
−
J
S
i
T
F
g
,
i
\begin{aligned} M & = \sum_{i=1}^{n_b}(J_{Si}^TmJ_{Si}+J_{Ri}^T\Theta_{Si}J_{Ri}) \\ b & = \sum_{i=1}^{n_b}(J_{Si}^Tm\dot{J}_{Si}\dot{q}+J^T_{Ri}(\Theta_{Si})) \\ g & = \sum_{i=1}^{n_b}-J_{Si}^TF_{g,i} \end{aligned}
Mbg=i=1∑nb(JSiTmJSi+JRiTΘSiJRi)=i=1∑nb(JSiTmJ˙Siq˙+JRiT(ΘSi))=i=1∑nb−JSiTFg,i
上面公式通过joint将每个link当成单独的个体来分析,所以使用的角速度和线速度都是绝对值。
公式中的
J
s
i
Jsi
Jsi和
J
r
i
Jri
Jri是对应关节的质心相对于机器人base_link的jacobian矩阵,这个是狠明确的。
公式中的
Θ
s
i
\Theta s_i
Θsi的坐标系要如何确定?
从转动惯量的定义出发,使用角动量
H
=
Θ
w
⃗
H=\Theta \vec{w}
H=Θw描述刚体的旋转运动。
projected newton euler法来说,坐转动惯量标系选取:
1)和joint对应的坐标系方向一致;
2)坐标系原点在刚体的质心上;
3.5.3 External Force
通过jacobian 矩阵,将笛卡尔坐标系上的受力和转矩转换到广义坐标系上。
τ
F
,
e
x
t
=
∑
j
=
1
n
f
,
e
x
t
J
P
,
j
T
F
j
τ
T
,
e
x
t
=
∑
k
=
1
n
f
,
e
x
t
J
R
,
k
T
F
k
τ
e
x
t
=
τ
F
,
e
x
t
+
τ
T
,
e
x
t
\begin{aligned} \tau_{F,ext} &=\sum_{j=1}^{n_{f,ext}}J_{P,j}^TF_j \\ \tau_{T,ext} & = \sum_{k=1}^{n_{f,ext}}J_{R,k}^TF_k \\ \tau_{ext} & = \tau_{F,ext}+\tau_{T,ext} \end{aligned}
τF,extτT,extτext=j=1∑nf,extJP,jTFj=k=1∑nf,extJR,kTFk=τF,ext+τT,ext
安装在joint上的驱动关节,同时对两个link进行做功,做功的方向相反,驱动力对广义的效果。
τ
a
,
k
=
(
J
s
k
−
J
s
k
−
1
)
T
F
a
,
k
+
(
J
R
k
−
J
R
k
−
1
)
T
T
a
,
k
τ
=
∑
k
=
1
n
A
τ
a
,
k
+
τ
e
x
t
\begin{aligned} \tau_{a,k} & = (J_{s_k}-J_{s_{k-1}})^TF_{a,k}+(J_{R_k}-J_{R_{k-1}})^TT_{a,k} \\ \tau & = \sum_{k=1}^{n_A}\tau_{a,k}+\tau_{ext} \end{aligned}
τa,kτ=(Jsk−Jsk−1)TFa,k+(JRk−JRk−1)TTa,k=k=1∑nAτa,k+τext
- 注意事项
计算广义外力的作用效果 τ e x t \tau_{ext} τext时,有两种方法:
1)直接用 J P , i ′ ∗ F e x t J_{P,i}'*F_{ext} JP,i′∗Fext
2)随便选择一个link, 将 F e x t F_{ext} Fext转换到link质心的受力和作用力偶 T e x t T_{ext} Text,再使用 j s i ′ ∗ F e x t + j r i ′ ∗ T e x t jsi'*F_{ext}+jri'*T_{ext} jsi′∗Fext+jri′∗Text - 计算内力的作用效果
τ
a
,
k
\tau_{a,k}
τa,k,
step1: 拆解成分别作用于两个link的一对反作用力,分别将作用力,转换到对应link质心的作用力和作用力偶
step2: 使用 j s i ′ ∗ F e x t + j r i ′ ∗ T e x t jsi'*F_{ext}+jri'*T_{ext} jsi′∗Fext+jri′∗Text进行求解