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

论文结合PID控制和粒子群优化算法,提出一种搜索空间自适应的粒子群优化算法,改善了PID控制器参数的优化效果。此算法根据不同适应值调整惯性权重,并缩窄搜索空间,提高算法收敛速度和精度。在Matlab环境下进行了船舶航向控制的仿真,验证了算法的有效性。
摘要由CSDN通过智能技术生成

✅作者简介:热爱科研的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电子书和数学建模资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值