【无人潜水器】UUV的仿真和控制(Matlab实现)

“在代码的海洋里,有无尽的知识等待你去发现。我就是那艘领航的船,带你乘风破浪,驶向代码的彼岸。

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现

💥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.

🌈4 Matlab代码实现

图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值