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

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

创作时间:
2025-03-16 08:48:43
作者:
@小白创作中心

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

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

导读:本文深入探讨了鲁棒控制中的滑模控制原理与应用实例。从鲁棒控制的定义出发,逐步深入到滑模控制的数学证明和实例解析,内容详实且具有较高的专业性。文章结构清晰,从基础概念到具体应用,层层递进,适合对控制理论感兴趣的读者深入学习。

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

1.1 鲁棒控制的英文含义

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

1.2 维基百科上的定义

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

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

其中有两点需要注意:presence

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

1.3 自适应控制示例

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

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

叫做自适应控制(Adaptive Controller)

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

$$
u = \dot { x } d + x ^ { 2 } \int _ { 0 } ^ { t } e x ^ { 2 } d t + k e
$$

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

$$
| a | \le | \overline { a } |
$$

目标依然是令x → x d ,即

$$
x _ { d } - x = e \rightarrow 0
$$

其中,e 是误差。

二、鲁棒控制器设计

如何设计控制器呢?

先看一般形式:

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

目标是令x → x d ,误差的动态方程就是

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

前提条件是| f ( x ) | < ρ ( x )。可以令

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

其中

$$
\frac{|e|}{e}=\text{sgn} \left( e \right) \left{ \begin{array}{c} \begin{array}{c} 1\ 0\ \end{array}\ -1\ \end{array} \right. \begin{array}{c} e>0\ e=0\ e<0\ \end{array}
$$

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

三、数学证明

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

3.1 李雅普诺夫稳定性

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

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

对其求导可得

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

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

再回过头看

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

,可以推出来

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

代入

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

移到左边来

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

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

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

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

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

通解为

$$
V ( t ) = V ( 0 ) e^ {- 2 k t} - e^{- 2 k t } \int _ { 0 } ^ { t } e^{ 2 k t }s (\tau ) d \tau .
$$

注意:此处的

$$
e^{- 2 k t}
$$

为指数函数,不是误差。

3.2 进一步分析

在积分项里知道

$$
s ( \tau ) > 0
$$

,因为这是设的

$$
s ( \tau ) > 0
$$

。知道e 的指数都是大于0 的,所以积分项里的内容是大于0 的,积分项外面的这一项

$$
e^{- 2 k t}
$$

也一定是大于0 的。所以整个减去的这一项都是大于0 的,可以得到

$$
V ( t ) \le V { ( 0 ) } e^{ - 2 k t}
$$

在这种情况下,把

$$
V ( t )
$$

代进去

$$
\frac { 1 } { 2 } e ^ { 2 } ( t ) \le \frac { 1 } { 2 } e ^ { 2 } ( 0 ) \text{exp} ( - 2 k t )
$$

两边开方可得到

$$
| e ( t ) | \leq | e ( 0 ) | \text{exp} ( - k t )
$$

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

四、滑模控制原理

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

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

其中,| f ( x ) | < ρ ( x ) 时,可以令

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

这样就可以令

$$
e = x_d-x\rightarrow0,t\rightarrow0
$$

现在把式子代进来

$$
\dot { e } = \dot { x } _ { d } -\dot x=\dot x_d- f ( x ) - u =- k e - f ( x ) - \rho ( x ) \frac { e } { | e | }
$$

把u 代进去

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

先看前面一部分

$$
e = - k e
$$

,观察函数的相平面:

横轴是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 } = a x ^ { 2 } + u
$$

其中,a 有界,即

$$
| a | \le | \overline { a } |
$$

$$
a x ^ { 2 }
$$

就是一般形式中的f ( x )

$$
| f ( x ) | = | a | x ^ { 2 } \leq | \overline { a } | x ^ { 2 } < | \overline { a } | ( x ^ { 2 } + 0 . 1 )
$$

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

$$
\rho ( x )
$$

,所以就可以令

$$
u = k e + \dot { x } _ { d } + | \overline { a } |( x ^ { 2 } + 0 . 1 ) \frac { | e | } { e }
$$

这就是滑模控制器。

六、总结

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

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

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

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