变结构控制(VSC)是一种特殊的非线性控制器,表现为控制的不连续性,又称滑模控制(SMC)。一般步骤为滑模面的设计、趋近率的设计、控制器的求解。
如图所示,s是滑模面,系统状态处于滑模面等于0(或附近)系统是稳定的。至于为啥系统状态处于滑模面等于0(或附近)系统是稳定的,将在滑模面的设计中解释。那么现在我们的目标就是如何使s趋近于0,从而系统稳定。最容易想到的方法就是
。当s>0时,
,反之当s<0时,
,这样s最终趋近于0。
![](https://img-blog.csdnimg.cn/20210710162107508.png)
针对线性系统(此处用到状态空间知识)
![](https://img-blog.csdnimg.cn/20210710162211995.png)
滑模面设计通常为:
![](https://img-blog.csdnimg.cn/20210710162243223.png)
为啥这么设计就能保证s(x)=0时,系统就趋于稳定呢,以位移、速度、加速度这个例子来说明。状态变量为
,即位移和速度,当位移和速度均为0系统稳定。则状态方程可以写成:
![](https://img-blog.csdnimg.cn/20210710162440108.png)
此时滑模面的设计为:
![](https://img-blog.csdnimg.cn/20210710162450898.png)
那么为啥s=0时,系统就稳定了呢。若s=0,最可能看出的一个解就是x和v均为0,此时系统稳定。那会不会有其他解呢?上述式子可以写成
![](https://img-blog.csdnimg.cn/20210710162508843.png)
定性的解释就是:假如x大于0,由于c1大于0,所以
小于0,所以x会不断减小,直到为0,反之也是如此。当然这里也可以解微分方程来理解。
那么如果x=0不是平衡位置,假设x=5时平衡,那么滑模面就可以设计为:
![](https://img-blog.csdnimg.cn/2021071016260218.png)
当然滑模面的设计方法不止这一种,后续还有终端滑模等,后续再进行理解。
根据前面所述,趋近率设计的目的就是为了使所设计的滑模面s=0。最容易想到的方法就是
。当s>0时,
,反之当s<0时,
,这样s最终趋近于0。
最常用的趋近率的设计为:
等速趋近律: ![](https://img-blog.csdnimg.cn/20210710162751713.png)
指数趋近律: ![](https://img-blog.csdnimg.cn/20210710162751714.png)
幂次趋近律: ![](https://img-blog.csdnimg.cn/20210710163737599.png)
一般趋近律: ![](https://img-blog.csdnimg.cn/20210710162751715.png)
其中sgn为符号函数,当s>0时,sgn(s)>0,反之小于0。上述所有的趋近率都最终保证s趋近0。
当然由于符号函数再0处会产生较大的跳变。可以考虑将符号函数替换为一下函数,也就有同样的效果:
![](https://img-blog.csdnimg.cn/20210710162818962.png)
饱和函数:![](https://img-blog.csdnimg.cn/20210710162948482.png)
![](https://img-blog.csdnimg.cn/20210710162931397.png)
双曲正切函数: ![](https://img-blog.csdnimg.cn/202107101628180.png)
![](https://img-blog.csdnimg.cn/20210710162859910.png)
连续函数![](https://img-blog.csdnimg.cn/2021071016281919.png)
-
举例
考虑下列线性系统:
,
为期望角度。
滑模面的设计为:![](https://img-blog.csdnimg.cn/2021071016313168.png)
趋近率的设计为:![](https://img-blog.csdnimg.cn/20210710163140268.png)
带入状态方程则系统的输出为:![](https://img-blog.csdnimg.cn/20210710163157361.png)
imulink仿真图为:
![](https://img-blog.csdnimg.cn/20210710163214580.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RhX3hpYW5feXU=,size_16,color_FFFFFF,t_70)
输出结果:
![](https://img-blog.csdnimg.cn/20210710163224940.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RhX3hpYW5feXU=,size_16,color_FFFFFF,t_70)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)