资源简介

论文《基于backstepping的船舶航向自适应鲁棒非线性控制器设计》自己做的程序+原文 论文《基于backstepping的船舶航向自适应鲁棒非线性控制器设计》自己做的程序+原文 论文《基于backstepping的船舶航向自适应鲁棒非线性控制器设计》自己做的程序+原文

资源截图

代码片段和文件信息

%部分内容可参考林永屹、杜佳璐《基于Backstepping的船舶航向自适应鲁棒非线性控制器设计》(船舶工程)
clear;
clc;
A=[0 0 50 0 0]; %设定系统初始状态
T=0:8:500;
[tx]=ode45(‘adaptive_course_model_disturbance‘TA);
%参数初始化
c1=0.8;
c2=5;
theta10=-0.012;
theta20=-0.045;
rou=10;
r1=2;
r2=2;
k1=10;
k2=10;
yipusailong=0.45;
%设定期望值
xd=50;
dxd=0;
d2xd=0;

for r=1:length(x(:1));
    dpie(r)=(sin(r)+sin(3*r)+sin(5*r)+sin(7*r)+sin(11*r))/5;
%Step 1
z1(r)=x(r4)-xd;
dz1(r)=x(r5)-dxd;
alpha2(r)=-c1*z1(r)+dxd;
z2(r)=x(r5)-alpha2(r);
%Step 2
dalpha2(r)=-c1*dz1(r)+d2xd;
%control law
u1(r)=(-c2*z2(r)-z1(r)-z2(r)/yipusailong-x(r1)*x(r5)-x(r2)*x(r5)^3+dalpha2(r))/x(r3);

if u1(r)>=35
       u(r)=35;
       else if u1(r)<=-35
               u(r)=-35;
           else 
            u(r)=u1(r);
           end
end
end

subplot(211)
plot(tx(:4)txd);
xlabel(‘t‘);
ylabel(‘期望输出xd/实际输出x1‘);

subplot(212)
plot(tu)
xlabel(‘t‘);
ylabel(‘输入u(舵角‘);

figure(2)
plot(tz1)
xlabel(‘t‘);
ylabel(‘误差z1‘);

figure(3)
plot(tx(:1)tx(:2)tx(:3));
legend(‘theta1‘‘theta2‘‘v‘);

figure(4)
plot(tdpie);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件         975  2018-05-03 11:45  adaptive_course_model_disturbance.m
     目录           0  2018-10-03 09:17  __MACOSX\
     文件         274  2018-05-03 11:45  __MACOSX\._adaptive_course_model_disturbance.m
     文件        1181  2018-05-03 11:45  adaptive_course_backstepping_disturbance.m
     文件         274  2018-05-03 11:45  __MACOSX\._adaptive_course_backstepping_disturbance.m
     文件      231070  2011-11-14 21:23  鍙傝€冭鏂?pdf
     文件         274  2011-11-14 21:23  __MACOSX\._鍙傝€冭鏂?pdf

评论

共有 条评论