协同控制中的共识算法概述

第一章 协同控制中的共识算法概述

本章主要内容:
1、本章概述了协同控制中的共识算法;
2、给出了在协同控制中实现信息共识的动机;
3、本文对共识算法进行了文献综述;
4、总结了在时不变和动态变化的通信拓扑下寻求共识的理论结果;
5、本文介绍了共识算法在多车协同控制中的一些具体应用;
6、介绍了该专著的组织结构。

1.1.引言部分

多辆自动驾驶汽车的协同控制提出了重大的理论和现实挑战;
1、研究的目标是开发一个子系统的系统,而不是一个单一的系统;
2、团队的通信带宽和连通性往往有限,车辆之间的信息交换可能不可靠。也很难决定要沟通什么,何时以及与谁进行沟通;
3、团队目标和个人目标之间需要进行谈判;
4、每个单独的车辆的计算资源将总是是有限的。

  近年来在自主车辆的协调协同领域的研究,大部分都架设了全局团队知识的可用性,以集中的方式计划团队性能的能力和车辆间近乎完美和无限的通讯。集中式的协调方案依赖于假设:每个子系统都能通过一个完全连接的网络与中心未知进行通讯或共享信息。真实世界的通信拓扑通常并不完全连接。在许多情况下,它们取决于车辆的相对位置和其他环境因素,因此在时间上动态变化。此外,无线通信信道还存在多路径、衰落和退出等。因此,在现实通信约束下的合作控制成为一个重大挑战。为了理解所有协同控制问题中固有的基本问题,我们提供了以下直观上吸引人的基本公理。

公理1:共享信息是进行合作的必要条件。
公理1.1的一个直接结果是,合作要求车辆组对协调变量的实例化达成一致,或者协调变量的实例化之间的差异收敛到预先指定的值。合作控制的一个关键问题是确定算法,以便一组车辆能够就协调变量的实例化达成一致,或者协调变量的实例化之间的差异在(i)不完善的传感器、(ii)通信中断、(iii)稀疏通信拓扑和(iv)有噪声和不可靠的通信链路存在时收敛于预先指定的值。

1.2.文献综述:共识算法

  当多辆车就一个感兴趣的变量的价值达成一致时,据说它们已经达成了共识。信息共识保证了在网络拓扑上共享信息的车辆具有对协调任务至关重要的一致的信息视图。为了达成共识,必须有一个共同感兴趣的变量,称为信息状态,以及适当的算法方法来协商就该变量的价值达成共识,称为共识算法。信息状态表示团队的协调变量的一个实例化。例子包括一个编队的中心和形状的局部表示、会合时间、一个被监测的周长的长度、一个多车群的运动方向,以及一个军事目标被摧毁的概率。因此,共识算法被设计成分布式的,假设车辆之间只有邻居间的相互作用。车辆会根据其邻居的信息状态来更新其信息状态的值。目的是设计一个更新定律,使网络中所有车辆的信息状态收敛到一个公共值。
  共识算法具有多辆自动驾驶车辆协同控制的背景,并且在连接稳定的背景下呗理解,已经应用在交会、编队控制、群集、姿态对准、周长监测、分散任务分配(6,143)和传感器网络等领域中。

1.21、基本共识算法

  共识算法的基本思想是对每个车辆的信息状态施加相似的动力学。如果车辆间的通信网络允许连续通信,或者如果通信带宽足够大,则使用微分方程对每个车辆的信息状态更新进行建模。另一方面,如果通信数据以离散数据包的形式到达,则使用差分方程对信息状态更新进行建模。本节概述了一些基本的共识算法,其中每个车辆分别使用一阶微分方程和一阶差分方程来更新标量信息状态。
  假设团队中有 n n n 个车辆,且该团队通信拓扑由有向图表现 G n ≜ ( V n , E n ) \mathcal{G}_{n} \triangleq\left(\mathcal{V}_{n}, \mathcal{E}_{n}\right) Gn(Vn,En) ,其中 V = { 1 , 2 , . . . , n } \mathcal{V}=\{1,2,...,n\} V={1,2,...,n} 是节点集合, E n ⊆ V n × V n \mathcal{E}_{n} \subseteq \mathcal{V}_{n} \times \mathcal{V}_{n} EnVn×Vn 表示边的集合。通讯拓扑图可能是时变的,由于无人机编队可能飞过郊区,飞过峡谷。 最常见的连续时间共识算法如下:
x ˙ i ( t ) = − ∑ j = 1 n a i j ( t ) [ x i ( t ) − x j ( t ) ] , i = 1 , … , n 为什么是这个形式,文献 69 , 97 (1.1) \dot{x}_{i}(t)=-\sum_{j=1}^{n} a_{i j}(t)\left[x_{i}(t)-x_{j}(t)\right], \quad i=1, \ldots, n \tag{1.1} \color{red}{为什么是这个形式,文献 {69,97}} x˙i(t)=j=1naij(t)[xi(t)xj(t)],i=1,,n为什么是这个形式,文献69,97(1.1)
其中 a i j ( t ) a_{i j}(t) aij(t) 是在时刻 t t t G n \mathcal{G}_n Gn 相关联邻接矩阵 A n ∈ R n × n \mathcal{A}_n \in \mathbb{R}^{n \times n} AnRn×n 的第 ( i , j ) (i,j) (i,j) 个输入并且 x i t x_i{t} xit 是第 i i i 辆车的信息状态。 设定 a i j = 0 a_{i j}=0 aij=0 表示车辆 i i i 不能接收到第 j j j 个车辆传输到的信息。(1)的一个结果是车辆 i i i 的信息状态 x i ( t ) x_i(t) xi(t) 被驱动靠近其邻居的信息状态。关键的收敛问题是什么时候所有车辆的信息状态都收敛到一个共同的值?(1) 式并不指定所期望的特点信息状态,如果通讯拓扑是固定的,且 a i j ( t ) a_{i j}(t) aij(t) 是时不变的,那么公共渐近值是所有初始信息状态的线性组合。一般来说,只能保证公共值是初始信息状态的凸组合。
  共识算法(1)可写成如下的矩阵形式:
x ˙ ( t ) = − L n ( t ) x ( t ) \dot{x}(t)=-\mathcal{L}_n(t)x(t) x˙(t)=Ln(t)x(t)
其中 x = [ x 1 , x 2 , . . . , x n ] T x=[x_1,x_2,...,x_n]^T x=[x1,x2,...,xn]T 是信息状态且 L n ( t ) = [ l i j ( t ) ] ∈ R n × n \mathcal{L}_n(t)=[\mathcal{l}_{i j}(t)] \in \mathbb{R}^{n \times n} Ln(t)=[lij(t)]Rn×n 是与 G n \mathcal{G}_n Gn 相关的非对称拉普拉斯矩阵。多车辆完成或者达到共识状态是如果对于所有的 x i ( 0 ) x_i(0) xi(0) 和所有的 i , j = 1 , 2 , . . . , n i,j=1,2,...,n i,j=1,2,...,n,当 t → ∞ t \rightarrow \infty t时, ∣ x i ( t ) − x j ( t ) ∣ → 0 |x_i(t)-x_j(t)| \rightarrow 0 xi(t)xj(t)0
  当车辆间的通信发生在离散时刻时,将使用差分方程来更新信息状态,最常见的离散时间共识算法的形式是这样:
x i [ k + 1 ] = ∑ j = 1 n d i j [ k ] x j [ k ] , i = 1 , … , n 为什么是这个形式文献 97 , 145 (1.2) x_{i}[k+1]=\sum_{j=1}^{n} d_{i j}[k] x_{j}[k], \quad i=1, \ldots, n \tag{1.2} \color{red}{为什么是这个形式 文献{97,145}} xi[k+1]=j=1ndij[k]xj[k],i=1,,n为什么是这个形式文献97,145(1.2)
其中 k k k 定义通信事件; d i j [ k ] d_{i j}[k] dij[k] 是在离散时刻指示 k k k 下的约随机矩阵 D = [ d i j ] ∈ R n × n \mathcal{D}=[d_{i j}] \in \mathbb{R}^{n \times n} D=[dij]Rn×n 且对于所有的 i = 1 , 2 , . . . , n i=1,2,...,n i=1,2,...,n 而言,假定 d i i [ k ] > 0 d_{i i}[k]>0 dii[k]>0 并且 d i j [ k ] > 0 d_{i j}[k]>0 dij[k]>0 如果信息流从车辆 j j j 到达车辆 i i i 并且否则 d i j [ k ] = 0 d_{i j}[k]=0 dij[k]=0。 直观地说,每辆车的信息状态被更新为其当前状态和相邻车辆当前状态的加权平均值。请注意,如果车辆在那一刻不与其他车辆交换信息,则它会保持其当前的信息状态。离散时间一致算法以矩阵形式写为:
x [ k + 1 ] = D [ k ] x [ k ] x[k+1]=\mathcal{D}[k] x[k] x[k+1]=D[k]x[k]
与连续时间情况类似,如果对于所有 x i [ 0 ] x_i[0] xi[0] 和所有 i , j = 1 , . . . , n i,j=1,...,n ij=1...n,当 k → ∞ k→∞ k时, ∣ x i [ k ] − x j [ k ] ∣ → 0 |x_i[k]−x_j[k]|→0 xi[k]xj[k]0,则达到或达成共识。

1.22.共识算法的收敛性分析

定常通信拓扑结构的收敛性分析
  本节中,研究了当通信拓扑结构为时不变且增益 a i j a_{i j} aij 为常数时,一致算法 (1) 的信息状态收敛的条件,即非对称拉普拉斯矩阵 L n \mathcal{L}_n Ln 为常数。0总是 − L n -\mathcal{L}_n Ln 的特征值,且 − L n -\mathcal{L}_n Ln 的所有非零特征值有负实数部分。1的列向量 1 n \mathbf{1}_n 1n 是一个与零特征值相关的特征向量,这意味着 s p a n { 1 n } span\{\mathbf{1}_n\} span{1n} 包含在 L n \mathcal{L}_n Ln 的核中。
ker ⁡ A = { x ∈ R m : A x = 0 } \operatorname{ker} A=\left\{\boldsymbol{x} \in \mathbb{R}^{m}: A \boldsymbol{x}=\mathbf{0}\right\} kerA={xRm:Ax=0}

向量 x x x经过矩阵 A A A的变换变成了0,即 x x x落在了矩阵 A A A的核中,即 x x x为矩阵的核

如果0是 L n \mathcal{L}_n Ln 的简单特征值,然后 x ( t ) → x ˉ 1 n x(t) \rightarrow \bar{x} \mathbf{1}_{n} x(t)xˉ1n,其中 x ˉ \bar{x} xˉ 是常数,这意味着对所有 i , j = 1 , . . . , i,j=1,..., i,j=1,..., t → ∞ t \rightarrow \infty t ∣ x i ( t ) − x j ( t ) ∣ → 0 |x_i(t)-x_j(t)|\rightarrow 0 xi(t)xj(t)0。收敛性分析侧重于确保 0 是 L n \mathcal{L}_n Ln 的一个简单特征值的条件。否则, L n \mathcal{L}_n Ln 的核包含不属于 s p a n { 1 n } span\{\mathbf{1}_n\} span{1n} 的元素,在这种情况下,不能保证一致性。如果 L n \mathcal{L}_n Ln 的有向图是强连通的,那么零是 L n \mathcal{L}_n Ln 的一个简单的特征值。然而,这个条件是不必要的。举例说明当且仅当连通的有向图具有有向生成树时,零是 L n \mathcal{L}_n Ln 的一个简单特征值。这一结果表明,当且仅当有向通信拓扑有有向生成树或无向通信拓扑连接时,(1)才能达到一致性。
  对于离散共识算法(2),定理C.1意味着 D \mathcal{D} D 的所有特征值要么在开放的单位圆盘中,要么在1处。[190]如果1是 D \mathcal{D} D 的特征值,则当 k → ∞ k \rightarrow \infty k l i m k → ∞ D k → 1 n v T lim_{k \rightarrow \infty}\mathcal{D}^k \rightarrow \mathbb{1}_n\mathcal{v}^T limkDk1nvT,其中, v \mathcal{v} v 是一个与特征值 1 相关的 D \mathcal{D} D 的非负 n × 1 n \times 1 n×1 的左特征向量且满足 ν T 1 n = 1 \nu^{T} \mathbf{1}_{n}=1 νT1n=1。因此, x [ k ] = D k x [ 0 ] → 1 n ν T x [ 0 ] x[k]=\mathcal{D}^{k} x[0] \rightarrow \mathbf{1}_{n} \nu^{T} x[0] x[k]=Dkx[0]1nνTx[0],当 k → ∞ k \rightarrow \infty k,意味着,对于 i , x i [ k ] → ν T x [ 0 ] i, x_{i}[k] \rightarrow \nu^{T} x[0] i,xi[k]νTx[0], 当 k → ∞ k \rightarrow \infty k, 因此 ∣ x i [ k ] − x j [ k ] ∣ → 0 \left|x_{i}[k]-x_{j}[k]\right| \rightarrow 0 xi[k]xj[k]0, as k → ∞ k \rightarrow \infty k.
  
定理C.5表明如果有向图 Γ ( A ) \Gamma(A) Γ(A) 是强连通的或者等价的 A A A 是不可约矩阵。根据百度百科的定义:如果不存在一个矩阵 P P P ,使得 P ′ A P P'AP PAP 为一个分块上三角阵,那么矩阵 A A A 为不可约矩阵。判断矩阵是否是一个不可约矩阵还有一个等价方式,就是看矩阵对应的有向图是否是强连通图 1 = ρ ( A ) 1=\rho(A) 1=ρ(A) 是行随机矩阵 A A A 的一个简单特征值。在连续时间的情况下,这个是充分非必要条件。对于行随机矩阵 D \mathcal{D} D 而言,当且仅当 λ = 1 \lambda=1 λ=1 D \mathcal{D} D 的一个简单特征值且是唯一的模1特征值,那么 Γ ( A ) \Gamma(A) Γ(A) 有一个有向生成树。因此,在增益 a i j a_{ij} aij 不变的时常通信拓扑下,(当且仅当有向通信拓扑具有有向生成树或无向通信拓扑连接[190]时,(1.2)达到一致性。

