多智能体一致性控制中的事件触发方案

在这篇文章中,简要讨论一下事件触发机制。
参考文献:D. V. Dimarogonas, E. Frazzoli and K. H. Johansson, “Distributed Event-Triggered Control for Multi-Agent Systems,” in IEEE Transactions on Automatic Control, vol. 57, no. 5, pp. 1291-1297, May 2012, doi: 10.1109/TAC.2011.2174666.

1 系统模型

由 N 个智能体组成的系统,$x_i$ 表示第 i 个智能体。
给定一个单积分系统:$\dot x_i=u_i$
其中,$u_i$ 是每个智能体的控制输入。
一致性控制律:$u_i=-\sum_{j \in N_i}(x_i-x_j)$
对于不考虑干扰的标准系统,其闭环方程为:$\dot x_i=-\sum_{j \in N_i}(x_i-x_j)$
向量化可以得到:$\dot x = -Lx$
对于这个系统,它们的一致点是初始状态的平均值:$\frac{1}{N} \sum{x_i(0)}$
(注:连通图的 $L$ 秩为 N-1,从 $L$ 行和为 0 及特征值特征向量之间的关系可以得出,元素全相同向量是零特征向量!当系统收敛时,状态变化率归零,也就是 $Lx(t)=0$, 说明 $x(t)$ 必须在 $L$ 的零空间中,而这个相等的常数则恰好等于系统初始状态的平均值。)

2 集中式事件触发方案

对于每个智能体,可以对其定义一个时变误差向量。
指定这样的向量:$e(t)=[e_1(t),\dots,e_N(t)]^T$

事件触发时间序列可以定义为 $t_0,t_1,\dots$ 在这些时刻,控制律得到更新。

那么在两次控制更新之间,采用零阶保持方案:$u(t)=u_i(t) \forall t \in[t_i,t_{i+1})$

鉴于上述定义,状态误差向量被定义为:$e(t)=x(t_i)-x(t)\forall t \in[t_i,t_{i+1})$

在集中式控制方案下,间隔时段内的控制策略为:$u(t)=-Lx(t_i)$

闭环系统由如下给出:$\dot x(t)=-Lx(t_i)=-L(x(t)+e(t))$

定义智能体平均状态:$\bar x(t)=\frac{1}{N}\sum{x_i(t)}$

由于给定的图是无向的,得到 $\dot{\bar x}(t)=\frac{1}{N}\sum_i{\dot{x_i}}=-\frac{1}{N}\sum_i\sum_{j\in N_i}(x_i(t)-x_j(t))-\frac{1}{N}\sum_i\sum_{ i\in N_i}(e_i(t)-e_j(t))=0$

因此:$\bar x(t)=\bar x(0)=\frac{1}{N}\sum_ix_i(0)\equiv \bar x$

一个对于此闭环系统的候选输入稳定状态李雅普诺夫函数:
$V=\frac{1}{2}x^TLx$
$\dot V=x^TL\dot x=-x^TLL(x+e)=-||Lx||^2-x^TLLe$

简单放缩:$\dot V<=-||Lx||^2+||Lx||||L||||e||$

使得 e 满足:$||e||<=\sigma \frac{||Lx||}{||L||}$

使得 $\sigma \in (0,1)$, 得到 $\dot V<=(\sigma-1)||Lx||^2$

事件触发得到确定
(注:无向图双重求和会互相抵消。)
事件时间间隔 ${t_{k+1}-t_k}$ 其下界隐含地由严格正的时间 $\tau=\frac{\sigma}{||L||(1+\sigma)}$ 给出
定义:$\frac{||e||}{||Lx||}$ 为误差相对于状态分散程度的比例,对其求导
$\frac{d}{dt}\frac{||e||}{||Lx||}<=(1+(\frac{||L||||e||}{||Lx||})^2)$
定义 $y=\frac{||e||}{||Lx||}$, $\dot y<=(1+||L||y)^2$
因此,y 满足界 $y(t)<=\phi(t,\phi_0)$ ,后者是 $\dot \phi = (1+||L||\phi)^2$ 在初始条件 $\phi(0,\phi_0)=\phi_0$ 下的解

因此,事件间隔事件下界被时间 $\tau$ 界定,$\tau$ 满足 $\phi(\tau,0)=\frac{\sigma}{||L||}$
上述微分方程的解为: $\phi (\tau, 0)=\frac{\tau}{1-\tau||L||}$
得:$\tau=\frac{\sigma}{||L||(1+\sigma)}$

(注:使用微分方程求出最小增长时间)

3 分布式事件触发方案

每个智能体的误差定义:
$e_i(t) = x_i\left(t_k^i\right) - x_i(t), \quad t \in \left[t_k^i, t_{k+1}^i\right).$

控制率:
$u_i(t) = -\sum_{j \in N_i} \left(x_i\left(t_k^i\right) - x_j\left(t_{k’}^j(t)\right)\right)$
$x_j(t_{k’}^j(t)) = x_j(t) + e_j(t)$

则:$\dot{x}i(t) = -\sum{j \in N_i} \left(x_i(t_k^i) - x_j(t_{k’}^j(t))\right) = -\sum_{j \in N_i} \left(x_i(t) - x_j(t)\right) - \sum_{j \in N_i} \left(e_i(t) - e_j(t)\right)$
$\dot{x}(t) = -L (x (t) + e (t))$

定义:
$z_i(t) = \sum_{j \in N_i} (x_i(t) - x_j(t)), \quad i = 1, \dots, N.$

选取:
$\dot{V} = x^T L \dot{x} = -x^T L (Lx + Le) = -z^T z - z^T Le.$
$\dot{V} = -\sum_i z_i^2 - \sum_{i} \sum_{j \in N_i} z_i(e_i - e_j) = -\sum_i z_i^2 - \sum_i |N_i| z_i e_i + \sum_i \sum_{j \in N_i} z_i e_j.$

利用杨不等式:
$\dot{V} \leq -\sum_i z_i^2 + \sum_i a |N_i| z_i^2 + \sum_i \frac{1}{2a} |N_i| e_i^2 + \sum_i \sum_{j \in N_i} \frac{1}{2a} e_j^2$

得到:$\sum_{i} \sum_{j \in N_i} \frac{1}{2 a} e_j^2 = \sum_{i} \sum_{j \in N_i} \frac{1}{2 a} e_i^2 = \sum_i (1/2 a) |N_i| e_i^2$

因此:$\dot{V} \leq -\sum_i (1 - a |N_i|) z_i^2 + \sum_i (1/a) |N_i| e_i^2$

满足:$e_i^2 \leq \frac{\sigma_i a (1 - a |N_i|)}{|N_i|} z_i^2$

得到:$\dot{V} \leq \sum_i (\sigma_i - 1)(1 - a |N_i|) z_i^2$

事件触发条件为:$e_i^2 = \frac{\sigma_i a (1 - a |N_i|)}{|N_i|} z_i^2$

(注:证明方法与集中式类似,不做赘述)

(注:与集中式控制的关键区别在于状态向量的动态方程)


多智能体一致性控制中的事件触发方案
http://neutrino.top/2025/06/04/多智能体一致性控制中的事件触发方案/
作者
Neutrin1
发布于
2025年6月4日
许可协议