滑膜控制模型建立

滑模控制原理

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

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

设计思路

确定控制系统模型

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

\dot{x}=f(x,u,t)

x\epsilon {_{R}}^{n},u\epsilon {_{R}}^{m},t\epsilon R

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

err=X-sin(2*\pi *t)\Rightarrow \dot{err}=\dot{X}-2*\pi *cos(2*\pi*t)

\dot{X}-\dot{X*}=V-V*

\dot{V}-\dot{V*}=a-4\pi sin(2\pi t)=Du(t)

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

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

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

设计滑膜切换面

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

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

\left\{\begin{matrix} {_{u}}^{+}(x),s(x)>0\\ {_{u}}^{-}(x),s(x)<0 \end{matrix}\right.

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

1.滑动模态的存在性:\lim_{s\rightarrow 0}s*\dot{s}\leq 0

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

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

在以上三个约束条件下,

有状态方程

\left\{\begin{matrix} \frac{\mathrm{d(X-X*)} }{\mathrm{d} t}=v-v*\\ \frac{\mathrm{d(v-v*)} }{\mathrm{d} t} =Du(t)\end{matrix}\right.

设滑模面为

s=c(X-X*)+v-v*;c>0

\dot{s}=c(v-v*)+Du ~~>趋近律

设计趋近律

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

\dot{s}=-ksign(s)

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

由此得到控制量u(t)=[-ksign(s)-c(v-v*)]/D

matlab建模

仿真结果展示

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

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值