滑模控制原理
滑模控制(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建模
仿真结果展示
输入跟随输出,效果良好。