构建一个基于快速非奇异终端滑模控制(FNTSMC)的仿真模型,运用不同趋近律与设计的趋近律开展对比,进而探究系统收敛时间和抖振幅值
下面将为你构建一个基于快速非奇异终端滑模控制(FNTSMC)的仿真模型,运用不同趋近律与设计的趋近律开展对比,进而探究系统收敛时间和抖振幅值。
快速非奇异终端滑模控制基础
快速非奇异终端滑模控制是一种先进的滑模控制策略,它能在有限时间内实现系统状态的收敛,同时避免传统滑模控制的奇异问题。
趋近律设计
- 等速趋近律: s ˙ = − ε sgn ( s ) \dot{s}=-\varepsilon \text{sgn}(s) s˙=−εsgn(s)
- 指数趋近律: s ˙ = − ε sgn ( s ) − k s \dot{s}=-\varepsilon \text{sgn}(s)-k s s˙=−εsgn(s)−ks
- 设计的趋近律: s ˙ = − ε sgn ( s ) − k s − η tanh ( s ) \dot{s}=-\varepsilon \text{sgn}(s)-k s - \eta \tanh(s) s˙=−εsgn(s)−ks−ηtanh(s)
Matlab/Simulink仿真实现
1. 定义系统模型
假定要控制的系统是一个二阶系统:
x
¨
=
f
(
x
,
x
˙
)
+
u
\ddot{x}=f(x,\dot{x})+u
x¨=f(x,x˙)+u
2. 滑模面设计
快速非奇异终端滑模面设计为:
s
=
e
+
α
e
p
q
s = e+\alpha e^{\frac{p}{q}}
s=e+αeqp
这里, e e e 是跟踪误差, α > 0 \alpha>0 α>0, p p p 和 q q q 为正奇数,且 p < q p<q p<q。
3. 控制器设计
依据滑模面和趋近律设计控制器 u u u。
以下是实现该仿真的Matlab代码:
% 仿真参数设置
tspan = [0 10];
x0 = [0; 0]; % 初始状态
% 系统参数
alpha = 1;
p = 3;
q = 5;
epsilon = 1;
k = 1;
eta = 0.5;
% 定义系统函数
sys = @(t,x,u) [x(2); -2*x(2) - 3*x(1) + u];
% 定义滑模面
s = @(e) e + alpha * sign(e) * abs(e)^(p/q);
% 定义不同趋近律
% 等速趋近律
reaching_law1 = @(s) -epsilon * sign(s);
% 指数趋近律
reaching_law2 = @(s) -epsilon * sign(s) - k * s;
% 设计的趋近律
reaching_law3 = @(s) -epsilon * sign(s) - k * s - eta * tanh(s);
% 仿真循环
options = odeset('RelTol',1e-6,'AbsTol',1e-6);
figure;
hold on;
% 等速趋近律仿真
[t1,x1] = ode45(@(t,x) sys(t,x,control_law(x,reaching_law1,s)), tspan, x0, options);
plot(t1,x1(:,1),'b', 'DisplayName', '等速趋近律');
% 指数趋近律仿真
[t2,x2] = ode45(@(t,x) sys(t,x,control_law(x,reaching_law2,s)), tspan, x0, options);
plot(t2,x2(:,1),'r', 'DisplayName', '指数趋近律');
% 设计的趋近律仿真
[t3,x3] = ode45(@(t,x) sys(t,x,control_law(x,reaching_law3,s)), tspan, x0, options);
plot(t3,x3(:,1),'g', 'DisplayName', '设计的趋近律');
% 绘图设置
xlabel('时间 (s)');
ylabel('系统状态');
title('不同趋近律下的系统响应');
legend;
grid on;
% 控制律函数
function u = control_law(x,reaching_law,s)
% 跟踪误差
e = 1 - x(1); % 假设参考输入为1
% 滑模面
s_val = s(e);
% 滑模面导数
s_dot = reaching_law(s_val);
% 控制器设计
u = 2*x(2) + 3*x(1) + s_dot;
end
代码解释
- 参数设置:设定仿真时间范围、初始状态、系统参数以及滑模面参数。
- 系统函数:定义二阶系统的动力学方程。
- 滑模面设计:给出快速非奇异终端滑模面的表达式。
- 趋近律定义:定义三种不同的趋近律。
- 仿真循环:分别对三种趋近律进行仿真,并绘制系统状态响应曲线。
- 控制律函数:依据滑模面和趋近律设计控制器。
结果分析
通过对比不同趋近律下的系统状态响应曲线,能够分析系统的收敛时间和抖振幅值。收敛时间可从曲线达到稳态值的时间来判断,抖振幅值则可从曲线的波动幅度来估计。