孙梦薇, 任璐, 刘剑, 孙长银. 切换拓扑下动态事件触发多智能体系统固定时间一致性. 自动化学报, 2022, 48(4): 1−11 doi: 10.16383/j.aas.c211123
考虑如下一阶非线性多智能体系统
{
x
˙
i
=
u
i
(
t
)
+
f
(
x
i
(
t
)
,
t
)
+
d
i
(
x
i
(
t
)
,
t
)
x
(
0
)
=
x
0
(4)
\left\{
对于多智能体系统 (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)
测量误差
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)
触发函数
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)
内部动态变量
χ
˙
i
(
t
)
=
(9)
触发条件
χ
˙
i
(
t
)
=
inf
{
t
∣
g
i
(
t
)
≥
χ
i
(
t
)
,
t
>
t
k
i
}
,
k
=
0
,
1
,
⋯
(10)
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
