一、非线性控制系统的两大任务
1. 稳定(或称调节)问题
稳定问题是要使得闭环系统的状态稳定在一个平衡点附近。对于稳定问题,系统的输出不一定要有具体的物理意义,此时可以借助输入-输出状态线性化方法把原非线性熊转换为线性系统,从而用线性系统额理论解决系统的稳定问题。
2. 跟踪(或称伺服)问题
跟踪问题是要使得闭环系统的输出跟踪一个给定的时变轨迹。其定义如下:
对于给定的某一连续信号,控制输出满足下述条件:
称上述问题为渐近跟踪问题。
跟踪问题与镇定问题的区别:跟踪问题相比于镇定问题要求更为严格,镇定问题只需确保系统状态稳定在某个区域或者某个点,而跟踪问题在稳定的前提下,还需要系统的实际输出跟随期望输出,即两者之间的误差趋于零。因此,在解决跟踪问题时,需要将期望的输出或者状态量考虑在内,构造一个增广系统,确保增广系统渐近稳定,则可实现期望输出或者期望状态的跟随。
二、重要定理
如果是增广系统
的一个状态反馈镇定率,则在干扰d为定常的条件下,系统
可在控制率
的作用下实现其输出对于输入信号的渐近跟踪。
三、渐近跟踪实例仿真
3.1 系统方程
给定受控系统为
其中,参考信号和干扰信号和均为正弦信号,要求设计系统的渐近跟随控制器。
3.2 控制器设计
1. 主函数(main.m)
clc
clear all
close all
x0 = [1;0;0.5];
[t,x] = ode45(@gsq,[0,10],x0);
yr = sin(t);
figure;
plot(t,x(:,1),'r-'); % y的实际输出值
hold on;
plot(t,yr,'b-'); % y的期望值
xlabel('时间/s'); ylabel('期望输入与跟随输出');
2. 跟随控制器(gsq.m)
function dx = gsq(t,x)
yr = sin(t); % 期望输出
d1 = sin(t); d2 = cos(t); % 扰动信号
y = x(1); % 输出方程
e = y - yr; % 输出误差
%u = Kx*x + Ky*e;
u = -4*x(1)-5*x(2)-4*e; % 控制输入
dx(1) = x(2) + d1; % 系统方程
dx(2) = -2*x(1)+x(2)+u+d2;
dx(3) = x(1) - yr; % ye 输出误差
dx = dx';
end
3.3 仿真结果分析
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)