【Paper】2021_The leaderless multi-AUV system fault-tolerant consensus strategy under heterogeneous co

news/2024/11/19 22:54:40/

Lin X, Tian W, Zhang W, et al. The leaderless multi-AUV system fault-tolerant consensus strategy under heterogeneous communication topology[J]. Ocean Engineering, 2021, 237: 109594.

文章目录

  • 1 Introduction
  • 2 Preliminaries and problem formulation
    • 2.1 Graph theory
    • 2.2 The AUV dynamic model
    • 2.3 Problem formulation
  • 3 Main results
  • 4 Numerical example

1 Introduction

Autonomous underwater vehicle (AUV)
fault-tolerant consensus control (FTCC)
partial loss of effectiveness (PLOE)
active faulttolerant consensus control (AFTCC)

2 Preliminaries and problem formulation

2.1 Graph theory

G p G_p Gp
V p V_p Vp
ε m n \varepsilon_{mn} εmn
N i ( G ( t ) ) N_i(G(t)) Ni(G(t))
V s Vs Vs
L ( G s ( t ) ) L(G_s(t)) L(Gs(t))
l s m n ls_{mn} lsmn

2.2 The AUV dynamic model

6-DOF (degree of freedom)
在这里插入图片描述

Shipbuilding and Marine Engineering (SNAME)
the International Pool Conference (ITTC)


This article selects the torpedo-like AUV to study, whose rolling impact on translational motion so small that the speed of rolling has been neglected in the passage. This Kinematics model shows in equation (2), and the Kinetics model expresses in equation (3), respectively.
译文: 本文选取鱼雷型AUV作为研究对象,其横滚对平动运动的影响很小,因此在航道中忽略了横滚的速度。该运动学模型如式(2)所示,动力学模型如式(3)所示。

η ˙ = J ( η ) v (2) \dot{\eta} = J(\eta) v \tag{2} η˙=J(η)v(2)

( M A + M R ) v ˙ + C R ( v ) v + Y ( v ) v + g M ( η ) = F T τ (3) (M_A + M_R) \dot{v} + C_R(v)v + Y(v)v + g_M(\eta) = F T_\tau \tag{3} (MA+MR)v˙+CR(v)v+Y(v)v+gM(η)=FTτ(3)

η i = [ x i , y i , z i , θ i , ψ i ] T ∈ R 5 \eta_i = [x_i, y_i, z_i, \theta_i, \psi_i]^{\text{T}} \in \R^5 ηi=[xi,yi,zi,θi,ψi]TR5 表示位置状态
v i = [ u i , v i , w i , q i , r i ] T ∈ R 5 v_i = [u_i, v_i, w_i, q_i, r_i]^{\text{T}} \in \R^5 vi=[ui,vi,wi,qi,ri]TR5 表示速度状态
J ( v ) J(v) J(v) 雅各比 Jacobian 矩阵
M R M_R MR 惯性矩阵 inertia matrix
M A M_A MA 额外的惯性矩阵 additional inertia matrix
C R ( v ) C_R(v) CR(v) 科里奥利矩阵 Coriolis matrix
Y ( v ) Y(v) Y(v) 阻尼和向心矩阵 the damping and centripetal matrix.
g M ( η ) g_M(\eta) gM(η) 是个向量,表示广义浮力和重力,这里等于 0
F T τ FT_\tau FTτ 是 AUV 的控制器输入


AUV 的模型可以转换为
[ η ˙ v ˙ ] = [ I 0 0 − M T − 1 ] [ J ( η ) v Q ( η , v ) ] + [ 0 M T − 1 γ ( ς ) ] F T τ \left[\begin{matrix} \dot{\eta} \\ \dot{v} \\ \end{matrix}\right] = \left[\begin{matrix} I & 0 \\ 0 & -M^{-1}_T \\ \end{matrix}\right] \left[\begin{matrix} J(\eta) v \\ Q(\eta, v) \\ \end{matrix}\right] + \left[\begin{matrix} 0 \\ M_T^{-1} \gamma(\varsigma) \\ \end{matrix}\right] FT_\tau [η˙v˙]=[I00MT1][J(η)vQ(η,v)]+[0MT1γ(ς)]FTτ

