本发明涉及多智能体编队控制领域,特别是涉及一种多智能体编队控制方法及系统。
背景技术:
多智能体编队控制是当前多智能体系统研究的热点问题,指多个智能体组成的团队在向特定目标或方向运动的过程中,相互之间保持预定的几何形态。多智能体编队控制在军事、航天、工业等各个领域具有广泛的应用,如实现移动机器人、无人机、潜艇、卫星、航天飞行器等运动载体的编队控制等。在军事领域中,多移动机器人采用合理的编队可以代替士兵执行恶劣、危险环境下诸如侦察、搜寻、排雷、巡逻等军事任务。以侦察任务为例,单个机器人获取环境信息的能力通常有限,但如果多个机器人保持合理的队形,分工获取周围的环境信息,就有可能迅速准确地感知群体所在区域的环境信息,使群体的资源利用率比成员随机分布时更高。在航天领域,卫星编队不但可大大降低系统成本,提高系统的可靠性和生存能力,而且可扩展和超越传统单个卫星的功能,完成许多单个航天器不可能完成的任务。在工业生产中,例如多机器人系统搬运大型物体时,对机器人的位置存在一定要求,以满足搬运过程中的稳定和负载平衡。
多智能体编队控制已有多种成熟的控制方法,与基于领导者-跟随者、基于行为以及基于虚拟结构的方法相比,基于一致性的编队控制方法具有更好的鲁棒性和扩展性,并且易于设计,因此当前受到国内外研究人员的广泛关注,并取得了一些应用。在该方法中,智能体通过于邻居智能体的通信,获取其它智能体的状态信息,然后通过这些信息生成自身的控制指令,从而使得多智能体系统最后形成编队。但在对该方法的一般研究中,通常认为多智能体之间的通信是连续不断的,这在实际应用会受到很大的限制。首先,实际系统通过相关传感器采样才能获取自身的状态值,例如通过惯性测量单元、gps等获取运动体的姿态、速度、位置等信息,而传感器都以一定的频率进行采样处理,所以实际系统一般只能获得有一定时间间隔的状态值,而不是连续任意时刻的状态值。另外,实际的通信设备受制于通信带宽,单位时间内发送的数据量是有上限值的,所以要求通信次数越少越好,否则容易造成通信阻塞或丢包,导致系统崩溃。因此当前基于一致性的编队控制方法存在无法连续通信的情况下,通信量大的问题,并不能很好的适用于实际系统,实用性低。
技术实现要素:
本发明的目的是提供一种多智能体编队控制方法及系统,以解决现有的一致性的编队控制方法实用性低的问题。
为实现上述目的,本发明提供了如下方案:
一种多智能体编队控制方法,包括:
获取多个智能体并将一个所述智能体作为一个通信节点;所述智能体包括机器人、无人机、潜艇、卫星以及航天飞行器;所述多个智能体为离散的智能体;
根据所述通信节点建立通信拓扑关系;
根据所述通信拓扑关系确定事件触发协议;
根据所述事件触发协议确定当前通信节点相邻的通信节点的邻居自身状态信息;所述邻居自身状态信息包括位置以及速度;
获取所述当前通信节点的第一自身状态信息;
根据所述第一自身状态信息以及所述邻居自身状态信息确定所述多个智能体的编队。
可选的,所述根据所述通信拓扑关系确定事件触发协议具体包括:
确定所述通信节点之间的权重矩阵;
根据所述权重矩阵确定入度矩阵;
根据所述权重矩阵以及所述入度矩阵确定拉普拉斯矩阵;
获取所述拉普拉斯矩阵的特征值;
根据所述特征值确定事件触发协议。
可选的,所述根据所述事件触发协议确定当前通信节点相邻的通信节点的邻居自身状态信息,具体包括:
判断所述事件触发协议是否大于0,得到第一判断结果;
若所述第一判断结果表示为所述事件触发协议大于0,向所述当前通信节点相邻的通信节点发出触发信号,并接收所述当前通信节点相邻的通信节点广播的第二自身状态信息;所述第二自身状态信息即为邻居自身状态信息。
可选的,所述根据所述第一自身状态信息以及所述邻居自身状态信息确定所述多个智能体的编队,具体包括:
根据公式
一种多智能体编队控制系统,包括:
多个智能体获取模块,用于获取多个智能体并将一个所述智能体作为一个通信节点;所述智能体包括机器人、无人机、潜艇、卫星以及航天飞行器;所述多个智能体为离散的智能体;
通信拓扑关系建立模块,用于根据所述通信节点建立通信拓扑关系;
事件触发协议确定模块,用于根据所述通信拓扑关系确定事件触发协议;
邻居自身状态信息确定模块,用于根据所述事件触发协议确定当前通信节点相邻的通信节点的邻居自身状态信息;所述邻居自身状态信息包括位置以及速度;
第一自身状态信息获取模块,用于获取所述当前通信节点的第一自身状态信息;
编队确定模块,用于根据所述第一自身状态信息以及所述邻居自身状态信息确定所述多个智能体的编队。
可选的,所述事件触发协议确定模块具体包括:
权重矩阵确定单元,用于确定所述通信节点之间的权重矩阵;
入度矩阵确定单元,用于根据所述权重矩阵确定入度矩阵;
拉普拉斯矩阵确定单元,用于根据所述权重矩阵以及所述入度矩阵确定拉普拉斯矩阵;
特征值获取单元,用于获取所述拉普拉斯矩阵的特征值;
事件触发协议确定单元,用于根据所述特征值确定事件触发协议。
可选的,所述邻居自身状态信息确定模块具体包括:
第一判断单元,用于判断所述事件触发协议是否大于0,得到第一判断结果;
自身状态信息确定单元,用于若所述第一判断结果表示为所述事件触发协议大于0,向所述当前通信节点相邻的通信节点发出触发信号,并接收所述当前通信节点相邻的通信节点广播的第二自身状态信息;所述第二自身状态信息即为邻居自身状态信息。
可选的,所述编队确定模块具体包括:
编队确定单元,用于根据公式
根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明提供了一种多智能体编队控制方法及系统,基于离散采样的编队控制器,一个智能体为一个编队控制器,本发明利用离散采样状态信息确定多个智能体的编队,具有实用性高,可用于实际系统的优点;同时,采用事件触发协议确定邻居自身状态信息,使得多智能体系统不需要进行连续通信,从而降低实际系统的通信量,降低发生通信阻塞和丢包的风险。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明所提供的多智能体编队控制方法流程图;
图2为本发明所提供的多智能体编队控制系统结构图;
图3为本发明所提供的由6个多智能体构成的通信拓扑结构图;
图4为本发明所提供的0-5s内各智能体通信触发时刻示意图;
图5为本发明所提供的0s时刻多智能体编队通信拓扑结构图;
图6为本发明所提供的15s时刻多智能体编队通信拓扑结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种多智能体编队控制方法及系统,能够降低实际系统的通信量,降低发生通信阻塞和丢包的风险,提高实用性。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明所提供的多智能体编队控制方法流程图,如图1所示,一种多智能体编队控制方法,包括:
步骤101:获取多个智能体并将一个所述智能体作为一个通信节点;所述智能体包括机器人、无人机、潜艇、卫星以及航天飞行器;所述多个智能体为离散的智能体。
步骤102:根据所述通信节点建立通信拓扑关系。
构建多智能体系统通信拓扑关系:
多智能体系统通过智能体之间的互相通信来获取其它智能体的状态量,这种通信关系可以用代数图g来表示。假设多智能体系统中含有n个智能体,每个智能体分别用一个节点来表示。节点间的通信关系用权重矩阵w=[wij]n×n来表示,如节点i能够收到节点j的信息,则称节点j为节点i的一个邻居,令wji=1,否则wji=0。节点i的入度定义为
步骤103:根据所述通信拓扑关系确定事件触发协议。
通信节点i需要通过获取邻居智能体的状态信息来生成自己的控制指令ui(tk),多智能体系统由n个智能体组成,第i个智能体模型为:
为了避免连续通信带来的问题,为每个智能体设计一种事件触发协议,智能体通过自身以获取的信息进行计算监控,只有当满足事件触发协议时,向外发送一次当前时刻的自身状态值,其余时间保持通信静默,这样可以大幅度减少多智能体系统的通信量。
定义λi为拉普拉斯矩阵l的特征值并且满足0=λ1<λ2<…<λn;令常数c满足c>2/λ2,c用于保证控制器的稳定性;令常数κ满足0<κ<1,κ用于调节通信频率,通信频率随κ的增大而降低;令常数χ满足χ>0,χ用于调节最小通信时间间隔,通信时间间隔随χ的增大而增大。
求解如下的黎卡提不等式:
pa+atp-2pbbtp+2αp<0,其中0<α≤2λ2。
定义p为矩阵
定义第i个智能体的状态误差变量为ei(t)=yi(t)-xi(t);定义第i个智能体对其邻居通信节点j的状态估计变量
步骤104:根据所述事件触发协议确定当前通信节点相邻的通信节点的邻居自身状态信息;所述邻居自身状态信息包括位置以及速度。
为了下面记号简便,做如下变量替换:
则第i个智能体事件触发协议设计如下:
步骤105:获取所述当前通信节点的第一自身状态信息。
步骤106:根据所述第一自身状态信息以及所述邻居自身状态信息确定所述多个智能体的编队。
在实际应用中,根据所述第一自身状态信息以及所述邻居自身状态信息确定当前通信节点的自身控制输入量;根据所述的控制输入量实现所述多个智能体的编队。
令
得到控制增益系数k=-btp,其中p为黎卡提方程的解。
则第i个智能体的控制输入设计为:
图2为本发明所提供的多智能体编队控制系统结构图,如图2所示,一种多智能体编队控制系统,包括:
多个智能体获取模块201,用于获取多个智能体并将一个所述智能体作为一个通信节点;所述智能体包括机器人、无人机、潜艇、卫星以及航天飞行器;所述多个智能体为离散的智能体。
通信拓扑关系建立模块202,用于根据所述通信节点建立通信拓扑关系;
事件触发协议确定模块203,用于根据所述通信拓扑关系确定事件触发协议。
所述事件触发协议确定模块203具体包括:权重矩阵确定单元,用于确定所述通信节点之间的权重矩阵;入度矩阵确定单元,用于根据所述权重矩阵确定入度矩阵;拉普拉斯矩阵确定单元,用于根据所述权重矩阵以及所述入度矩阵确定拉普拉斯矩阵;特征值获取单元,用于获取所述拉普拉斯矩阵的特征值;事件触发协议确定单元,用于根据所述特征值确定事件触发协议。
邻居自身状态信息确定模块204,用于根据所述事件触发协议确定当前通信节点相邻的通信节点的邻居自身状态信息;所述邻居自身状态信息包括位置、速度。
所述邻居自身状态信息确定模块204具体包括:第一判断单元,用于判断所述事件触发协议是否大于0,得到第一判断结果;自身状态信息确定单元,用于若所述第一判断结果表示为所述事件触发协议大于0,向所述当前通信节点相邻的通信节点发出触发信号,并接收所述当前通信节点相邻的通信节点广播的第二自身状态信息;所述第二自身状态信息即为邻居自身状态信息。
第一自身状态信息获取模块205,用于获取所述当前通信节点的第一自身状态信息。
编队确定模块206,用于根据所述第一自身状态信息以及所述邻居自身状态信息确定所述多个智能体的编队。
所述编队确定模块206具体包括:编队确定单元,用于根据公式
将本发明所提供的控制方法及系统应用到实际生活中,例如:如图3所示,由6个智能体组成的编队,智能体系统矩阵如下所示,
第i个智能体的编队hi(t)设计如下:
采样间隔选取为h=0.01,控制器参数选取为c=1.56,κ=0.5,p=1.67,
通过仿真得到多智能体编队控制系统15s内的运动过程,如图4所示,0到5秒内各智能体的通信触发时刻,可以看到系统的通信次数大幅降低;如图5-图6所示,图5和图6分别表示多智能体系统在t=0时刻和t=15时刻时,各智能体的相对位置,可以看出系统最后已经实现了设计的编队。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。