💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥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.