终端滑模(Terminal滑模)理解

本文深入探讨了终端滑模控制的概念,通过非线性函数设计滑模面,使得系统能在指定时间内收敛。文章介绍了经典滑模面的特性,包括其奇异问题,并提供了一阶及二阶系统的实例分析。针对奇异问题,提出了非奇异终端滑模面的设计方法,确保系统在一阶和二阶系统中的稳定。通过Simulink仿真展示了控制效果,强调了终端滑模控制相对于传统控制理论的有限时间稳定性优势。
摘要由CSDN通过智能技术生成

一、什么是终端滑模

在前面所介绍的滑模控制中,我们是选取了一个线性的滑模面s,使系统达到滑模面后,误差逐渐收敛到0,收敛的速度可以通过调节滑模面的参数来实现。后来人们为了使滑模控制有更好的性能,便想到将滑模面设计成非线性函数,构造Terminal滑模面,使得在滑模面上误差可以在指定时间T内收敛到0,于是就产生终端滑模.

二、终端滑模形式

终端滑模面的形式有很多,主要要把握其思想,下面我将以一种比较经典的滑模面介绍Terminal滑模。
根据前面滑模介绍,相信大家都了解了滑模变结构控制有两个阶段:一是到达阶段,这一阶段是指系统从初态到达s=0的滑模面上,当然,如果系统初态处于s=0的切换面上时,则是不存在这一阶段;二是在滑模面上滑动的阶段,即在s=0的切换面上滑动到平衡点。在这一阶段 s = 0 , s ˙ = 0 s=0,\dot{s}=0 s=0,s˙=0,我曾经也不理解为什么s与s的导数都为0系统仍然在运动,其实你可以这样理解,在滑动阶段,系统状态一直处于s=0的滑模面上滑动,s没有变化,因此 s ˙ = 0 \dot{s}=0 s˙=0;系统在s=0上滑动是因为s的形式,这个我后面会详细说明
比较常用的一种终端滑模面设计如下: s = x ˙ + α x + β x q p = 0 ⋅ ⋅ ⋅ ( 1 ) s=\dot{x}+\alpha x+\beta x^{\frac{q}{p}}=0\cdot \cdot \cdot (1) s=x˙+αx+βxpq=0(1)其中x是状态变量, α > 0 , β > 0 \alpha >0,\beta >0 α>0,β>0,q与p是正奇数,且 q < p q<p q<p
我们先来研究一下这个切换面的性质,即它在s=0的滑模面上滑动性质,为了更方便研究,我们将上式化为如下形式: x ˙ = − α x − β x q p ⋅ ⋅ ⋅ ( 2 ) \dot{x}=-\alpha x-\beta x^{\frac{q}{p}}\cdot \cdot \cdot (2) x˙=αxβxpq(2)利用simulink搭建模型,模型如下:
在这里插入图片描述
将x的初值设置为5,我们可以看到处于滑模面s=0上的状态会在一定收敛为0,收敛图像如下:
在这里插入图片描述
在仿真中改变 α , β , p , q \alpha ,\beta ,p,q α,β,p,q的值,系统收敛速度会改变(仿真已上传,自行下载)。通过这个实验我们可以明确感受到当处于滑动阶段时,系统性能由切换面s=0的形式决定。但上述滑模面有一个严重缺陷,存在奇异问题。
奇异主要出现在 x q p x^{\frac{q}{p}} xpq这一项,我来简单解释一下。我们都知道变结构滑模控制有两个阶段,第一阶段是到达阶段,即系统从 s ≠ 0 s\neq 0 s=0 s = 0 s=0 s=0,这一阶段是通过设计滑模面的导数即 s ˙ \dot{s} s˙实现,下面我们对上述滑模面求导,可以得到 s ˙ = x ¨ + α x ˙ + β q p x q p − 1 ⋅ ⋅ ⋅ ( 3 ) \dot{s}=\ddot{x}+\alpha \dot{x}+\beta\frac{q}{p} x^{\frac{q}{p}-1}\cdot \cdot \cdot (3) s˙=x¨+αx˙+βpqxpq1(3)很显然,在 s ˙ \dot{s} s˙中出现了 x q p − 1 x^{\frac{q}{p}-1} xpq1,而q<p,因此 q p − 1 < 0 \frac{q}{p}-1<0 pq1<0,即当出现x=0时,分母为0,就会出现奇异。因此,在使用这种滑模面设计终端滑模控制时,不可以设计 s ˙ \dot{s} s˙,即不能设计到达阶段,因此这种滑模只适用于一阶系统,接下来我以一个一阶系统举例设计。
假设存在某一一阶系统 x ˙ = x + x 2 + u ⋅ ⋅ ⋅ ( 4 ) \dot{x}=x+x^{2}+u\cdot \cdot \cdot (4) x˙=x+x2+u(4)选定滑模面参数后可构造滑模面如下 s = x ˙ + x + x 1 3 = 0 ⋅ ⋅ ⋅ ( 5 ) s=\dot{x}+x+x^{\frac{1}{3}}=0\cdot \cdot \cdot (5) s=x˙+x+x31=0(5)等式左边只保存 x ˙ \dot{x} x˙,可得 x ˙ = − x − x 1 3 ⋅ ⋅ ⋅ ( 6 ) \dot{x}=-x-x^{\frac{1}{3}}\cdot \cdot \cdot (6) x˙=xx31(6)由方程(4)与(6)可得 x ˙ = x + x 2 + u = − x − x 1 3 ⋅ ⋅ ⋅ ( 7 ) \dot{x}=x+x^{2}+u=-x-x^{\frac{1}{3}}\cdot \cdot \cdot(7) x˙=x+x2+u=xx31(7)可解得 u = − 2 x − x 2 − x 1 3 ⋅ ⋅ ⋅ ( 8 ) u=-2x-x^{2}-x^{\frac{1}{3}}\cdot \cdot \cdot(8) u=2xx2x31(8)下面我仍以Matlab simulink来展示系统稳定情况,其中搭建模型如下,x初值为10
在这里插入图片描述
系统x的变化如下:
在这里插入图片描述
可以看到,系统可以稳定。但这种滑模面具有奇异性,无法适应于二阶系统,于是人们对其进行了改进。考虑一二阶非线性系统如下 { x 1 ˙ = x 2 x 2 ˙ = f ( x ) + g ( x ) u ⋅ ⋅ ⋅ ( 9 ) \left\{\begin{matrix} \dot{x_{1}}&=&x_{2} \\ \dot{x_{2}}&=&f(x)&+&g(x)u \cdot \cdot \cdot(9) \end{matrix}\right. {x1˙x2˙==x2f(x)+g(x)u(9)
改进滑模面 s = x 1 + 1 β x 2 p q = 0 ⋅ ⋅ ⋅ ( 10 ) s=x_{1}+\frac{1}{\beta }x_{2}^{\frac{p}{q}}=0\cdot \cdot \cdot(10) s=x1+β1x2qp=0(10)其中 β > 0 \beta>0 β>0, p , q ( p > q ) p,q(p>q) p,q(p>q)为正奇数,且 1 < p q < 2 1<\frac{p}{q}<2 1<qp<2。下面以一个例子说明非奇异terminal滑模设计

三、终端滑模实战练手

某一二阶系统的状态方程如下: { x 1 ˙ = x 2 x 2 ˙ = x 1 x 2 + 2 x 2 + u ⋅ ⋅ ⋅ ( 11 ) \left\{\begin{matrix} \dot{x_{1}}=& x_{2}& \\ \dot{x_{2}}=&x_{1}x_{2}&+&2x_{2}&+&u \cdot \cdot \cdot(11) \end{matrix}\right. {x1˙=x2˙=x2x1x2+2x2+u(11)
目的是设计一镇定控制器,使x1收敛为0,按照上一节的理论设计如下滑模面: s = x 1 + 1 β x 2 p q = 0 ⋅ ⋅ ⋅ ( 12 ) s=x_{1}+\frac{1}{\beta }x_{2}^{\frac{p}{q}}=0\cdot \cdot \cdot(12) s=x1+β1x2qp=0(12)这个滑模面保证了系统在滑动阶段收敛,接下来开始设计到达阶段,即从 s ≠ 0 s\neq 0 s=0到s=0的阶段。我们在高中数学都应该知道,一个函数的导数反映了函数的变化,因此我们对s求导,导数如下: s ˙ = x 2 + 1 β p q x 2 p q − 1 x 2 ˙ ⋅ ⋅ ⋅ ( 13 ) \dot{s}=x_{2}+\frac{1}{\beta}\frac{p}{q}x_{2}^{\frac{p}{q}-1}\dot{x_{2}}\cdot \cdot \cdot(13) s˙=x2+β1qpx2qp1x2˙(13)取p=5,q=3, β = 1 \beta=1 β=1,式(13)化简如下 s ˙ = x 2 + 5 3 x 2 2 3 x 2 ˙ ⋅ ⋅ ⋅ ( 14 ) \dot{s}=x_{2}+\frac{5}{3}x_{2}^{\frac{2}{3}}\dot{x_{2}}\cdot \cdot \cdot(14) s˙=x2+35x232x2˙(14)将式(11)代入(14) s ˙ = x 2 + 5 3 x 2 2 3 ( x 1 x 2 + 2 x 2 + u ) ⋅ ⋅ ⋅ ( 15 ) \dot{s}=x_{2}+\frac{5}{3}x_{2}^{\frac{2}{3}}(x_{1}x_{2}+2x_{2}+u)\cdot \cdot \cdot(15) s˙=x2+35x232(x1x2+2x2+u)(15)我们在前面介绍了趋近律,我们令 s ˙ = − 5 3 x 2 2 3 ( k s + η s i g n ( s ) ) ⋅ ⋅ ⋅ ( 16 ) \dot{s}=-\frac{5}{3}x_{2}^{\frac{2}{3}}(ks+\eta sign(s))\cdot \cdot \cdot(16) s˙=35x232(ks+ηsign(s))(16)其中 k , η k,\eta k,η为正数。可以解出控制律 u = − k s − η s i g n ( s ) − 3 5 x 2 1 3 − x 1 x 2 − 2 x 2 ⋅ ⋅ ⋅ ( 17 ) u=-ks-\eta sign(s)-\frac{3}{5}x_{2}^{\frac{1}{3}}-x_{1}x_{2}-2x_{2}\cdot \cdot \cdot(17) u=ksηsign(s)53x231x1x22x2(17)利用simulink仿真,假定 x 1 , x 2 x_{1},x_{2} x1,x2的初值分别是2,3,模型如下
在这里插入图片描述
x1收敛图像如下
在这里插入图片描述

x2曲线如下
在这里插入图片描述
控制u图像如下:
在这里插入图片描述
从1s左右产生的黄色控制带就是由滑模法的抖振引起,抖振过大在实际系统中是不能使用的(可以想想现实执行器能执行这种控制吗)。后续我会剖析滑模变结构控制为什么存在抖振以及面对抖振如何抑制,即常用的抖振抑制方法。最后,感谢各位大佬提出的意见,我会不断改进。
仿真代码已上传,自行下载,使用matlab2018a。

四、为什么要用终端滑模

看了上面的介绍和仿真,大部分人会有一个疑问:为什么要用终端滑模?在我们以前学习过的控制理论中,大家应该都了解过李亚普诺夫稳定,渐近稳定,指数稳定等。但这些稳定都有一个特点,那就是收敛时间无限大,在理论上只有当 t = ∞ t=\infty t=时,系统才能收敛到平衡点,但终端滑模在理论上是有限时间稳定,有限时间稳定的定义比较复杂,我以通俗的话说明一下:系统可以在有限时间T内稳定在平衡点。相比于其他稳定,有限时间稳定可以给我们一个更加明确的时间上界,让我们判断系统此时是否达到我们稳定要求。至于终端滑模时间证明,建议参考刘金琨老师的《滑模变结构控制MATLAB仿真》,电子版已经发到我的CSDN里了,有需要自行下载。本人学识浅薄,若有不当之处,欢迎大家指正,创作不易,希望大家点点关注和赞。

五、关于公式(16)的补充

在这里插入图片描述

非奇异终端滑模控制是一种在控制系统中使用滑模控制策略来实现稳定跟踪的方法。MATLAB是一种强大的数值计算和数据可视化工具,可以用于开发和运行滑模控制算法。 MATLAB提供了丰富的函数和工具箱,可以用于设计和实现非奇异终端滑模控制器。在MATLAB中,我们可以从系统模型出发,设计出理想的滑模面,并通过选择适当的控制律来实现控制器的设计。MATLAB中的Control System Toolbox提供了许多用于系统建模和控制器设计的函数和工具,可以方便地进行非奇异终端滑模控制器的设计和仿真。 使用MATLAB进行非奇异终端滑模控制器设计时,我们可以首先建立系统的数学模型,并根据控制要求设计出合适的滑模面。然后,通过使用MATLAB中的函数和工具来计算滑模控制器的控制律,并通过仿真验证控制性能。MATLAB提供了丰富的绘图功能,可以将仿真结果可视化展示,有助于分析和评估控制性能。 MATLAB还提供了图形界面工具Simulink,可以用于实现非奇异终端滑模控制器的实时控制。通过在Simulink中建立系统模型,并将非奇异终端滑模控制器添加到模型中,我们可以方便地进行控制系统的实时仿真和测试。 总之,MATLAB提供了丰富的函数和工具箱,可以方便地进行非奇异终端滑模控制器的设计、仿真和实现。使用MATLAB进行非奇异终端滑模控制器设计可以提高工作效率,加快算法开发和验证的过程。
评论 115
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值