一阶非线性系统的自适应控制
资料来源:程代展,《应用非线性控制》,P225,例8.4
例8.4 设计自适应控制器控制不稳定系统:
yyy23u
假定对象参数
ap1,
bp3对于自适应控制器是未知的。
参考模型选择为:
xm4xm4r
即am4,bm4。取自适应增益2。两个控制器参数的初值均取为0.
仿真中使用了两种不同的参考信号:
(1)r(t)=4。从图8.9中知跟踪误差收敛到零,但参数误差不收敛。
(2)r(t)=4sin(3t)从图8.10中知跟踪误差和参数误差都收敛到零。
1
2
3
4xxm213201-100time/s510-20time/s510
图8.9 跟踪性能和参数估计,r(t)=4
4x22xm100-2-1-40time/s510-20time/s510
图8.10 跟踪性能和参数估计,r(t)=4sin(3t)
clear
clc
gamma=2;
x=0;
xm=0;
4
a_r=0;
a_y=0;
a_f=0;
t=0;
Dt=0.001;
n=1;
for i=1:10000
r=4;
%r=4*sin(3*t);
Dxm=-4*xm+4*r;
xm=xm+Dxm*Dt;
f=x^2;
e=x-xm;
5
Da_r=-gamma*e*r;
Da_y=-gamma*e*x;
Da_f=-gamma*e*f;
a_r=a_r+Da_r*Dt;
a_y=a_y+Da_y*Dt;
a_f=a_f+Da_f*Dt;
u=a_r*r+a_y*x+a_f*f;
Dx=x+x^2+3*u;
x=x+Dx*Dt;
x_store(:,n)=[x;xm];
a_store(:,n)=[4/3;(-1-4)/3;-1/3;a_r;a_y;a_f];
n=n+1;
t=t+Dt;
6
end
figure(1)
plot((1:n-1)*Dt,x_store(1,:),(1:n-1)*Dt,x_store(2,:))
legend('x','xm')
xlabel('time/s')
figure(2)
plot((1:n-1)*Dt,a_store(1,:),(1:n-1)*Dt,a_store(4,:),(1:n-1)*Dt,a_store(2,:),(1:n-1)*Dt,a_store(5,:),(1:n-1)*Dt,a_store(3,:),(1:n-1)*Dt,a_store(6,:))
xlabel('time/s')
7
因篇幅问题不能全部显示,请点此查看更多更全内容