【潜航器】基于刚性图的MPC实现绝对位置未知无人水下潜航器的编队控制附Matlab代码
2026/5/16 23:15:53 网站建设 项目流程

​✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、程序设计科研仿真。

🍎完整代码获取 定制创新 论文复现点击:Matlab科研工作室

👇 关注我领取海量matlab电子书和数学建模资料

🍊个人信条:做科研,博学之、审问之、慎思之、明辨之、笃行之,是为:博学慎思,明辨笃行。

🔥 内容介绍

一、引言

在海洋探索与开发领域,无人水下潜航器(AUV)发挥着日益重要的作用。多 AUV 编队作业能够提高任务执行效率,拓展作业范围。然而,在水下复杂环境中,AUV 往往难以获取自身的绝对位置信息,这给编队控制带来了巨大挑战。基于刚性图的模型预测控制(MPC)方法为解决这一难题提供了有效途径,它仅依赖 AUV 之间的相对信息,实现绝对位置未知情况下的高效编队控制。

二、刚性图理论基础

(一)刚性图概念

刚性图是一种用于描述 AUV 之间相对位置关系的数学模型。在刚性图中,AUV 被视为节点,节点之间的边表示 AUV 之间的相对位置约束。通过精心设计刚性图的结构,可以确定编队的期望形状和相对位置关系。例如,对于一个三角形编队,可以构建一个刚性图,使得三个节点(代表三个 AUV)之间的距离和角度保持固定,从而维持编队的稳定性。

(二)刚性图特性

  1. 稳定性:刚性图能够确保在一定条件下,即使部分 AUV 受到外界干扰,编队的整体形状和相对位置关系仍能保持稳定。这是因为刚性图通过边的约束,将各个 AUV 的运动相互关联,一个 AUV 的位置变化会通过边的约束传递给其他 AUV,促使它们做出相应调整,以维持编队的整体结构。

  2. 灵活性:刚性图的结构可以根据任务需求进行灵活设计。不同的任务场景可能需要不同的编队形状,如直线编队适用于水下管道检测,圆形编队适用于区域搜索。通过调整刚性图中节点的连接方式和边的约束条件,可以快速构建满足不同任务需求的编队模型。

三、模型预测控制(MPC)原理

(一)MPC 基本思想

模型预测控制基于系统的预测模型,通过在每个控制周期内求解一个有限时域的优化问题,来确定当前时刻的最优控制输入。MPC 能够考虑系统的动态特性和约束条件,提前预测系统未来的行为,并据此调整控制策略。具体来说,MPC 首先利用系统的预测模型预测未来一段时间内系统的状态,然后根据预测状态和期望状态构建目标函数,通过求解优化问题得到使目标函数最小化的控制输入序列。在实际应用中,通常只将控制输入序列的第一个值应用于系统,然后在下一个控制周期重复上述过程,重新计算最优控制输入。

(二)MPC 在 AUV 编队控制中的优势

  1. 处理约束能力:水下环境对 AUV 的运动存在诸多约束,如速度限制、转向角度限制等。MPC 能够自然地将这些约束纳入优化问题中,确保 AUV 在满足约束条件的前提下实现编队控制。例如,在求解优化问题时,可以将 AUV 的速度和转向角度限制作为约束条件,使得计算出的控制输入始终在允许的范围内,避免 AUV 因超出物理限制而发生故障。

  2. 应对动态变化:水下环境复杂多变,AUV 可能会受到水流、波浪等干扰,导致其运动状态发生动态变化。MPC 的滚动优化机制使其能够实时根据 AUV 的当前状态和环境变化,调整控制策略,保证编队的稳定性和任务的顺利执行。例如,当 AUV 受到水流冲击偏离编队位置时,MPC 能够迅速预测其未来状态,并计算出合适的控制输入,引导 AUV 回到期望的编队位置。

四、基于刚性图的 MPC 编队控制实现

(一)系统建模

  1. AUV 动力学建模:建立 AUV 的动力学模型,描述其在水下的运动特性。该模型通常包括 AUV 的质量、惯性矩阵、水动力系数等参数,以及受到的推力、阻力和环境干扰力等。例如,在三维空间中,AUV 的运动方程可以表示为:

  2. 刚性图模型构建:根据 AUV 之间期望的相对位置关系构建刚性图。在刚性图中,每个 AUV 作为一个节点,节点之间的边表示 AUV 之间的相对位置约束。通过定义边的长度和方向,确定编队的形状和结构。例如,对于一个三角形编队,可以设定三个 AUV 之间的相对距离和角度关系,以此构建刚性图模型。

  3. (二)预测与优化

  4. 预测模型建立:基于 AUV 动力学模型和刚性图模型,建立预测模型。该模型能够预测在当前控制输入下,未来一段时间内 AUV 的状态变化以及与期望编队队形的偏差。例如,通过对 AUV 动力学方程进行离散化处理,结合刚性图的相对位置约束,预测 AUV 在未来几个时间步的位置、速度和姿态。

  5. 优化问题求解:在每个控制周期,将预测模型作为约束条件,构建一个优化问题。目标函数通常是使 AUV 的实际状态尽可能接近期望编队状态,同时考虑控制输入的平滑性和系统约束。例如,目标函数可以定义为:

⛳️ 运行结果

📣 部分代码

function [ P ] = RefGen(M,N,t0,dt,coef,traj)

m = coef(1);

Iz = coef(2);

X_udot = coef(3);

N_rdot = coef(5);

Xu = coef(6);

Nr = coef(8);

Du = coef(9);

Dr = coef(11);

Mudot = m - X_udot;

Mrdot = Iz - N_rdot;

P = zeros(M,N);

for j=1:1:N % Generate reference upto N steps ahead

xR = traj.Xr(t0);

xRdot = traj.Xrdot(t0);

xRddot = traj.Xrddot(t0);

yR = traj.Yr(t0);

yRdot = traj.Yrdot(t0);

yRddot = traj.Yrddot(t0);

psiR = traj.PSIr(t0);

psiRdot = traj.PSIrdot(t0);

psiRddot = traj.PSIrddot(t0);

uR = sqrt(xRdot^2+yRdot^2);

vR = 0;

rR = psiRdot;

uRdot = (xRdot^2+yRdot^2)^(-1/2)*(xRdot*xRddot+yRdot*yRddot);

rRdot = psiRddot;

FuR = Mudot*uRdot+Xu*uR+Du*uR*abs(uR);

FvR = Mudot*uR*rR;

FrR = Mrdot*rRdot+Nr*rR+Dr*rR*abs(rR);

P(:,j)=[xR;yR;psiR;xRdot;yRdot;rR;xRddot;yRddot;rRdot];

t0 = t0 + dt;

end

end

🔗 参考文献

[1] Fu B , Zhu D , Chen M ,et al.Formation Control of Autonomous Underwater Vehicles With Unknown Absolute Position Using Rigid Graph-Based MPC[J].IEEE Internet of Things Journal, 2025, 12(14):29061-29072.DOI:10.1109/JIOT.2025.3567996.

🍅更多免费数学建模和仿真教程关注领取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询