终端滑模控制(TSM)

这篇具有很好参考价值的文章主要介绍了终端滑模控制(TSM)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

终端滑模控制 (Terminal Silding Mode Contral, TSM)

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

终端滑模的滑模面

终端滑膜的滑膜面有很多种形式,这里我们介绍一种经典的滑模面
s = x ˙ + α x + β x q p s=\dot x+ \alpha x + \beta x ^ {\frac {q}{p}} s=x˙+αx+βxpq
其中 x x x 是状态变量, α , β > 0 \alpha,\beta > 0 α,β>0 p , q p,q p,q 是正奇数,且 q < p q < p q<p,我们知道滑模控制有两个阶段,第一个阶段是到达阶段,这一阶段是指系统从初态到达 s = 0 s=0 s=0 的滑模面上,第二阶段是滑模面上的滑动阶段,在滑动阶段 s = 0 , s ˙ = 0 s=0,\dot s=0 s=0,s˙=0,在滑动阶段 s = 0 s=0 s=0 所以 s ˙ = 0 \dot s = 0 s˙=0

如果我们将 s = 0 s=0 s=0 ,可以得到一个微分方程,虽然无法解出微分方程的解析解,但是可以通过仿真得到微分方程的数值解,数值解可以看到在滑模面上时必将在一定时间内收敛为0。

控制器设计

