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

多机器人编队(二)机器人协同编队算法原理及实现

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

多机器人协同编队需要将理论和实践紧密地结合起来,其应用包括编队队形生成、保持、变换和路径规划与避障等等都是基于图论的理论基础完成的。 图论基础 控制协同多智能体动态系统是通过通信图进行相互联系的动力学问题,通信图表明了各个节点之间的信息流。协同控制的目标是为各个节点设计控制协议,以保证所有节点在某种特定意义上的状态同步行为。在协同系统中,任何控制协议都必须按照其所规定的图拓扑结构进行分布式控制,也就是说,每个节点的控制协议只允许依赖于关于该节点及其在图中的邻居节点的信息,拓扑图施加的通信限制可能会严重限制每个节点上的本地分布式控制协议所能完成的工作。 在多机器人协同编队中,我们关注的是动态系统的行为和相互作用,这些动态系统通过通信网络的链接相互联系,该通信网络被建模为具有与系统间允许的信息流相对应的有向边的图,编队中的每个机器人被建模为图中的节点,那么最基本的问题就变为了图拓扑如何与节点的本地反馈控制协议交互,以生成互连节点的整体行为,下面展示一些在研究多机器人协同编队中必不可少的基本的图论概念。 一个拓扑图可以表示为G=(V,E),其中其中V={x_1,…,x_n}表示N个节点的集合,E表示E条边的集合,假设图为简单有向图,即(v_i,v_j)\notinE 并且同一对节点之间没有多条边,集合E中的元素(v_i,v_j)表示从节点v_j指向v_i的边,在编队中表示信息从节点v_j机器人流向节点v_i机器人,节点v_i机器人的出度 d_i^o表示以其为数据发送端的边的数量,入度d_i表示以其为数据接收端的边的数量。 图的结构和性质可以通过研究与图相关的某些矩阵的性质来研究,这就是代数图论。给定边的权值a_{ij}后,该图便可以被一个邻接矩阵或连通矩阵 A=[a_{ij}]表示,其中当(v_i,v_j)\notinE 时a_{ij}=1,否则a_{ij}=0,则此时节点i的加权入度可表示为矩阵A第i行所有值之和,如式(1)所示:
多机器人编队(二)机器人协同编队算法原理及实现 则其加权出度可表示为式(2):
多机器人编队(二)机器人协同编队算法原理及实现 入度和出度都为图的局部性质,在编队拓扑通信中,其出度可以反映出节点对编队其他机器人的影响程度,即当出度越大,该节点机器人对编队一致性的影响越大。 定义一个对角入度矩阵D=diagd_i和图拉普拉斯矩阵L=D-A,图的许多性质都可以以图拉普拉斯矩阵的性质被研究,其在动态多节点系统图论研究中有极其重要的意义,一个有向图及其伴随矩阵、对角矩阵和拉普拉斯矩阵如下所示:
多机器人编队(二)机器人协同编队算法原理及实现 其对应的矩阵如下所示:
多机器人编队(二)机器人协同编队算法原理及实现 图拉普拉斯矩阵L的特征结构在图上动力系统分析中起着关键作用,下面对L的特征值情况进行分析,定义图拉普拉斯矩阵的约当形式如下: L=MJ M^{\smash{2}} 其中约当形式矩阵J和变换矩阵M为:
多机器人编队(二)机器人协同编队算法原理及实现 其中特征值\lambda_i和M的右特征向量v_i的右特征向量满足
多机器人编队(二)机器人协同编队算法原理及实现 其中I为单位矩阵。M左特征向量wi满足
多机器人编队(二)机器人协同编队算法原理及实现 由于矩阵L所有行元素之和为0,故当且仅当L有唯一的特征向量c使得Lc=0,其特征值为0,即L的秩为N-1时图G有一个生成树,这对于形成编队的稳定性有重要的作用。 基于一致性的编队控制算法 本文采用领航者-跟随者编队中的分布式控制结构,在前文图论的基础上采用下文给出的一致性算法实现了编队控制。 编队控制算法原理 领航者-跟随者编队是一种经典的编队形式,其基于一致性的一阶编队算法主要思想在于控制好领航者和跟随者之间的相对位置和速度等状态量,这些量达到一定的稳定状态时就实现了编队队形,其中领航机器人扮演着至关重要的角色。 编队系统的一阶连续系统模型如下:
多机器人编队(二)机器人协同编队算法原理及实现 x_iu_i分别表示节点i的状态量和输入量,且x_iu_i \in R^n,n表示状态量的维度,在理想情况下,考虑如下形式的控制输入
多机器人编队(二)机器人协同编队算法原理及实现 其中a_{ij}为编队邻接矩阵元素,N_i为成员i的邻居集合,将(2-8)代入(2-7)再引入全局状态向量 x=[x_1,…,x_n]^T \in R^n,可得到全局动态关系为:
多机器人编队(二)机器人协同编队算法原理及实现 从上式我们可以看出编队的闭环动态特性取决于L矩阵。此外,当且仅当编队的拓扑图G具有一棵生成树时,-L特征值均位于复平面左半平面,因此(2-8)能保证系统达到一致性,最终状态值为:
多机器人编队(二)机器人协同编队算法原理及实现 在离散时间下,(2-7)可化为:
多机器人编队(二)机器人协同编队算法原理及实现 在本课题中,假设一个场景为领航者带领其他机器人完成一段距离的运动,从起点出发向一个目标点运动,理想情况下编队中跟随者的的算法采用如下形式
多机器人编队(二)机器人协同编队算法原理及实现 其中ε>0,r_{ij}表示机器人i和机器人j之间的相对位置,与他们之间的距离相关,而领航者N的控制算法为
多机器人编队(二)机器人协同编队算法原理及实现 其中r_{nj}表示领航者与其他机器人之间的相对位置,m和k均为常数,D(k)表示k时刻领航者到目标点的距离,领航者的速度受到相邻节点的影响以及领航者到目标点的距离影响。 以上是最基本的算法,除此之外还有对如平均一致性、运动不变量等的研究,因篇幅有限,这些算法不再赘述。 编队算法仿真实现 本文验证编队一致性算法,使用五个机器人按照领航者-跟随者的形式组成实验的机器人编队,找定一个稳定的通信拓扑矩阵A,如
多机器人编队(二)机器人协同编队算法原理及实现 使用此通信拓扑矩阵后编队队形及其通信拓扑结构如下图所示:
多机器人编队(二)机器人协同编队算法原理及实现 其中箭头表示信息流方向,从上图可以看出节点五的出度最大,故节点五为关键节点,即为领航机器人,而节点一出度为0,其对编队的影响最小。 以上是关于多机器协同编队的算法原理讲解与代码实现。后续还会介绍基于编队的避障算法。 码字不易,喜欢的话请点赞收藏关注哦,您的支持是博主最大的动力。


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明多机器人编队(二)机器人协同编队算法原理及实现
喜欢 (0)

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

加载中……