首页 > 行业资讯 > 【控制】基于粒子群优化PID实现船舶航迹控制附matlab代码

【控制】基于粒子群优化PID实现船舶航迹控制附matlab代码

时间:2023-02-15 来源: 浏览:

【控制】基于粒子群优化PID实现船舶航迹控制附matlab代码

天天Matlab 天天Matlab
天天Matlab

TT_Matlab

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。

收录于合集 #机械领域matlab源码 19个

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

个人主页: Matlab科研工作室

个人信条:格物致知。

更多Matlab仿真内容点击

智能优化算法   神经网络预测 雷达通信 无线传感器

信号处理 图像处理 路径规划 元胞自动机 无人机 电力系统

⛄ 内容介绍

本论文通过对PID控制、粒子群优化算法、船舶运动数学模型的研究,将其进行有机的结合运用于船舶航向控制。通过对粒子群优化算法原理的分析,本文提出了一种搜索空间自适应的自适应粒子群优化算法。该算法对不同等级的粒子适应值采取不同的惯性权重,并随着算法的迭代不断地缩小粒子群的搜索空间,同时选择当前代的较优部分粒子直接进入下一代,其他粒子通过在缩小的搜索空间内随机生成。通过对一系列标准函数的测试证明了本文提出的粒子群优化算法提高了算法的收敛速度及收敛精度。 

⛄ 部分代码

%% 船舶慢漂力计算函数

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%计算波浪2阶漂移力之前设置对应p-m谱的风速u和浪向角kusaiwv,船长L

function F_wave = F_lang(windspeed, angle_wave,eta)

u=windspeed;

kusai=eta(3);

kusaiwv = angle_wave;

w = 0.005:0.005:3;

s = 0.0081*9.81^2./w.^5.*exp(-0.032.*(9.81./((u.^2).*w)).^2);

A = 0.0081*9.81^2;

B = 0.74*(9.81/u)^4;

wp = 0.877*9.81/u;

sp = A*(0.75*B).^(-1.25)*exp(-1.25);

m0 = A/(4*B);

m1 = 0.306*A/B^0.75;

m2 = pi^0.5/4*A/B^0.5;

m4 = inf;

n = 40;

e = m0/n;

w0 = zeros(n-1,1);

ei = zeros(n-1,1);

wi = zeros(n/2,1);

for i=1:n-1;

ei(i) = i*e;

w0(i) = (B/log(A/(A-4*B*ei(i))))^0.25;

if rem(i,2)~=0

wi((i+1)/2) = w0(i);

end

end

ksi = (4*m0/n)^0.5;

e = 2*pi*rand(n/2,1);

L = 0.5;

alpha = kusaiwv - kusai;

thita = mod(mod(alpha,2*pi),pi);

lanmda = zeros(n/2,1);

ita = zeros(n/2,1);

for ii=1:n/2

 %%

   lanmda(ii) = (1.25*2*pi/wi(ii))^2;

   ita(ii) = lanmda(ii)/L;

end

%漂移力系数

cxw =  0.05 - 0.20*ita +  0.75*ita.^2 - 0.51*ita.^3;

cyw =  0.46 + 6.83*ita - 15.65*ita.^2 + 8.44*ita.^3;

cnw = 0.11 + 0.68*ita -  0.79*ita.^2 + 0.21*ita.^3;

%漂移力/矩估算公式

x = zeros(n/2,1);

y = zeros(n/2,1);

n = zeros(n/2,1);

x = 0.5 * 1025 *L * ksi^2* cos(thita) * cxw;%单位为牛

y = 0.5 * 1025 *L * ksi^2* sin(thita) * cyw;%单位为牛

n =  0.5 * 1025 *L^2*ksi^2* sin(thita) * cnw;%单位为牛.米

xwv = sum(x);

ywv = sum(y);

nwv = sum(n);

F_wave = 0.01*[xwv;ywv;nwv];

⛄ 运行结果

⛄ 参考文献

[1]沈锡. 基于粒子群优化算法的船舶航向PID控制[D]. 大连海事大学, 2011.

[2]傅康, 桑华希. PID控制器优化的船舶航迹跟踪控制[J]. 舰船科学技术, 2017(24):3.

⛄ 完整代码

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