【无人水面艇路径跟随控制6】(Matlab)USV代码阅读:简介+效果预览
写在最前面
USV-path-following
USV路径跟踪LOS控制算法仿真
阅读代码:https://github.com/quyinsong/USV-path-following
运行效果参考:https://blog.csdn.net/qq_58146006/article/details/141097334
代码框架:
1 概述
路径跟踪
路径跟踪是机器人、自动驾驶车辆和无人机等自主系统的一项基本能力,它要求系统能够沿着预定的路径准确地移动。Line-of-Sight (LOS) 控制算法是一种广泛应用于路径跟踪控制的策略,它通过计算当前位置与目标路径之间的虚拟线,以及这条线与前进方向之间的角度偏差,来指导系统调整航向和速度,以保持在预定路径上。为了评估和优化LOS控制算法的性能,仿真成为了一个不可或缺的工具。
LOS控制算法原理:
LOS控制算法的基本思想是将路径跟踪问题转化为一个连续的航向修正问题。在每个时间步,算法计算出当前点到路径的垂直投影点,形成一条视线(LOS)。然后,根据视线与当前前进方向之间的夹角(LOS角度误差)和视线长度(LOS距离误差),调整控制输入,以减小这些误差,从而引导系统回归路径。
通过仿真实验,研究人员可以全面评估LOS控制算法在不同条件下的性能,发现并解决潜在问题,最终优化算法以适应更复杂和动态的路径跟踪任务。仿真不仅节省了实际测试的时间和成本,还提供了在现实世界中难以复制的极端或理想条件下的测试机会,是路径跟踪控制算法研究和开发的重要工具。
2 运行结果
小结:
- 第1和第3个图展示了无人艇在东-北平面上的轨迹。
- 第2个图展示了偏航角度(航向)随时间变化的情况。
- 第4个图展示了无人艇的纵向速度随时间变化的情况。
- 第5个图展示了控制输入(推力和舵角)随时间的变化,尤其是在仿真5秒后控制输入的变化。
这段代码的输出是几个图像,分别展示了无人艇(USV)的状态随时间变化的情况。具体来说,以下是每个图像展示的内容:
1. 第1个图像:USV运动轨迹
- 内容:无人艇(USV)在东(E)-北(N)坐标系下的运动轨迹。
- 解释:
plot(E, N)
用红线表示无人艇的运动路径,展示其在仿真过程中在平面上的位置变化。 - 关键点:这个图展示了无人艇从初始位置出发,随着时间的推移如何沿着轨迹移动。图中绘制的船体模型(
modelplot
函数)显示无人艇的方向。
2. 第2个图像:偏航角随时间变化
- 内容:偏航角
psai
随时间的变化,单位为度。 - 解释:
plot(time, psai * 180 / pi)
显示偏航角度随时间的变化曲线。偏航角是指无人艇的朝向与北方的夹角,变化的原因是控制输入tao
改变了舵角。 - 关键点:该图展示了无人艇在仿真过程中如何通过控制输入调整航向。
3. 第3个图像:USV的轨迹重复绘制
- 内容:无人艇的运动轨迹再次绘制,与第1个图像内容相同。
- 解释:这个图是轨迹在平面上的再次绘制,展示了无人艇的空间运动。
- 关键点:该图展示的是东(E)-北(N)平面上的运动轨迹。
4. 第4个图像:纵向速度随时间变化
-
内容:无人艇纵向速度
u
随时间变化的曲线。 -
解释:
plot(time, u)
显示了无人艇在纵向(船头方向)的速度随时间的变化,u
表示无人艇向前移动的速度。 -
关键点:这个图展示了无人艇的加速度和速度调整过程,尤其是在仿真第5秒后控制输入改变时速度的变化。
5. 第5个图像:控制输入随时间变化
- 内容:控制输入
Ttao
的三个分量(即推力和舵角)随时间变化的曲线。 - 解释:
plot(time, Ttao(:,1), 'r', time, Ttao(:,2), 'k', time, Ttao(:,3), 'b')
显示三个控制输入(推力和舵角)在不同时间点的变化。红线表示推力Ttao(:,1)
,黑线表示侧向力Ttao(:,2)
,蓝线表示舵角Ttao(:,3)
。 - 关键点:这个图展示了无人艇的控制输入随时间的变化,特别是在5秒时,舵角从0变为
1 * pi / 180
,导致无人艇开始转向。
hello,我是 是Yu欸 。如果你喜欢我的文章,欢迎三连给我鼓励和支持:👍点赞 📁 关注 💬评论,我会给大家带来更多有用有趣的文章。
原文链接 👉 ,⚡️更新更及时。
欢迎大家点开下面名片,添加好友交流。