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

【【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˙i?x(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??=?c1?j=1∑m?aij?(xi??xj?)μ?c2?j=1∑m?aij?tanh(β(xi??xj?))?c3?j=1∑m?aij?(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)?=c1?j=1∑m?aij?(xi??xj?)μ+c2?j=1∑m?aij?tanh(β(xi??xj?))+c3?j=1∑m?aij?(xi??xj?)?c1?j=1∑m?aij?(xi??xj?)μ?c2?j=1∑m?aij?tanh(β(xi??xj?))?c3?j=1∑m?aij?(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)∣??c1?j=1∑m?aij?∣xi?(t)?xj?(t)∣μ??c2?m??c3?j=1∑m?aij?∣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 的情况 。