• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

多机器人编队(三)基于关联矩阵的多智能体编队稳定性分析

人工智能 RedGlass 2490次浏览 0个评论

多机器人编队(三)基于关联矩阵的多智能体编队稳定性分析
作者在读学校Singapore University of Technology and Design

参考文献

_Dimarogonas D V, Johansson K H. Stability analysis for multi-agent systems using the incidence matrix: Quantized communication and formation control[J]. Automatica, 2010, 46(4): 695-700._
本文是对两位大牛文章中最简单的一部分内容进行的一些分析和讲解,对于多智能体或多机器人编队的应用会有很大帮助,因此提前将这篇文章放在开头,后续更复杂的分析由于受众有限大家感兴趣可以搜索并阅读原文自行推导。对于没有图论基础的同学请先去了解==图、有向图、关联矩阵、邻接矩阵、拉普拉斯矩阵==的基础定义。

图论基础

首先对于机器人编队结构可以用有向图 \mathcal{G}=(\mathcal V,\mathcal E) 表示,其中\mathcal V={1,2,…,N}表示图有N个顶点,\mathcal E则表示由顶点组成的边E\subset \mathcal V\times \mathcal V,这里我们可以用邻接矩阵表示出多机器人编队的图,详细见作者《多机器人协同编队算法原理及实现》一文。但是本篇将用另一个重要的矩阵——关联矩阵(incidence matrix)\mathcal B(\mathcal G)=(b_{ij}) 来进行稳定性分析及表示,如果顶点i是边j的头部,则b_{ij}=1,如果顶点$i$是边j的尾部,则b_{ij}=-1,否则b_{ij}=0。如下图所示图 \mathcal G(边和顶点上均为标号):
多机器人编队(三)基于关联矩阵的多智能体编队稳定性分析
其对应的关联矩阵如下所示:\mathcal B=\left[
\begin{array}{cccccc}
1 & 1 & 1 & 0 &0 \\
-1 & 0 &0 & 1 &0 \\
0 & -1 & 0 & 0 & 1\\
0& 0 & 0 &-1 &0 \\
0& 0 & 0 & 0 & -1 \\
0 & 0 & -1 & 0 & 0
\end{array}
\right]

同时可以计算得到其拉普拉斯矩阵
\mathcal L=
\begin{bmatrix}
-3 & 1 & 1 & 0 &0 &1 \\
-1 & -2 &0 & 1 &0 &0\\
-1 & 0 & -2 & 0 & 1&0\\
0& -1 & 0 &-1 &0 &0\\
0& 0 & -1 & 0 & -1&0 \\
-1 & 0 & 0 & 0 & 0 &-1
\end{bmatrix}
=邻接矩阵\mathcal A- 度矩阵\mathcal D

可以发现\mathcal L=\mathcal B \mathcal B^T(可以自己计算验证)。本文只分析当图\mathcal G是一棵树的情况,即如上图所示,不存在任何闭环的回路,除了根节点1之外所有节点都只有1个父节点。此时可以保证\mathcal B^T \mathcal B(注意不是拉普拉斯矩阵)是正定矩阵。如果图不是一棵树的话。那么\mathcal B^T \mathcal B只是半正定矩阵,即存在一个特征值为0,具体的证明过程不做推导,这里给出这个引理是为了后续的系统收敛证明。

多机器人编队系统

本章节不再给出具体的多机器人协同编队算法的原理,只是给出一些必要的定义,
多机器人编队(三)基于关联矩阵的多智能体编队稳定性分析

定义x=[x_1,…,x_N]^T为赋予每个节点i的实数值,在机器人编队或多智能体编队中可以是每个机器人的位置信息,定义\bar xM维的差值矩阵,这是赋予每个边的实数值,其中\bar x_{ij}=x_i-x_j表示两个相邻机器人ij的位置误差,这里信息流动的方向也是由ij。可以很容易得到\mathcal Lx=\mathcal B\bar x以及\bar x =\mathcal B^T x

根据《多机器人协同编队算法原理及实现》一文,系统的一阶稳定性方程为:\dot{x}=-\mathcal Dx+\mathcal Ax=-\mathcal Lx,其可以转化为\dot {\bar x}=-\mathcal B^T\dot x=-\mathcal B^T\mathcal L x=-\mathcal B^T\mathcal B\bar x. 因此只需要证明该式收敛即可证明系统稳定。

系统稳定性分析

定义李雅普诺夫函数F(x)=\frac{1}{2}x^Tx,则\dot F(\bar x)=-\bar x^T\mathcal B^T\mathcal B \bar x, 由于前文所说\mathcal B^T\mathcal B是正定矩阵,则其最小特征值大于0,故上式可放缩为\dot F(\bar x)\leq -\lambda_{min}(\mathcal B^T\mathcal B)|\bar x|^2<0.说明该系统指数型收敛于原点,系统稳定。
多机器人编队(三)基于关联矩阵的多智能体编队稳定性分析

后记

本文只是把_Stability analysis for multi-agent systems using the incidence matrix: Quantized communication and formation control_一文中最简单的部分用简单的语言分析讲解了出来,后续还有对于通信量化稳定性分析、静态通信拓扑、连续性与非连续性动态通信拓扑稳定性分析、基于距离的编队控制方法和稳定性分析等等干货满满,但是由于受众有限,本文只将基础性部分讲解出来,感兴趣的大家可以自行推导。==后续博主会参考论文和现有算法对多机器人编队的理论和仿真算法给出讲解==。

笔者本科毕业于上海交通大学,现SUTD PhD在读,有两年多ROS的使用经验,目前仍在不停研究中。本系列==多机器人编队==将结合论文讲解多机器人编队的算法原理、稳定性分析等研究领域,持续不断更新中。如果大家有相关问题或发现作者漏洞欢迎私戳,同时欢迎关注收藏。
同时欢迎关注博主Git和CSDN:
https://github.com/redglassli
https://blog.csdn.net/qq_33742147?spm=1011.2124.3001.5343


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明多机器人编队(三)基于关联矩阵的多智能体编队稳定性分析
喜欢 (0)

您必须 登录 才能发表评论!

加载中……