【无人水面艇】USV路径跟踪LOS控制算法仿真(Matlab实现)

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

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

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

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

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

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现

💥1 概述

路径跟踪是机器人、自动驾驶车辆和无人机等自主系统的一项基本能力,它要求系统能够沿着预定的路径准确地移动。Line-of-Sight (LOS) 控制算法是一种广泛应用于路径跟踪控制的策略,它通过计算当前位置与目标路径之间的虚拟线,以及这条线与前进方向之间的角度偏差,来指导系统调整航向和速度,以保持在预定路径上。为了评估和优化LOS控制算法的性能,仿真成为了一个不可或缺的工具。

LOS控制算法原理:

LOS控制算法的基本思想是将路径跟踪问题转化为一个连续的航向修正问题。在每个时间步,算法计算出当前点到路径的垂直投影点,形成一条视线(LOS)。然后,根据视线与当前前进方向之间的夹角(LOS角度误差)和视线长度(LOS距离误差),调整控制输入,以减小这些误差,从而引导系统回归路径。

结论:

通过仿真实验,研究人员可以全面评估LOS控制算法在不同条件下的性能,发现并解决潜在问题,最终优化算法以适应更复杂和动态的路径跟踪任务。仿真不仅节省了实际测试的时间和成本,还提供了在现实世界中难以复制的极端或理想条件下的测试机会,是路径跟踪控制算法研究和开发的重要工具。

📚2 运行结果

主函数部分代码:

clc 
clear all
close all
% initial
ts=0.1;                 % sample time
tfinal =20;             % simulation final time
Ns =tfinal/ts;          % step number of simulation
Vw=0; betaw=30*pi/180;
wind=[Vw betaw]';       % wind
Vc=0; betac=30*pi/180;
current=[Vc betac]';    % current

tao=[10 0 0]'; 
tao0=tao;
d=[0 0 0]';
x=[0 0 0 2 5 0]';
x0=x;
% simulation start
disp('Simulation ... ');
for k=1:1:Ns
    time(1)=0;
    time(k+1)=k*ts;
    
    if x(6)*180/pi>=360
        x(6)=x(6)-2*pi;
    end
    if x(6)*180/pi<=-360
        x(6)=x(6)+2*pi;
    end

    if k*ts>=5
        tao=[10 0 1*pi/180]';
    end
    Ttao(1,:)=tao0';
    Ttao(k+1,:)=tao';
    % time derivatives
    xdot=USV(x,tao,wind,current,d);
    % update states
    x=euler2(xdot,x,ts);
    % store time series
    xout(1,:)=x0;
    xout(k+1,:)=x';
    
end
u=xout(:,1);
v=xout(:,2);
r=xout(:,3);
N=xout(:,4);
E=xout(:,5);
psai=xout(:,6);
% testUSV plot
disp('plot ...');
for k=1:1:Ns
    pos =[N(k) E(k)]';
    if k==1

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]孔典,杨少龙,杨立春,等.基于多源观测的无人艇回收系统设计[J/OL].中国舰船研究:1-9[2024-07-21].https://doi.org/10.19693/j.issn.1673-3185.03407.

[2]王广旭,蔡伟,李永琪,等.含不确定动态观测的异构无人舰艇系统固定时间编队控制[J/OL].电光与控制:1-9[2024-07-21].http://kns.cnki.net/kcms/detail/41.1227.tn.20240717.1324.002.html.

🌈4 Matlab代码实现

图片

  • 13
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值