滑膜控制模型建立

滑膜控制模型建立

滑模控制原理

滑模控制(sliding mode control, SMC)也叫变结构控制,本质上是一类特殊的非线性控制,且非线性表现为控制的不连续性。这种控制策略与其他控制的不同之处在于系统的“结构”并不固定,而是可以在动态过程中,根据系统当前的状态(如偏差及其各阶导数等)有目的地不断变化,迫使系统按照预定“滑动模态”的状态轨迹运动。由于滑动模态可以进行设计且与对象参数及扰动无关,这就使得滑模控制具有快速响应、对参数变化及扰动不灵敏、无需系统在线辨识、物理实现简单等优点。---(百度百科)

由上图所示,在一个平面内所有的点都能在S>0,S<0,S=0区域得到对应。在控制器设计中,我们希望控制器的输入(一般是误差)为0,C点完美符合我们的需求,从无穷远处收敛至0,更进一步,将一个平面内的所有点都设计成C点的收敛趋势,平面内的所有点最后都会趋近S=0,这个面称为滑模面,收敛的形态(就是那个箭头)为滑膜律。

设计思路

确定控制系统模型

一般控制系统模型可表示为

这样写不太直观,我直接用最常用的路程,速度,加速度作为例子写一个控制系统模型,建立滑模控制器

X为系统状态->路程;u为控制量,t是时间。

我希望控制器能控制运动路劲为sin(2*pi*t)这样的路径走。控制路程需要控制速度,控制速度需要控制加速度,也就是说控制了加速度,就能控制路程了。也就是说需要找到路程(路程误差)与加速度之间的关系。加速度含有需要控制的控制量。

这个控制模型归根结底是求控制量u(t),如何控制u(t)使输出的路程与期望(给定)的路程误差为0。

设计滑膜切换面

滑膜控制很关键的一部分就是找到切换面,也就是确定换函数s(x)。

确定了切换面则需要根据系统状态和切换面的关系确定控制函数u(t)。此时u(t)形式应该为:

控制函数需要符合以下3个条件:

1.滑动模态的存在性:

2.满足可达性:初始点没有在s=0附近,在一定时间必须到达切换面

3.保证滑膜运动的稳定性:(1)&(2)满足后,需要满足或者s(0)=0,选取切换面时必须经过原点。

在以上三个约束条件下,

有状态方程

设滑模面为

;c>0

~~>趋近律

设计趋近律

先简单的设计一个等速趋近律:

等速趋近律是最简单的,复杂的有指数趋近律,幂次趋近律,变趋近律等等

由此得到控制量u(t)=

matlab建模

仿真结果展示

输入跟随输出,效果良好。