然后将标准非线性函数模型简化为

ς ˙ = f ( ς ) + g M ( ς ) ⋅ F T τ (5) \dot{\varsigma} = f(\varsigma) + g_M(\varsigma) \cdot FT_\tau \tag{5} ς˙=f(ς)+gM(ς)FTτ(5)

h = μ ( ς ) (6) h = \mu(\varsigma) \tag{6} h=μ(ς)(6)

ς = [ η T , v T ] T \varsigma = [\eta^\text{T}, v^\text{T}]^\text{T} ς=[ηT,vT]T
μ ( ς ) = η \mu(\varsigma) = \eta μ(ς)=η
M T = M A + M R M_T = M_A + M_R MT=MA+MR
f ( ς ) = [ f 1 ( ς ) f 2 ( ς ) ⋯ f 10 ( ς ) ] = [ I 5 0 0 − M T − 1 ] [ J ( η ) v Q ( η , v ) ] f(\varsigma) = \left[\begin{matrix} f_1(\varsigma) & f_2(\varsigma) & \cdots & f_{10}({\varsigma}) \end{matrix}\right] = \left[\begin{matrix} I_5 & 0 \\ 0 & -M^{-1}_T \\ \end{matrix}\right]\left[\begin{matrix} J(\eta)v \\ Q(\eta, v) \end{matrix}\right] f(ς)=[f1(ς)f2(ς)f10(ς)]=[I500MT1][J(η)vQ(η,v)]
g ( ς ) = [ g 1 ( ς ) g 2 ( ς ) ⋯ g 5 ( ς ) ] = [ 0 M T − 1 γ ( ς ) ] g(\varsigma) = \left[\begin{matrix} g_1(\varsigma) & g_2(\varsigma) & \cdots & g_{5}({\varsigma}) \end{matrix}\right] = \left[\begin{matrix} 0 \\ M^{-1}_T \gamma(\varsigma) \\ \end{matrix}\right] g(ς)=[g1(ς)g2(ς)g5(ς)]=[0MT1γ(ς)]
γ ( ς ) = [ γ i j ( ς ) ] ∈ R 5 × 5 \gamma(\varsigma) = [\gamma_{ij}(\varsigma)] \in \R^{5 \times 5} γ(ς)=[γij(ς)]R5×5


u = B ( ς ) + Γ ( ς ) F T τ (7) u = B(\varsigma) + \Gamma(\varsigma) FT_{\tau} \tag{7} u=B(ς)+Γ(ς)FTτ(7)

B ( ς ) = [ L f 2 h 1 ( ς ) L f 2 h 2 ( ς ) L f 2 h 3 ( ς ) L f 2 h 4 ( ς ) L f 2 h 5 ( ς ) ] T B(\varsigma) = \left[\begin{matrix} L_f^2 h_1(\varsigma) & L_f^2 h_2(\varsigma) & L_f^2 h_3(\varsigma) & L_f^2 h_4(\varsigma) & L_f^2 h_5(\varsigma) \end{matrix}\right]^\text{T} B(ς)=[Lf2h1(ς)Lf2h2(ς)Lf2h3(ς)Lf2h4(ς)Lf2h5(ς)]T
Γ ( ς ) = [ Γ i j ( ς ) ] = [ L k j L f h i ( ς ) ] ∈ R 5 × 5 \Gamma(\varsigma) = [\Gamma_{ij}(\varsigma)] = \left[\begin{matrix} L_{kj} L_f h_i(\varsigma) \end{matrix}\right] \in \R^{5 \times 5} Γ(ς)=[Γij(ς)]=[LkjLfhi(ς)]R5×5


