【控制】滑模控制,滑模面的选择

目录滑模控制的一点笔记和看法
1【控制】滑动模型控制(Sliding Mode Control)
2【控制】滑模控制,小例子,有程序有结果图
3【控制】滑模控制,滑模面的选择

1 问题描述

假设存在一个被控系统
【控制】滑模控制,滑模面的选择

设计滑模面为
【控制】滑模控制,滑模面的选择

那么问题就是滑模面是什么?为什么要写成这种形式?

2 滑模面

滑模面一般可以设计为如下的形式
【控制】滑模控制,滑模面的选择

在滑模控制中,要保证多项式 【控制】滑模控制,滑模面的选择 为Hurwitz (简单来说这条条件是为了满足状态在 【控制】滑模控制,滑模面的选择 的滑模面上可以收敛)。什么是Hurwitz,即上述多项式的特征值的实数部分在左半平面,即为负。

下面举例说明:
【控制】滑模控制,滑模面的选择 时, 【控制】滑模控制,滑模面的选择,为了保证多项式 【控制】滑模控制,滑模面的选择 为Hurwitz,需要多项式 【控制】滑模控制,滑模面的选择 的特征值实数部分为负,即 【控制】滑模控制,滑模面的选择

接着明确一下,控制器的目的是为了使得状态 【控制】滑模控制,滑模面的选择【控制】滑模控制,滑模面的选择 均达到零,我们令 【控制】滑模控制,滑模面的选择,分析一下结果有
【控制】滑模控制,滑模面的选择

通过式 (4) 可以看到状态 【控制】滑模控制,滑模面的选择【控制】滑模控制,滑模面的选择 最终都是趋向于零的,而且速度是以指数速率趋紧的。指数速率意味着当 【控制】滑模控制,滑模面的选择 时,趋零过程完成 【控制】滑模控制,滑模面的选择,当 【控制】滑模控制,滑模面的选择 时,趋零过程完成 【控制】滑模控制,滑模面的选择。那么我们通过调节参数 【控制】滑模控制,滑模面的选择 的大小即可实现对趋零速度的调节,【控制】滑模控制,滑模面的选择 越大,速度越快。

因此如果满足了 【控制】滑模控制,滑模面的选择,那么系统的状态 【控制】滑模控制,滑模面的选择【控制】滑模控制,滑模面的选择 也将沿着滑模面趋近于零 (【控制】滑模控制,滑模面的选择 称之为滑模面)。

3 趋近律

上述过程介绍了如果 【控制】滑模控制,滑模面的选择 那么状态变量 【控制】滑模控制,滑模面的选择 就会趋近于零,那么接下来考虑如何保证 【控制】滑模控制,滑模面的选择。也就是控制器 【控制】滑模控制,滑模面的选择 将出现了。

针对式 (2) 的滑模面,其中并没有控制器 【控制】滑模控制,滑模面的选择,我们可以对式 (2) 取微分那么有
【控制】滑模控制,滑模面的选择

这时我们得到了 【控制】滑模控制,滑模面的选择 的一个式子。但是怎么与状态 【控制】滑模控制,滑模面的选择 建立联系呢?

解决办法就是已经规整好的趋近律。趋近律就是指的 【控制】滑模控制,滑模面的选择 的一个显式表达式,一般有

【控制】滑模控制,滑模面的选择

其中 【控制】滑模控制,滑模面的选择 是符号函数,【控制】滑模控制,滑模面的选择

结合趋近律式 (6) 和式 (2) 滑模面的微分,我们就可以得到控制器 【控制】滑模控制,滑模面的选择 的代数方程表达式。

4 不同趋近律

令式 (2) 中的参数 【控制】滑模控制,滑模面的选择 为2,我们研究不同趋近律的效果。
【控制】滑模控制,滑模面的选择 代入式 (5) 有

【控制】滑模控制,滑模面的选择

4.1 【控制】滑模控制,滑模面的选择

趋近律取 【控制】滑模控制,滑模面的选择
【控制】滑模控制,滑模面的选择

代入式 (1) 系统变为

【控制】滑模控制,滑模面的选择

【控制】滑模控制,滑模面的选择

4.2 【控制】滑模控制,滑模面的选择

趋近律取 【控制】滑模控制,滑模面的选择
【控制】滑模控制,滑模面的选择

代入式 (1) 系统变为

【控制】滑模控制,滑模面的选择

【控制】滑模控制,滑模面的选择

4.3 【控制】滑模控制,滑模面的选择

趋近律取 【控制】滑模控制,滑模面的选择
【控制】滑模控制,滑模面的选择

代入式 (1) 系统变为

【控制】滑模控制,滑模面的选择

【控制】滑模控制,滑模面的选择

上述仿真过程所用的程序如下:

clear
clc

x_1(:,1) = 1;
x_2(:,1) = 2;

% Gains
c = 2;
epsilon = 1;
k = 1;
alpha = 0.5;

%%    
tBegin = 0;
tFinal = 100;
dT = 0.05;
times = (tFinal - tBegin) / dT;
t(1,1) = tBegin;

for i = 1:times
    % record time
    t(:,i+1) = t(:,i) + dT;
    
    % slide model plane
    s = c*x_2(:,i) + x_1(:,i);
    
    % control input
    u = -epsilon * sign(s) - 2 * x_2(:,i);
    u = -epsilon * sign(s) - k * s - 2 * x_2(:,i);
    u = -k * abs(s)^alpha * sign(s) - k * s - 2 * x_2(:,i);
    
    % update states
    dot_x_2 = u;
    x_2(:,i+1) = x_2(:,i) + dT * dot_x_2;
    dot_x_1 = x_2(:,i+1);
    x_1(:,i+1) = x_1(:,i) + dT * dot_x_1;
end

%%
plot(t,x_1, t,x_2, 'linewidth',1.5);
legend('$x_1$', '$x_2$', 'interpreter','latex');
grid on;

Ref.

  1. 滑模控制器最强解析

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
乘风的头像乘风管理团队
上一篇 2023年3月10日
下一篇 2023年3月10日

相关推荐