【非线性鲁棒控制器_sliding mode学习】_上_引入滑模控制

非线性鲁棒控制器

1、什么是鲁棒?

鲁棒对应的英文单词是Robust,显然这是直译过来的。

在维基百科上有这样一句话来解释它的含义:To achieve robust performance and/or stability in presence of bounded modeling error.

这里面需要注意的就是“存在有界的”误差。

2、一个简单的例子

(解释为什么采用鲁棒控制器,适用范围是什么)
一个系统 x ˙ = a x 2 + u \dot{x}=ax^2+u x˙=ax2+u
其中 a a a是常数(或者变化速率非常慢,可以被看作是常数),但是未知。 x d x_d xd是预期轨迹,误差定义为预期和实际的偏差。
控制目标: e = x d − x e=x_d-x e=xdx, e → 0 e\rightarrow0 e0
采用自适应控制进行设计,
得到自适应控制器: u = x ˙ d + x 2 ∫ 0 t e x 2 d t + k e u=\dot{x}_d+x^2\int_0^tex^2dt+ke u=x˙d+x20tex2dt+ke
但是,如果 a a a不是常数,只是一个有界的数,用数学表达式写出来就是:
∣ a ∣ ≤ ∣ a ˉ ∣ |a|\leq|\bar{a}| aaˉ
这种情况下怎么设计控制器呢?

3、更加general(一般)的情况

(就要用到滑模控制了,也就是被控对象里面有一个未知函数项,只知道它有界这个条件)
一个系统 x ˙ = f ( x ) + u \dot{x}=f(x)+u x˙=f(x)+u ∣ f ( x ) ∣ < ρ ( x ) |f(x)|<\rho(x) f(x)<ρ(x) (这个式子说明了 f ( x ) f(x) f(x)有界)
目标是令 x → x d x\rightarrow x _d xxd,即 e = x d − x e=x_d-x e=xdx, e → 0 e\rightarrow0 e0
e ˙ = x ˙ d − f ( x ) − u ( 1 ) \dot e=\dot x_d-f(x)-u (1) e˙=x˙df(x)u1
令:
u = x ˙ d + k e + ρ ∗ ∣ e ∣ e ( 2 ) u=\dot x_d+ke+\rho*\frac{|e|}{e} (2) u=x˙d+ke+ρee2
这里有一个非常关键的点: ∣ e ∣ e = s g n ( s ) \frac{|e|}{e}=sgn(s) ee=sgn(s),这是符号函数的意思,当e>0时,表达式为1,当e<0的时候,表达式为-1,当e=0时,表达式为0。如下图所示,可以看到这是一个分段的不连续的函数,也为后面采用其他形式的函数来替代符号函数埋下了伏笔。
符号函数
接下来证明,为什么设计控制器 u = x ˙ d + k e + ρ ∗ ∣ e ∣ e u=\dot x_d+ke+\rho*\frac{|e|}{e} u=x˙d+ke+ρee可以让系统稳定。

3.1 证明稳定性Proof:

定义李雅普诺夫函数 V ( e ) V_(e) V(e)
V ( e ) = 1 2 e 2 ( 3 ) V_(e)=\frac{1}{2}e^2 (3) V(e)=21e23
那么对V进行求导,可以得到 V ˙ ( e ) \dot V_(e) V˙(e):
V ˙ ( e ) = e ∗ e ˙ = e ( x ˙ d − f ( x ) − u ) ( 4 ) \dot V_(e)=e*\dot e=e(\dot x_d-f(x)-u) (4) V˙(e)=ee˙=e(x˙df(x)u)4
把控制器u的表达式 u = x ˙ d + k e + ρ ∗ ∣ e ∣ e u=\dot x_d+ke+\rho*\frac{|e|}{e} u=x˙d+ke+ρee带进去,
V ˙ ( e ) = e ( x ˙ d − f ( x ) − x ˙ d − k e − ρ ∗ ∣ e ∣ e ) \dot V_(e) =e(\dot x_d-f(x)-\dot x_d-ke-\rho*\frac{|e|}{e}) V˙(e)=e(x˙df(x)x˙dkeρee)
整理一下,得到
V ˙ ( e ) = e ( − f ( x ) − k e − ρ ∗ ∣ e ∣ e ) = − k e 2 − e f ( x ) − ρ ∣ e ∣ ( 5 ) \dot V_(e) =e(-f(x)-ke-\rho*\frac{|e|}{e}) =-ke^2-ef(x)-\rho |e| (5) V˙(e)=e(f(x)keρee)=ke2ef(x)ρe(5)