x ˙ i = v i v ˙ i = u i (8) \begin{aligned} \dot x_i = v_i \\ \dot v_i = u_i \\ \end{aligned} \tag{8} x˙i=viv˙i=ui(8)


2.3 Problem formulation

引入 N N N 个 AUV,第 k k k 个 AUV 的动态表示为(9)
s ˙ k ( t ) = v k ( t ) v ˙ k ( t ) = u k o ( t ) (8) \begin{aligned} \dot s_k(t) = v_k(t) \\ \dot v_k(t) = u_k^\red{o}(t) \\ \end{aligned} \tag{8} s˙k(t)=vk(t)v˙k(t)=uko(t)(8)

u k o ( t ) u_k^\red{o}(t) uko(t) 表示 AUV 执行器的输出

考虑执行器出故障时,用下式表示
u k o ( t k ) = ρ i ( t k ) u i ( t k ) u_k^\red{o}(t_k) = \rho_i(t_k) u_i(t_k) uko(tk)=ρi(tk)ui(tk)

u i ( t k ) u_i(t_k) ui(tk) 是名义上的
ρ i ( t k ) \rho_i(t_k) ρi(tk) 是表示出现故障的对角矩阵,元素在(0,1)之间取值, r i k ( t k ) = 1 r_{ik}(t_k)=1 rik(tk)=1 表示无故障


L s ( G ( t ) ) Ls(G(t)) Ls(G(t)) 表示位置通信拉氏矩阵
L v ( G ( t ) ) Lv(G(t)) Lv(G(t)) 表示速度通信拉氏矩阵


3 Main results

分布式 FTCC 协议为:
u i ( t ) = χ i − 1 ( t ) u i h ( t ) u i h ( t ) = − k 1 ∑ j ∈ N i l s i j ⋅ s j ( t ) − k 2 ∑ j ∈ N i l v i j ⋅ v j ( t ) \begin{aligned} u_i(t) &= \red{\chi_i}^{-1}\red{(t)} ~\green{u_i^h(t)} \\ \green{u^h_i(t)} &= -k_1 \sum_{j\in N_i} ls_{ij} \cdot s_j(t) - k_2 \sum_{j\in N_i} lv_{ij} \cdot v_j(t) \\ \end{aligned} ui(t)uih(t)=χi1(t) uih(t)=k1jNilsijsj(t)k2jNilvijvj(t)

k 1 > 0 k_1 > 0 k1>0

χ i ( t ) \red{\chi_i(t)} χi(t):表示第 i i i 个 AUV 执行器的估计值
u i h ( t ) \green{u^h_i(t)} uih(t):表示理想控制器
u i o ( t ) u_i^o(t) uio(t):执行器的实际输出
u i e ( t ) u_i^e(t) uie(t):执行器的实际输出与理想输出的差值

如果 ρ i ( t ) = χ i ( t ) \rho_i(t) = \chi_i(t) ρi(t)=χi(t),那么 u i o ( t ) = u i h ( t ) u_i^o(t) = u_i^h(t) uio(t)=uih(t)


同时误差可以有如下描述:
u i e ( t k ) = u i o ( t k ) − u i h ( t k ) = ( ρ i ( t k ) − χ i ( t k ) ) ⋅ χ i − 1 ( t k ) u i h ( t k ) = ρ ~ i ( t k ) u i h ( t k ) \begin{aligned} u_i^e(t_k) &= u_i^o(t_k) - u_i^h(t_k) \\ &= (\rho_i(t_k) - \chi_i(t_k)) \cdot \chi_i^{-1}(t_k) u_i^h(t_k) \\ &= \tilde{\rho}_i(t_k) u_i^h(t_k) \\ \end{aligned} uie(tk)=uio(tk)uih(tk)=(ρi(tk)χi(tk))χi1(tk)uih(tk)=ρ~i(tk)uih(tk)

4 Numerical example

在这里插入图片描述

