线性系统多智能体相关论文阅读

cooperative Output Regulation of linear Multi-Agent Systems

《线性多智能体系统的协同输出调节问题》论文阅读
关于其中dynamic compensator(或者也叫做distributed observer)从一个agent扩展到N个整体系统时其中关于克罗内克积写法的推导

首先在ren的书中《Distributed Consensus in Multi-vehicle Cooperative Control》中,我们提到过对于一阶积分器连续系统模型
ξ ˙ i = u i \dot{\xi}_i=u_i ξ˙i=ui, 其中 i = 1 , ⋯   , n i=1,\cdots,n i=1,,n, ξ i ∈ R m \xi_i \in \mathbb{R}^{m} ξiRm, u i ∈ R m u_i \in \mathbb{R}^{m} uiRm
我们提出的一阶连续系统的一致性算法
u i = − ∑ j = 1 n a i j ( t ) ( ξ i − ξ j ) u_i=-\sum_{j=1}^{n}a_{ij}(t)(\xi_i-\xi_j) ui=j=1naij(t)(ξiξj) 其中 i = 1 , ⋯   , n i=1,\cdots,n i=1,,n a i j ( t ) a_{ij}(t) aij(t) 是邻接矩阵A的第 ( i , j ) (i,j) (i,j)个元素
那么当我们考虑n个agent组成的整体系统时, ξ = [ ξ 1 T , ⋯   , ξ n T ] T \xi=[\xi_1^T,\cdots,\xi_n^T]^T ξ=[ξ1T,,ξnT]T, L n ( t ) ∈ R n × n \mathcal{L}_n(t) \in \mathbb{R}^{n \times n} Ln(t)Rn×n,整个系统写成矩阵形式
ξ ˙ = − [ L n ( t ) ⊗ I m ] ξ \dot{\xi}=-[\mathcal{L}_n(t) \otimes I_m]\xi ξ˙=[Ln(t)Im]ξ
下面是上面式子到下面式子的证明:

u i = − ∑ j = 1 n a i j ( t ) ( ξ i − ξ j ) = − ∑ j = 1 n a i j ( t ) ξ i + ∑ j = 1 n a i j ( t ) ξ j \begin{aligned} u_i&=-\sum_{j=1}^{n}a_{ij}(t)(\xi_i-\xi_j)\\ &=-\sum_{j=1}^{n}a_{ij}(t)\xi_i+\sum_{j=1}^{n}a_{ij}(t)\xi_j \end{aligned} ui=j=1naij(t)(ξiξj)=j=1naij(t)ξi+j=1naij(t)ξj
直接针对条件证明结论等于直接看出来,我是绝对看不出来的,所以我们从结论演化到条件
我们知道其中 L = D − A \mathcal{L}=\mathcal{D}-\mathcal{A} L=DA
上面结论的式子就可以演化为
ξ ˙ = − [ L n ( t ) ⊗ I m ] ξ = − [ D n ( t ) ⊗ I m ] ξ + [ A n ( t ) ⊗ I m ] ξ \begin{aligned} \dot{\xi}&=-[\mathcal{L}_n(t) \otimes I_m]\xi\\ &=-[\mathcal{D}_n(t) \otimes I_m]\xi+[\mathcal{A}_n(t) \otimes I_m]\xi \end{aligned} ξ˙=[Ln(t)Im]ξ=[Dn(t)Im]ξ+[An(t)Im]ξ
其中关于邻接矩阵,我们有
A = [ 0 a 12 ⋯ a 1 n a 21 0 ⋯ a 2 n ⋮ ⋮ ⋮ ⋮ a n 1 a n 2 ⋯ 0 ] \mathcal{A}=\left[ \begin{array}{cccc} 0 & a_{12} & \cdots & a_{1n}\\ a_{21} & 0 & \cdots & a_{2n}\\ \vdots & \vdots & \vdots & \vdots\\ a_{n1} & a_{n2} & \cdots & 0\\ \end{array} \right] A=0a21an1a120an2a1na2n0
关于度矩阵 D \mathcal{D} D,我们有
D = [ ∑ j = 1 n a 1 j 0 ⋯ 0 0 ∑ j = 1 n a 2 j ⋯ 0 ⋮ ⋮ ⋮ ⋮ 0 0 ⋯ ∑ j = 1 n a n j ] \mathcal{D}=\left[ \begin{array}{cccc} \sum_{j=1}^{n}a_{1j} & 0 & \cdots & 0\\ 0 & \sum_{j=1}^{n}a_{2j}& \cdots & 0\\ \vdots & \vdots & \vdots & \vdots\\ 0 &0 & \cdots & \sum_{j=1}^{n}a_{nj}\\ \end{array} \right] D=j=1na1j000j=1na2j000j=1nanj
其中关于 D n ( t ) ⊗ I m \mathcal{D}_n(t) \otimes I_m Dn(t)Im,令 S i S_i Si m × m m \times m m×m的数量矩阵, 0 m 0_m 0m m × m m \times m m×m的全零矩阵。
S i = [ ∑ j = 1 n a i j 0 ⋯ 0 0 ∑ j = 1 n a i j ⋯ 0 ⋮ ⋮ ⋮ ⋮ 0 0 ⋯ ∑ j = 1 n a i j ] S_i=\left[ \begin{array}{cccc} \sum_{j=1}^{n}a_{ij} & 0 & \cdots & 0\\ 0 & \sum_{j=1}^{n}a_{ij}& \cdots & 0\\ \vdots & \vdots & \vdots & \vdots\\ 0 &0 & \cdots & \sum_{j=1}^{n}a_{ij}\\ \end{array} \right] Si=j=1naij000j=1naij000j=1naij