这个时候,对式(5)进行观察,可以进行缩放了,目的就是为了找到 V ˙ ( e ) \dot V_(e) V˙(e)是负定的证据。

显然,
V ˙ ( e ) = − k e 2 − e f ( x ) − ρ ∣ e ∣ ≤ − k e 2 + ∣ e ∣ ∣ f ( x ) ∣ − ρ ∣ e ∣ ( 6 ) \dot V_(e) =-ke^2-ef(x)-\rho |e| \leq-ke^2+|e||f(x)|-\rho |e| (6) V˙(e)=ke2ef(x)ρeke2+e∣∣f(x)ρe6

注意看,这里进行了第一次缩放。这个缩放是显而易见的。

继续往下推导,把 ∣ f ( x ) ∣ ≤ ρ ( x ) |f(x)|\leq\rho(x) f(x)ρ(x)带进去
V ˙ ( e ) = − k e 2 − e f ( x ) − ρ ∣ e ∣ ≤ − k e 2 + ∣ e ∣ ∣ f ( x ) ∣ − ρ ∣ e ∣ ≤ − k e 2 + ∣ e ∣ ρ − ρ ∣ e ∣ ( 7 ) \dot V_(e) =-ke^2-ef(x)-\rho |e| \leq-ke^2+|e||f(x)|-\rho |e|\leq-ke^2+|e|\rho-\rho |e| (7) V˙(e)=ke2ef(x)ρeke2+e∣∣f(x)ρeke2+eρρe7
也就是说,
V ˙ ( e ) ≤ − k e 2 ( 8 ) \dot V_(e) \leq-ke^2 (8) V˙(e)ke28
到目前为止,经过一次缩放,我们得到了 V ˙ ( e ) \dot V_(e) V˙(e)负定了。
定义的李雅普诺夫函数正定,且其导数负定,已经证明了我们设计的控制器u是合理的,是可以让系统稳定。

3.2 继续证明指数收敛

接下来的内容,是继续证明不光收敛,还是指数收敛的。
往回看,根据 V ( e ) = 1 2 e 2 V_(e)=\frac{1}{2}e^2 V(e)=21e2,可以得到 2 V ( e ) = e 2 2V_(e)=e^2 2V(e)=e2,也就是
V ˙ ( e ) ≤ − 2 k V ( e ) ( 9 ) \dot V_(e) \leq-2kV_(e) (9) V˙(e)2kV(e)9
V ˙ ( e ) + 2 k V ( e ) ≤ 0 \dot V_(e) +2kV_(e)\leq0 V˙(e)+2kV(e)0 ,这是一个微分方程不等式。
为了对这个微分方程不等式进行求解,这里引入一个函数 s ( t ) > 0 s(t)>0 s(t)>0,上面的微分不等式就变成了下面的微分方程。
V ˙ ( e ) + 2 k V ( e ) + s ( t ) = 0 ( 10 ) \dot V_(e) +2kV_(e)+s(t)=0 (10) V˙(e)+2kV(e)+s(t)=010
把s(t)移到等式右边,可以得到
V ˙ ( e ) + 2 k V ( e ) = − s ( t ) ( 11 ) \dot V_(e) +2kV_(e)=-s(t) (11) V˙(e)+2kV(e)=s(t)11
解这个非齐次微分方程,可以得到它的通解:
V ( t ) = V ( 0 ) e x p ( − 2 k t ) − e x p ( − 2 k t ) ∫ 0 t e x p ( 2 k τ ) s ( τ ) d τ ( 12 ) V(t)=V(0)exp(-2kt)-exp(-2kt) \int_0^t exp(2k\tau)s(\tau)d\tau (12) V(t)=V(0)exp(2kt)exp(2kt)0texp(2kτ)s(τ)dτ12
其中, e x p ( − 2 k t ) = e − 2 k t exp(-2kt)=e^{-2kt} exp(2kt)=e2kt,为了不和误差e搞混,所以指数项这么写。
对式(12)进行分析,
可以看到, e x p ( − 2 k t ) ∫ 0 t e x p ( 2 k τ ) s ( τ ) d τ > 0 exp(-2kt) \int_0^t exp(2k\tau)s(\tau)d\tau>0 exp(2kt)0texp(2kτ)s(τ)dτ>0
所以,
V ( t ) ≤ V ( 0 ) e x p ( − 2 k t ) ( 13 ) V(t)\leq V(0)exp(-2kt) (13) V(t)V(0)exp(2kt)13
也就是,
1 2 e 2 ( t ) ≤ 1 2 e ( 0 ) e x p ( − 2 k t ) ( 14 ) \frac{1}{2}e^2(t)\leq \frac{1}{2}e(0)exp(-2kt) (14) 21e2(t)21e(0)exp(2kt)14
两边同时开方,可以得到
1 2 e 2 ( t ) ≤ 1 2 e ( 0 ) e x p ( − 2 k t ) ( 15 ) \sqrt{ \frac{1}{2}e^2(t)}\leq \sqrt{ \frac{1}{2}e(0)exp(-2kt) } (15) 21e2(t) 21e(0)exp(2kt) 15

