【Paper】2022_切换拓扑下动态事件触发多智能体系统固定时间一致性
孙梦薇, 任璐, 刘剑, 孙长银. 切换拓扑下动态事件触发多智能体系统固定时间一致性. 自动化学报, 2022, 48(4): 1−11 doi: 10.16383/j.aas.
文章目录 2 基于动态事件触发机制的实际固定时间平均一致性3 仿真实例
1.3 问题描述
考虑如下一阶非线性多智能体系统
{ x ˙ i = u i ( t ) + f ( x i ( t ) , t ) + d i ( x i ( t ) , t ) x ( 0 ) = x 0 (4) \left\{\begin{} \dot{x}_i &= u_i(t) + f(x_i(t), t) + d_i(x_i(t), t) \\ x(0) &= x_0 \end{}\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) \begin{} u_i &= -c_1 \sum_{j=1}^m a_{ij} ( x_i - x_j )^\mu \\ &- c_2 \sum_{j=1}^m a_{ij} \tanh( \beta (x_i - x_j) ) \\ &- c_3 \sum_{j=1}^m a_{ij} ( x_i - x_j ) \end{} \tag{6} ui=−c1j=1∑maij(xi−xj)μ−c2j=1∑maijtanh(β(xi−xj))−c3j=1∑maij(xi−xj)(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) \begin{} e_i(t) &= c_1 \sum_{j=1}^m a_{ij} ( x_i - x_j )^\mu \\ &+ c_2 \sum_{j=1}^m a_{ij} \tanh( \beta (x_i - x_j) ) \\ &+ c_3 \sum_{j=1}^m a_{ij} ( x_i - x_j ) \\ &- c_1 \sum_{j=1}^m a_{ij} ( x_i - x_j )^\mu \\ &- c_2 \sum_{j=1}^m a_{ij} \tanh( \beta (x_i - x_j) ) \\ &- c_3 \sum_{j=1}^m a_{ij} ( x_i - x_j ) \end{} \tag{7} ei(t)=c1j=1∑maij(xi−xj)μ+c2j=1∑maijtanh(β(xi−xj))+c3j=1∑maij(xi−xj)−c1j=1∑maij(xi−xj)μ−c2j=1∑maijtanh(β(xi−xj))−c3j=1∑maij(xi−xj)(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) \begin{} g_i &= \theta (~|e_i(t)| - \ c_1 \sum_{j=1}^m a_{ij} | x_i(t) - x_j(t) |^\mu \\ &- \ c_2 m \\ &- \ c_3 \sum_{j=1}^m a_{ij} | x_i(t) - x_j(t) | ~) \end{} \tag{8} gi=θ(∣ei(t)∣−ϵc1j=1∑maij∣xi(t)−xj(t)∣μ−ϵc2m−ϵc3j=1∑maij∣xi(t)−xj(t)∣)(8)
内部动态变量
χ ˙ i ( t ) = (9) \begin{} \dot{\chi}_i (t) &= \end{} \tag{9} χ˙i(t)=(9)
触发条件
χ ˙ i ( t ) = inf { t ∣ g i ( t ) ≥ χ i ( t ) , t > t k i } , k = 0 , 1 , ⋯ (10) \begin{} \dot{\chi}_i (t) &= \inf \{ t | g_i(t) \ge \chi_i(t), t > t_k^i \}, \quad k=0,1,\cdots \end{} \tag{10} χ˙i(t)=inf{t∣gi(t)≥χi(t),t>tki},k=0,1,⋯(10)
3 仿真实例 .m 程序效果如下
第一步,先不考虑触发机制,仅使用了控制器(6)试了下效果。对应程序为 .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)等来使用的。
另一种解决办法是把干扰项和非线性项给取消掉,这样不修改参数也能达到收敛。
.m 程序效果如下
接下来加入动态触发机制,对应程序为 .m
这是有非线性项和干扰项的结果
通过上述的一些对比图,发现主要是非线性项在影响结果,再测试一步把非线性项前方的系数缩小100倍,发现结果就比较理想了。
同时再把动态变量的图也给画一下
通过交流,发现把非线性项改回到原来的值也没问题。不过会出现动态变量 χ 5 \chi_5 χ5 小于 0 的情况。
通过测试,发现与初始值也有关系,把智能体 5 的初始值改一下,动态变量 χ 5 \chi_5 χ5 就也变得正常了。
.m 程序效果如下
在上述基础上,再看下静态触发的效果,对应程序 .m
再加入切换拓扑的情况,对应程序为 .m