D ⊗ I m = [ S 1 0 m ⋯ 0 m 0 m S 2 ⋯ 0 m ⋮ ⋮ ⋮ ⋮ 0 m 0 m ⋯ S n ] \mathcal{D} \otimes I_m=\left[ \begin{array}{cccc} S_1 & 0_m & \cdots & 0_m\\ 0_m & S_2& \cdots & 0_m\\ \vdots & \vdots & \vdots & \vdots\\ 0_m &0_m & \cdots & S_n\\ \end{array} \right] DIm=S10m0m0mS20m0m0mSn
同理,对于 A n ( t ) ⊗ I m \mathcal{A}_n(t) \otimes I_m An(t)Im,同样的
R i j R_{ij} Rij m × m m \times m m×m的数量矩阵
R i j = [ a i j 0 ⋯ 0 0 a i j ⋯ 0 ⋮ ⋮ ⋮ ⋮ 0 0 ⋯ a i j ] R_{ij}=\left[ \begin{array}{cccc} a_{ij} & 0 & \cdots & 0\\ 0 & a_{ij}& \cdots & 0\\ \vdots & \vdots & \vdots & \vdots\\ 0 &0 & \cdots & a_{ij}\\ \end{array} \right] Rij=aij000aij000aij

A n ( t ) ⊗ I m = [ 0 m R 12 ⋯ R 1 n R 21 0 m ⋯ R 2 n ⋮ ⋮ ⋮ ⋮ R n 1 R n 2 ⋯ 0 m ] \mathcal{A}_n(t) \otimes I_m=\left[ \begin{array}{cccc} 0_m & R_{12} & \cdots & R_{1n}\\ R_{21} & 0_m & \cdots & R_{2n}\\ \vdots & \vdots & \vdots & \vdots\\ R_{n1} & R_{n2} & \cdots & 0_m\\ \end{array} \right] An(t)Im=0mR21Rn1R120mRn2R1nR2n0m
在上面要注意的是 ξ i \xi_i ξi本身就是 m × 1 m \times 1 m×1维的,所以在不用kroncker积的情况下,是用一个数去乘一个向量,数与向量的每一个元素相乘。当我们用kroncker积的时候,全用矩阵表达需要注意维数的匹配,自然而然就能推导成功。
其实上面的是在用数乘以一个向量,和我们用矩阵乘不矛盾,对角矩阵就有这样的能力。
在某一些情况下,化成矩阵的时候要考虑维数匹配,这样就知道 ⊗ \otimes 所要加入的单位矩阵的维数。
本文在已经有了多智能体基础以及输出调节基础的情况下,推导的难点在于关于v的估计量 η \eta η的kroncker积推导。
在后面得到矩阵方程的时候,与输出调节中证明的内容相同
X c ( I N ⊗ S ) = A c X c + B c 0 = C c X c + D c \begin{aligned} X_c(I_N \otimes S)&=A_cX_c+B_c\\ 0&=C_cX_c+D_c \end{aligned} Xc(INS)0=AcXc+Bc=CcXc+Dc
这篇论文形成的一个最重要的条件是: g n + 1 g_{n+1} gn+1有有向生成树并且以要跟踪的leader为根节点。

