问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

【控制理论】深入理解鲁棒控制 | 滑模控制原理与应用实例解析

创作时间:
作者:
@小白创作中心

【控制理论】深入理解鲁棒控制 | 滑模控制原理与应用实例解析

引用
CSDN
1.
https://blog.csdn.net/weixin_51200029/article/details/142021886

本文重点讲解鲁棒控制中的滑模控制,内容整理自B站知名up主DR_CAN的视频,作为学习笔记分享给大家共同学习。

引言

本篇博客重点讲解鲁棒控制中的滑模控制,内容整理自B站知名up主DR_CAN的视频,作为博主的学习笔记,分享给大家共同学习。

一、鲁棒控制的定义与重要性

1.1 鲁棒控制的英文含义

鲁棒控制本身听上去不是很好理解,所以回归到它的英文"Robust",它的含义就是强壮的意思。鲁棒当然就是它的音译,当理解了含义之后,就可以明白鲁棒控制,即控制器设计是很强壮的。

1.2 维基百科上的定义

在维基百科上面有这样一段话介绍鲁棒控制:

"To achieve robust performance and/or stabilty in presence of bounded modeling error."

其中有两点需要注意:"presence"和"bounded"。即存在有界误差。它的应用也非常广泛,比如空调系统,或者巡航系统,因为都存在一些误差,但是这些误差都是有界的,比如空调室外温度是有界的。比如巡航系统不管是在雨天或者在雪地,摩擦系数也都是有界的,但是是不确定的误差。

1.3 自适应控制示例

举个例子,有这样的系统:

$$
\dot{x} = ax^2 + u
$$

叫做自适应控制(Adaptive Controller)。

假设a是未知常数,可以令:

$$
u = \dot{x}_d + x^2 \int_0^t e^{x^2} dt + ke
$$

使得x趋向于$x_d$。在鲁棒控制中,条件变得更加苛刻:a不再是常数,只知道a是有界的数,即:

$$
|a| \leq |\bar{a}|
$$

目标依然是令$x \rightarrow x_d$,即:

$$
x_d - x = e \rightarrow 0
$$

其中,e是误差。

二、鲁棒控制器设计

如何设计控制器呢?

先看一般形式:

$$
\dot{x} = f(x) + u
$$

目标是令$x \rightarrow x_d$,误差的动态方程就是:

$$
\dot{e}_d = \dot{x}_d - \dot{x} = \dot{x}_d - f(x) - u
$$

前提条件是$|f(x)| < \rho(x)$。可以令:

$$
u = \dot{x}_d + ke + \rho \frac{|e|}{e}
$$

其中:

$$
\frac{|e|}{e} = \text{sgn}(e)
\begin{cases}
1 & e > 0 \
0 & e = 0 \
-1 & e < 0
\end{cases}
$$

在图上画出来的图形如下:

三、数学证明

下面证明为什么这样的控制器设计可以使系统稳定。

3.1 李雅普诺夫稳定性

从李亚普诺夫方程的角度考虑问题,令:

$$
V(e) = \frac{1}{2}e^2
$$

对其求导可得:

$$
\begin{aligned}
\dot{V}(e) &= e\dot{e} = e(\dot{x}_d - f(x) - u) \
&= e(\dot{x}_d - f(x) - \dot{x}_d - ke - \rho \frac{|e|}{e}) \
&= -ke^2 - ef(x) - \rho|e| \
&\leq -ke^2 + |e||f(x)| - \rho|e| \
&\leq -ke^2 + |e|\rho - \rho|e|
\end{aligned}
$$

即:

$$
\dot{V}(e) \leq -ke^2
$$

再回过头看$V(e) = \frac{1}{2}e^2$,可以推出来:

$$
2V(e) = e^2
$$

代入:

$$
\dot{V}(e) \leq -2kV(e)
$$

移到左边来:

$$
\dot{V}(e) + 2kV(e) \leq 0
$$

得到微分方程不等式,引入新的大于0的函数$S(t)$,可以写成:

