当前位置: 首页 > news >正文

有限时间 vs 固定时间 vs 预定时间滑模:稳定性分析与仿真验证方法对比(中)

四、有限时间滑模控制(Finite-Time Sliding Mode Control, FTSMC)

4.1、定义

有限时间收敛相较于渐进收敛其要求要更加严格,简单来说,假设存在一个连续可微的正定函数 V ( x ) : D → R V(x) : \mathcal{D} \to \mathbb{R} V(x):DR,且对任意实数 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,xN{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=x12x2βpqx1q/p1x2ksign(s)

这样其实是存在奇异性问题的,由于 q / p − 1 < 0 q/p - 1 < 0 q/p1<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/p1x2)=s(x12+x2+u+βpqx1q/p1x2)=s(ksign(s))=ks=k(s2)21=k(2V1(s))21kV1(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)):DRn 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 TT0,并且 lim ⁡ t → T ∣ x ( t ) − x 0 ∣ → 0 \lim_{t \to T} |x(t) - x_0| \to 0 limtTx(t)x00 对所有 t ≥ T t \geq T tT 成立,则系统满足固定时间收敛特性。

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(κq1)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={tTlimxV(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(κq1)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+αx1m+βx1n

这里直接给出了非奇异的固定时间滑模面,而非下面这种较为原始的会产生奇异的滑模面
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=x12x2αmx1m1x2βnx1n1x2k1spsign(s)k2sqsign(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+αmx1m1x2+βnx1n1x2)=s(x12+x2+αmx1m1x2+βnx1n1x2+u)=s(k1spsign(s)k2sqsign(s))=k1sp+1k2sq+1=k1(2V1)2p+1k2(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=αx1mβx1n,设置李雅普诺夫函数 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(αx1mβx1n)=αx1m+1βx1n+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
5.2.2、绘图

请添加图片描述

http://www.xdnf.cn/news/641323.html

相关文章:

  • 8.Java 8 日期时间处理:从 Date 的崩溃到 LocalDate 的优雅自救​
  • 【黑马点评】redis实战
  • Seaborn库的定义与核心功能
  • 【linux】mount命令中,data=writeback参数详细介绍
  • ubuntu 22.04安装和使用docker介绍
  • Java面向对象 二
  • GitHub Copilot 现已支持 AI Coding Agent
  • MySQL:12_视图
  • 08_模型训练篇-Torchvision(下):其他有趣的功能
  • 文件操作(C语言版)
  • 12.LCD、FSMC和ILI9341芯片
  • python中pandas之dataframe知识
  • 文本存入向量数据库流程
  • Python海龟绘图(turtle模块)常考知识点总结
  • 【数据结构】线性表之“双链表(带头循环双向链表)”
  • java 加密算法的简单使用
  • Linux系统中实时查看日志
  • Unity3D仿星露谷物语开发50之初始化农作物
  • day27:零基础学嵌入式之进程
  • Docker镜像存储路径迁移指南(解决磁盘空间不足问题)
  • Nginx安全防护
  • 基于Python Anaconda环境,使用CNN-LSTM模型预测碳交易价格的完整技术方案
  • 大模型与训练与微调
  • Java基础 Day20
  • 嵌入式自学第二十七天
  • ST表——算法的优化
  • TCP 和 UDP 的区别
  • 电梯调度算法详解与Python实现
  • 页表:从虚拟内存到物理内存的转换
  • C语言初阶--操作符