[分布式控制浅述] (1) 图论基础

[分布式控制浅述] (1) 图论基础

  • [分布式控制浅述] (1) 图论基础
    • 1 前言
    • 2 概述
    • 3 度矩阵(Degree Matrix)
    • 4 拉普拉斯矩阵(Laplacian Matrix)
    • 5 有向图与无向图(directed graph and undirected graph)

[分布式控制浅述] (1) 图论基础

因为笔者学习和研究的需要,将会开启一个系列博客(如果笔者不咕咕咕),主要讲述现在十分火热的分布式协同控制理论,其应用一个是纯理论性质的一致性问题,另一个则是偏向实际的编队问题。
不过从实际上来说,分布式控制应用还是得有一定的时间,各方面的技术,尤其是定位与通信还没有达到分布式控制所要求的高度。因此说白了目前这些理论算法多难以应用到实际应用,但是从学术的角度来说,还是很值得研究的。笔者曾经利用一致性理论做过大疆M210飞机的编队飞行试验,就结果而言,算法是很好的,但是效果很一般,实际实验中的定位误差和通信丢包阻塞才是更为主要的问题,当然,这可能也和笔者的试验设备通信能力有关。
大疆m210无人机编队试验
首先笔者必须介绍图论,这是本领域的最基础知识,后面将利用笔者浅薄的知识,为读者最为通俗易懂地、介绍一些笔者接触学习和使用过的分布式控制与一致性理论问题。

1 前言

“History repeats itself twice: the first time as tragedy, the next time as farce. ”
——Karl Marx

图论可谓是分布式控制和一致性理论的基础,下面简单介绍。

2 概述

图论是用于表示多智能体之间通信拓扑的工具。假设有 n n n个智能体,他们之间的信息交互可以用一个有向图表示: G = { V , E , A } \mathbf{G}=\left\{ \mathbf{V},\mathbf{E},\mathbf{A} \right\} G={V,E,A}。其中 V = { υ i , i = 1 , ⋯   , n } V=\left\{ {{\upsilon }_{i}},i=1,\cdots ,n \right\} V={υi,i=1,,n}为节点集,代表 n n n个智能体; E ⊆ V × V \mathbf{E}\subseteq \mathbf{V}\times \mathbf{V} EV×V为边集, A = [ a i j ] ∈ R n × n A=\left[ {{a}_{ij}} \right]\in {{R}^{n\times n}} A=[aij]Rn×n为图的加权邻接矩阵。
在有向图 G \mathbf{G} G中,如果从节点 υ j {{\upsilon }_{j}} υj到节点 υ i {{\upsilon }_{i}} υi存在一条有向边,则表示智能体 j j j的信息可以传给智能体 i i i,同时用 ( υ j , υ i ) ∈ E \left( {{\upsilon }_{j}},{{\upsilon }_{i}} \right)\in \mathbf{E} (υj,υi)E表示。加权邻接矩阵的定义为:
a i j > 0 ⇔ ( υ j , υ i ) ∈ E {{a}_{ij}}>0\Leftrightarrow \left( {{\upsilon }_{j}},{{\upsilon }_{i}} \right)\in \mathbf{E} aij>0(υj,υi)E a i j = 0 ⇔ ( υ j , υ i ) ∉ E {{a}_{ij}}=0\Leftrightarrow \left( {{\upsilon }_{j}},{{\upsilon }_{i}} \right)\notin \mathbf{E} aij=0(υj,υi)/E一般地,定义 a i i = 0 {{a}_{ii}}=0 aii=0,即智能体无自反馈。
智能体 i i i的邻居智能体为:所有可以传输信息给智能体 i i i的其他智能体,即:
N i = { j : ( υ j , υ i ) ∈ E } {{\mathbf{N}}_{i}}=\left\{ j:\left( {{\upsilon }_{j}},{{\upsilon }_{i}} \right)\in \mathbf{E} \right\} Ni={j:(υj,υi)E}相似地,定义:
O i = { j : ( υ i , υ j ) ∈ E } {{\mathbf{O}}_{i}}=\left\{ j:\left( {{\upsilon }_{i}},{{\upsilon }_{j}} \right)\in \mathbf{E} \right\} Oi={j:(υi,υj)E}

3 度矩阵(Degree Matrix)