位置和速度通信拓扑图分别为 G 1 G_1 G1 G 2 G_2 G2
G 1 = [ 1 0 0 0 − 1 1 − 1 1 1 0 0 0 0 − 1 1 1 0 0 0 0 − 1 1 1 0 0 0 0 − 1 1 1 ] G_1 = \left[\begin{matrix} 1 & 0 & 0 & 0 & -\frac{1}{1} \\ -\frac{1}{1} & 1 & 0 & 0 & 0 \\ 0 & -\frac{1}{1} & 1 & 0 & 0 \\ 0 & 0 & -\frac{1}{1} & 1 & 0 \\ 0 & 0 & 0 & -\frac{1}{1} & 1 \\ \end{matrix}\right] G1=111000011100001110000111110001

G 2 = [ 1 0 0 0 − 1 1 0 1 0 − 1 1 0 − 1 1 0 1 0 0 0 0 − 1 1 1 0 0 − 1 1 0 0 1 ] G_2 = \left[\begin{matrix} 1 & 0 & 0 & 0 & -\frac{1}{1} \\ 0 & 1 & 0 & -\frac{1}{1} & 0 \\ -\frac{1}{1} & 0 & 1 & 0 & 0 \\ 0 & 0 & -\frac{1}{1} & 1 & 0 \\ 0 & -\frac{1}{1} & 0 & 0 & 1 \\ \end{matrix}\right] G2=101100010011001110011010110001


在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


http://www.ppmy.cn/news/835027.html

相关文章

虚拟向导AUV的速度推算

文章目录 前言一、虚拟向导AUV速度推导二、李氏函数一阶导负定性分析 前言 针对AUV的路径跟踪控制问题,引入了SF坐标系和虚拟向导,本文基于李雅普诺夫方法进行虚拟向导AUV的速度的推导,得到 s ˙ \dot{s} s˙,进而得到期望路径参…

avue

avue 一、crud 表格 1. 表格自带编辑 查看 新增 功能(可自定义): 编辑:$refs.crud.rowEdit(row,index)查看:$refs.crud.rowView(row,index)新增:$refs.crud.rowAdd() 2.表格可用方法 行内删除&#xff…

au

波形: 波形对单个文件进行操作 多轨道:多轨道是对多个轻音乐文件进行操作 新建音频 采样率:常用44100、48000赫兹 96000DVD采样、48000数字电视或者专业音频采样、44100CD采样 声道: 单声道、立体声(左声道右声道) 位深度&…

AUV运动描述模型建立(1)

参考文献: 李曾妮. 移动对接过程中的欠驱动AUV路径规划方法研究[D].浙江大学2022. 徐炜翔. 面向水下自主航行器回收的路径规划研究[D].江苏科技大学.

AUV直线路径跟踪仿真-反步滑模方法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 文章目录 前言 一、整体思路 二、控制器设计 1.纵向推力-反步法 2.转艏力矩-滑模方法 三、虚拟AUV速度推算 四、仿真实现 1.艏向制导误差和滑模面函数 2.控…

AUV路径跟踪视线法(Line Of Sight)制导原理

文章目录 前言一、趋近角的表达式二、水平面趋近角原理三、趋近角选择优势 前言 针对路径跟踪问题,为调整 AUV 趋向且收敛至期望路径,本文对视线角(Line Of Sight)导航的方法原理进行介绍。 就水平面视线法原理进行具体介绍,垂直面上与之类似…

AUV运动控制仿真(PID控制)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、研究对象描述 二、总体思路 三、仿真实现 1.获得误差 2.设计PD控制器 3.控制力传入模型进行解算 4.通过艏向角速度得到艏向角 5.Solver设置 四、仿真结果分析 …

Python错误处理的艺术:使用retrying库实现高效重试机制

简介 学习如何使用 Python 的 retrying 库来处理在程序运行过程中可能出现的各种异常和错误。 retrying 是一种简单、易于使用的重试机制,帮助我们处理由网络问题或其他暂时性错误引起的失败。在很多情况下,简单的重试可能就是解决问题的最好方式。通过…