定常通信拓扑结构下的平衡状态
  我们现在研究了通信拓扑是时不变的,增益 a i j a_{ij} aij 是常数(即常数 L n \mathcal{L}_n Ln)的特殊情况下的共识平衡。当有向通信拓扑有有向生成树时,从【193】中可知,
l i m t → ∞ e − L n t → 1 n v T lim_{t \rightarrow \infty} e^{-\mathcal{L}_nt} \rightarrow \mathbb{1}_n \mathcal{v}^T limteLnt1nvT

其中 v = [ v 1 , . . . , v n ] T \mathcal{v}=[\mathcal{v}_1,...,\mathcal{v}_n]^T v=[v1,...,vn]T 是一个 n × 1 n \times 1 n×1 与0特征值相关的的 L n \mathcal{L}_n Ln 非负左特征向量且满足 ∑ j = 1 n v j = 1 \sum_{j=1}^n \mathcal{v}_j=1 j=1nvj=1。因此,当 t → 0 t \rightarrow 0 t0时, 对任意的 i = 1 , . . . , n , x i ( t ) → ∑ j = 1 n v j x j ( 0 ) i=1,...,n, x_i(t) \rightarrow \sum_{j=1}^n\mathcal{v}_j x_j(0) i=1,...,n,xi(t)j=1nvjxj(0) 也就是说,平衡状态是网络中初始信息状态的加权平均值。然而,$ \mathcal{v} $ 的某些分量可能为零,这意味着某些车辆的信息状态对平衡没有贡献。
  定义非负矩阵 M = m a x i l i i I n − L n M=max_{i}\mathcal{l}_{ii}I_{n}-\mathcal{L}_{n} M=maxiliiInLn。由于 v \mathcal{v} v L n \mathcal{L}_n Ln 的与0特征值对应的左特征向量,因此根据特征值与特征向量的关系,推知: v \mathcal{v} v 也是 M = m a x i l i i I n − L n M=max_{i}\mathcal{l}_{ii}I_{n}-\mathcal{L}_{n} M=maxiliiInLn 的左特征向量。根据定理C.1, ρ ( M ) = m a x i l i i \rho(M)=max_{i}\mathcal{l}_{i i} ρ(M)=maxilii。如果有向通信图是强连通的,那么 M M M 的有向图也是强连通的,这也意味着 M M M 是不可约的。由定理C.5,如果 M M M 是不可约的,则 v \mathcal{v} v 是正的。(非负矩阵的谱半径是它的一个特征值,并且这个特征值对应着非负特征向量。)因此当有向通信拓扑是强连通时,所有初始信息状态都有助于共识平衡。进一步,如果 v i = 1 n \mathcal{v}_{i}=\frac{1}{n} vi=n1 ,那么共识平衡是初始信息状态的平均值,这个条件被称为平均共识。如果有向通信拓扑既强连通又平衡,则 1 n \mathbb{1}_{n} 1n 是与简单的零特征值相关联的 L n \mathcal{L}_{n} Ln 的左特征向量。因此,如[158]所示,当且仅当有向通信拓扑具有强连通和平衡时,才能达到平均共识。可以证明,在无向通信的情况下,当且仅当拓扑时连接[158]时,才能达到平均共识。
  相比之下,当有向通信拓扑有有向生成树时,共识均衡等于那些与所有其他车辆[193]有定向路径的车辆的初始条件的加权平均值。要求有向生成树比要求强连通和平衡图更不严格。然而,如上文所示,共识平衡仅是**那些具有指向所有其他车辆的定向路径的车辆(即具有能指向其他所有节点能力的节点,即有向生成树所有根节点的初始信息)**的初始信息状态的函数。例子见图1.2和(1.3)

动态通信拓扑结构的收敛性分析
  通信拓扑结构通常是动态的。例如,由于多路径效应和其他干扰,车辆之间的通信链路可能不可靠。或者,如果信息通过视线传感器交换,车辆可见的邻居可能会随着时间而变化,例如,当无人机远离它的邻居时。因此,在本节中,我们研究了在通信拓扑的随机切换下,共识算法收敛的条件。
  分析交换拓扑的一种方法是使用代数图论,它将每个图拓扑与相关矩阵的代数结构联系起来。由于(1.1)是线性的,它的解能写成状态转移矩阵的形式 x ( t ) = Φ ( t , 0 ) x ( 0 ) x(t)=\Phi(t,0)x(0) x(t)=Φ(t,0)x(0) ,其中 Φ ( t , 0 ) \Phi(t,0) Φ(t,0) 是与 − L n ( t ) -\mathcal{L}_n(t) Ln(t) 相关的转移矩阵。对于所有的 t ≠ 0 t \neq 0 t=0 Φ ( t , 0 ) \Phi(t,0) Φ(t,0) 是具有正对角线项的行随机矩阵。如果 l i m t → ∞ Φ ( t , 0 ) → 1 n μ T lim_{t \rightarrow \infty}\Phi(t,0)\rightarrow \mathbb{1}_n\mu^T limtΦ(t,0)1nμT,其中 μ \mu μ 是一个列向量,则达成共识。典型地假设通信拓扑在有限的时间长度上是分段常数,称为停留时间,并且停留时间是以一个正常数[97]为界。 A n ( t ) \mathcal{A}_{n}(t) An(t) 和因此 L n ( t ) \mathcal{L}_{n}(t) Ln(t) 是分段函数,其停留时间是 τ j = t j + 1 − t j \tau_{j}=t_{j+1}-t_{j} τj=tj+1tj, 其中 t 1 , t 2 , … t_{1}, t_{2}, \ldots t1,t2, 是切换时刻, 且达成共识如果 lim ⁡ j → ∞ e − L n ( t j ) τ j e − L n ( t j − 1 ) τ j − 1 ⋯ e − L n ( t 0 ) τ 0 = 1 n μ T \lim _{j \rightarrow \infty} e^{-\mathcal{L}_{n}\left(t_{j}\right) \tau_{j}} e^{-\mathcal{L}_{n}\left(t_{j-1}\right) \tau_{j-1} \cdots} e^{-\mathcal{L}_{n}\left(t_{0}\right) \tau_{0}}=\mathbf{1}_{n} \mu^{T} limjeLn(tj)τjeLn(tj1)τj1eLn(t0)τ0=1nμT. 因为 e − L n ( t j ) ( t − t j ) e^{-\mathcal{L}_{n}\left(t_{j}\right)\left(t-t_{j}\right)} eLn(tj)(ttj) 是行随机矩阵, 收敛性分析涉及随机矩阵的无限次乘积。
  [253]给出了一个经典结果 (see also [192]) 验证了SIA矩阵的无穷乘积的收敛性 (see Appendix C)。设 S = S 1 , S 2 , . . . , S k S={S_1,S_2,...,S_k} S=S1S2...Sk 是一个有限的 S I A SIA SIA 矩阵集,其性质是每个有限积 S i j S i j − 1 ⋅ ⋅ ⋅ S i 1 S_{i_j}S_{i_j−1}···S_{i_1} SijSij1⋅⋅⋅Si1都是 S I A SIA SIA 。然后对于每个无限序列 S i 1 , S i 2 , . . . S_{i_1},S_{i_2},... Si1,Si2,...,总存在列向量 v \mathcal{v} v ,使得 lim ⁡ j → ∞ S i j S i j − 1 ⋯ S i 1 = 1 ν T \lim_{j \rightarrow \infty} S_{i_{j}} S_{i_{j-1}} \cdots S_{i_{1}}=1 \nu^{T} limjSijSij1Si1=1νT。由于潜在通信拓扑是有限的,如果允许停留的时间 τ j = t j + 1 − t j \tau_{j}=t_{j+1}-t_{j} τj=tj+1tj 是从一个有限的集合中选择的,矩阵集 { S j ≜ e − L n ( t j ) ( t j + 1 − t j ) } j = 1 ∞ \left\{S_{j} \triangleq e^{-\mathcal{L}_{n}\left(t_{j}\right)\left(t_{j+1}-t_{j}\right)}\right\}_{j=1}^{\infty} {SjeLn(tj)(tj+1tj)}j=1 是有限的。参考文献 [97] 表明这些矩阵是 S I A SIA SIA,并使用此结果表明,使用 [239] 的最近邻规则,一群车辆的航向角达成共识。 这是离散时间一致性算法 (1.2) 的一个特例,如果存在连续的、统一有界的时间间隔的无限序列,具有有限数量的不同长度中的一个,并且其特性是在每个间隔上,( 参见附录 B) 无向通信拓扑的联合是连通的。 扩展见 [78, 126, 158, 208]。
  另一方面,考虑更现实的假设,停留时间是分段连续的且它的非零正项有一致的下界和上界。在这种情况下,令 S = { S 1 , S 2 , . . . } S=\{S_1,S_2,...\} S={S1,S2,...} n × n n \times n n×n S I A SIA SIA 矩阵的无限集合,令 N t N_t Nt 为所有 n × n n \times n n×n S I A SIA SIA 矩阵的不同类型的数目,并且定义矩阵函数 χ ( P ) = 1 − min ⁡ i 1 , i 2 ∑ j min ⁡ ( p i 1 j , p i 2 j ) . \chi(P)=1-\min_{i_{1}, i_{2}} \sum_{j} \min \left(p_{i_{1} j}, p_{i_{2} j}\right) . χ(P)=1mini1,i2jmin(pi1j,pi2j). 然后, lim ⁡ j → ∞ S i j S i j − 1 ⋯ S i 1 = 1 ν T \lim_{j \rightarrow \infty} S_{i_{j}} S_{i_{j-1}} \cdots S_{i_{1}}=\mathbf{1} \nu^{T} limjSijSij1Si1=1νT 如果存在常数 d ∈ [ 0 , 1 ) d \in[0,1) d[0,1) 使得, 对于每个 W ≜ S k 1 S k 2 ⋯ S k N t + 1 W \triangleq S_{k_{1}} S_{k_{2}} \cdots S_{k_{N_{t}+1}} WSk1Sk2SkNt+1, 它遵循 χ ( W ) ≤ d [ 253 ] \chi(W) \leq d[253] χ(W)d[253]. 可以证明,如果存在连续的、统一有界的时间间隔的无限序列,则该条件得到满足,其特性是在每个时间间隔内,有向通信拓扑的联合具有有向生成树 [190, 192] . 参考文献[168]通过研究具有下三角结构的行随机矩阵的乘积来考虑类似的问题。 此外,在[36]中推导出了有向交换通信拓扑下一致性算法(1.2)的收敛速度的下限。

