有限时间 vs 固定时间 vs 预定时间滑模:稳定性分析与仿真验证方法对比(中)
四、有限时间滑模控制(Finite-Time Sliding Mode Control, FTSMC)
4.1、定义
有限时间收敛相较于渐进收敛其要求要更加严格,简单来说,假设存在一个连续可微的正定函数 V ( x ) : D → R V(x) : \mathcal{D} \to \mathbb{R} V(x):D→R,且对任意实数 c > 0 c > 0 c>0 和 α ∈ ( 0 , 1 ) \alpha \in (0, 1) α∈(0,1),以下不等式成立:
V ˙ ( x ) + c V α ( x ) ≤ 0 , x ∈ N ∖ { 0 } (4.1) \dot{V}(x) + cV^\alpha(x) \leq 0, \, x \in \mathcal{N} \setminus \{0\} \tag{4.1} V˙(x)+cVα(x)≤0,x∈N∖{0}(4.1)
则原点是系统 (4.1) 的有限时间稳定平衡点,且收敛时间满足:
T ( x 0 ) ≤ 1 c ( 1 − α ) V 1 − α ( x 0 ) (4.2) T(x_0) \leq \frac{1}{c(1 - \alpha)} V^{1 - \alpha}(x_0) \tag{4.2} T(x0)≤c(1−α)1V1−α(x0)(4.2)
进一步,若 N = D = R ℓ \mathcal{N} = \mathcal{D} = \mathbb{R}^\ell N=D=Rℓ、 V ( x ) V(x) V(x) 径向无界且 V ˙ < 0 \dot{V} < 0 V˙<0 在 R ℓ ∖ { 0 } \mathbb{R}^\ell \setminus \{0\} Rℓ∖{0} 上成立,则原点是全局有限时间稳定平衡点。
4.2、示例
这次针对的系统还不变,但是有限时间收敛需要定义滑模面:
s = x 2 + β x 1 q / p s = x_2 + \beta x_1^{q/p} s=x2+βx1q/p
其中 β > 0 \beta > 0 β>0 , p p p 和 q q q 是正奇数,且 q < p q < p q<p 。根据滑模面就可以设计控制律为:
u = − x 1 2 − x 2 − β q p x 1 q / p − 1 x 2 − k ⋅ s i g n ( s ) u = -x_1^2 - x_2 - \beta \frac{q}{p} x_1^{q/p-1}x_2 - k \cdot sign(s) u=−x12−x2−βpqx1q/p−1x2−k⋅sign(s)
这样其实是存在奇异性问题的,由于 q / p − 1 < 0 q/p - 1 < 0 q/p−1<0 ,那么当 x 1 = 0 x_1 = 0 x1=0 时, u u u 不存在,因为分母为0
虽然在工程上只需要屏蔽这个点,但是在理论上这里还是有点小问题…当然也可以用非奇异的滑模去解决这个问题
下面证明他是有限时间收敛的,首先证明 s s s 会在有限时间内收敛到原点,设 V 1 ( s ) = 1 2 s 2 V_1(s) = \frac{1}{2} s^2 V1(s)=21s2
V ˙ 1 ( s ) = s s ˙ = s ( x ˙ 2 + β q p x 1 q / p − 1 x 2 ) = s ( x 1 2 + x 2 + u + β q p x 1 q / p − 1 x 2 ) = s ( − k ⋅ s i g n ( s ) ) = − k ∣ s ∣ = − k ( s 2 ) 1 2 = − k ( 2 V 1 ( s ) ) 1 2 ≤ − k V 1 ( s ) 1 2 (4.3) \begin{aligned} {\dot V}_1(s) &= s \dot s \\ &= s({\dot x}_2 + \beta \frac{q}{p} x_1^{q/p-1}x_2) \\ &= s(x_1^2 + x_2 + u + \beta \frac{q}{p} x_1^{q/p-1}x_2) \\ &= s(-k \cdot sign(s)) \\ &= -k |s| \\ &= -k (s^2)^{\frac{1}{2}}\\ &= -k (2V_1(s))^{\frac{1}{2}} \\ &\le -k V_1(s)^{\frac{1}{2}} \end{aligned}\tag{4.3} V˙1(s)=ss˙=s(x˙2+βpqx1q/p−1x2)=s(x12+x2+u+βpqx1q/p−1x2)=s(−k⋅sign(s))=−k∣s∣=−k(s2)21=−k(2V1(s))21≤−kV1(s)21(4.3)
所以根据 4.1 的定义滑模面是可以在有限时间内收敛到原点的。接着我们证明滑模面为 0 时,状态可以收敛到原点;首先在滑模面 s = 0 s = 0 s=0 时, x 2 = − β x 1 q / p x_2 = - \beta x_1^{q/p} x2=−βx1q/p,可以发现 x 2 x_2 x2 的动态特性完全由 x 1 x_1 x1 决定,所以只需要 x 1 x_1 x1 在原点, x 2 x_2 x2 就在原点,那么设李雅普诺夫函数为 V 2 ( x 1 ) = 1 2 x 1 2 V_2(x_1) = \frac{1}{2} x_1^2 V2(x1)=21x12
V ˙ 2 ( x 1 ) = x 1 x 2 = x 1 ( − β x 1 q / p ) = − β x 1 q / p + 1 = − β ( 2 V 2 ) ( 1 + q / p ) / 2 (4.4) \begin{aligned} {\dot V}_2(x_1) &= x_1 x_2 \\ &= x_1 (- \beta x_1^{q/p}) \\ &= - \beta x_1^{q/p + 1} \\ &= -\beta(2 V_2)^{(1+q/p)/2} \\ \end{aligned}\tag{4.4} V˙2(x1)=x1x2=x1(−βx1q/p)=−βx1q/p+1=−β(2V2)(1+q/p)/2(4.4)
根据 4.2 可以证得, x 1 x_1 x1 将在有限时间内收敛到原点,由于 x 2 = − β x 1 q / p x_2 = - \beta x_1^{q/p} x2=−βx1q/p, x 2 x_2 x2 也可以在有限时间内收敛到原点。
可以发现一个问题,有限时间收敛的收敛时间上限是一个与初始状态相关的值,这并不利于对收敛时间的准确控制。
4.2.1、代码:
x_1 = zeros(1, 1e5);
x_2 = zeros(1, 1e5);
u = zeros(1, 1e5);
s = zeros(1, 1e5);% 初始化
x_1(1, 1) = 100;
x_2(1, 1) = -10;
dt = 1e-3;for i = 1:(1e5-1)% 计算控制量s(1,i) = x_2(1,i)+2.*x_1(1,i).^(7./9);u(1,i) = - x_1(1,i).^2 - x_2(1,i) - 14./9.*x_1(1,i).^(-2./9).*x_2(1,i) - 2.*sign(s(1,i));% 计算微分dx_1 = x_2(1,i);dx_2 = x_1(1,i)^2 + x_2(1,i) + u(1,i);% 更新状态量,为了简单直接采用欧拉法x_1(1, i+1) = x_1(1, i) + dx_1 .* dt;x_2(1, i+1) = x_2(1, i) + dx_2 .* dt;
end
4.2.2、绘图:
非奇异的有限时间滑模面有很多的定义,其证明形式是一样的:
s = x 2 + β ⌈ x 1 ⌋ γ γ ∈ ( 0 , 1 ) ; s = x 2 + α x 1 + β ⌈ x 1 ⌋ γ γ ∈ ( 0 , 1 ) ; \begin{aligned} s &= x_2 + \beta \lceil x_1 \rfloor ^ {\gamma} & \gamma \in (0,1); \\ s &= x_2 + \alpha x_1 +\beta \lceil x_1 \rfloor ^ {\gamma} & \gamma \in (0,1); \\ \end{aligned} ss=x2+β⌈x1⌋γ=x2+αx1+β⌈x1⌋γγ∈(0,1);γ∈(0,1);
α \alpha α 和 β \beta β 是正数
五、固定时间滑模控制(Fixed-Time Sliding Mode Control, FixTSMC)
5.1、定义
考虑以下非线性系统:
x ˙ ( t ) = F ( x ( t ) ) , x ( 0 ) = x 0 (5.1) \dot{x}(t) = F(x(t)), x(0) = x_0 \tag{5.1} x˙(t)=F(x(t)),x(0)=x0(5.1)
其中, x ( t ) ∈ R n x(t) \in \mathbb{R}^n x(t)∈Rn, F ( x ( t ) ) F(x(t)) F(x(t)) 为连续函数,且满足 F ( x ( t ) ) : D → R n F(x(t)) : D \to \mathbb{R}^n F(x(t)):D→Rn, F ( 0 ) = 0 F(0) = 0 F(0)=0,其中 D D D 为一个开放域。如果系统的稳定时间与初始状态无关,则称上述系统为固定时间收敛系统。例如,若存在常数 T 0 > 0 T_0 > 0 T0>0 使得稳定时间 T ≤ T 0 T \leq T_0 T≤T0,并且 lim t → T ∣ x ( t ) − x 0 ∣ → 0 \lim_{t \to T} |x(t) - x_0| \to 0 limt→T∣x(t)−x0∣→0 对所有 t ≥ T t \geq T t≥T 成立,则系统满足固定时间收敛特性。
5.1.1、固定时间稳定
针对上述系统,考虑候选李雅普诺夫函数满足如下条件 :
V ˙ ( x ) ≤ − ( α V ( x ) p + β V ( x ) q ) κ (5.2) \dot V (x) \le -(\alpha V(x)^p + \beta V(x)^q)^{\kappa} \tag{5.2} V˙(x)≤−(αV(x)p+βV(x)q)κ(5.2)
其中 α , β , p , q , κ \alpha,\beta,p,q,\kappa α,β,p,q,κ 是标量并且满足条件 p κ < 1 , q κ > 1 , κ ∈ R + p\kappa < 1, q\kappa >1, \kappa \in \mathbb{R}^+ pκ<1,qκ>1,κ∈R+ ,那么李雅普诺夫函数 V ( x ) V(x) V(x) 是固定时间稳定的,其稳定时间上界为:
T ≤ 1 α k ( 1 − κ p ) + 1 β k ( κ q − 1 ) (5.4) T \le \frac{1}{\alpha^k (1-\kappa p)} + \frac{1}{\beta^k (\kappa q - 1)} \tag{5.4} T≤αk(1−κp)1+βk(κq−1)1(5.4)
5.1.2、实际固定时间稳定
针对上述系统,考虑候选李雅普诺夫函数满足如下条件 V ( x ) V(x) V(x) [1][2]:
V ˙ ( x ) ≤ − ( α V ( x ) p + β V ( x ) q ) κ + Θ (5.2) \dot V (x) \le -(\alpha V(x)^p + \beta V(x)^q)^{\kappa} + \Theta \tag{5.2} V˙(x)≤−(αV(x)p+βV(x)q)κ+Θ(5.2)
其中 α , β , p , q , κ \alpha,\beta,p,q,\kappa α,β,p,q,κ 是标量并且满足条件 p κ < 1 , q κ > 1 , κ ∈ R + p\kappa < 1, q\kappa >1, \kappa \in \mathbb{R}^+ pκ<1,qκ>1,κ∈R+ ,同时 0 < Θ < ∞ 0<\Theta<\infty 0<Θ<∞,那么李雅普诺夫函数 V ( x ) V(x) V(x) 是固定时间稳定的,并且残差集 D D D 可以表示为:
D = { lim t → T x ∣ V ( x ) ≤ min { α − 1 p { Θ 1 − Ξ k } 1 κ p , β − 1 q { Θ 1 − Ξ k } 1 κ q } } (5.3) D = \left\{ \lim_{t \to T}x | V(x) \le \text{min} \left\{ \alpha^{-\frac{1}{p}} \left\{ \frac{\Theta}{1 - \Xi^k}\right\}^{\frac{1}{\kappa p}} , \beta^{-\frac{1}{q}} \left\{ \frac{\Theta}{1 - \Xi^k}\right\}^{\frac{1}{\kappa q}}\right\} \right\} \tag{5.3} D={t→Tlimx∣V(x)≤min{α−p1{1−ΞkΘ}κp1,β−q1{1−ΞkΘ}κq1}}(5.3)
其中 Ξ \Xi Ξ 满足约束 0 < Ξ ≤ 1 0 < \Xi \le 1 0<Ξ≤1 , 稳定时间 T T T 的上界为:
T ≤ 1 α k Θ k ( 1 − κ p ) + 1 β k Θ k ( κ q − 1 ) (5.4) T \le \frac{1}{\alpha^k \Theta^k (1-\kappa p)} + \frac{1}{\beta^k \Theta^k (\kappa q - 1)} \tag{5.4} T≤αkΘk(1−κp)1+βkΘk(κq−1)1(5.4)
其实在滑模证明中重点关注的还是 5.2 这个形式,构造控制律使得李雅普诺夫函数满足这个形式
固定时间的优势:
- 收敛时间与初始状态无关,适合高动态环境。
- 更强的鲁棒性,抗干扰能力更优。
- 控制信号更平滑,减少抖振。
- 工程应用更可靠,适合安全关键系统。
5.2、示例
这次针对的系统还不变,固定时间时间收敛的滑模面可以定义为:
s = x 2 + α ⌈ x 1 ⌋ m + β ⌈ x 1 ⌋ n s = x_2 + \alpha \lceil x_1 \rfloor ^ m + \beta \lceil x_1 \rfloor ^ n s=x2+α⌈x1⌋m+β⌈x1⌋n
这里直接给出了非奇异的固定时间滑模面,而非下面这种较为原始的会产生奇异的滑模面
s = α x 1 p q + α x 1 m n s = \alpha x_1^{\frac{p}{q}} + \alpha x_1^{\frac{m}{n}} s=αx1qp+αx1nm
其中 α , β \alpha,\beta α,β 为正标量, p , q , m , n p,q,m,n p,q,m,n 为正奇数,且 m > n > 0 m > n > 0 m>n>0 , q > p > 0 q>p>0 q>p>0
据此可以设计控制律 u u u :
u = − x 1 2 − x 2 − α m ∣ x 1 ∣ m − 1 x 2 − β n ∣ x 1 ∣ n − 1 x 2 − k 1 ∣ s ∣ p sign ( s ) − k 2 ∣ s ∣ q sign ( s ) u = -x_1^2 - x_2 -\alpha m |x_1|^{m-1} x_2 - \beta n|x_1|^{n-1}x_2 - k_1|s|^p \text{sign}(s) - k_2|s|^q \text{sign}(s) u=−x12−x2−αm∣x1∣m−1x2−βn∣x1∣n−1x2−k1∣s∣psign(s)−k2∣s∣qsign(s)
其中 α , β , k 1 , k 2 \alpha, \beta, k_1, k_2 α,β,k1,k2 为正标量, m , p ∈ ( 0 , 1 ) m,p \in (0,1) m,p∈(0,1), n , q ∈ ( 1 , + ∞ ) n,q \in (1,+\infty) n,q∈(1,+∞) ,
- α , β \alpha, \beta α,β:调节滑模面收敛速度
- m , n m,n m,n:通常取 m = 0.5 , n = 1.5 m=0.5,n=1.5 m=0.5,n=1.5
- k 1 , k 2 k_1, k_2 k1,k2: 增大可加快收敛,但可能引起抖振
- p , q p,q p,q:通常取 p = 0.5 , q = 1.5 p=0.5,q=1.5 p=0.5,q=1.5
5.2.2、证明:
首先证明滑模面可以收敛到零,设置李雅普诺夫函数 V 1 ( s ) = 1 2 s 2 V_1(s) = \frac{1}{2} s^2 V1(s)=21s2
V ˙ 1 ( s ) = s s ˙ = s ( x ˙ 2 + α m ∣ x 1 ∣ m − 1 x 2 + β n ∣ x 1 ∣ n − 1 x 2 ) = s ( x 1 2 + x 2 + α m ∣ x 1 ∣ m − 1 x 2 + β n ∣ x 1 ∣ n − 1 x 2 + u ) = s ( − k 1 ∣ s ∣ p sign ( s ) − k 2 ∣ s ∣ q sign ( s ) ) = − k 1 ∣ s ∣ p + 1 − k 2 ∣ s ∣ q + 1 = − k 1 ( 2 V 1 ) p + 1 2 − k 2 ( 2 V 1 ) q + 1 2 \begin{aligned} \dot V_1(s) &= s \dot s\\ &= s \left( \dot x_2 + \alpha m |x_1|^{m-1} x_2 + \beta n|x_1|^{n-1}x_2 \right) \\ &= s \left( x_1^2 + x_2 + \alpha m |x_1|^{m-1} x_2 + \beta n|x_1|^{n-1}x_2 + u \right) \\ &= s \left( - k_1|s|^p \text{sign}(s) - k_2|s|^q \text{sign}(s) \right) \\ &= - k_1|s|^{p+1} - k_2|s|^{q+1}\\ &= - k_1 (2 V_1)^{\frac{p+1}{2}} - k_2 (2 V_1)^{\frac{q+1}{2}} \end{aligned} V˙1(s)=ss˙=s(x˙2+αm∣x1∣m−1x2+βn∣x1∣n−1x2)=s(x12+x2+αm∣x1∣m−1x2+βn∣x1∣n−1x2+u)=s(−k1∣s∣psign(s)−k2∣s∣qsign(s))=−k1∣s∣p+1−k2∣s∣q+1=−k1(2V1)2p+1−k2(2V1)2q+1
根据 5.2 可知, s s s 可以在固定时间内收敛到原点,收敛到原点后 s = 0 s = 0 s=0 ,当 s = 0 s = 0 s=0 时, x 2 = − α ⌈ x 1 ⌋ m − β ⌈ x 1 ⌋ n x_2 = - \alpha \lceil x_1 \rfloor ^ m - \beta \lceil x_1 \rfloor ^ n x2=−α⌈x1⌋m−β⌈x1⌋n,设置李雅普诺夫函数 V 2 ( x 1 ) = 1 2 x 1 2 V_2(x_1) = \frac{1}{2} x_1^2 V2(x1)=21x12
V ˙ 2 ( x 1 ) = x 1 x 2 = x 1 ( − α ⌈ x 1 ⌋ m − β ⌈ x 1 ⌋ n ) = − α ∣ x 1 ∣ m + 1 − β ∣ x 1 ∣ n + 1 = − α ( 2 V 2 ) m + 1 2 − β ( 2 V 2 ) n + 1 2 \begin{aligned} \dot V_2(x_1) &= x_1 x_2 \\ &= x_1 (- \alpha \lceil x_1 \rfloor ^ m - \beta \lceil x_1 \rfloor ^ n) \\ &= - \alpha | x_1 | ^ {m+1} - \beta | x_1 | ^ {n+1} \\ &= - \alpha (2 V_2)^{\frac{m+1}{2}} - \beta (2 V_2)^{\frac{n+1}{2}} \end{aligned} V˙2(x1)=x1x2=x1(−α⌈x1⌋m−β⌈x1⌋n)=−α∣x1∣m+1−β∣x1∣n+1=−α(2V2)2m+1−β(2V2)2n+1
由此可知,状态 x 1 x_1 x1 可以在固定时间内收敛到原点, x 1 x_1 x1 状态到零时, x 2 x_2 x2 也同时到零。
5.2.1、代码:
x_1 = zeros(1, 1e5);
x_2 = zeros(1, 1e5);
u = zeros(1, 1e5);
s = zeros(1, 1e5);% 初始化
x_1(1, 1) = 100;
x_2(1, 1) = -10;
dt = 1e-4;for i = 1:(1e5-1)% 计算控制量s(1,i) = x_2(1,i) + abs(x_1(1,i)) .^ 0.5 .* sign(x_1(1,i)) + abs(x_1(1,i)) .^ 1.5 .* sign(x_1(1,i));u(1,i) = - x_1(1,i).^2 - x_2(1,i) - 0.5 .* abs(x_1(1,i)) .^ (-0.5) .* x_2(1,i) - 1.5 .* abs(x_1(1,i)) .^ (0.5) .* x_2(1,i) - abs(s(1,i)) .^ 0.5 .* sign(s(1,i)) - abs(s(1,i)) .^ 1.5 .* sign(s(1,i));u(1,i) = max(min(u(1,i), 1e4), -1e4);% 计算微分dx_1 = x_2(1,i);dx_2 = x_1(1,i)^2 + x_2(1,i) + u(1,i);% 更新状态量,为了简单直接采用欧拉法x_1(1, i+1) = x_1(1, i) + dx_1 .* dt;x_2(1, i+1) = x_2(1, i) + dx_2 .* dt;
end