论文阅读: Sliding Mode Momentum Observers for Estimation of External Torques and Joint Acceleration
相关背景
- 使用动量观测器来估计外力是由Actuator failure detection and isolation using generalized momenta提出的。其为一个一阶滤波版本的外力估计,达到了渐进收敛。
- 综述研究 Robot collisions: A survey on detection, isolation, and identification
- 观测摩擦力 Friction observer and compensation for control of robots with joint torque measurement
本文给出了一个新的观测器,达到了有限时间收敛,并且该方法能够扩展到任务空间来估计外力的力旋量。
动量观测器
首先回顾经典的一阶动量观测器,然后给出本文的主要工作:滑膜观测器。
经典的一阶观测器需要两个假设:
- 动力学模型完全已知
- 摩擦力已知或者可以忽略
新的观测器同样需要这两个假设,因为任何不包含在模型中的力都会被估计到外力中。
动力学方程
M
(
q
)
q
¨
+
C
(
q
,
q
˙
)
q
˙
+
g
(
q
)
=
τ
+
τ
e
(1)
M(q)\ddot{q}+C(q,\dot{q})\dot{q}+g(q)=\tau+\tau_e \tag{1}
M(q)q¨+C(q,q˙)q˙+g(q)=τ+τe(1)
定义广义动量
p
=
M
q
˙
p=M\dot{q}
p=Mq˙
使用无源性质,其对时间的导数为
p
˙
=
τ
+
τ
e
−
C
q
˙
−
g
+
M
˙
q
˙
=
τ
+
τ
e
+
C
T
q
˙
−
g
(4)
\dot{p}=\tau+\tau_e-C\dot{q}-g+\dot{M}\dot{q}\\ =\tau+\tau_e+C^T\dot{q}-g \tag{4}
p˙=τ+τe−Cq˙−g+M˙q˙=τ+τe+CTq˙−g(4)
A.一阶动量观测器
r
=
K
o
(
p
−
∫
0
t
(
τ
+
C
T
q
˙
−
g
+
r
)
d
s
−
p
(
0
)
)
(5)
r=\,\,K_o\left( p-\int_0^t{\left( \tau +C^T\dot{q}-g+r \right) ds}-p\left( 0 \right) \right) \tag{5}
r=Ko(p−∫0t(τ+CTq˙−g+r)ds−p(0))(5)
这样定义出来的
r
r
r满足下面这个特性
r
˙
=
−
K
o
(
r
−
τ
e
)
\dot{r}=-K_o(r-\tau_e)
r˙=−Ko(r−τe)
既
r
r
r是
τ
e
\tau_e
τe的一阶滤波,并且时间常数为
T
o
,
i
=
1
/
k
o
,
i
T_{o,i}=1/k_{o,i}
To,i=1/ko,i,其中
K
o
=
d
i
a
g
(
k
o
,
i
)
K_o=diag(k_{o,i})
Ko=diag(ko,i),在实际使用中,需要根据带宽和容许噪声来选取
K
o
K_o
Ko。同时,因为是一阶滤波,其对外力的估计有相应的相位滞后。
B.滑膜动量观测器
1)SOSM观测器
核心要点是将(4)写为如下形式
τ
+
C
T
q
˙
−
g
=
p
˙
−
τ
e
\tau +C^T\dot{q}-g=\dot{p}-\tau_e
τ+CTq˙−g=p˙−τe
用左边的已知项来计算右边的未知项,以此在有限时间内估计出动量。进一步,estimated momentum dynamics与real momentum dynamics这两动态系统之间的差异就是外部力矩。
为了满足理论严谨性,这里有一些对外部力矩
τ
e
\tau_e
τe的要求,但出于实用角度,直接忽略。所以,考虑如下的观测器
p
^
˙
=
τ
+
C
T
q
˙
−
g
−
T
∣
p
~
∣
1
2
s
g
n
(
p
~
)
+
σ
σ
˙
=
−
S
s
g
n
(
p
~
)
\begin{aligned} \dot{\hat{p}}&=\tau +C^T\dot{q}-g-T|\tilde{p}|^{\frac{1}{2}} sgn \left( \tilde{p} \right) +\sigma\\ \dot{\sigma}&=-Ssgn\left( \tilde{p} \right) \end{aligned}
p^˙σ˙=τ+CTq˙−g−T∣p~∣21sgn(p~)+σ=−Ssgn(p~)
这里
p
~
=
p
^
−
p
\tilde{p}=\hat{p}-p
p~=p^−p既估计的动量与当前动量的差,
S
S
S和
T
T
T是满足一定的有条件的正定对角矩阵,详细的要求在附录里。这些要求是为了保证有限时间收敛。
这个观测器所导致的的误差动力学是
p
~
˙
=
−
T
∣
p
~
∣
1
2
s
g
n
(
p
~
)
+
s
s
˙
=
−
S
s
g
n
(
p
~
)
−
τ
˙
e
(8)
\begin{aligned} \dot{\tilde{p}}&=-T|\tilde{p}|^{\frac{1}{2}}sgn \left( \tilde{p} \right) +s\\ \dot{s}&=-Ssgn \left( \tilde{p} \right) -\dot{\tau}_e\\ \end{aligned} \tag{8}
p~˙s˙=−T∣p~∣21sgn(p~)+s=−Ssgn(p~)−τ˙e(8)
因为STA的鲁棒性,
(
p
~
,
s
)
=
(
0
,
0
)
(\tilde{p}, s)=(0,0)
(p~,s)=(0,0)是一个全局有限时间收敛的平衡点,因此有
σ
→
τ
e
\sigma\rightarrow \tau_e
σ→τe。
另外,这个观测器有对广义动量的估计,因此可以用它来估计加速度
q
^
¨
=
M
−
1
p
^
˙
=
d
d
t
(
M
−
1
)
p
^
\ddot{\hat{q}}=M^{-1}\dot{\hat{p}}=\frac{d}{dt}\left( M^{-1} \right) \hat{p}
q^¨=M−1p^˙=dtd(M−1)p^
虽然理论上这个观测器能在有限时间内收敛,但在实用中因为模型不确定性、采样时间、震颤效应等影像,不可避免的将导致对外力的估计噪音。
2)SOSML观测器
在原本的SOSM的基础上添加一个先性项
p
^
˙
=
τ
+
C
T
q
˙
−
g
−
T
1
∣
p
~
∣
1
2
s
g
n
(
p
~
)
−
T
2
p
~
+
σ
σ
˙
=
−
S
1
s
g
n
(
p
~
)
−
S
2
p
~
\begin{aligned} \dot{\hat{p}}&=\tau +C^T\dot{q}-g-T_1|\tilde{p}|^{\frac{1}{2}}sgn\left( \tilde{p} \right) -T_2\tilde{p}+\sigma\\ \dot{\sigma}&=-S_1sgn\left( \tilde{p} \right) -S_2\tilde{p}\\ \end{aligned}
p^˙σ˙=τ+CTq˙−g−T1∣p~∣21sgn(p~)−T2p~+σ=−S1sgn(p~)−S2p~
相比于SOSM,这个观测器的收敛性没变,仍然是有限时间收敛,但是其在原理平衡点的地方行为行为更好。在靠近原点处,非线性(滑膜)部分站主要作用,在远离原点处,线性部分其主要作用。
参数选取
A. 一阶观测器
为了达到
r
→
τ
e
r\rightarrow \tau_e
r→τe,需要
K
o
K_o
Ko尽可能的大,但是大
K
o
K_o
Ko会放大噪音。假设噪音来源于速度的测量误差
q
˙
m
e
s
=
q
˙
+
ϵ
\dot{q}_{mes}=\dot{q}+\epsilon
q˙mes=q˙+ϵ,
ϵ
\epsilon
ϵ是一个高频无偏噪音,则有
Δ
r
ϵ
=
r
o
b
s
−
r
=
K
o
(
M
q
˙
m
e
s
−
M
q
˙
)
=
K
o
M
ϵ
\varDelta r_\epsilon = r_{obs}-r=K_o(M\dot{q}_{mes}-M\dot{q})=K_oM\epsilon
Δrϵ=robs−r=Ko(Mq˙mes−Mq˙)=KoMϵ
这个角速度的测量噪音会被放大
B. SOSM和SOSML观测器
对SOSM,
T
T
T和
S
S
S参数的选择需要满足稳定性条件,先选择
S
S
S后选择
T
T
T。
S
S
S是
σ
\sigma
σ导数的绝对值,他决定了跟踪能力。如果外界力矩大于
σ
\sigma
σ,则观测器无法跟踪。这个条件也反应在
τ
e
\tau_e
τe需要有一个确定的全局Lipschitz常数。
为了选取
T
T
T,将SOSM的误差动力学(8)改写为
p
~
˙
=
−
T
∣
p
~
∣
1
2
s
g
n
(
p
~
)
−
∫
0
t
S
s
g
n
(
p
~
)
d
s
−
τ
e
\dot{\tilde{p}}=-T|\tilde{p}|^{\frac{1}{2}}sgn\left( \tilde{p} \right) -\int_0^t{Ssgn\left( \tilde{p} \right) ds}-\tau _e
p~˙=−T∣p~∣21sgn(p~)−∫0tSsgn(p~)ds−τe
这个形式可以理解为一个非线性的PI控制器,
T
T
T是比例增益,
S
S
S是积分增益,过大的
T
T
T会导致超调,过小的
T
T
T收敛性差,从经验出发可以从
T
=
1.6
S
T=1.6\sqrt{S}
T=1.6S开始调整。
对SOSML,线性部分与二阶部分相关,因此 T 2 T_2 T2和 S 2 S_2 S2的选取是在调整阻尼特性 T 1 T_1 T1和 S 1 S_1 S1的选取与SOSM类似。
在相同的截止频率下,FO,SOSM,SOSML的阶跃响应是
看起来似乎FO表现与SOSML差异不是很大。
但是从追踪性能来看
这是无噪音情况下的FO与SOSML的对比,SOSML的相位滞后明显小于FO。
在噪音环境下
对FO来讲,大噪音不会导致更大的滞后,但是会增大输出的噪音,这是因为FO是个一阶线性滤波器。而对SOSML来说,大测量噪音会导致更大的滞后,但是不会在输出上导致明显噪音。
总体来说对比是
- FO的输出噪音与 K o K_o Ko和系统的惯性成正比,而SOSML的噪音只与增益 S 1 S_1 S1有关
- FO的动态响应只受增益 K o K_o Ko影像与噪音无关,而SOSML受增益和噪音大小影像,噪音大会导致滞后大
- FO的噪音幅值与速度噪音的能量成正比,而SOSML的噪音则不受影像比较固定。
附录
给定系统
x
˙
1
=
−
k
1
∣
x
1
∣
1
2
s
g
n
(
x
1
)
−
k
2
x
1
+
x
2
+
ρ
1
(
t
,
x
)
x
˙
2
=
−
k
3
s
g
n
(
x
1
)
−
k
4
x
1
+
ρ
2
(
t
,
x
)
\begin{aligned} \dot{x}_1&=-k_1|x_1|^{\frac{1}{2}}sgn \left( x_1 \right) -k_2x_1+x_2+\rho _1\left( t,x \right)\\ \dot{x}_2&=-k_3sgn \left( x_1 \right) -k_4x_1+\rho _2\left( t,x \right)\\ \end{aligned}
x˙1x˙2=−k1∣x1∣21sgn(x1)−k2x1+x2+ρ1(t,x)=−k3sgn(x1)−k4x1+ρ2(t,x)
假定干扰部项是全局有界,满足
∣
ρ
1
∣
≤
δ
1
∣
x
1
∣
1
2
+
δ
3
∣
x
1
∣
∣
ρ
2
∣
≤
δ
2
+
δ
4
∣
x
1
∣
|\rho _1|\le \delta _1|x_1|^{\frac{1}{2}}+\delta _3|x_1| \\ |\rho _2|\le \delta _2+\delta _4|x_1|
∣ρ1∣≤δ1∣x1∣21+δ3∣x1∣∣ρ2∣≤δ2+δ4∣x1∣
其中
δ
i
≥
0
\delta_i\ge0
δi≥0是已知常数。如果增益满足以下不等式
则原点是全局渐进稳定的平衡点,并且所有轨迹都有限时间收敛到原点。