经典滑模控制趋近律收敛性的理解
经典滑模控制趋近律收敛性的理解 本文部分参考AI内容,仅作为个人理解使用,严谨分析请查阅相关文献 在经典的滑模控制中,考虑问题 $$ \ddot{e}(t)=u(t)+\delta(t) $$ 其中,$e(t)$为系统的误差, $u(t)$为控制输入, $\delta(t)$为系统的有界扰动,定义$\bar{\delta}=\sup_t\|\delta(t)\|$,这里$\sup$表示上确界,即扰动的范数(此处为标量系统即为绝对值)的最大值。 滑模控制的核心思想之一是降阶,将原来的一个二阶系统转换为两个一阶子系统(分别对应两个阶段)。 经典的滑模控制中,首先设计一个滑模面$s(t)=\dot{e}(t)+a e(t)$, 其中$a>0$。 所设计的控制律为: $$ u(t)-k\operatorname{sgn}(s)-a \dot{e}(t) $$ 从系统的轨线的角度,如下图,整个闭环系统的过程可以分为两个阶段: 趋近阶段:首先在有限时间上收敛到所设计的滑模上,其动态为公式(eq 1),包含扰动 滑动阶段:再在滑模面上收敛到期望的平衡点,其动态为$\dot{e}=-a e(t)$,不含扰动。 $$ \dot{s}=-k\operatorname{sgn}(s)+\delta(t) \tag{eq 1} $$ 针对这两个阶段有这些值得关注的: 趋近律中的$\operatorname{sgn}(e)$函数,在标量的情况(本文)通常选取符号函数,在多维向量的情况有两种表达,一种是逐元素的定义,一种为基于范数的定义,如果使用的是二范数,那么表示向量的单位向量。由于符号函数是非连续函数,系统会有震颤chattering的问题,于是有了减少和抑制震颤的一些方案: 减少震颤:通常为用连续的函数替代sign,这样会牺牲收敛精度,一般称作边界层法(boundary layer),即不再收敛到滑模面$s=0$而是收敛到这个滑模面的一定距离的边界内; 抑制震颤:主流为使用高阶滑模,这样会牺牲部分抗扰的能力。如使用二阶滑模算法,通常只能抵抗导数有界的扰动。 这里的滑动阶段使用的是线性滑模,所以系统状态渐进收敛,如果需要有限时间收敛,可以使用终端滑模$s=\dot{e}+|e|^{\alpha}\operatorname{sgn}(e)$, $0<\alpha<1$。但是终端滑模会有歧义的问题,改进方案有非奇异终端滑模。 图片中这是经典的相轨迹图,在横轴上方$\dot{e}(t)>0$,$e(t)$增加,系统状态向右变化,反之,在横轴下方$\dot{e}(t)<0$,$e(t)$减少,系统状态向左变化,系统总体有一个顺时针变化的趋势。线性滑模的线性在图中体现为$s=\dot{e}(t)+a e(t)$为一条直线,斜率$-a$为负,保证系统稳定。在直线上方满足$s>0$在直线下方满足$s<0$. 到达阶段的系统其实就是一个线性系统,不存在扰动了,现代控制理论或者经典控制理论都可以很容易地分析。 但是趋近阶段有sign函数和扰动函数,这是一个时变非连续系统,系统不能再经典意义下理解。 常见的趋近阶段分析方法 一般网上的教程分析趋近阶段都是采用这样一个Lyapunov函数: $$ V=\frac12 \|s\|^2 $$ 对这样的函数求导可得: $$ \begin{aligned} \dot{V} &=s\dot{s}=s\left(-k\operatorname{sgn}(s)+\delta(t)\right)\\ &=-k\|s\|+s\delta \leq -k\|s\|+\|s\| \|\delta\|\\ &\leq -(k-\bar{\delta})\|s\| \end{aligned} $$ 这里使用了条件$\sup_t\|\delta(t)\|< \bar{\delta}$. 于是我们应用Lyapunov 定理得到$s\to 0$. ...