💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
⛳️赠与读者
👨💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能解答你胸中升起的一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。
或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎
💥1 概述
本文研究了多智能体网络如何通过分布式事件驱动控制实现有限时间内的共识。 由于非光滑控制和触发条件引起的混合非线性,事件驱动控制下的有限时间共识分析比连续时间控制更具挑战性。我们研究了具有单积分器动态和标量状态的智能体,并提出了一种用于有限时间共识的分布式事件驱动控制协议,并与连续时间控制进行了比较。结果表明,使用所提出的事件驱动控制方案,智能体可以在有限时间内达成共识,并且不会出现Zeno行为。我们还得到了一个关于收敛时间的估计,并证明它不仅与初始条件和网络连通性有关,还与事件触发条件相关。通过仿真验证了理论结果的有效性。
1. 引言
多智能体网络(MANs)在许多工程领域都有应用,例如无人机(UAVs)、协作机器人、无线传感器网络和电力系统。在过去十年中,分布式多智能体合作控制受到了广泛关注(Cai等人,2017;Hou等人,2017;Lu等人,2017;Olfati-Saber和Murray,2004)。由于其他集体行为(如群体行为、队形控制和分布式优化)大多是基于共识的(例如Chen等人,2016;Guan等人,2014;Li等人,2013),共识控制理论在研究多智能体合作中发挥了基础性作用。
在实际应用中,例如无人机巡航、车辆跟踪和机器人环境监测,智能体在有限时间内完成所有计划任务是至关重要的(Cao和Ren,2014;Franceschelli等人,2015;Lu等人,2017)。基于这一实际考虑,控制协议的设计应考虑收敛性能。以往研究表明,通过可能的控制协议,多智能体网络可以以指数收敛率渐近达成共识,收敛速度与网络连通性相关,即与拉普拉斯矩阵的第二小特征值有关。收敛性能的进一步描述可以是有限时间动态(Guan等人,2012;Meng等人,2016)。与渐近收敛不同,有限时间收敛需要一个预定的收敛时间,这可能依赖于初始条件。与渐近共识控制相比,有限时间控制在有限时间内确保共识,同时减少了计算/通信成本,从而在无人机和协作机器人中具有更好的应用前景。
有限时间共识分析主要基于连续时间自治系统的有限时间稳定性理论。早在Tang(1998)中,就提出了基于Lyapunov的方法,通过终端滑模控制确保有限时间稳定性。Bhat和Bernstein(2000)研究了连续但非Lipschitz自治系统的有限时间稳定性。目前已有许多关于多智能体网络分布式有限时间控制的结果,包括有限时间共识和有限时间跟踪。Wang和Xiao(2010)研究了双向和单向交互情况下的有限时间共识问题。Chen、Lewis和Xie(2011)使用分布式二进制共识协议和钉扎控制确保有限时间共识。Guan等人(2012)研究了具有连续时间非光滑控制的领导者-跟随者二阶多智能体网络的有限时间共识。Cao和Ren(2014)分析了具有未知固有非线性动态的多智能体网络的非线性连续共识算法的有限时间收敛性。Franceschelli等人(2015)考虑了通过不连续局部交互实现有限时间共识和干扰抑制。最近,Liu等人(2016)研究了基于切换协议的多智能体网络的有限时间共识,而Meng等人(2016)研究了在对抗性符号网络上智能体的有限时间共识。
除了收敛性能外,控制成本是设计控制协议的另一个关键因素。对于资源有限的传感器智能体,没有必要以时钟方式(连续或周期性)更新控制器。事件驱动方法已被证明是时钟驱动方法的替代方案(Dimarogonas等人,2012;Guo等人,2014;Li等人,2016;Tabuada,2007;Zhang等人,2014)。在事件驱动设置中,控制更新仅在基于事件的时间点发生,从而减少了执行器更新的次数(Fan等人,2013;Hu等人,2016;Zhu等人,2014)。Tabuada(2007)早期采用事件触发策略稳定非线性系统。Dimarogonas等人(2012)设计了集中式和分布式事件触发控制以实现共识。Meng和Chen(2013)提出了一种新颖的基于采样事件的控制方案,用于设计共识协议。Li等人(2015)设计了一种分布式事件触发采样方案,以确保领导者-跟随者共识。Ding等人(2015)研究了基于输出反馈事件触发控制的多智能体网络的概率共识。Xu等人(2017)开发了一种用于多智能体共识的实用分层事件控制方案。Ding等人(2018)最近对事件触发控制进行了渐近共识的综述。然而,关于设计用于有限时间稳定性或共识的事件驱动控制的工作非常少。大多数现有的有限时间共识研究使用非光滑但连续时间控制方法(Cao和Ren,2014;Franceschelli等人,2015;Fu和Wang,2016)。Lu等人(2017)报告了一种有限时间共识的事件触发控制,考虑了具有位置和速度动态以及切换拓扑的多智能体网络。除了控制更新外,触发条件应该对收敛性能(时间成本)产生影响,如Tabuada(2007)所示。从这个角度来看,仍然需要在寻求多智能体合作中建立收敛时间和事件触发条件之间的联系。事件驱动的有限时间控制算法不能像Dimarogonas等人(2012)、Hu等人(2016)、Xie等人(2015)和Zhang等人(2014)中的渐近共识分析那样处理,也不能使用Bhat和Bernstein(2000)、Lu等人(2017)、Meng等人(2016)和Wang和Xiao(2010)中现有的有限时间收敛分析来处理。困难来自于在Lyapunov分析中综合由非光滑控制和事件触发条件引起的混合非线性,以及展示收敛时间和事件条件之间的联系。
上述观察结果促使我们在本文中开发了一种用于具有单积分器模型和固定拓扑的多智能体网络的事件驱动有限时间控制协议。目标是设计一种分布式事件驱动控制协议,以确保有限时间共识,同时展示收敛时间和触发条件之间的联系。为此,首先提出并分析了一种事件驱动有限时间控制协议,并与连续时间控制进行了比较。然后,建立了包括有效触发条件在内的新标准,以确保有限时间内的共识。我们还得到了一个由多智能体网络模型、控制增益和事件触发阈值决定的收敛时间估计。开发的结果为网络化智能体如何在有限时间内通过事件驱动控制和数据进行合作提供了见解。
本文的其余部分安排如下:第2节介绍一些预备知识并阐述研究问题。第3节提出了一种用于有限时间共识的事件驱动控制协议,并推导出涉及触发条件的收敛时间估计。第4节给出仿真结果,第5节总结本文。
结论
本文研究了多智能体网络的有限时间共识问题。提出了一种用于有限时间共识的分布式事件驱动控制协议,并建立了涉及基于模型的触发方案的充分条件。与连续时间控制器相比,所提出的事件驱动控制方案已被证明能够减少控制更新的次数。更重要的是,推导出了收敛时间与事件触发条件之间的联系,表明事件触发阈值在控制更新成本和时间性能之间存在权衡。通过仿真例子验证了理论结果的有效性。
未来的研究将包括为具有更复杂模型的多智能体网络开发事件驱动控制。
📚2 运行结果
2.1 分布式(Matlab代码实现)
2.2 分布式Matlab、Simulink仿真_方法1
2.3 分布式Matlab、Simulink仿真_方法2
部分代码:
if f1>=0%第1个智能体事件触发
xtk_1=x;
end
if f2>=0%第2个智能体事件触发
xtk_2=x;
end
if f3>=0%第3个智能体事件触发
xtk_3=x;
end
if f4>=0%第4个智能体事件触发
xtk_4=x;
end
if f5>=0%第5个智能体事件触发
xtk_5=x;
end
A=A+1;
end
figure(1)
plot(Ts,X,'LineWidth',1);
xlabel('time(s)');ylabel({'positions of agents';'x_{i}'});
legend('x_1','x_2','x_3','x_4','x_5');
grid on
figure(2)
plot(Ts,U,'LineWidth',1);
xlabel('time(s)');ylabel('control input');
legend('u_1','u_2','u_3','u_4','u_5');
grid on
%图例换行操作
% h1=plot(Ts,U(:,1));hold on;
% h2=plot(Ts,U(:,2));hold on;
% h3=plot(Ts,U(:,3));hold on;
% h4=plot(Ts,U(:,4));hold on;
% h5=plot(Ts,U(:,5));hold on;
% lgd1=legend([h1,h2],'u_1','u_2','orientation','horizontal','location','north');
% % set(lgd1,'FontName','宋体','FontSize',14);
% set(lgd1);
% %不想要有框框区分,在每个图例下面加行代码就行啦,如下
% legend boxoff;
% ah=axes('position',get(gca,'position'),'visible','off');
% lgd2=legend(ah,[h3,h4,h5],'u_3','u_4','u_5','orientation','horizontal','location','north');
% set(lgd2);
% %不想要有框框区分,在每个图例下面加行代码就行啦,如下
% legend boxoff;
figure(3)
plot(Ts,E1,Ts,Y1,'LineWidth',1);
xlabel('time(s)');ylabel('||e1||');
legend('||e1||','0.6||y1||')
grid on
figure(4)
plot(Ts,E2,Ts,Y2,'LineWidth',1);
xlabel('time(s)');ylabel('||e2||');
legend('||e2||','0.6||y2||')
grid on
figure(5)
plot(Ts,E3,Ts,Y3,'LineWidth',1);
xlabel('time(s)');ylabel('||e3||');
legend('||e3||','0.6||y3||')
grid on
figure(6)
plot(Ts,E4,Ts,Y4,'LineWidth',1);
xlabel('time(s)');ylabel('||e4||');
legend('||e4||','0.6||y4||')
grid on
🎉3 参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。(文章内容仅供参考,具体效果以运行结果为准)
🌈4 Matlab代码、文献下载
资料获取,更多粉丝福利,MATLAB|Simulink|Python资源获取