“在代码的海洋里,有无尽的知识等待你去发现。我就是那艘领航的船,带你乘风破浪,驶向代码的彼岸。
💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
UUV(Unmanned Underwater Vehicle,无人水下航行器)是一种能够在水下环境中自主或遥控操作的设备。UUV广泛应用于海洋科学研究、资源勘探、军事侦察、水下搜救等多种领域。UUV的设计与开发涉及多个技术领域,其中仿真技术和控制系统是两个非常关键的部分。UUV的仿真与控制技术通常紧密结合,在开发过程中需要不断地迭代优化。仿真平台可以帮助工程师在真实环境下测试之前就发现并解决潜在问题,从而减少实际试验的成本和风险。而良好的控制系统则是保证UUV高效完成任务的关键因素之一。
📚2 运行结果
主函数部分代码:
clc;clear;
run('config.m')
i=0;
it = 10000;
X_buff = zeros(it,3);
W_buff = zeros(it,3);
dX_buff = zeros(it,3);
dW_buff = zeros(it,3);
u_buff = zeros(it,3);
X = [0,0,0].';
W = [0,0,0].';
dX = [0,0,0].';
dW = [0,0,0].';
u_t = [1,1,0,0].';
while true
if i==it
break
end
i=i+1;
X_buff(i,:) = X.';
W_buff(i,:) = W.';
dX_buff(i,:) = dX.';
dW_buff(i,:) = dW.';
u = thruster_calc(u_t);
[X,W,dX,dW] = dynamics(X,W,dX,dW,u);
u_buff(i,:) = u.';
end
figure(1)
plot3(X_buff(:,1),X_buff(:,2),X_buff(:,3))
grid on
figure(2)
plot3(W_buff(:,1),W_buff(:,2),W_buff(:,3))
grid on
%%
figure(2)
for i=1:it
if strcmpi(get(gcf,'CurrentCharacter'),'q')
break
end
clf
plot3(X_buff(:,1),X_buff(:,2),X_buff(:,3))
drawUUV(X_buff(i,:).',W_buff(i,:).');
% pause(0.1);
drawnow
🎉3 参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。
[1]丁浩,刘国平,崔沁青.UUV水平航行稳定性分析与仿真[J].计算机仿真,2023,40(06):18-20.
[2]张泽江. UUV轨迹跟踪与编队控制及可视化仿真研究[D].哈尔滨工程大学,2024.DOI:10.27060/d.cnki.ghbcu.2023.000325.