读书笔记: Cartesian Impedance Control of Redundant and Flexible-Joint Robots , Section 3
Section 3 刚性机器人的阻抗控制
本章先介绍的是刚性机器人的阻抗控制,之前建模中的 K ( θ − q ) K(\theta-q) K(θ−q)直接替换成 τ \tau τ即可得到动力学方程。
3.1 经典阻抗控制
因为没有了柔性部分,模型里的第二行也就没了,模型变成了
M
(
q
)
q
¨
+
C
(
q
,
q
˙
)
q
˙
+
g
(
q
)
=
τ
+
τ
e
x
t
M\left( q \right) \ddot{q}+C\left( q,\dot{q} \right) \dot{q}+g\left( q \right) =\tau +\tau _{ext}
M(q)q¨+C(q,q˙)q˙+g(q)=τ+τext
3.1.1 任务描述
阻抗控制的目标是在机器人和外界环境之间构建特定的动态关系。先假设已经选择好了表达末端位姿的方法,比如笛卡尔坐标
x
=
(
x
,
y
,
z
,
α
,
β
,
γ
)
\boldsymbol{x}=(x,y,z,\alpha,\beta,\gamma)
x=(x,y,z,α,β,γ),先不关心具体怎么选。根据运动学就可以得到
x
=
f
(
q
)
x=f(q)
x=f(q)。本章先不讨论冗余自由度的情况,因此有
m
=
n
m=n
m=n,先计算
x
x
x的导数
x
˙
=
J
(
q
)
q
˙
x
¨
=
J
(
q
)
q
¨
+
J
˙
(
q
)
q
˙
\dot{x}=\boldsymbol{J}\left( \boldsymbol{q} \right) \dot{q} \\ \ddot{x}=\boldsymbol{J}\left( \boldsymbol{q} \right) \ddot{q}+\dot{J}\left( \boldsymbol{q} \right) \dot{q}
x˙=J(q)q˙x¨=J(q)q¨+J˙(q)q˙
考虑
x
=
f
(
q
)
x=f(q)
x=f(q)这个函数,对旋转关节来说
x
x
x是
q
q
q的三角函数,对平移关节
x
x
x是
q
q
q的仿射函数,因此整体上
x
x
x是
q
q
q的三角函数级联仿射函数。因此其雅克比矩阵的奇异值是有界的
σ
M
,
J
=
s
u
p
q
∈
Q
p
σ
max
(
J
(
q
)
)
<
∞
\sigma _{M,J}=\mathop {\mathrm{sup}} \limits_{q\in Q^p}\sigma _{\max}\left( J\left( q \right) \right) <\infty
σM,J=q∈Qpsupσmax(J(q))<∞
而在选择的工作工作空间内也要求没有奇异点因此,雅克比矩阵也有最小值
0
<
σ
m
,
J
=
i
n
f
q
∈
Q
p
σ
min
(
J
(
q
)
)
0<\sigma _{m,J}=\mathop {\mathrm{inf}} \limits_{q\in Q^p}\sigma _{\min}\left( J\left( q \right) \right)
0<σm,J=q∈Qpinfσmin(J(q))
函数
x
=
f
(
q
)
x=f(q)
x=f(q)将关节空间
Q
p
Q^p
Qp映射到笛卡尔空间,假设在
Q
ˉ
p
\bar{Q}^p
Qˉp上是一个一一映射,其相应的象为
Q
ˉ
c
p
\bar{Q}^p_c
Qˉcp。在
Q
ˉ
c
p
\bar{Q}^p_c
Qˉcp内
x
x
x可视作机器人的广义坐标。
同样,负载转矩
τ
e
x
t
\tau_{ext}
τext也需要被表达在笛卡尔空间
τ
e
x
t
=
J
(
q
)
T
F
e
x
t
\tau_{ext}=J(q)^TF_{ext}
τext=J(q)TFext
阻抗控制的目标是让
x
x
x与给定点
x
d
x_d
xd时间的误差
x
~
=
x
−
x
d
\tilde{x}=x-x_d
x~=x−xd体现出阻抗特性
Λ
d
x
~
¨
+
D
d
x
~
˙
+
K
d
x
~
=
F
e
x
t
\varLambda _d\ddot{\tilde{x}}+D_d\dot{\tilde{x}}+K_d\tilde{x}=F_{ext}
Λdx~¨+Ddx~˙+Kdx~=Fext
这是一个6维表达式,其中有三个是姿态相关,三个是位置相关。
3.1.2 任务空间的机器人模型
为了把模型映射到任务空空间中,只需带入
q
¨
=
J
(
q
)
−
1
(
x
¨
−
J
˙
(
q
)
)
q
˙
\ddot{q}=J\left( q \right) ^{-1}\left( \ddot{x}-\dot{J}\left( q \right) \right) \dot{q}
q¨=J(q)−1(x¨−J˙(q))q˙和
τ
e
x
t
=
J
(
q
)
T
F
e
x
t
\tau _{ext}=J\left( q \right) ^TF_{ext}
τext=J(q)TFext,于是有
J
(
q
)
−
T
M
(
q
)
J
(
q
)
−
1
x
¨
+
J
(
q
)
−
T
C
(
q
,
q
˙
)
J
(
q
)
−
1
x
˙
−
J
(
q
)
−
T
M
(
q
)
J
(
q
)
−
1
J
˙
(
q
)
J
(
q
)
−
1
x
˙
+
J
(
q
)
−
T
g
(
q
)
=
J
(
q
)
−
T
τ
+
F
e
x
t
J\left( q \right) ^{-T}M\left( q \right) J\left( q \right) ^{-1}\ddot{x}+J\left( q \right) ^{-T}C\left( q,\dot{q} \right) J\left( q \right) ^{-1}\dot{x}-J\left( q \right) ^{-T}M\left( q \right) J\left( q \right) ^{-1}\dot{J}\left( q \right) J\left( q \right) ^{-1}\dot{x}\\+J\left( q \right) ^{-T}g\left( q \right) =J\left( q \right) ^{-T}\tau +F_{ext}
J(q)−TM(q)J(q)−1x¨+J(q)−TC(q,q˙)J(q)−1x˙−J(q)−TM(q)J(q)−1J˙(q)J(q)−1x˙+J(q)−Tg(q)=J(q)−Tτ+Fext
这个重写为
Λ
(
x
)
x
¨
+
μ
(
x
,
x
˙
)
x
˙
+
F
g
(
x
)
=
F
τ
+
F
e
x
t
\varLambda \left( x \right) \ddot{x}+\mu \left( x,\dot{x} \right) \dot{x}+F_g\left( x \right) =F_{\tau}+F_{ext}
Λ(x)x¨+μ(x,x˙)x˙+Fg(x)=Fτ+Fext
其中
Λ
(
x
)
=
J
(
q
)
−
T
M
(
q
)
J
(
q
)
−
1
μ
(
x
,
x
˙
)
=
J
(
q
)
−
T
(
C
(
q
,
q
˙
)
−
J
(
q
)
−
T
M
(
q
)
J
(
q
)
−
1
J
˙
(
q
)
)
J
(
q
)
−
1
F
g
(
x
)
=
J
(
q
)
−
T
g
(
q
)
F
τ
=
J
(
q
)
−
T
τ
\varLambda \left( x \right) =J\left( q \right) ^{-T}M\left( q \right) J\left( q \right) ^{-1}\\ \mu \left( x,\dot{x} \right) =J\left( q \right) ^{-T}\left( C\left( q,\dot{q} \right) -J\left( q \right) ^{-T}M\left( q \right) J\left( q \right) ^{-1}\dot{J}\left( q \right) \right) J\left( q \right) ^{-1}\\ F_g\left( x \right) =J\left( q \right) ^{-T}g\left( q \right) \\ F_{\tau}=J\left( q \right) ^{-T}\tau
Λ(x)=J(q)−TM(q)J(q)−1μ(x,x˙)=J(q)−T(C(q,q˙)−J(q)−TM(q)J(q)−1J˙(q))J(q)−1Fg(x)=J(q)−Tg(q)Fτ=J(q)−Tτ
对这个方程有以下性质:
- Λ ( x ) \varLambda \left( x \right) Λ(x)对称正定
-
Λ
˙
(
x
)
−
2
μ
(
x
,
x
˙
)
\dot{\varLambda}\left( x \right) -2\mu \left( x,\dot{x} \right)
Λ˙(x)−2μ(x,x˙)是反对称矩阵
这两个性质保持与关节空间中相同,一个基本认识是在人物空间中,只是换了个坐标系,动力学系统本身的特性其实没有变
,也就是说可以直接用克氏符(Christoffel symbol)来计算 μ ( x , x ˙ ) \mu(x,\dot{x}) μ(x,x˙) - 类似的, λ ( Λ ( x ) ) \lambda(\varLambda \left( x \right)) λ(Λ(x))是有界的
3.1.3 经典阻抗控制
经典的阻抗控制的表达式为
F
τ
=
F
g
(
x
)
+
Λ
(
x
)
x
¨
d
+
μ
(
x
,
x
˙
)
x
˙
−
Λ
(
x
)
Λ
d
−
1
(
K
d
x
~
+
D
d
x
~
˙
)
+
(
Λ
(
x
)
Λ
d
−
1
−
I
)
F
e
x
t
F_{\tau}=F_g\left( x \right) +\varLambda \left( x \right) \ddot{x}_d+\mu \left( x,\dot{x} \right) \dot{x}-\varLambda \left( x \right) \varLambda _{d}^{-1}\left( K_d\tilde{x}+D_d\dot{\tilde{x}} \right) +\left( \varLambda \left( x \right) \varLambda _{d}^{-1}-I \right) F_{ext}
Fτ=Fg(x)+Λ(x)x¨d+μ(x,x˙)x˙−Λ(x)Λd−1(Kdx~+Ddx~˙)+(Λ(x)Λd−1−I)Fext
产生此空间力的关节转矩是
τ
=
J
(
q
)
T
F
τ
=
g
(
q
)
+
J
(
q
)
T
(
Λ
(
x
)
x
¨
d
+
μ
(
x
,
x
˙
)
x
˙
)
−
J
(
q
)
T
Λ
(
x
)
Λ
d
−
1
(
K
d
x
~
+
D
d
x
~
˙
)
+
J
(
q
)
T
(
Λ
(
x
)
Λ
d
−
1
−
I
)
F
e
x
t
\begin{aligned} \tau &=J\left( q \right) ^TF_{\tau}\\ &=g\left( q \right) +J\left( q \right) ^T\left( \varLambda \left( x \right) \ddot{x}_d+\mu \left( x,\dot{x} \right) \dot{x} \right) -J\left( q \right) ^T\varLambda \left( x \right) \varLambda _{d}^{-1}\left( K_d\tilde{x}+D_d\dot{\tilde{x}} \right) +J\left( q \right) ^T\left( \varLambda \left( x \right) \varLambda _{d}^{-1}-I \right) F_{ext}\\ \end{aligned}
τ=J(q)TFτ=g(q)+J(q)T(Λ(x)x¨d+μ(x,x˙)x˙)−J(q)TΛ(x)Λd−1(Kdx~+Ddx~˙)+J(q)T(Λ(x)Λd−1−I)Fext
3.2 消除外力项
只需调配
Λ
d
\varLambda _{d}^{}
Λd使得
Λ
d
=
Λ
(
x
)
\varLambda _{d}=\,\,\varLambda \left( x \right)
Λd=Λ(x)
既可消除控制中的
F
e
x
t
F_{ext}
Fext项,但是相应的闭环动力学也会变成
Λ
(
x
)
x
~
¨
+
(
μ
(
x
.
x
˙
)
+
D
d
)
x
~
˙
+
K
d
x
~
=
F
e
x
t
\varLambda \left( x \right) \ddot{\tilde{x}}+\left( \mu \left( x.\dot{x} \right) +D_d \right) \dot{\tilde{x}}+K_d\tilde{x}=F_{ext}
Λ(x)x~¨+(μ(x.x˙)+Dd)x~˙+Kdx~=Fext
此时,控制率简化为
τ
=
g
(
q
)
+
J
(
q
)
T
(
Λ
(
x
)
x
¨
d
+
μ
(
x
,
x
˙
)
x
˙
−
K
d
x
~
−
D
d
x
~
˙
)
\tau =g\left( q \right) +J\left( q \right) ^T\left( \varLambda \left( x \right) \ddot{x}_d+\mu \left( x,\dot{x} \right) \dot{x}-K_d\tilde{x}-D_d\dot{\tilde{x}} \right)
τ=g(q)+J(q)T(Λ(x)x¨d+μ(x,x˙)x˙−Kdx~−Ddx~˙)
称为"柔顺控制"或“PD+控制”。
3.3 阻尼矩阵
在配置 Λ d = Λ ( x ) \varLambda _{d}=\,\,\varLambda \left( x \right) Λd=Λ(x)之后, D d D_d Dd的设计变得不直观了,根据术中证明,只要 D d ( x ) D_d(x) Dd(x)是一个关于 x x x的正定矩阵,控制器就是渐进稳定的。本书给出了其中一种方法。
- 引理3.6(广义特征值分解):给定一个对称正定矩阵 A A A和一个对称矩阵 B B B,能找到一个非奇异矩阵 Q Q Q和一个对角矩阵 B 0 B_0 B0,使得 Q T Q = A Q^TQ=A QTQ=A和 Q T B 0 Q = B Q^TB_0Q=B QTB0Q=B
对系统做quasi-static分析,并且忽略
μ
\mu
μ这一项,既对以下系统
Λ
(
x
0
)
x
~
¨
+
D
d
(
x
0
)
x
~
˙
+
K
d
x
~
=
F
e
x
t
\varLambda \left( x_0 \right) \ddot{\tilde{x}}+D_d\left( x_0 \right) \dot{\tilde{x}}+K_d\tilde{x}=F_{ext}
Λ(x0)x~¨+Dd(x0)x~˙+Kdx~=Fext
将
Λ
(
x
0
)
\varLambda \left( x_0 \right)
Λ(x0)视作
A
A
A,
K
d
K_d
Kd视作
B
B
B,于是有
Q
(
x
0
)
T
Q
(
x
0
)
x
~
¨
+
D
d
(
x
0
)
x
~
˙
+
Q
(
x
0
)
T
B
0
(
x
0
)
Q
(
x
0
)
x
~
=
F
e
x
t
Q\left( x_0 \right) ^TQ\left( x_0 \right) \ddot{\tilde{x}}+D_d\left( x_0 \right) \dot{\tilde{x}}+Q\left( x_0 \right) ^TB_0\left( x_0 \right) Q\left( x_0 \right) \tilde{x}=F_{ext}
Q(x0)TQ(x0)x~¨+Dd(x0)x~˙+Q(x0)TB0(x0)Q(x0)x~=Fext
λ
i
\lambda_i
λi是
B
0
B_0
B0的第
i
i
i个对角元,也就是
K
d
K_d
Kd相对于
Λ
(
x
0
)
\varLambda(x_0)
Λ(x0)的第
i
i
i个广义特征值。则
D
d
(
x
0
)
D_d(x_0)
Dd(x0)矩阵可以选为
D
d
(
x
0
)
=
2
Q
(
x
0
)
T
d
i
a
g
(
ξ
i
λ
i
)
Q
(
x
0
)
D_d\left( x_0 \right) =2Q\left( x_0 \right) ^T\mathrm{diag}\left( \xi _i\sqrt{\lambda _i} \right) Q\left( x_0 \right)
Dd(x0)=2Q(x0)Tdiag(ξiλi)Q(x0)
其中
ξ
i
\xi _i
ξi是一个阻尼系数在
[
0
,
1
]
[0,1]
[0,1]
在这个
D
d
D_d
Dd的选择下,系统和以写成
z
¨
+
2
d
i
a
g
(
ξ
i
λ
i
)
z
˙
+
d
i
a
g
(
λ
i
)
z
=
Q
(
x
0
)
−
T
F
e
x
t
\ddot{z}+2\mathrm{diag}\left( \xi _i\sqrt{\lambda _i} \right) \dot{z}+\mathrm{diag}\left( \sqrt{\lambda _i} \right) z=Q\left( x_0 \right) ^{-T}F_{ext}
z¨+2diag(ξiλi)z˙+diag(λi)z=Q(x0)−TFext
这种设计方法得到的
D
d
D_d
Dd不影响稳定性,既只保证了
D
d
(
x
0
)
D_d(x_0)
Dd(x0)正定
3.4 处理奇异性
之前都假设
J
(
q
)
J(q)
J(q)非奇异,在一般情况下,有两种奇异性:representation singularities 和 kinematic singularties,前者是因为坐标系选取问题导致的奇异,如欧拉角,可通过选取合理的坐标域或者使用冗余表达如四元数来避免; 后者是因为机器人构型导致的运动学奇异,这个是在机构设计确定之后就是无法避免的。
利用叠加原理,在原本阻抗控制的基础上叠加一个控制用来回避奇异点。
定义一个所谓的距离
m
k
i
n
(
q
)
=
det
(
J
(
q
)
J
(
q
)
T
)
m_{kin}\left( q \right) =\sqrt{\det \left( J\left( q \right) J\left( q \right) ^T \right)}
mkin(q)=det(J(q)J(q)T)
用来回避奇异点的势能可以被选择为
V
m
(
q
)
=
{
k
s
(
m
k
i
n
(
q
)
−
m
0
)
2
m
k
i
n
(
q
)
≤
m
0
0
m
k
i
n
(
q
)
>
m
0
V_m\left( q \right) =\left\{ \begin{matrix} k_s\left( m_{kin}\left( q \right) -m_0 \right) ^2& m_{kin}\left( q \right) \le m_0\\ 0& m_{kin}\left( q \right) >m_0\\ \end{matrix} \right.
Vm(q)={ks(mkin(q)−m0)20mkin(q)≤m0mkin(q)>m0
k
0
k_0
k0是一个正的增益,
m
0
m_0
m0定义了一个奇异点附近的邻域,仅在这个邻域内才附加SingularityAvoidance的控制。
另
τ
c
\tau_c
τc表示前文的阻抗控制,则带奇异点回避之后的新控制为
τ
=
τ
c
−
∂
V
m
(
q
)
∂
q
\tau =\tau _c-\frac{\partial V_m\left( q \right)}{\partial q}
τ=τc−∂q∂Vm(q)
3.5 姿态表示方法与刚度矩阵
将坐标
x
∈
R
6
x\in \mathbb{R} ^6
x∈R6分成两组,
x
t
∈
R
3
x_t\in \mathbb{R}^3
xt∈R3表示位置,一般采用笛卡尔坐标系;
x
r
∈
R
3
x_r\in \mathbb{R}^3
xr∈R3表示姿态,采用不同的表示方法将会有不一样的效果。将坐标分成两组之后,刚度矩阵也有对应的分割
K
d
=
[
K
t
K
c
K
c
T
K
r
]
K_d=\left[ \begin{matrix} K_t& K_c\\ K_{c}^{T}& K_r\\ \end{matrix} \right]
Kd=[KtKcTKcKr]
末端的当前位姿矩阵是
h
s
t
(
q
)
h_{st}(q)
hst(q),以及一个期望的时变位姿
h
s
d
(
t
)
h_{sd}(t)
hsd(t),有
h
d
t
(
q
,
t
)
=
h
s
d
−
1
(
t
)
h
s
t
(
q
)
=
[
R
d
t
(
q
,
t
)
d
p
d
t
(
q
,
t
)
0
1
]
h_{dt}\left( q,t \right) =h_{sd}^{-1}\left( t \right) h_{st}\left( q \right) =\left[ \begin{matrix} R_{dt}\left( q,t \right)& _dp_{dt}\left( q,t \right)\\ 0& 1\\ \end{matrix} \right]
hdt(q,t)=hsd−1(t)hst(q)=[Rdt(q,t)0dpdt(q,t)1]
3.5.1 平移刚度
向量
d
p
d
t
(
q
,
t
)
_dp_{dt}\left( q,t \right)
dpdt(q,t)由期望的位置
p
d
p_d
pd指向当前位置
p
t
p_t
pt,表达在
d
d
d系中,将其表达在s系中有
p
d
t
(
q
,
t
)
=
R
s
d
(
t
)
s
p
d
t
(
q
,
t
)
=
p
s
t
(
q
)
−
p
s
d
(
t
)
p_{dt}\left( q,t \right) =R_{sd}\left( t \right) _sp_{dt}\left( q,t \right) =p_{st}\left( q \right) -p_{sd}\left( t \right)
pdt(q,t)=Rsd(t)spdt(q,t)=pst(q)−psd(t)
刚度矩阵
K
t
K_t
Kt的三个特征向量,对应着三个刚度方向(表达在s系中)。
一些应用希望将刚度定义在
d
d
d系或
t
t
t系中,就需要使用相应系中的坐标。例如
d
p
d
t
_dp_{dt}
dpdt被用作平移误差
x
~
t
\tilde{x}_t
x~t,相应的刚度就表达在
d
d
d系中。
3.5.2 旋转刚度
相比于平移刚度的直观性,旋转刚度比较复杂,我们都知道SO3与R3不同胚,所以不存在一个最小的全局坐标表达。更多的关于姿态表示方法的讨论参见书中参考资料。这里只讨论欧拉角
考虑欧拉角 ϕ s t ( q ) = ϕ ( R s t ( q ) ) \phi _{st}\left( q \right) =\phi \left( R_{st}\left( q \right) \right) ϕst(q)=ϕ(Rst(q)),一个方法是直接将欧拉角的差作为姿态误差 ϕ d t ∗ ( q , t ) = ϕ s t ( q ) − ϕ s d ( t ) \phi _{dt}^{*}\left( q,t \right) =\phi _{st}\left( q \right) -\phi _{sd}\left( t \right) ϕdt∗(q,t)=ϕst(q)−ϕsd(t),但这种方法存在一个问题,这两组欧拉角任何一个出现奇异的时候,这个误差计算都是奇异的。一个更好的方法是用位姿误差 h t d h_{td} htd来算欧拉角误差 t ϕ t d ( q , t ) = ϕ ( R t d ( q , t ) ) _t\phi _{td}\left( q,t \right) =\phi \left( R_{td}\left( q,t \right) \right) tϕtd(q,t)=ϕ(Rtd(q,t)),此方法就奇异性而言鲁棒性更佳。当然,也可表达在s系中。
3.5.3 对闭环系统的影响
前两节说明了不能直接用两个坐标之间的差做笛卡尔误差,这里讨论如何更改之前的公式使其适合于前两节的情况。计算误差向量的导数
x
~
˙
=
∂
x
~
(
q
,
t
)
∂
q
q
˙
+
∂
x
~
(
q
,
t
)
∂
t
x
~
¨
=
∂
x
~
(
q
,
t
)
∂
q
q
¨
+
d
d
t
(
∂
x
~
(
q
,
t
)
∂
q
)
q
˙
+
d
d
t
∂
x
~
(
q
,
t
)
∂
t
\dot{\tilde{x}}=\frac{\partial \tilde{x}\left( q,t \right)}{\partial q}\dot{q}+\frac{\partial \tilde{x}\left( q,t \right)}{\partial t} \\ \ddot{\tilde{x}}=\frac{\partial \tilde{x}\left( q,t \right)}{\partial q}\ddot{q}+\frac{d}{dt}\left( \frac{\partial \tilde{x}\left( q,t \right)}{\partial q} \right) \dot{q}+\frac{d}{dt}\frac{\partial \tilde{x}\left( q,t \right)}{\partial t}
x~˙=∂q∂x~(q,t)q˙+∂t∂x~(q,t)x~¨=∂q∂x~(q,t)q¨+dtd(∂q∂x~(q,t))q˙+dtd∂t∂x~(q,t)
另
∂
x
~
(
q
,
t
)
∂
q
=
J
x
(
q
,
t
)
∂
x
~
(
q
,
t
)
∂
t
=
−
v
t
(
q
,
t
)
\frac{\partial \tilde{x}\left( q,t \right)}{\partial q}=J_x\left( q,t \right) \\ \frac{\partial \tilde{x}\left( q,t \right)}{\partial t}=-v_t\left( q,t \right)
∂q∂x~(q,t)=Jx(q,t)∂t∂x~(q,t)=−vt(q,t)
做与3.1.2相同的推导可以得到
Λ
(
q
,
t
)
(
x
~
¨
+
v
t
(
q
,
t
)
)
+
μ
(
q
,
q
˙
,
t
)
(
x
~
˙
+
v
t
(
q
,
t
)
)
+
J
x
(
q
,
t
)
−
T
g
(
q
)
=
J
x
(
q
,
t
)
−
T
(
τ
+
τ
e
x
t
)
Λ
(
q
,
t
)
=
J
x
(
q
,
t
)
−
T
M
(
q
)
J
x
(
q
,
t
)
−
1
μ
(
q
,
q
˙
,
t
)
=
J
x
(
q
,
t
)
−
T
(
C
(
q
,
q
˙
)
−
M
(
q
)
J
x
(
q
,
t
)
−
1
J
˙
x
(
q
,
t
)
)
J
x
(
q
,
t
)
−
1
\varLambda \left( q,t \right) \left( \ddot{\tilde{x}}+v_t\left( q,t \right) \right) +\mu \left( q,\dot{q},t \right) \left( \dot{\tilde{x}}+v_t\left( q,t \right) \right) +J_x\left( q,t \right) ^{-T}g\left( q \right) =J_x\left( q,t \right) ^{-T}\left( \tau +\tau _{ext} \right) \\ \varLambda \left( q,t \right) =J_x\left( q,t \right) ^{-T}M\left( q \right) J_x\left( q,t \right) ^{-1} \\ \mu \left( q,\dot{q},t \right) =J_x\left( q,t \right) ^{-T}\left( C\left( q,\dot{q} \right) -M\left( q \right) J_x\left( q,t \right) ^{-1}\dot{J}_x\left( q,t \right) \right) J_x\left( q,t \right) ^{-1}
Λ(q,t)(x~¨+vt(q,t))+μ(q,q˙,t)(x~˙+vt(q,t))+Jx(q,t)−Tg(q)=Jx(q,t)−T(τ+τext)Λ(q,t)=Jx(q,t)−TM(q)Jx(q,t)−1μ(q,q˙,t)=Jx(q,t)−T(C(q,q˙)−M(q)Jx(q,t)−1J˙x(q,t))Jx(q,t)−1
相对于之间的公式,只是做了如下代换
J
(
q
)
→
J
x
(
q
,
t
)
x
˙
d
→
−
v
t
(
q
,
t
)
x
¨
d
→
−
v
˙
t
(
q
,
t
)
J\left( q \right) \rightarrow J_x\left( q,t \right) \\ \dot{x}_d\rightarrow -v_t\left( q,t \right) \\ \ddot{x}_d\rightarrow -\dot{v}_t\left( q,t \right)
J(q)→Jx(q,t)x˙d→−vt(q,t)x¨d→−v˙t(q,t)