• 【Paper】2022_切换拓扑下动态事件触发多智能体系统固定时间一致性


    孙梦薇, 任璐, 刘剑, 孙长银. 切换拓扑下动态事件触发多智能体系统固定时间一致性. 自动化学报, 2022, 48(4): 1−11 doi: 10.16383/j.aas.c211123

    1.3 问题描述

    考虑如下一阶非线性多智能体系统
    { x ˙ i = u i ( t ) + f ( x i ( t ) , t ) + d i ( x i ( t ) , t ) x ( 0 ) = x 0 (4) \left\{

    x˙i=ui(t)+f(xi(t),t)+di(xi(t),t)x(0)=x0" role="presentation" style="position: relative;">x˙i=ui(t)+f(xi(t),t)+di(xi(t),t)x(0)=x0
    \right. \tag{4} {x˙ix(0)=ui(t)+f(xi(t),t)+di(xi(t),t)=x0(4)

    2 基于动态事件触发机制的实际固定时间平均一致性

    对于多智能体系统 (4),

    固定时间一致性控制器为
    u i = − c 1 ∑ j = 1 m a i j ( x i − x j ) μ − c 2 ∑ j = 1 m a i j tanh ⁡ ( β ( x i − x j ) ) − c 3 ∑ j = 1 m a i j ( x i − x j ) (6)

    ui=c1j=1maij(xixj)μc2j=1maijtanh(β(xixj))c3j=1maij(xixj)" role="presentation">ui=c1j=1maij(xixj)μc2j=1maijtanh(β(xixj))c3j=1maij(xixj)
    \tag{6} ui=c1j=1maij(xixj)μc2j=1maijtanh(β(xixj))c3j=1maij(xixj)(6)

    测量误差
    e i ( t ) = c 1 ∑ j = 1 m a i j ( x i − x j ) μ + c 2 ∑ j = 1 m a i j tanh ⁡ ( β ( x i − x j ) ) + c 3 ∑ j = 1 m a i j ( x i − x j ) − c 1 ∑ j = 1 m a i j ( x i − x j ) μ − c 2 ∑ j = 1 m a i j tanh ⁡ ( β ( x i − x j ) ) − c 3 ∑ j = 1 m a i j ( x i − x j ) (7)

    ei(t)=c1j=1maij(xixj)μ+c2j=1maijtanh(β(xixj))+c3j=1maij(xixj)c1j=1maij(xixj)μc2j=1maijtanh(β(xixj))c3j=1maij(xixj)" role="presentation">ei(t)=c1j=1maij(xixj)μ+c2j=1maijtanh(β(xixj))+c3j=1maij(xixj)c1j=1maij(xixj)μc2j=1maijtanh(β(xixj))c3j=1maij(xixj)
    \tag{7} ei(t)=c1j=1maij(xixj)μ+c2j=1maijtanh(β(xixj))+c3j=1maij(xixj)c1j=1maij(xixj)μc2j=1maijtanh(β(xixj))c3j=1maij(xixj)(7)

    触发函数
    g i = θ (   ∣ e i ( t ) ∣ − ϵ c 1 ∑ j = 1 m a i j ∣ x i ( t ) − x j ( t ) ∣ μ − ϵ c 2 m − ϵ c 3 ∑ j = 1 m a i j ∣ x i ( t ) − x j ( t ) ∣   ) (8)

    gi=θ( |ei(t)|ϵc1j=1maij|xi(t)xj(t)|μϵc2mϵc3j=1maij|xi(t)xj(t)| )" role="presentation">gi=θ( |ei(t)|ϵc1j=1maij|xi(t)xj(t)|μϵc2mϵc3j=1maij|xi(t)xj(t)| )
    \tag{8} gi=θ( ei(t)ϵc1j=1maijxi(t)xj(t)μϵc2mϵc3j=1maijxi(t)xj(t) )(8)

    内部动态变量
    χ ˙ i ( t ) = (9)

    χ˙i(t)=" role="presentation">χ˙i(t)=
    \tag{9} χ˙i(t)=(9)

    触发条件
    χ ˙ i ( t ) = inf ⁡ { t ∣ g i ( t ) ≥ χ i ( t ) , t > t k i } , k = 0 , 1 , ⋯ (10)

    χ˙i(t)=inf{t|gi(t)χi(t),t>tki},k=0,1," role="presentation">χ˙i(t)=inf{t|gi(t)χi(t),t>tki},k=0,1,
    \tag{10} χ˙i(t)=inf{tgi(t)χi(t),t>tki},k=0,1,(10)

    3 仿真实例

    Main_2022.m 程序效果如下

    第一步,先不考虑触发机制,仅使用了控制器(6)试了下效果。对应程序为 Main_2022.m
    结果发现状态是发散的。

    在这里插入图片描述

    通过调整参数,感觉 c 1 c_1 c1 的影响最大。
    不停修改发现 c 1 = 0.6 c_1 = 0.6 c1=0.6 时系统收敛但振荡。

    在这里插入图片描述

    同时如果修改 c 1 = 0.7 c_1 = 0.7 c1=0.7 时系统就立马发散。
    怀疑要么是参数有问题,要么就是这个控制器(6)还是要配合(7)(8)(9)等来使用的。

    在这里插入图片描述

    另一种解决办法是把干扰项和非线性项给取消掉,这样不修改参数也能达到收敛。

    在这里插入图片描述


    Main_2022_ETC.m 程序效果如下

    接下来加入动态触发机制,对应程序为 Main_2022_ETC.m

    这是有非线性项和干扰项的结果

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    通过上述的一些对比图,发现主要是非线性项在影响结果,再测试一步把非线性项前方的系数缩小100倍,发现结果就比较理想了。

    在这里插入图片描述

    同时再把动态变量的图也给画一下
    在这里插入图片描述

    通过交流,发现把非线性项改回到原来的值也没问题。不过会出现动态变量 χ 5 \chi_5 χ5 小于 0 的情况。

    在这里插入图片描述
    通过测试,发现与初始值也有关系,把智能体 5 的初始值改一下,动态变量 χ 5 \chi_5 χ5 就也变得正常了。

    在这里插入图片描述


    Main_2022_ETCStatic.m 程序效果如下

    在上述基础上,再看下静态触发的效果,对应程序 Main_2022_ETCStatic.m

    在这里插入图片描述


    再加入切换拓扑的情况,对应程序为 Main_2022_ETC_Switch.m

    在这里插入图片描述

  • 相关阅读:
    uboot内存相关命令操作
    Linux CPU之mpstat
    【Vue3】回顾watch,学习watchEffect
    基于OpenHarmony的智能阳台
    Java和Vue项目打包并进行服务器部署
    代码随想录算法训练营第二十四天| 77 组合
    AI调度程序突然很多推送AI任务失败----是redis的锅吗
    AutoTransition(基于深度学习的视频过渡特效推荐) 复现
    app自动化测试之设备交互API详解
    【学习笔记】Python 使用 matplotlib 画图
  • 原文地址:https://blog.csdn.net/weixin_36815313/article/details/127450566