∣ e ( t ) ∣ ≤ ∣ e ( 0 ) ∣ e x p ( − k t ) ( 16 ) |e(t)|\leq |e(0)|exp(-kt) (16) e(t)e(0)exp(kt)16
通过(16)就可以发现,误差是指数渐进收敛的(exponentially stable)

阶段性总结

系统: x ˙ = f ( x ) + u \dot{x}=f(x)+u x˙=f(x)+u ∣ f ( x ) ∣ < ρ ( x ) |f(x)|<\rho(x) f(x)<ρ(x)
u = x ˙ d + k e + ρ ∗ ∣ e ∣ e u=\dot x_d+ke+\rho*\frac{|e|}{e} u=x˙d+ke+ρee
这样设计控制器u,就可以实现 t → ∞ t\rightarrow\infty t时, e = x d − x e=x_d-x e=xdx, e → 0 e\rightarrow0 e0
e ˙ = x ˙ d − f ( x ) − u \dot e=\dot x_d-f(x)-u e˙=x˙df(x)u
把u带进去:
e ˙ = − k e − f ( x ) − ρ ( x ) ∣ e ∣ e ( 17 ) \dot e=-ke-f(x)-\rho(x) \frac{|e|}{e} (17) e˙=kef(x)ρ(x)ee17
滑模控制
对(17)这个式子的分析,就出现了滑模控制这个词。

用滑模控制来解决前面那个简单的例子

系统 x ˙ = a x 2 + u \dot{x}=ax^2+u x˙=ax2+u ∣ a ∣ ≤ ∣ a ˉ ∣ |a|\leq|\bar{a}| aaˉ
那么, a x 2 ax^2 ax2就是那个未知的 f ( x ) f(x) f(x)
所以,有
∣ f ( x ) ∣ = ∣ a ∣ x 2 < ∣ a ˉ ∣ x 2 < ∣ a ˉ ∣ ( x 2 + 0.1 ) |f(x)|=|a|x^2<|\bar{a}|x^2<|\bar{a}|(x^2+0.1) f(x)=ax2<aˉx2<aˉ(x2+0.1)
显然, ∣ a ˉ ∣ ( x 2 + 0.1 ) |\bar{a}|(x^2+0.1) aˉ(x2+0.1) 就是那个 ρ ( x ) \rho(x) ρ(x)

现在就可以用前面推导过的结论了,这个时候就是直接给出控制器的表达式 u = x ˙ d + k e + ρ ∗ ∣ e ∣ e u=\dot x_d+ke+\rho*\frac{|e|}{e} u=x˙d+ke+ρee

u = k e + x ˙ d + ∣ a ˉ ∣ ( x 2 + 0.1 ) ∣ e ∣ e u=ke+\dot x_d+|\bar{a}|(x^2+0.1)\frac{|e|}{e} u=ke+x˙d+aˉ(x2+0.1)ee
下面就可以打开simulink进行验证了。
也就是下一篇博客要写的内容啦~
【下一篇是几个控制器的稳定性证明,simulink验证放在再下一篇】

参考视频链接

Dr.Can视频链接: link.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值