共识算法的Lyapunov分析
  非线性分析也可用于研究共识算法。对于离散的共识算法(1.2)而言,集值Lyapunov函数 V V V 可定义为 V ( x 1 , . . . , x n ) = ( c o n { x 1 , . . . , x n ) n V(x_{1},...,x_{n})=(con\{x_{1},...,x_{n})^n V(x1,...,xn)=(con{x1,...,xn)n ,其中 c o n v { x 1 , . . . , x n } conv\{x_{1},...,x_{n}\} conv{x1,...,xn} 定义为 { x 1 , . . . , x n } \{x_{1},...,x_{n}\} {x1,...,xn} 的凸包且 X n ≜ X × . . . × X X^n\triangleq X \times ... \times X XnX×...×X。[145]表明对于所有的 t 2 ≠ t 1 t_2 \neq t_1 t2=t1,有 V ( t 2 ) ⊆ V ( t 1 ) V\left(t_{2}\right) \subseteq V\left(t_{1}\right) V(t2)V(t1) x ( t ) x(t) x(t) 将逐渐接近于集合 s p a n { 1 n } span\{\mathbb{1}_n\} span{1n},这意味着共识达到了。使用集值 Lyapunov 理论,[145] 表明当且仅当存在 K ≠ 0 K \neq 0 K=0 使得有向通信拓扑在每个长度为 K h Kh Kh 的区间上都有一个有向生成树,离散时间一致性算法 (1.2) 对于均衡解 s p a n { 1 n } span\{1n\} span{1n} 的集合具有一致的全局吸引力,其中 h h h 是采样时间。
  对于连续时间共识算法(1.1),[144]考虑了Lyapunov函数候选 V ( x ) = m a x { x 1 , . . . , x n } − m i n { x 1 , . . . , x n } V(x)=max\{x_1,...,x_n\}-min\{x_1,...,x_n\} V(x)=max{x1,...,xn}min{x1,...,xn}。[144]中表明如果存在一个间隔长度 T > 0 T>0 T>0 使得对于所有的 t t t − ∫ t t + T L n ( s ) d s -\int_{t}^{t+T} \mathcal{L}_{n}(s) d s tt+TLn(s)ds 的有向图有一个有向生成树,平衡集的 s p a n { 1 n } span\{\mathcal{1}_n\} span{1n}是均匀指数稳定的。作为一种替代的分析方法,[219,246,247]将非线性收缩理论应用于同步和学校教育的应用,这与信息共识有关。特别地,在无向交换通信拓扑结构下分析了(1.1),得到了与[97]中给出的结果相同的收敛结果。此外,[13]使用无源性作为在无向通信拓扑上的共识算法的设计工具。
  在 [87,88,256] 中还从随机的角度研究了信息共识,它考虑了一个随机网络,其中每对车辆之间每次都存在一个信息通道是可能的并且独立于其他通道,导致无向通信拓扑时变。例如,无向随机图的邻接矩阵 A n = [ a i j ] ∈ R n × n \mathcal{A}_n=[a_{ij}] \in \mathbb{R}^{n \times n} An=[aij]Rn×n 定义为 a i i ( p ) = 0 , a_{ii}(p)=0, aii(p)=0, 且依概率 p p p 定义 a i j ( p ) = 1 a_{ij}(p)=1 aij(p)=1,则依概率 1 − p 1-p 1p 定义 a i j ( p ) = 0 a_{ij}(p)=0 aij(p)=0。在[88]中,一个无向随机网络上的共识是由来自随机稳定性的概念来解决的。

通信延迟和异步共识
  当车辆之间通过通信交换信息时,必须考虑消息传输和接收后处理的时间延迟。令 θ i j \theta_{ij} θij 表示车辆 j j j 传送的信息到达车辆 i i i 时间延迟。在这种情况下,(1.1)建模为
x ˙ i = − ∑ j = 1 n a i j ( t ) [ x i ( t − σ i j ) − x j ( t − σ i j ) ] \dot{x}_{i}=-\sum_{j=1}^{n} a_{i j}(t)\left[x_{i}\left(t-\sigma_{i j}\right)-x_{j}\left(t-\sigma_{i j}\right)\right] x˙i=j=1naij(t)[xi(tσij)xj(tσij)]

  在最简单的情况下, σ i j = σ \sigma_{ij}=\sigma σij=σ 且通信拓扑是时不变的、无向的并且具有连通性的,当且仅当 0 ≤ σ < π 2 λ max ⁡ ( L n ) 0 \leq \sigma<\frac{\pi}{2 \lambda_{\max }\left(\mathcal{L}_{n}\right)} 0σ<2λmax(Ln)π 时,达到平均共识,其中 L n \mathcal{L}_n Ln 是无向通信拓扑的 L a p l a c i a n Laplacian Laplacian 矩阵且 λ m x a ⋅ \lambda_mxa{·} λmxa 定义矩阵的最大特征值。See [30,119] for extensions.
 &emsp或者,考虑时间延迟通信只影响正在传输的信息状态的情况,以便将(1.1)修改为
x ˙ i = − ∑ j = 1 n a i j ( t ) [ x i ( t ) − x j ( t − σ i j ) ] \dot{x}_{i}=-\sum_{j=1}^{n} a_{i j}(t)\left[x_{i}(t)-x_{j}\left(t-\sigma_{i j}\right)\right] x˙i=j=1naij(t)[xi(t)xj(tσij)]

  当 σ i j = σ \sigma_{ij}=\sigma σij=σ 且通信拓扑是有向的和切换的时,切换拓扑的一致性结果对于任意时延 σ \sigma σ 仍然有效。
  对于离散时间共识算法(1.2),在[230]中显示,如果在时不变的无向通信拓扑下达成共识,那么通信延迟的存在并不影响共识。将[145]中的结果扩展到[12]中的有界时滞。此外,[258]给出了在动态变化的通信拓扑的和有界时变通信延迟的下达成一致的充分条件。更一般地说,在异步共识框架[31,35,67,68,140]中,每辆车都异步地交换信息,并使用其本地邻居可能过时的信息更新其状态。因此,在相同的异步共识框架中,必须考虑到异构车辆、时变通信延迟和数据包丢失。参考文献[68]根据信息流的同步性、连通性和方向对文献中的几种共识结果进行了分类。

1.23.共识算法的综合与扩展

共识综合
在某些应用程序中,共识算法必须满足给定的要求或优化性能标准。例如,当一个无人机或微型飞行器(MAV)群由数百或数千辆飞行器组成时,可能需要解决最快的分布线性平均(FDLA)问题,[259]中包含其定义。令 W = [ w i j ] ∈ R n × n W=[w_{ij}] \in \mathbb{R}^{n \times n} W=[wij]Rn×n w i j = 0 w_{ij}=0 wij=0 如果车辆 i i i 和车辆 j j j 之间没有信息交换。给定 x [ k + 1 ] = W x [ k ] x[k+1]=Wx[k] x[k+1]=Wx[k],找到 W W W 使得最小化
r a s y m ( W ) = sup ⁡ x [ 0 ] ≠ x ˉ lim ⁡ k → ∞ ( ∥ x [ k ] − x ˉ ∥ ∥ x [ 0 ] − x ˉ ∥ ) 1 / k r_{a s y m}(W)=\operatorname{sup}_{x[0] \neq \bar{x}} \lim_{k \rightarrow \infty}\left(\frac{\|x[k]-\bar{x}\|}{\|x[0]-\bar{x}\|}\right)^{1 / k} rasym(W)=supx[0]=xˉklim(x[0]xˉx[k]xˉ)1/k

符合条件, lim ⁡ t → ∞ W k = 1 n 1 n 1 n T \lim _{t \rightarrow \infty} W^{k}=\frac{1}{n} \mathbf{1}_{n} \mathbf{1}_{n}^{T} limtWk=n11n1nT, where x ˉ = 1 n 1 n 1 n T x [ 0 ] \bar{x}=\frac{1}{n} \mathbf{1}_{n} \mathbf{1}_{n}^{T} x[0] xˉ=n11n1nTx[0]。换句话说,FDLA问题是找到保证最快收敛到平均值的权值矩阵 W W W。与离散时间共识算法(1.2)相比,权值 w i j w_ij wij 可以是负的[259]。通过附加约束 w i j = w j i w_ij=w_ji wij=wji,FDLA问题简化为一个数值可解的半正定程序[259]。在[106]中考虑了一个相关的问题,其中开发了一种基于迭代的、半定规划的方法来最大化无向图的拉普拉斯矩阵的代数连通性(见附录B),其动机是拉普拉斯矩阵的代数连通性描述了共识算法的收敛速度。另一个问题是在[202]中,专注于设计共识算法,其信息状态根据 x ˙ i = u i \dot{x}_i=u_i x˙i=ui 进行更新,并且第 i i i 辆车的可用信息是由 y i = G i x y_i=G_{i}x yi=Gix 给出,其中 x = [ x 1 , x 2 , . . . , x n ] T , y i ∈ R m i , 并且 G i ∈ R m i × n x=[x_1,x_2,...,x_n]^T,y_i \in \mathbb{R}^{m_i}, 并且 G_i \in \mathbb{R}^{m_i \times n} x=[x1,x2,...,xn]T,yiRmi,并且GiRmi×n。信息控制输入设计成以下的形式 u i = k i y i + z i u_i=k_i y_i+z_i ui=kiyi+zi,其中 k i k_i ki 是一个具有 m i m_i mi 分量的行向量, z i z_i zi 是一个标量。
  更一般地说,考虑一个由 n n n 辆车辆组成的互联网络,其信息状态根据 x ˙ i = ∑ j = 1 n A i j x j + B 1 i w i + B 2 i u i \dot{x}_i=\sum_{j=1}^n A_{ij}x_j+B_{1i}w_i+B_{2i}u_i x˙i=j=1nAijxj+B1iwi+B2iui 进行更新, i = 1 , . . . , n i=1,...,n i=1...n,其中 x i ∈ R n x_i \in \mathbb{R}^n xiRn 表示信息状态, w i ∈ R m w_i \in \mathbb{R}^m wiRm 表示干扰, u i ∈ R r u_i \in \mathbb{R}^r uiRr 表示信息控制输入, i = 1 , . . . , n i=1,...,n i=1...n。令 x , w 和 u x,w和u x,wu 分别为具有分量 x i , w i 和 u i x_i,w_i和u_i xi,wiui 的列向量,则 x x x 的动力学方程用 x ˙ = A x + B 1 w + B 2 u \dot{x}=A_x+B_1w+B_2u x˙=Ax+B1w+B2u 表示。文献[52]关注合成分散状态反馈控制律,保证闭环系统无干扰的一致性,并合成了状态反馈控制器,不仅实现一致,而且达到最优的 H 2 \mathcal{H}_2 H2 性能。

共识算法的扩展
  [17,47]将共识均衡推广到初始信息状态的加权幂均值或任意函数。在[104]中,研究了量化的共识问题,其中每个节点的信息状态是一个整数。在[224]中,外部输入被纳入(1.1),以便信息状态跟踪时变输入。在[99,143]中处理具有恒定参考状态的共识,而在[90,180]中处理具有时变参考状态的共识。在[229]中,导出了充分必要条件,使系统的集合由团队领导控制。在[48]中提出了一种基于非光滑梯度流的方法,以保证在有限时间内达到平均一致性。
  (1.1)给出的单积分器共识算法也扩展到[89,186,261]中的双积分器动力学,以更自然地模拟物理现象的演化,如同轴旋翼飞行器MAV,可以通过解耦双积分器模型的温和动作来控制。对于双积分器动力学,一致算法由下式给出:
x ¨ i = − ∑ j = 1 n a i j ( t ) [ ( x i − x j ) + γ ( x ˙ i − x ˙ j ) ] \ddot{x}_{i}=-\sum_{j=1}^{n} a_{i j}(t)\left[\left(x_{i}-x_{j}\right)+\gamma\left(\dot{x}_{i}-\dot{x}_{j}\right)\right] x¨i=j=1naij(t)[(xixj)+γ(x˙ix˙j)]

其中 γ > 0 \gamma>0 γ>0 定义了信息状态导数之间的耦合强度并且 x i x_i xi x ˙ i \dot{x}_i x˙i 都在团队成员内部之间传输。[186]的结果表明,在定向信息交换的一般情况下,通信拓扑结构和耦合强度 γ \gamma γ 都会影响共识寻求。为了实现共识,有向通信拓扑必须有一个有向生成树,并且 γ \gamma γ 必须足够大。有关对高阶动态的扩展,请参见[196]。与共识算法相关的是在耦合非线性振荡器系统中出现的同步现象。经典的Kuramoto model[114]由n个耦合振子组成,其动力学方程为:
θ ˙ i = ω i + k n ∑ j = 1 n sin ⁡ ( θ j − θ i ) (1.4) \dot{\theta}_{i}=\omega_{i}+\frac{k}{n} \sum_{j=1}^{n} \sin \left(\theta_{j}-\theta_{i}\right) \tag{1.4} θ˙i=ωi+nkj=1nsin(θjθi)(1.4)

其中 θ i \theta_i θi w i w_i wi 分别为第 i i i 个振荡器的相位和固有频率;且 k k k 是耦合强度。注意到模型 (1.4) 假定了网络的完全连通性。模型 (1.4) 在[98]中扩展到了最近邻信息交换为:

θ ˙ i = ω i + k n ∑ j = 1 n a i j ( t ) sin ⁡ ( θ j − θ i ) . \dot{\theta}_{i}=\omega_{i}+\frac{k}{n} \sum_{j=1}^{n} a_{i j}(t) \sin \left(\theta_{j}-\theta_{i}\right) . θ˙i=ωi+nkj=1naij(t)sin(θjθi).

在[213]中研究了耦合振荡器的相位模型与自推进粒子群的运动学模型之间的联系。开发了分析和设计工具来稳定集体运动。在[98]中研究了广义Kuramoto耦合非线性振荡子模型的稳定性,证明了对于超过临界值的耦合,在相同和不确定的固有频率下,所有振荡子都同步。在[46]中,给出了将具有完全连通性的传统Kuramoto模型的[98]扩展到耦合强度的一个更紧的下界。[98]中的结果也被扩展到解释[162]中的异质时滞和切换拓扑。

文献中还研究了耦合振子与其他非线性动力学的同步化。作为一个例子,考虑一个n个车辆的网络,信息动力学由下列方程表示

x ˙ i = f ( x i , t ) + ∑ j = 1 n a i j ( t ) ( x j − x i ) (1.5) \dot{x}_{i}=f\left(x_{i}, t\right)+\sum_{j=1}^{n} a_{i j}(t)\left(x_{j}-x_{i}\right) \tag{1.5} x˙i=f(xi,t)+j=1naij(t)(xjxi)(1.5)

其中, x = [ x 1 , . . . , x n ] T x=[x_1,...,x_n]^T x=[x1,...,xn]T。在[219]中,应用部分收缩理论推导出与动力学(1.5)的车辆达成共识的条件。作为另一个例子,[166]研究了n个非线性振子的动态网络,其中每个振子的状态方程由
x ˙ i = f ( x i ) + γ ∑ j = 1 n a i j ( t ) ( x j − x i ) \dot{x}_{i}=f\left(x_{i}\right)+\gamma \sum_{j=1}^{n} a_{i j}(t)\left(x_{j}-x_{i}\right) x˙i=f(xi)+γj=1naij(t)(xjxi)

其中 x i ∈ R m x_i \in \mathbb{R}^m xiRm γ > 0 \gamma>0 γ>0 定义了全局耦合强度参数。[166]的结果表明,网络Laplacian矩阵的代数连通性在同步过程中起着核心作用。

1.2.4.通过共识算法设计的协调策略

在本节中,我们将简要描述共识算法在多车协调问题上的一些应用。

会合问题
  会合问题要求一组车辆通过团队协商在某一时刻或者某一地点达到会合状态。共识算法可用于执行协商,其方式对环境干扰是具有鲁棒性的,如无人机团队的非均匀风。在[124,125]中,研究了在考虑同步和异步情况下的一组移动自动驾驶车辆的交会问题。在[124,125]中,车辆执行一系列走走停停的动作,以分布式的方式会合,没有邻居之间的通信。走走停停的机动发生在一个时间间隔内,其中包括一个确定邻居的位置的感知周期,以及一个车辆响应其邻居的位置而移动的机动周期。图1.4显示了一个简单的多车会合协调框架,其中共识管理器应用分布式共识算法,以保证所有车辆在会合目标上达到共识,如会合时间或会合位置。基于共识管理器的输出,每辆车都使用一个局部控制律来自动驾驶,以达到会合时间和/或位置。在[110]中描述了图1.4的一个应用,其中控制多个无人机同时收敛在雷达探测区域的边界上,以最大限度地增加意外元素。全团队就目标时间达成共识,要求每辆车调整其速度以确保同步到达。
Fig. 1.4. A simple coordination framework for multivehicle rendezvous. The consensus manager applies distributed consensus algorithms to guarantee that the team reaches consensus on a rendezvous objective. Based on the output of the consensus manager, each vehicle applies local control laws to achieve the rendezvous objective.

编队稳定性
  编队稳定问题要求车辆集体保持一个规定的几何形状。这个问题是相对简单的集中情况,其中所有团队成员都知道他们想要的形状和位置。另一方面,在分散的编队稳定问题中,每个车辆都知道所需的编队形状,但编队的位置需要在团队成员之间进行协商。这个问题的信息状态包括编队的中心。每个车辆通过提出一个不需要它机动进入编队的编队中心来初始化其信息状态。然后,车辆团队使用共识算法来协商一个团队所有成员都知道的编队中心。
  在[69]中,使用了一个信息流滤波器,通过将编队中心传播到所有车辆来提高稳定性裕度和编队精度。在[127]中使用了一种共识算法来实现点、线和一般的编队模式来研究多独轮车的编队稳定性。此外,[133]中轮式车辆编队的简化跟踪策略可以被认为是连续时间共识算法(1.1)的一种特殊情况,其中通信拓扑为单向环。此外,在[115]中利用相邻车辆之间的相对信息推导了反馈控制规律。

编队机动和锁定
  共识算法可用于执行分散的编队机动。例如,在[118]中,研究了一类编队机动,其中每个机器人的期望位置 h i d ( t ) h_i^d(t) hid(t) 要么通过一个集中的实体传达给团队,要么在每个机器人上预先编程。这些机器人即使在瞬态和应对环境干扰时也要保持预先设定的编队形状。换句话说,当一个机器人减速或进行机动以避开障碍物时,其他机器人必须进行机动以保持编队形状。车间通信网络是有限的,需要一种分散的方法来维持编队。移动机器人动态模型反馈线性化为双积分系统 h ¨ i = u i \ddot{h}_{i}=u_{i} h¨i=ui ,其中 h i h_i hi 表示第 i i i 个不在轮轴上的机器人上的一个点的位置, u i u_i ui 表示控制输入。在[118]中给出了分散的编队控制律:
u i = − K g h ~ i − D g h ˙ i − K f ∑ j = 1 n a i j ( h ~ i − h ~ j ) − D f ∑ j = 1 n a i j ( h ˙ i − h ˙ j ) (1.6) u_{i}=-K_{g} \tilde{h}_{i}-D_{g} \dot{h}_{i}-K_{f} \sum_{j=1}^{n} a_{i j}\left(\tilde{h}_{i}-\tilde{h}_{j}\right)-D_{f} \sum_{j=1}^{n} a_{i j}\left(\dot{h}_{i}-\dot{h}_{j}\right) \tag{1.6} ui=Kgh~iDgh˙iKfj=1naij(h~ih~j)Dfj=1naij(h˙ih˙j)(1.6)

其中 K g K_g Kg K f K_f Kf 是对称的正定矩阵, D g D_g Dg D f D_f Df 是对称的正半定矩阵,和 h ~ i ≜ h i − h i d \tilde{h}_{i} \triangleq h_{i}-h_{i}^{d} h~ihihid 。在控制法(1.6)中,前两项保证 h i h_i hi 接近 h d i h_d^i hdi,而第二两项保证对 h ~ i \tilde{h}_i h~i h ~ j \tilde{h}_j h~j h ˙ i \dot{h}_i h˙i h ˙ j \dot{h}_j h˙j达成共识。如果每个 h ~ j \tilde{h}_j h~j 都能达成一致,则保证在机动过程中保持所需的编队形状。
  类似的方法也可以应用于刚体姿态动力学:
q ^ ˙ i = − 1 2 ω i × q ^ i + 1 2 q ˉ i ω i , q ˉ ˙ i = − 1 2 ω i ⋅ q ^ i , J i ω ˙ i = − ω i × ( J i ω i ) + T i , \begin{aligned} \dot{\hat{q}}_{i} &=-\frac{1}{2} \omega_{i} \times \hat{q}_{i}+\frac{1}{2} \bar{q}_{i} \omega_{i}, \quad \dot{\bar{q}}_{i}=-\frac{1}{2} \omega_{i} \cdot \hat{q}_{i}, \\ J_{i} \dot{\omega}_{i} &=-\omega_{i} \times\left(J_{i} \omega_{i}\right)+T_{i}, \end{aligned} q^˙iJiω˙i=21ωi×q^i+21qˉiωi,qˉ˙i=21ωiq^i,=ωi×(Jiωi)+Ti,

其中, 对于第 i i i 刚体, q ^ i ∈ R 3 , q ˉ i ∈ R \hat{q}_{i} \in \mathbb{R}^{3}, \bar{q}_{i} \in \mathbb{R} q^iR3,qˉiR, 和 q i = [ q ^ i T , q ˉ i ] T ∈ R 4 q_{i}=\left[\hat{q}_{i}^{T}, \bar{q}_{i}\right]^{T} \in \mathbb{R}^{4} qi=[q^iT,qˉi]TR4 单位四元数, 那是欧拉参数(see Appendix D), ω i ∈ R 3 \omega_{i} \in \mathbb{R}^{3} ωiR3 是角速度, 且 J i ∈ R 3 × 3 J_{i} \in \mathbb{R}^{3 \times 3} JiR3×3 T i ∈ R 3 T_{i} \in \mathbb{R}^{3} TiR3 分别为惯性张量和控制力矩. 定义 v e c ( [ q ^ , q ˉ ] T ) = q ^ vec\left([\hat{q}, \bar{q}]^{T}\right)=\hat{q} vec([q^,qˉ]T)=q^ 为提取四元数的向量部分的运算符, [ 117 , 176 , 188 ] [117,176,188] [117,176,188] 中控制力矩给定为:
T i = − k G vec ⁡ ( q i d ∗ q i ) − D G ω i − k S ∑ j = 1 n a i j vec ⁡ ( q j ∗ q i ) − D S ∑ j = 1 n a i j ( ω i − ω j ) (1.7) T_{i}=-k_{G} \operatorname{vec}\left(q_{i}^{d *} q_{i}\right)-D_{G} \omega_{i}-k_{S} \sum_{j=1}^{n} a_{i j} \operatorname{vec}\left(q_{j}^{*} q_{i}\right)-D_{S} \sum_{j=1}^{n} a_{i j}\left(\omega_{i}-\omega_{j}\right) \tag{1.7} Ti=kGvec(qidqi)DGωikSj=1naijvec(qjqi)DSj=1naij(ωiωj)(1.7)

其中 k G > 0 k_G>0 kG>0 k S ≥ 0 k_S≥0 kS0 是标量, D G D_G DG 是对称的正定矩阵, D S D_S DS 是对称的正半定矩阵, q ∗ q∗ q 是四元数的共轭, q d q^d qd 是中心命令的四元数。(1.7)中的前两项将刚体与预先指定的期望姿态 q i d q_i^d qid 对齐。(1.7)中的第二个两个术语是共识术语,它使团队在瞬态期间保持态度一致,并应对环境干扰[176]。利用生物观察到的鸟群运动,[198]定义了群集的三个规则,并将它们应用于生成真实的计算机动画。群集的三个规则是避免碰撞、速度匹配和群群中心。这些规则一起使鸟群保持在接近而不发生碰撞。参考文献[198]激励了对多车机器人系统[155,232]使用类似的规则。以车辆动力学为例

r ˙ i = v i , v ˙ i = u i \dot{r}_{i}=v_{i}, \quad \dot{v}_{i}=u_{i} r˙i=vi,v˙i=ui

式中, r i r_i ri v i v_i vi 分别为车辆 i i i 的位置和速度, u i u_i ui 表示其输入。在[155]中,控制输入 u i u_i ui 被定义为

u i = − ∂ V ( r ) ∂ r i + ∑ j = 1 n a i j ( r ) ( v j − v i ) + f i γ (1.8) u_{i}=-\frac{\partial V(r)}{\partial r_{i}}+\sum_{j=1}^{n} a_{i j}(r)\left(v_{j}-v_{i}\right)+f_{i}^{\gamma} \tag{1.8} ui=riV(r)+j=1naij(r)(vjvi)+fiγ(1.8)

其中第一项是集体势函数 V ( r ) V(r) V(r) 的梯度,第二项驱动系统走向速度共识,第三项包含导航反馈。在(1.8)中,第一项保证车辆之间的群居中心和避免碰撞,第二项保证车辆之间的速度匹配,第三项实现了一个群体目标。式(1.8)已经验证了具有无向通信拓扑的群集。

1.3.专著描述

  本专著的主题是多种自动驾驶汽车的分布式协调。分布式协调的目标是让多辆自动驾驶车辆有效地协同工作,通过局部交互实现集体群体行为。本专著介绍了分布式共识算法及其在多种自动驾驶车辆协同控制中的应用。共识算法只需要邻居之间的信息交换,从而最大限度地降低了功耗,增加了隐形性,并提高了团队的可伸缩性和鲁棒性。此外,共识算法允许车辆之间的交互拓扑是动态变化的、稀疏性的或间歇性的。这个特性对于现实世界的应用场景特别有用,其中通信拓扑通常不完全连接,通信链路通常有噪声和不可靠,车辆只有有限的通信范围和带宽。本专著包括了多个地面机器人、航天器和无人机的分布式协调的理论和实验结果。理论结果解决了分布式共识算法及其对单积分、双积分和刚体姿态动力学的扩展,并显示了在车辆之间存在定向、有限和不可靠的信息交换下的收敛分析结果。这些结果扩展了在合作控制领域的许多现有结果。在本书的应用章节中,我们将分布式共识算法应用于几个多车协同控制应用,包括轮式移动机器人和航天器的编队保持,以及一组无人机的协同周长跟踪和计时。应用结果表明了多车协同控制中存在的问题和挑战。
  这本专著由六个部分和六个附录组成。第一部分概述了多种自动驾驶车辆协同控制中的共识算法(第1章)。第二部分介绍了单积分器动力学的共识算法(第2章)和具有参考状态的共识算法(第3章)。第三部分介绍了双积分器动力学的共识算法(第4章)及其对参考模型的扩展(第5章)。第四部分主要关注刚体姿态动力学的态度共识(第6章)和相对姿态维护和参考姿态跟踪(第7章)。第五部分介绍了基于共识的分布式多车协同控制设计方法(第8章)。第六部分将共识算法应用于多车协同控制应用:多轮移动机器人交会轴对准(第9章)、虚拟领导者的多轮移动机器人分布式编队控制(第10章)、多机器人编队机动分散行为方法(第11章)、深空航天器编队飞行(第12章)、多无人机协同火力监视(第13章)、多无人机协同监视(第14章)。此外,附录A-F分别为选择符号和缩写,图论符号,矩阵理论符号,刚体姿态动力学,线性系统理论背景,和非线性稳定性理论背景。

1.4.Notes

本章中的研究结果主要是基于[191]结果得出的。关于共识算法的进一步文献综述,请参见[156]。

  • 9
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: Django协同过滤算法接口是一个用于实现基于用户或基于物品的协同过滤推荐算法的组件。协同过滤算法是一种常用的推荐算法,它基于用户之间的相似性或物品之间的相似性进行推荐。在Django,我们可以通过调用相应的函数或方法来使用协同过滤算法接口。 在基于用户的协同过滤算法,我们首先需要构建一个用户-物品矩阵,其每个元素表示用户对物品的偏好或评分。接下来,我们可以通过计算用户之间的相似度来找到与当前用户相似的其他用户。最后,我们利用相似用户对未评分的物品进行推荐。 在基于物品的协同过滤算法,我们首先需要构建一个物品-用户矩阵,其每个元素表示物品对用户的被喜欢程度或评分。接下来,我们可以通过计算物品之间的相似度来找到与当前物品相似的其他物品。最后,我们利用相似物品的评分来预测用户对当前物品的喜好程度,并进行推荐。 除了计算用户之间或物品之间的相似度,协同过滤算法接口还提供了其他功能,如评估推荐算法的准确性、处理数据稀疏性问题、处理冷启动问题等。我们可以根据具体的需求选择合适的函数或方法来实现这些功能。 总之,Django协同过滤算法接口为我们提供了方便快捷的工具来实现基于用户或基于物品的推荐算法,并且还提供了其他功能来优化和完善推荐系统。 ### 回答2: 在Django协同过滤算法可以通过接口进行实现和调用。 首先,在Django的项目,我们需要定义一个视图函数来处理协同过滤算法的请求。这个视图函数可以接收用户传递的参数,比如用户ID或者物品ID,并根据这些参数来进行协同过滤算法的运算。 在视图函数,我们可以通过调用相应的协同过滤算法的函数进行计算。这些函数可以是我们自己编写的,也可以是调用其他库或框架提供的。 在计算完协同过滤算法的结果后,我们可以将结果返回给前端,可以是以JSON格式返回,也可以是以HTML格式返回。 同时,为了提高算法的效率,我们可以使用缓存机制来缓存计算结果,以减少计算时间。 此外,在Django,我们还可以使用一些工具来简化协同过滤算法的实现,比如Django Rest Framework提供了一系列功能强大的工具和类,可以简化视图函数的编写和参数的传递。 总的来说,通过在Django定义接口来实现协同过滤算法,可以方便地进行算法调用和结果返回,同时还可以借助一些工具和框架来简化算法的实现和优化。 ### 回答3: 在Django,我们可以使用协同过滤算法来根据用户的行为和偏好为其推荐相关的物品或内容。为了实现协同过滤算法的接口,我们可以按照以下步骤进行操作: 1. 数据收集和预处理:首先,我们需要收集和准备好相关的数据,包括用户的行为数据和物品的特征信息。这些数据可以来自于用户的浏览记录、购买记录等。然后,我们需要对这些数据进行预处理,如数据清洗、去除噪声等。 2. 构建用户-物品矩阵:接下来,我们将用户的行为数据转化为用户-物品矩阵。这个矩阵可以用来表示用户与物品之间的交互情况,比如用户是否购买过某个商品,或者对某个商品的评分等。 3. 相似度计算:接着,我们需要计算用户之间或物品之间的相似度。对于用户之间的相似度,可以使用基于用户的协同过滤算法,计算用户之间的相似度矩阵。对于物品之间的相似度,可以使用基于物品的协同过滤算法,计算物品之间的相似度矩阵。这些相似度矩阵将用于为用户推荐相关物品。 4. 推荐生成:根据用户的历史行为和相似度矩阵,我们可以生成推荐结果。具体而言,对于某个用户,我们可以通过查找与其相似的其他用户或者喜欢相似物品的用户,来为其推荐物品。 5. 接口设计和实现:最后,我们可以将上述步骤封装成为一个Django协同过滤算法接口。这个接口可以接收用户的ID或其他标识符作为输入,然后返回相应的推荐结果。我们可以使用Django的视图函数或者基于类的视图来实现这个接口,同时可以通过定义URL路由来访问该接口。 以上就是在Django实现协同过滤算法接口的大致步骤。通过这个接口,我们可以为用户提供个性化的推荐服务,提升用户体验和平台的用户留存率。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NXU2023

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值