LQR-based coupling gain for sychronization of linear systems

第一遍文献阅读:
记录下一些自己的想法和体会,后期再看对与不对
Main result中,黎卡提(Riccati)equation 有解的条件难道就是(A,B)是可镇定的,如果Riccati方程有唯一正定的解p,那么改写方程后得出 A − B B T P A-BB^TP ABBTP是Hurwitz的条件应该就是矩阵 P B B T P PBB^TP PBBTP是正定的,后面我在具体证明,整个论文最中心的内容在于 V V V v v v的引入。
第二遍阅读文献:基本从数学的角度推过去了,这次推过去的主要用到的数学公式就是克罗内克积的逆的公式,但是仍然有几个点有待解决,如 Δ \Delta Δ的对角线元素就是其特征值,我还没有证明。这一点过去也就没啥了。
第三遍阅读文献:从整个思想上去把握

  1. couple:耦合的思想
    我只能隐约的记得我在chi-tsong chen的线性系统中有遇到过耦合的概念。
    Δ \Delta Δ第一个耦合是在书中的第二章中介绍系统的数学描述时出现的,系统的A,B,C矩阵都能拆分成block diagonal的形式,所以方程可以分解为uncoupled parts(解耦的各个部分)。对于各个部分可以分别考虑其各种特性:例如可控性、稳定性、能观性
    Δ \Delta Δ第二个耦合 在第9章中对于线性系统的POLE PLACEMENT AND MODEL MATCHING这一设计章节中,专门有介绍Decoupling的,思想还是转换成对角的形式
    在线性系统中耦合似乎是一件不好的事情,我们尽力的去除耦合,但是在多智能体系统中耦合是很重要且必要的,耦合描述了多个智能体之间的连通性,信息交互能力。耦合的刻画指标对于系统能否实现相应的功能至关重要。
  2. 对于 v v v V V V的引入,其实是一种等价变换,相当于对状态x将其通过equivalence transformation转化为 x ˉ \bar{x} xˉ,然后再进行后续的工作
    借着这里的机会,我很想谈谈等价变换到底再做什么:首先,对于最一般的线性时不变系统的状态方程,A将n维实数空间映射到其本身,每一个状态空间方程都对应着一组正交基,我们做一个等价变换就是选择另外一组正交基来表示他们。

总体思路

多智能体中永恒的两个问题:状态的sychronization或者tracking,怎么样设计一个数学描述去表示sychronization或者tracking,对于线性系统,我们可以借助特征值分析整个系统的变化,所以其一般的方法有:

  1. 有设计误差变量e(对于tracking的问题:直接与reference做差即可;对于sychronization,可以选择其中任意的两个状态做差 δ i = x i − x j \delta_i=x_i-x_j δi=xixj,获得误差变量后,就是证明当时间趋向于无穷时,其误差能趋向于0。
  2. 讨论加入控制输入 u i u_i ui的状态方程,直接分析状态 x i x_i xi的变化。
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值