考虑二阶不确定非线性系统
{ x ˙ 1 = x 2 x ˙ 2 = f ( x ) + g ( x ) u + d ( x ) \begin{cases} \dot x_1 = x_2 \\ \dot x_2 = f(x) + g(x)u + d(x) \end{cases} {x˙1=x2x˙2=f(x)+g(x)u+d(x)
其中 x = [ x 1 , x 2 ] T x = [x_1,x_2] ^ {T} x=[x1,x2]T d ( x ) d(x) d(x) 代表不确定的外部干扰,且有 d ( x ) ≤ D d(x) \le D d(x)D,即干扰有上界

对于二阶系统我们可以将滑膜面设计为
s = x 2 + β x 1 q p s = x_2 + \beta x_1 ^ {\frac {q} {p}} s=x2+βx1pq
其中, β > 0 \beta > 0 β>0 , p , q > 0 p,q>0 p,q>0 且为正奇数。对滑模面求导
s ˙ = x ˙ 2 + β q p x 1 q p − 1 x ˙ 1 = x ˙ 2 + β q p x 1 q p − 1 x 2 = f ( x ) + g ( x ) u + d ( x ) + β q p x 1 q p − 1 x 2 = − ε s g n ( s ) \begin {align} \dot s &= \dot x_2 + \beta \frac {q} {p} x_1^{\frac {q} {p} - 1}{\dot x_1} \nonumber \\ &= \dot x_2 + \beta \frac {q} {p} x_1^{\frac {q} {p} - 1}{x_2} \nonumber \\ &= f(x) + g(x)u + d(x) + \beta \frac {q} {p} x_1^{\frac {q} {p} - 1}{x_2} \nonumber \\ &= -\varepsilon sgn(s) \nonumber \end{align} s˙=x˙2+βpqx1pq1x˙1=x˙2+βpqx1pq1x2=f(x)+g(x)u+d(x)+βpqx1pq1x2=εsgn(s)
反解得到控制量 u u u 可得
u = − g − 1 ( x ) ( f ( x ) + β q p x 1 q p − 1 x 2 + ( D + ε ) s g n ( x ) ) u = -g^{-1}(x)(f(x)+\beta \frac{q}{p} x_1^{\frac {q} {p} - 1}x_2 + (D+\varepsilon)sgn(x)) u=g1(x)(f(x)+βpqx1pq1x2+(D+ε)sgn(x))
稳定性分析,设李雅普诺夫函数 V = 1 2 s 2 V = \frac {1} {2} s^2 V=21s2,所以有 V ˙ = s s ˙ \dot V = s \dot s V˙=ss˙,将 u u u 带入可得
V ˙ = s d ( x ) − ( D + ε ) ∣ s ∣ ≤ − ε ∣ s ∣ \dot V = sd(x) - (D+\varepsilon)|s| \le -\varepsilon |s| V˙=sd(x)(D+ε)sεs
所以此控制器可以稳定。

有限时间收敛证明

s = 0 x 2 + β x 1 q p = 0 x ˙ 1 + β x 1 q p = 0 d x 1 d t = − β x 1 q p d t d x 1 = − 1 β x 1 − q p d t = − 1 β x 1 − q p d x 1 ∫ 0 t d t = ∫ x 0 0 − 1 β x 1 − q p d x 1 \begin{align} s &= 0 \nonumber \\ x_2 + \beta x_1 ^ {\frac {q} {p}} &= 0 \nonumber \\ \dot x_1 + \beta x_1 ^ {\frac {q} {p}} &= 0 \nonumber \\ \frac{\text d x_1}{\text d t} &= -\beta x_1 ^ {\frac {q} {p}} \nonumber \\ \frac{\text d t}{\text d x_1} &= -\frac {1} {\beta} x_1 ^ {- \frac {q} {p}} \nonumber \\ {\text d t} &= -\frac {1} {\beta} x_1 ^ {- \frac {q} {p}} {\text d x_1} \nonumber \\ \int_{0}^{t} {\text d t} &= \int_{x_0}^{0} -\frac {1} {\beta} x_1 ^ {- \frac {q} {p}} {\text d x_1}\nonumber \\ \end{align} sx2+βx1pqx˙1+βx1pqdtdx1dx1dtdt0tdt=0=0=0=βx1pq=β1x1pq=β1x1pqdx1=x00β1x1pqdx1

可以得到从任意初始状态 x ( 0 ) ≠ 0 x(0) \ne 0 x(0)=0 出发沿着滑模面到 x = 0 x=0 x=0 的时间为:
t s = p β ( p − q ) ∣ x 1 ( 0 ) ∣ ( p − q ) / p t_s = \frac {p} {\beta (p-q)}|x_1(0)| ^ {(p-q)/p} ts=β(pq)px1(0)(pq)/p

实例

假设系统模型为如下的一阶系统
x ˙ = 2 x + x 2 + u \dot x = 2x + x^2 +u x˙=2x+x2+u
选定滑模面
s = x ˙ + x + x 1 3 s = \dot x + x + x ^{\frac {1} {3}} s=x˙+x+x31
s = 0 s = 0 s=0
0 = x ˙ + 2 x + x 1 3 = 2 x + x 2 + u + x + x 1 3 = x 2 + 3 x + x 1 3 + u 0=\dot x + 2x + x ^{\frac {1} {3}} = 2x + x^2+u+ x + x ^{\frac {1} {3}} = x^2+3x+x ^{\frac {1} {3}}+u 0=x˙+2x+x31=2x+x2+u+x+x31=x2+3x+x31+u
得到控制量
u = − x 2 − 3 x − x 1 3 u = -x^2-3x-x ^{\frac {1} {3}} u=x23xx31

奇异性问题

我们知道滑模控制有两个阶段,但是上述的滑模面的设计存在一个严重的缺陷,存在奇异问题,奇异主要出现在 x q p x ^ {\frac {q} {p}} xpq 这一项,我们对滑膜面进行求导,可以得到
s ˙ = x ¨ + α x ˙ + β q p x q p − 1 \dot s = \ddot x + \alpha \dot x + \beta \frac {q} {p} x ^ {\frac {q} {p} - 1} s˙=x¨+αx˙+βpqxpq1
在之前的设计中保证了 q < p q<p q<p 所以 q p − 1 < 0 \frac {q} {p} - 1 < 0 pq1<0 ,当出现 x = 0 x = 0 x=0 时,分母就会为0(倒数原因),就会出现奇异问题(函数在某点未定义),因此在使用这种滑模面设计终端滑膜控制时,不可以设计 s ˙ \dot s s˙ ,即不能设计到达阶段,因此这种滑膜只适合用于一阶系统文章来源地址https://www.toymoban.com/news/detail-440097.html

到了这里,关于终端滑模控制(TSM)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 记一次配置Windows终端terminal

    发布地址 https://github.com/microsoft/terminal/releases 安装地址 https://aka.ms/terminal 如果提示winget : 无法将“winget”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 如未安装winget,安装地址 https://www.microsoft.

    2024年02月04日
    浏览(92)
  • 超螺旋滑模控制详细介绍(全网独家)

    关于超螺旋滑模控制(或称超扭滑模控制)的论文有很多,但关于其具体的稳定性证明却少之又少,数学功底不强的人很容易在中间步骤被卡壳。因此,笔者在这里给出详尽的稳定性证明过程,一并将超螺旋滑模控制理论介绍给各位读者,希望能为各位带来一定的参考。 关于

    2024年02月03日
    浏览(85)
  • Mac配置android studio的终端terminal

    一共6步 首先打开terminal 1.echo $HOME 2.touch .bash_profile 3.open -e .bash_profile 4.在弹出框中输入 5.source .bash_profile 6.adb version  出现类似上图即为成功

    2024年02月15日
    浏览(38)
  • Windows终端(windows terminal)从下载到运行

    目录 介绍 一、软件下载 网盘链接 方式一: github 方式二:微软商店(Microsoft Store)下载 二、软件运行 三、添加Windows Terminal到鼠标右键菜单 四、使用run命令实现快捷启动 五、卸载 六、注册表删除 文章里提到的软件均提供网盘下载,链接在软件下载页面 以下所有演示内容都

    2024年02月14日
    浏览(94)
  • Win11右键打开终端(Windows Terminal)

    win11的terminal和cmd的命令有点差距 这里给出注册表方式给右键菜单添加在当前目录打开终端的方法 注意了,是Windows11系统右键菜单里添加在当前目录打开Terminal的选项 懒人操作: 将以下代码放在XXXX.reg文件中双击打开即可 win11的Terminal默认就是在当前目录打开,所以command只需

    2024年02月17日
    浏览(52)
  • Pycharm——在终端terminal运行python命令没有反应

    在运行django项目时,在terminal使用\\\"python manage.py runserver\\\"命令,但是没有反应,在排除不是路径没有和manage.py同目录的情况下,我怀疑是python.exe有问题。 先去cmd中运行命令\\\"python\\\",结果电脑自动打开应用商店,说明我的python环境变量有问题。 在cmd运行\\\"where python\\\",可以看到多了

    2024年02月03日
    浏览(57)
  • pycharm中的Terminal终端使用虚拟环境并切换项目路径

        如此便切换成功。 3. 如果想要在这个路径下运行文件,直接 python 文件名 ———————————————— 版权声明:本文为CSDN博主「vvvvs13」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/vvvvs13/article/details/

    2024年02月03日
    浏览(54)
  • Pycharm中Terminal(终端)不显示虚拟环境名解决方法

    Pycharm中打开项目配置完需要的虚拟环境后,在Terminal(终端)中无法切换及显示当前需要运行代码的虚拟环境。 比如以下一种情况: 1、显示PS 问题图说明:如果是PS 前缀可以看到Shell path处给的路径是应该powershell.exe运行文件,所以终端才会一直显示PS 。 2、显示 Python信息 问

    2024年02月12日
    浏览(65)
  • Windows 10 系统PowerShell美化 IDEA终端、VsCode终端以及Windows Terminal的PowerShell

    Linux 和 macOS 上的 PowerShell 使用 .NET Core,即 Microsoft Windows 上的完整 .NET Framework 的子集。 这非常重要,因为 PowerShell 提供对基础框架类型和方法的直接访问。 因此,在 Windows 上运行的脚本可能无法在非 Windows 平台上运行,因为框架之间存在差异。 Windows 终端程序是一款新式、

    2024年02月07日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包