$$
\dot{V}(e) + 2kV(e) + S(t) = 0
$$

$$
\dot{V}(e) + 2kV(e) = -S(t)
$$

上式为一阶线性非齐次方程。

通解为:

$$
V(t) = V(0)e^{-2kt} - e^{-2kt} \int_0^t e^{2kt}s(\tau)d\tau
$$

注意:此处的$e^{-2kt}$为指数函数,不是误差。

3.2 进一步分析

在积分项里知道$s(\tau) > 0$,因为这是设的$s(\tau) > 0$。知道e的指数都是大于0的,所以积分项里的内容是大于0的,积分项外面的这一项$e^{-2kt}$也一定是大于0的。所以整个减去的这一项都是大于0的,可以得到:

$$
V(t) \leq V(0)e^{-2kt}
$$

在这种情况下,把$V(t)$代进去:

$$
\frac{1}{2}e^2(t) \leq \frac{1}{2}e^2(0)\exp(-2kt)
$$

两边开方可得到:

$$
|e(t)| \leq |e(0)|\exp(-kt)
$$

这是一种指数渐进稳定的形式。

四、滑模控制原理

下面做的这一系列的工作,就是为了证明当:

$$
\dot{x} = f(x) + u
$$

其中,$|f(x)| < \rho(x)$时,可以令:

$$
u = \dot{x}_d + ke + \rho \frac{|e|}{e}
$$

这样就可以令$e = x_d - x \rightarrow 0, t \rightarrow 0$

现在把式子代进来:

$$
\dot{e} = \dot{x}_d - \dot{x} = \dot{x}_d - f(x) - u = -ke - f(x) - \rho(x) \frac{e}{|e|}
$$

把u代进去:

$$
e = -ke - f(x) - \rho(x) \frac{e}{|e|}
$$

先看前面一部分$e = -ke$,观察函数的相平面:

横轴是e,纵轴是$\dot{e}$,它是一条这样的线,在左半平面时,$e < 0$,$\dot{e} > 0$,所以它将沿着线向右移动;在右半平面时,$e > 0$,$\dot{e} < 0$,所以它将沿着线向左移动,最后都移动到0点。

引入后面这两项$-f(x) - \rho(x) \frac{e}{|e|}$,其中$f(x)$项是本身系统的项,而$\rho(x) \frac{e}{|e|}$是引入的控制项。

上面两项的目标是当系统偏离这条线时,引导系统状态滑到这条线上去。系统的状态变量可能在这条线的左面,也有可能在这条线的右边,但是因为有后面的一项,会不断地把系统状态往这条线上引导,所以这样的过程叫做滑模控制(Sliding Mode)。

滑模控制(Sliding Mode Control, SMC)是一种鲁棒控制方法。鲁棒控制是指控制系统在面对模型不确定性、外部干扰和未建模动态时,仍能保持期望性能的能力。滑模控制通过设计一个滑动面和相应的控制律,使得系统状态在滑动面上滑动,即使在存在不确定性和干扰的情况下,也能保证系统的最终稳定性和期望的性能。

五、实例解析

现在来解刚刚的例子:

$$
\dot{x} = ax^2 + u
$$

其中,a有界,即$|a| \leq |\bar{a}|$,$ax^2$就是一般形式中的$f(x)$

$$
|f(x)| = |a|x^2 \leq |\bar{a}|x^2 < |\bar{a}|(x^2 + 0.1)
$$

后面括号里不管写多少都可以,因为引入了常数以后,小于号就一定成立了,这就是$\rho(x)$,

所以就可以令:

$$
u = ke + \dot{x}_d + |\bar{a}|(x^2 + 0.1) \frac{|e|}{e}
$$

这就是滑模控制器。

六、总结

大家可以自己设计Simulink验证。比如可以令a是小于3的随机数,随时间不断变化,看控制器的反应。

在下一篇博客里会再介绍两种另外的鲁棒控制器,并把它们放在一起给做比较。

本篇博客的内容就到这里,欢迎大家关注后续内容。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号