🔥 内容介绍
一、多智能体群集运动研究背景
多智能体系统由多个自主智能体组成,这些智能体通过相互协作来完成复杂任务。群集运动作为多智能体系统的一种典型行为,在诸多领域有着广泛应用。例如,在无人机编队执行侦察、救援任务时,需要保持紧密的群集结构以提高效率和安全性;在机器人群体进行仓库货物搬运时,群集运动能实现高效协作。然而,实现多智能体的群集运动面临着一系列挑战,如如何使智能体之间保持合适的相对位置,避免碰撞,同时实现整体的运动一致性。
二、虚拟领航者原理
- 概念引入:虚拟领航者是一个假想的智能体,它并不对应实际物理实体,但在多智能体群集运动中起着引导作用。虚拟领航者被赋予期望的运动轨迹和速度等信息,其他实际智能体通过与虚拟领航者的 “互动” 来调整自身行为,从而实现整个群体的统一运动。
- 作用机制:每个实际智能体通过计算自身与虚拟领航者的位置和速度差异,依据一定的控制算法来调整自己的运动参数。例如,智能体可能会根据与虚拟领航者的距离和方向,调整自身的速度和航向,以逐渐靠近虚拟领航者设定的路径和速度。虚拟领航者的存在简化了多智能体系统的控制结构,使得各个智能体只需关注与虚拟领航者的关系,无需直接处理与其他众多实际智能体的复杂交互,降低了系统的复杂性。
三、势函数原理
- 势函数定义:势函数是一种数学函数,它在空间中定义了一个标量场,用于描述智能体之间以及智能体与环境之间的相互作用。在多智能体群集运动中,势函数通常基于距离、方向等因素构建。例如,对于两个智能体,它们之间的势函数值可能随着距离的变化而变化,距离越近,势函数值越高。
-
- 四、基于虚拟领航者和势函数实现多智能体群集运动
- 综合控制策略:在多智能体群集运动中,将虚拟领航者的引导作用与势函数描述的智能体间相互作用相结合。智能体一方面受到虚拟领航者的引导,向其设定的运动轨迹和速度靠近;另一方面,通过势函数与其他智能体进行交互,实现避碰、聚集和速度一致性。
- 实现过程:每个智能体实时获取自身位置、速度以及与其他智能体的相对位置和速度信息。根据与虚拟领航者的偏差计算出一个引导力,同时根据势函数计算出与其他智能体之间的斥力、引力以及速度调整力。这些力的合力决定了智能体下一时刻的运动方向和速度调整量。通过不断重复这个过程,多智能体系统逐渐实现稳定的群集运动,既能避免碰撞,又能保持聚集状态,并达到速度一致性,同时跟随虚拟领航者的引导完成特定任务。
⛳️ 运行结果
📣 部分代码
%%
N = 150; %number of agent
d = 5; %distance to maintain
r = d*1.2; %sensing radius
dt = 0.02; %simulation step
Iter = 3000; %iteration times
%parameters in functions
h = 0.1;
deltaA = 0.1;
c1 = 0.01;
c2 = 0.15;
%sigma_noram calculate of const parameters
da = gnorm(d,deltaA);
rnm = gnorm(r,deltaA);
dline = bumpfunction(da/rnm,h);
%randomly generate the initial position and velocity
q = wgn(N+1,2,0,1000);%两列x,y
🔗 参考文献
[1]王祥科,李迅,郑志强.多智能体系统编队控制相关问题研究综述[J].控制与决策, 2013(11):1601-1613.DOI:CNKI:SUN:KZYC.0.2013-11-001.