定义节点 υ i {{\upsilon }_{i}} υi的出度:
deg ⁡ ( υ i ) o u t = d i = ∑ j = 1 n a i j = ∑ j ∈ N i a i j \deg {{\left( {{\upsilon }_{i}} \right)}_{out}}={{d}_{i}}=\sum\limits_{j=1}^{n}{{{a}_{ij}}}=\sum\limits_{j\in {{\mathbf{N}}_{i}}}^{{}}{{{a}_{ij}}} deg(υi)out=di=j=1naij=jNiaij那么度矩阵为:
D = d i a g { d 1 , d 2 , ⋯   , d n } = [ d 1 0 ⋯ 0 0 d 2 ⋯ 0 ⋮ ⋮ ⋱ ⋮ 0 0 ⋯ d n ] D=diag\left\{ {{d}_{1}},{{d}_{2}},\cdots ,{{d}_{n}} \right\}=\left[ \begin{matrix} {{d}_{1}} & 0 & \cdots & 0 \\ 0 & {{d}_{2}} & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & {{d}_{n}} \\ \end{matrix} \right] D=diag{d1,d2,,dn}=d1000d2000dn一般地,提到一个图的度和度矩阵都是指出度矩阵。同样还有入度,较少用到,刚好笔者最近要使用,就在这里一并列出:
deg ⁡ ( υ i ) i n = ∑ j = 1 n a j i = ∑ j ∈ O i a j i \deg {{\left( {{\upsilon }_{i}} \right)}_{in}}=\sum\limits_{j=1}^{n}{{{a}_{ji}}}=\sum\limits_{j\in {{\mathbf{O}}_{i}}}^{{}}{{{a}_{ji}}} deg(υi)in=j=1naji=jOiaji

4 拉普拉斯矩阵(Laplacian Matrix)

Laplacian matrix在一致性理论中十分重要,几乎所有的证明和推导都包含这个矩阵。
定义:
L = D − A L=D-A L=DA
即:
L = [ ∑ j = 1 n a 1 j − a 12 ⋯ − a 1 n − a 21 ∑ j = 1 n a 2 j ⋯ − a 2 n ⋮ ⋮ ⋱ ⋮ − a n 1 − a n 2 ⋯ ∑ j = 1 n a n j ] L=\left[ \begin{matrix} \sum\limits_{j=1}^{n}{{{a}_{1j}}} & -{{a}_{12}} & \cdots & -{{a}_{1n}} \\ -{{a}_{21}} & \sum\limits_{j=1}^{n}{{{a}_{2j}}} & \cdots & -{{a}_{2n}} \\ \vdots & \vdots & \ddots & \vdots \\ -{{a}_{n1}} & -{{a}_{n2}} & \cdots & \sum\limits_{j=1}^{n}{{{a}_{nj}}} \\ \end{matrix} \right] L=j=1na1ja21an1a12j=1na2jan2a1na2nj=1nanjLaplacian matrix有以下重要性质:

  1. Laplacian matrix为半正定的。
  2. 特征值0出现的次数就是图连通的区域。
  3. 最小特特征值为0(因为每行和均为0,且图最少有一个连通区域)
  4. 最小非0特征值是图的代数通达度。

对控制而言,其中最重要的就是其性质中的半正定性了,这对于稳定性证明十分重要。

5 有向图与无向图(directed graph and undirected graph)

顾名思义,无向图有:
a i j = a j i {{a}_{ij}}={{a}_{ji}} aij=aji而有向图上式不一定成立。
值得一提的有向图的性质:

  1. 邻接矩阵和拉普拉斯矩阵都是对称的
  2. 出度和入度相同,很好理解,因为对称,即:
    deg ⁡ ( υ i ) o u t = ∑ j = 1 n a i j = ∑ j = 1 n a j i deg ⁡ ( υ i ) i n \deg {{\left( {{\upsilon }_{i}} \right)}_{out}}=\sum\limits_{j=1}^{n}{{{a}_{ij}}}=\sum\limits_{j=1}^{n}{{{a}_{ji}}}\deg {{\left( {{\upsilon }_{i}} \right)}_{in}} deg(υi)out=j=1naij=j=1najideg(υi)in

你可能感兴趣的:(控制,分布式控制浅述)