文章快速检索 高级检索

1. 大连理工大学 工业装备智能控制与优化教育部重点实验室, 大连 116024;
2. 大连理工大学 控制科学与工程学院, 大连 116024;
3. 埃塞克斯大学 计算机科学与电子工程学院, 克彻斯特 CO4 3SQ

Event-triggered optimal containment control for heterogeneous multi-agent systems
WANG Dong1,2, WANG Zehua1,2, LIU Yang1,2, GU Dongbing3, WANG Wei1,2
1. Key Laboratory of Intelligent Control and Optimization for Industrial Equipment, Ministry of Eduction, Dalian University of Technology, Dalian 116024, China;
2. School of Control Science and Engineering, Dalian University of Technology, Dalian 116024, China;
3. School of Computer Science and Electronic Engineering, University of Essex Wivenhoe Park, Colchester CO4 3SQ, United Kingdom
Abstract: An edge-based event-triggered optimal control algorithm is proposed to solve the optimal output containment problem of general linear heterogeneous multi-agent systems. The proposed algorithm guarantees that the outputs of all followers enter into the convex hull formed by the outputs of leaders. At the same time, it can also render that the closed-loop system achieves the optimal performance and minimize the cost of control. Considering that the information of the leaders is unavailable to a part of followers, a distributed edge-based event-triggered observer is presented to estimate the trajectory for the interior point in the convex hull. In addition, a weighted performance function is designed to transform the output containment problem into the optimal state-feedback design problem. Based on the proposed function, the Bellman equation and algebraic Riccati equation are derived to solve the optimal output containment control problem of heterogeneous multi-agent systems. Multiple autonomous robots are employed as a group of multi-agent systems to verify the effectiveness of the proposed algorithm.
Keywords: multi-agent systems    optimal containment control    event-triggered control    Bellman equation    distributed observe

1 研究基础及问题描述 1.1 图论

1.2 问题描述

 $\left\{ {\begin{array}{*{20}{l}} {{{\mathit{\boldsymbol{\dot x}}}_i}(t) = {\mathit{\boldsymbol{A}}_i}{\mathit{\boldsymbol{x}}_i}(t) + {\mathit{\boldsymbol{B}}_i}{\mathit{\boldsymbol{u}}_i}(t)\;\:i \in \mathcal{F} }\\ {{\mathit{\boldsymbol{y}}_i}(t) = {\mathit{\boldsymbol{C}}_i}{\mathit{\boldsymbol{x}}_i}(t)} \end{array}} \right.$ （1）

 $\left\{ {\begin{array}{*{20}{l}} {{{\mathit{\boldsymbol{\dot v}}}_k}(t) = \mathit{\boldsymbol{S}}{\mathit{\boldsymbol{v}}_k}(t)\;\:k \in \mathcal{L}}\\ {{\mathit{\boldsymbol{y}}_k}(t) = \mathit{\boldsymbol{F}}{\mathit{\boldsymbol{v}}_k}(t)} \end{array}} \right.$ （2）

 ${\mathit{\boldsymbol{e}}_i}(t) = \sum\limits_{j \in {\mathcal{N}_i}} {{a_{ij}}} ({\mathit{\boldsymbol{y}}_i} - {\mathit{\boldsymbol{y}}_j}) + \sum\limits_{k = M + 1}^N {{\delta _{k,i}}} ({\mathit{\boldsymbol{y}}_i} - {\mathit{\boldsymbol{y}}_k})$ （3）

2 基于边的事件触发观测器设计

 $\left\{ \begin{array}{l} {{\mathit{\boldsymbol{\dot z}}}_i}(t) = \mathit{\boldsymbol{S}}{\mathit{\boldsymbol{z}}_i}(t) + \mathit{\boldsymbol{T}}{\mathit{\boldsymbol{\mu }}_i}(t)\\ {\mathit{\boldsymbol{\mu }}_i}(t) = \mathit{\boldsymbol{uF}}\sum\limits_{k = M + 1}^N {{\delta _{k,i}}} {{\mathit{\boldsymbol{\bar z}}}_{k,i}}(t) + \mathit{\boldsymbol{uF}}\sum\limits_{j \in {N_i}} {{a_{ij}}} {{\mathit{\boldsymbol{\bar z}}}_{j,i}}(t) \end{array} \right.$ （4）

 $\begin{array}{*{20}{c}} {{{\mathit{\boldsymbol{\dot {\bar z}}}}_{k,i}}(t) = \mathit{\boldsymbol{S}}{{\mathit{\boldsymbol{\bar z}}}_{k,i}}(t) + \mathit{\boldsymbol{F}}{\mathit{\boldsymbol{\mu }}_i}(t)}&{k \in \mathcal{R}} \end{array}$
 $\begin{array}{*{20}{c}} {{{\mathit{\boldsymbol{\dot {\bar z}}}}_{j,i}}(t) = \mathit{\boldsymbol{S}}{{\mathit{\boldsymbol{\bar z}}}_{j,i}}(t) + \mathit{\boldsymbol{F}}{\mathit{\boldsymbol{\mu }}_i}(t)}&{j \in \mathcal{L}} \end{array}$

 $\left\{ {\begin{array}{*{20}{l}} {{ \epsilon _{k,i}}(t) = {{\mathit{\boldsymbol{\bar z}}}_{k,i}}(t) - {\mathit{\boldsymbol{z}}_{k,i}}(t)}&{t \in [t_l^{k,i},t_{l + 1}^{k,i})}\\ {{ \epsilon _{j,i}}(t) = {{\mathit{\boldsymbol{\bar z}}}_{j,i}}(t) - {\mathit{\boldsymbol{z}}_{j,i}}(t)}&{t \in [t_l^{j,i},t_{l + 1}^{j,i})} \end{array}} \right.$ （5）

 ${\mathit{\boldsymbol{\xi }}_i}(t) = \sum\limits_{j \in {N_i}} {{a_{ij}}} ({\mathit{\boldsymbol{z}}_i} - {\mathit{\boldsymbol{z}}_j}) + \sum\limits_{k = M + 1}^N {{\delta _{k,i}}} ({\mathit{\boldsymbol{z}}_i} - {\mathit{\boldsymbol{v}}_k})$

 $\mathit{\boldsymbol{\xi }}(t) = \sum\limits_{k = M + 1}^N {({\mathit{\boldsymbol{H}}_k} \otimes {\mathit{\boldsymbol{I}}_N})(\mathit{\boldsymbol{z}}(t) - {{\bf{1}}_n} \otimes {\mathit{\boldsymbol{v}}_k}(t))}$

 $\mathit{\boldsymbol{\dot \xi }}(t) = ({\mathit{\boldsymbol{I}}_N} \otimes \mathit{\boldsymbol{S}})\mathit{\boldsymbol{\xi }}(t) + u\sum\limits_{k = M + 1}^N {({\mathit{\boldsymbol{H}}_k} \otimes \mathit{\boldsymbol{T}})} \mathit{\boldsymbol{\mu }}(t)$ （6）

 $t_{l + 1}^{ji} = {\rm{inf}}\{ t > t_l^{ji}|\left\| {{ \epsilon _{ji}}(t)} \right\| > {\alpha _{ji}}{{\rm{e}}^{ - \beta t}}\}$ （7）

t→∞时，观测器状态ξi(t)能够估计到领航者凸包内某一内点的轨迹，也就是limt→∞ξi(t)=0。

 $\left\{ {\begin{array}{*{20}{l}} {{{\dot \epsilon }_{k,i}}(t) = {{\mathit{\boldsymbol{\dot {\bar z}}}}_{k,i}}(t) - {{\mathit{\boldsymbol{\bar z}}}_{k,i}}(t) = \mathit{\boldsymbol{S}}{ \epsilon _{k,i}}(t)}\\ {{{\dot \epsilon }_{j,i}}(t) = {{\mathit{\boldsymbol{\dot {\bar z}}}}_{j,i}}(t) - {{\mathit{\boldsymbol{\bar z}}}_{j,i}}(t) = \mathit{\boldsymbol{S}}{ \epsilon _{j,i}}(t) + \mathit{\boldsymbol{F}}{\mathit{\boldsymbol{\mu }}_j}(t)} \end{array}} \right.$ （8）

 $\begin{array}{*{20}{l}} {\mathit{\boldsymbol{\dot \xi }}(t) = \left( {{\mathit{\boldsymbol{I}}_N} \otimes \mathit{\boldsymbol{S}} + u\sum\limits_{k = M + 1}^N ( {\mathit{\boldsymbol{H}}_k} \otimes \mathit{\boldsymbol{TF}})} \right)\mathit{\boldsymbol{\xi }}(t) + }\\ {{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} ({\mathit{\boldsymbol{I}}_N} \otimes \mathit{\boldsymbol{TF}}){\rm{d}}(t)} \end{array}$ （9）

 $\mathit{\boldsymbol{\xi }}(t) = {{\rm{e}}^{\mathit{\boldsymbol{\bar M}}t}}\mathit{\boldsymbol{\xi }}(0) + \int_0^t {{{\rm{e}}^{\mathit{\boldsymbol{\bar M}}(t - \tau )}}} ({\mathit{\boldsymbol{I}}_N} \otimes \mathit{\boldsymbol{TF}}) \epsilon (\tau ){\rm{d}}\tau$ （10）

 $\begin{array}{l} \left\| {\mathit{\boldsymbol{\xi }}(t)} \right\| \le \varsigma {{\rm{e}}^{ - \rho t}}\left\| {\mathit{\boldsymbol{\xi }}(0)} \right\| + \\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \varsigma \left\| {\int_0^t {{{\rm{e}}^{ - \rho (t - \tau )}}} ({\mathit{\boldsymbol{I}}_N} \otimes \mathit{\boldsymbol{TF}}) \epsilon (\tau ){\rm{d}}\tau } \right\| \le \\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \varsigma {{\rm{e}}^{ - \rho t}}\left\| {\mathit{\boldsymbol{\xi }}(0)} \right\| + \left\| {\mathit{\boldsymbol{TF}}} \right\|\int_0^t {{{\rm{e}}^{ - \rho (t - \tau )}}} \left\| { \epsilon (\tau )} \right\|{\rm{d}}\tau \le \\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \varsigma {{\rm{e}}^{ - \rho t}}\left\| {\mathit{\boldsymbol{\xi }}(0)} \right\| + \varsigma \left\| {\mathit{\boldsymbol{TF}}} \right\|\sum\limits_i^M {\int_0^t {{{\rm{e}}^{M(t - \tau )}}} } \left\| {{ \epsilon _i}(\tau )} \right\|{\rm{d}}\tau \end{array}$

 $\begin{array}{*{20}{c}} {\left\| {\mathit{\boldsymbol{\xi }}(t)} \right\| \le \varsigma \left\| {\mathit{\boldsymbol{TF}}} \right\|\sum\limits_{i = 1}^M {\int_0^t {{{\rm{e}}^{ - \rho (t - \tau )}}} } \left\| {\sum\limits_{j \in {\mathcal{N} _i}} {{a_{ij}}} } \right\| \cdot }\\ {\left\| {{ \epsilon _{ji}}(\tau )} \right\|{\rm{d}}\tau + \varsigma {{\rm{e}}^{ - \rho t}}\left\| {\mathit{\boldsymbol{\xi }}(0)} \right\|} \end{array}$

 $\begin{array}{l} \left\| {\mathit{\boldsymbol{\xi }}(t)} \right\| \le \varsigma \left\| {\mathit{\boldsymbol{TF}}} \right\|\sum\limits_{i = 1}^M {{\kappa _i}} {(\beta - \rho )^{ - 1}}({{\rm{e}}^{ - \beta t}} - {{\rm{e}}^{ - \rho t}}) + \\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \varsigma {{\rm{e}}^{ - \rho t}}\left\| {\mathit{\boldsymbol{\xi }}(0)} \right\| \end{array}$

ϵj, i的定义，可知:

 $\left\| {{ \epsilon _{j,i}}(t)} \right\| \le \int_{t_l^{ij}}^t {{\rm{exp}}} \left\| \mathit{\boldsymbol{S}} \right\|(t - \tau ))\left\| {\mathit{\boldsymbol{F}}{\mathit{\boldsymbol{\mu }}_j}(\tau )} \right\|{\rm{d}}\tau$ （11）

 $\begin{array}{*{20}{c}} {\left\| {\mathit{\boldsymbol{F}}{\mathit{\boldsymbol{\mu }}_j}(t)} \right\| \le \left\| {\mathit{\boldsymbol{F}}{\mathit{\boldsymbol{\xi }}_j}(t)} \right\| + \left\| {\mathit{\boldsymbol{F}}\sum\limits_{j \in {N_i}} {{a_{ij}}} { \epsilon _{j,i}}(t)} \right\| \le }\\ {\left\| {\mathit{\boldsymbol{F}}{\mathit{\boldsymbol{\xi }}_j}(t)} \right\| + \sum\limits_{j \in {N_i}} {\left\| {{\alpha _{ji}}} \right\|} {{\rm{e}}^{ - \beta t}} \le {\sigma _i}{{\rm{e}}^{ - \beta t}}} \end{array}$

 $\left\| {{ \epsilon _{j,i}}(t)} \right\| \le \frac{{{{\rm{e}}^{ - \beta t}}}}{{\left\| \mathit{\boldsymbol{S}} \right\| + \beta }}({{\rm{e}}^{(\left\| \mathit{\boldsymbol{S}} \right\| + \beta )(t - t_k^{ii})}} - 1)$

 $t_{l + 1}^{ji} - t_l^{ji} \ge {\rm{ln}}\left( {\frac{{{\alpha _{ji}}(\left\| \mathit{\boldsymbol{S}} \right\| + \beta ) + 1}}{{{\sigma _i}}}} \right)/(\left\| \mathit{\boldsymbol{S}} \right\| + \beta ) > 0$ （12）

3 最优控制器设计

 ${\mathit{\boldsymbol{\dot \eta }}_i}(t) = \left[ {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{A}}_i}}&{\bf{0}}\\ {\bf{0}}&\mathit{\boldsymbol{S}} \end{array}} \right]{\mathit{\boldsymbol{\eta }}_i}(t) + \left[ {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{B}}_i}}\\ {\bf{0}} \end{array}} \right]{\mathit{\boldsymbol{u}}_i}(t) + \left[ {\begin{array}{*{20}{l}} {\bf{0}}\\ \mathit{\boldsymbol{T}} \end{array}} \right]{\mathit{\boldsymbol{\mu }}_i}(t)$ （13）

 ${\mathit{\boldsymbol{\chi }}_i}(t) = ({\mathit{\boldsymbol{I}}_n} - {\mathit{\boldsymbol{I}}_n}){\mathit{\boldsymbol{\eta }}_i}(t)$ （14）

 $\begin{array}{l} {\mathit{\boldsymbol{u}}_i}(t) = {\mathit{\boldsymbol{K}}_{i1}}{\mathit{\boldsymbol{x}}_i}(t) + {\mathit{\boldsymbol{K}}_{i2}}{\mathit{\boldsymbol{z}}_i}(t) + {\mathit{\boldsymbol{c}}_i}(t) = \\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} [{\mathit{\boldsymbol{K}}_{i1}}\;\:{\mathit{\boldsymbol{K}}_{i2}}]{\mathit{\boldsymbol{\eta }}_i}(t) + {\mathit{\boldsymbol{c}}_i}(t) = {\mathit{\boldsymbol{K}}_i}{\mathit{\boldsymbol{\eta }}_i}(t) + {\mathit{\boldsymbol{c}}_i}(t) \end{array}$ （15）

 $\begin{array}{l} V_i^*(t) = \int_t^\infty {{{\rm{e}}^{ - {\gamma _i}(\tau t)}}} \mathit{\boldsymbol{\chi }}_i^{\rm{T}}(\tau ){\mathit{\boldsymbol{Q}}_i}{\mathit{\boldsymbol{\chi }}_i}(\tau ){\rm{d}}\tau + \\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \int_t^\infty {{{\rm{e}}^{ - {\gamma _i}(\tau - t)}}} \mathit{\boldsymbol{u}}_i^{\rm{T}}(\tau ){\mathit{\boldsymbol{R}}_i}{\mathit{\boldsymbol{u}}_i}(\tau ){\rm{d}}\tau \end{array}$ （16）

 $\begin{array}{*{20}{l}} {{\bf{0}} = \mathit{\boldsymbol{ \boldsymbol{\varGamma} }}_i^{\rm{T}}\mathit{\boldsymbol{P}}_i^* + \mathit{\boldsymbol{P}}_i^*{\mathit{\boldsymbol{ \boldsymbol{\varGamma} }}_i} - {\gamma _i}\mathit{\boldsymbol{P}}_i^* - }\\ {{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \mathit{\boldsymbol{P}}_i^*{\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_i}\mathit{\boldsymbol{R}}_i^{ - 1}\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_i^{\rm{T}}\mathit{\boldsymbol{P}}_i^* + \mathit{\boldsymbol{C}}_i^{\rm{T}}{\mathit{\boldsymbol{Q}}_i}{\mathit{\boldsymbol{C}}_i}} \end{array}$ （17a）
 $\begin{array}{*{20}{l}} {\mathit{\boldsymbol{\dot M}}_i^* = - (\mathit{\boldsymbol{ \boldsymbol{\varGamma} }}_i^{\rm{T}} - \mathit{\boldsymbol{P}}_i^*{\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_i}\mathit{\boldsymbol{R}}_i^{ - 1}\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_i^{\rm{T}})\mathit{\boldsymbol{M}}_i^* - }\\ {{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \mathit{\boldsymbol{P}}_i^*{\mathit{\boldsymbol{ \boldsymbol{\varPsi} }}_i}{\mathit{\boldsymbol{\mu }}_i} + {\gamma _i}\mathit{\boldsymbol{M}}_i^*} \end{array}$ （17b）
 $\begin{array}{*{20}{l}} {\mathit{\boldsymbol{\dot N}}_i^* = - 2{{(\mathit{\boldsymbol{M}}_i^*)}^{\rm{T}}}{\mathit{\boldsymbol{ \boldsymbol{\varPsi} }}_i}{\mathit{\boldsymbol{\mu }}_i} + {{(\mathit{\boldsymbol{M}}_i^*)}^{\rm{T}}}{\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_i}\mathit{\boldsymbol{R}}_i^{ - 1}}\\ {{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_i^{\rm{T}}\mathit{\boldsymbol{M}}_i^* + {\gamma _i}\mathit{\boldsymbol{N}}_i^*} \end{array}$ （17c）

1) 包含误差χi(t)能渐近收敛到原点，即实现包含控制。

2) 最优控制器设计为ui*(t)=－Ri－1·(Pi*ηi(t)+Mi*), 且性能函数的最小值为

 $\begin{array}{*{20}{c}} {{J_i}({\mathit{\boldsymbol{x}}_i}(0),\mathit{\boldsymbol{u}}_i^*) = \frac{1}{2}(\mathit{\boldsymbol{\eta }}_i^{\rm{T}}(0)\mathit{\boldsymbol{P}}_i^*{\mathit{\boldsymbol{\eta }}_i}(0) + }\\ {{\mathit{\boldsymbol{N}}_i}(0)) + \mathit{\boldsymbol{\eta }}_i^{\rm{T}}(0){\mathit{\boldsymbol{M}}_i}(0)} \end{array}$

 ${V_i}(t) = \frac{1}{2}(\mathit{\boldsymbol{\eta }}_i^{\rm{T}}(t){\mathit{\boldsymbol{P}}_i}{\mathit{\boldsymbol{\eta }}_i}(t) + 2\mathit{\boldsymbol{\eta }}_i^{\rm{T}}(t){\mathit{\boldsymbol{M}}_i}(t) + {\mathit{\boldsymbol{N}}_i}(t))$ （18）

 ${\mathit{\boldsymbol{M}}_i}(t) = \int_0^\infty {{{\rm{e}}^{ - \gamma t}}} (\int_0^\tau {{{\rm{e}}^{{{\mathit{\boldsymbol{\bar A}}}_{{i^\tau }}}}}} \mathit{\boldsymbol{\bar T}}{\mathit{\boldsymbol{\mu }}_i}(\tau ){\rm{d}}\tau ){\rm{d}}t$
 ${\mathit{\boldsymbol{N}}_i}(t) = \mathit{\boldsymbol{M}}_i^{\rm{T}}(t){\mathit{\boldsymbol{M}}_i}(t)$
 ${{\mathit{\boldsymbol{\bar A}}}_i} = \left[ {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{A}}_i} + {\mathit{\boldsymbol{B}}_i}{\mathit{\boldsymbol{K}}_i}}&{\bf{0}}\\ {\bf{0}}&\mathit{\boldsymbol{S}} \end{array}} \right],\mathit{\boldsymbol{\bar T}} = \left[ {\begin{array}{*{20}{l}} {\bf{0}}\\ \mathit{\boldsymbol{T}} \end{array}} \right]$

 $\begin{array}{l} H({\mathit{\boldsymbol{y}}_i}(t),{\mathit{\boldsymbol{u}}_i}(t)) = \frac{{{\rm{d}}{V_i}(t)}}{{{\rm{d}}t}} - {\gamma _i}{V_i}(t) + \\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \frac{1}{2}\mathit{\boldsymbol{y}}_i^{\rm{T}}(t){\mathit{\boldsymbol{Q}}_i}{\mathit{\boldsymbol{y}}_i}(t) + \mathit{\boldsymbol{u}}_i^{\rm{T}}(t){\mathit{\boldsymbol{R}}_i}{\mathit{\boldsymbol{u}}_i}(t) = \\ \begin{array}{*{20}{l}} {{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \mathit{\boldsymbol{\eta }}_i^{\rm{T}}(t){\mathit{\boldsymbol{P}}_i}{\mathit{\boldsymbol{\eta }}_i}(t) + 2\mathit{\boldsymbol{\eta }}_i^{\rm{T}}(t){\mathit{\boldsymbol{M}}_i}(t) + 2\mathit{\boldsymbol{M}}_i^{\rm{T}}(t){{\dot \eta }_i}(t) + }\\ {{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {{\dot N}_i}(t) - {\gamma _i}(\mathit{\boldsymbol{\dot \eta }}_i^{\rm{T}}(t){\mathit{\boldsymbol{P}}_i}{\mathit{\boldsymbol{\eta }}_i}(t) + 2\mathit{\boldsymbol{\eta }}_i^{\rm{T}}(t){\mathit{\boldsymbol{M}}_i}(t) + }\\ {{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\mathit{\boldsymbol{N}}_i}(t)) + \frac{1}{2}\mathit{\boldsymbol{y}}_i^{\rm{T}}(t){\mathit{\boldsymbol{Q}}_i}{\mathit{\boldsymbol{y}}_i}(t) + \mathit{\boldsymbol{u}}_i^{\rm{T}}(t){\mathit{\boldsymbol{R}}_i}{\mathit{\boldsymbol{u}}_i}(t)} \end{array} \end{array}$ （19）

 $\begin{array}{l} {{\dot V}_i}(t) = \mathit{\boldsymbol{\eta }}_i^{\rm{T}}(t){\mathit{\boldsymbol{P}}_i}{{\mathit{\boldsymbol{\dot \eta }}}_i}(t) + 2\mathit{\boldsymbol{\eta }}_i^{\rm{T}}(t){{\mathit{\boldsymbol{\dot M}}}_i}(t) + \\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} 2\mathit{\boldsymbol{M}}_i^{\rm{T}}(t){{\mathit{\boldsymbol{\dot \eta }}}_i}(t) + {{\mathit{\boldsymbol{\dot N}}}_i}(t) \end{array}$ （20）

 ${\dot V_i}(t) \to \mathit{\boldsymbol{\eta }}_i^{\rm{T}}(t)({\mathit{\boldsymbol{P}}_i}{\mathit{\boldsymbol{ \boldsymbol{\varPsi} }}_i} + \mathit{\boldsymbol{ \boldsymbol{\varPsi} }}_i^{\rm{T}}{\mathit{\boldsymbol{P}}_i}){\mathit{\boldsymbol{\eta }}_i}(t) \le 0$

 $\begin{array}{l} {J_i}({\mathit{\boldsymbol{x}}_i}(0),\mathit{\boldsymbol{u}}_i^*) = \int_0 {{{\rm{e}}^{ - {\gamma _i}\tau }}} \mathit{\boldsymbol{\chi }}_i^{\rm{T}}(\tau ){\mathit{\boldsymbol{Q}}_i}{\mathit{\boldsymbol{\chi }}_i}(\tau ){\rm{d}}\tau + \\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \int_0^\infty {{{\rm{e}}^{ - {\gamma _i}\tau }}} \mathit{\boldsymbol{u}}_i^{\rm{T}}(\tau ){\mathit{\boldsymbol{R}}_i}{\mathit{\boldsymbol{u}}_i}(\tau ){\rm{d}}\tau + \int_0^\infty {{{\bar V}_i}} (\tau ){\rm{d}}\tau + \\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {{\bar V}_i}(0) - {{\bar V}_i}(\infty ) \end{array}$ （21）

 $\begin{array}{l} {J_i}({\mathit{\boldsymbol{x}}_i}(0),\mathit{\boldsymbol{u}}_i^*) = \frac{1}{2}\mathit{\boldsymbol{\eta }}_i^{\rm{T}}(0)\mathit{\boldsymbol{P}}_i^*{\mathit{\boldsymbol{\eta }}_i}(0) + {\mathit{\boldsymbol{N}}_i}(0) + \\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \mathit{\boldsymbol{\eta }}_i^{\rm{T}}(0){\mathit{\boldsymbol{M}}_i}(0) \end{array}$

4 仿真分析

 ${\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}_i}{\mathit{\boldsymbol{\dot x}}_i} + {\mathit{\boldsymbol{ \boldsymbol{\varDelta} }}_i}{\mathit{\boldsymbol{x}}_i} = {\mathit{\boldsymbol{ \boldsymbol{\varPsi} }}_i}{\mathit{\boldsymbol{\delta }}_{iS}}$ （22）

 ${\mathit{\boldsymbol{ \boldsymbol{\varTheta} }}_i} = \left[ {\begin{array}{*{20}{c}} {{m_i} - {{\bar z}_{i{{\dot {\bar w}}_i}}}}&{{{\bar Z}_{i{{\dot {\bar q}}_i}}}}&0&0\\ { - {{\bar M}_{i{{\dot {\bar w}}_i}}}}&{{I_{iy}} - {{\bar M}_{i{{\dot {\bar w}}_i}}}}&0&0\\ 0&0&1&0\\ 0&0&0&1 \end{array}} \right]$
 ${\mathit{\boldsymbol{ \boldsymbol{\varDelta} }}_i} = \left[ {\begin{array}{*{20}{c}} { - {{\bar z}_{i{{\bar w}_i}}}}&{{m_i} - {{\bar u}_{i0}}{{\bar Z}_{i{{\bar q}_i}}}}&0&0\\ { - {M_{i{{\bar w}_i}}}}&{ - {M_{i{{\bar q}_i}}}}&{{M_{i{{\bar \theta }_i}}}}&0\\ 0&{ - 1}&0&0\\ { - 1}&0&{{{\bar u}_{i0}}}&0 \end{array}} \right]$

 ${\mathit{\boldsymbol{\dot x}}_i} = {\mathit{\boldsymbol{A}}_i}{\mathit{\boldsymbol{x}}_i} + {\mathit{\boldsymbol{B}}_i}{\mathit{\boldsymbol{u}}_i}$

 参数 跟随者1, 2 跟随者3, 4 mi 4.154 8 3.57 Iiy 0.573 2 0.615 2 Miωi 0.003 14 0.003 46 ${{M}_{i{{{\dot{\bar{\omega }}}}_{i}}}}$ -0.000 825 -0.000 134 Miqi -0.001 117 -0.002 24 Miθi 1.125 2.345 6 Ziqi -0.002 38 -0.001 25 ui0 1 2 ziω -0.008 73 -0.005 68

 $\begin{array}{l} {\mathit{\boldsymbol{A}}_1} = {\mathit{\boldsymbol{A}}_2} = \\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \left[ {\begin{array}{*{20}{c}} { - 0.002{\kern 1pt} {\kern 1pt} {\kern 1pt} 1}&{ - 0.999{\kern 1pt} {\kern 1pt} {\kern 1pt} 2}&0&0\\ {0.005}&{ - 0.000{\kern 1pt} {\kern 1pt} {\kern 1pt} 8}&{ - 0.000{\kern 1pt} {\kern 1pt} {\kern 1pt} 8}&0\\ 0&1&0&0\\ 1&0&0&{ - 1} \end{array}} \right] \end{array}$
 ${\mathit{\boldsymbol{A}}_3} = {\mathit{\boldsymbol{A}}_4} = \left[ {\begin{array}{*{20}{c}} { - 1.7}&{0.63}&0&0\\ { - 16.09}&{73.19}&0&0\\ 1&0&{ - 3.6}&0\\ 0&1&0&0 \end{array}} \right]$
 ${{\mathit{\boldsymbol{B}}_1} = {\mathit{\boldsymbol{B}}_2} = \left[ {\begin{array}{*{20}{l}} {0.10}&{3.52}&0&0 \end{array}} \right]}$
 ${{\mathit{\boldsymbol{C}}_1} = {\mathit{\boldsymbol{C}}_2} = \left[ {\begin{array}{*{20}{c}} { - 0.1}&{1.2}&0&0\\ {0.4}&{1.4}&0&0 \end{array}} \right]}$
 ${{\mathit{\boldsymbol{B}}_3} = {\mathit{\boldsymbol{B}}_4} = \left[ {\begin{array}{*{20}{l}} {0.081{\kern 1pt} {\kern 1pt} {\kern 1pt} 6}&0&0&0 \end{array}} \right]}$
 ${{\mathit{\boldsymbol{C}}_3} = {\mathit{\boldsymbol{C}}_4} = \left[ {\begin{array}{*{20}{c}} { - 0.5}&{1.3}&0&0\\ {0.2}&{1.4}&0&0 \end{array}} \right]}$

 $\mathit{\boldsymbol{S}} = \left[ {\begin{array}{*{20}{c}} 1&{ - 3}&0&0\\ 1&{ - 1}&0&0\\ 0&0&0&1\\ 0&0&{ - 1}&0 \end{array}} \right],\mathit{\boldsymbol{T}} = \left[ {\begin{array}{*{20}{c}} 1&0\\ 0&1\\ 0&0\\ 0&0 \end{array}} \right],\mathit{\boldsymbol{R}} = {\mathit{\boldsymbol{T}}^{\rm{T}}}$

 图 1 通信拓扑图 Fig. 1 Communication topology

 $\begin{array}{l} \mathit{\boldsymbol{F}} = \\ \left[ {\begin{array}{*{20}{c}} { - 0.507{\kern 1pt} {\kern 1pt} 9}&{ - 0.163{\kern 1pt} {\kern 1pt} 2}&{0.102{\kern 1pt} {\kern 1pt} 1}&{ - 0.057{\kern 1pt} {\kern 1pt} 3}\\ { - 0.220{\kern 1pt} {\kern 1pt} 5}&{ - 0.219{\kern 1pt} {\kern 1pt} 1}&{ - 0.067{\kern 1pt} {\kern 1pt} 3}&{ - 0.481{\kern 1pt} {\kern 1pt} 4} \end{array}} \right] \end{array}$

 ${{Q_1} = {Q_2} = 90,{R_1} = {R_2} = 0.09,{\gamma _1} = {\gamma _2} = 0.04}$
 ${{Q_3} = {Q_4} = 80,{R_3} = {R_4} = 0.08,{\gamma _3} = {\gamma _4} = 0.03}$

 $\begin{array}{*{20}{l}} {{\mathit{\boldsymbol{K}}_{11}} = {\mathit{\boldsymbol{K}}_{21}} = }\\ {{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} - [34.480{\kern 1pt} {\kern 1pt} {\kern 1pt} 4\;\:30.421{\kern 1pt} {\kern 1pt} {\kern 1pt} 4\;\:1.778{\kern 1pt} {\kern 1pt} {\kern 1pt} 0\;\:9.207{\kern 1pt} {\kern 1pt} {\kern 1pt} 7]} \end{array}$
 $\begin{array}{*{20}{l}} {{\mathit{\boldsymbol{K}}_{31}} = {\mathit{\boldsymbol{K}}_{41}} = }\\ {\;\:[\begin{array}{*{20}{c}} {{\rm{14}}{\rm{.710}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\rm{5}}}&{ - 59.242}&{0.747{\kern 1pt} {\kern 1pt} {\kern 1pt} 8}&{ - 30.159{\kern 1pt} {\kern 1pt} {\kern 1pt} 5} \end{array}]} \end{array}$

 图 2 包含误差分量χi1轨迹 Fig. 2 Trajectories of containment error χi1
 图 3 包含误差分量χi2轨迹 Fig. 3 Trajectories of containment error χi2
 图 4 性能函数Jx(t)轨迹 Fig. 4 Trajectory of performance function Jx(t)
5 结论

1) 所设计的事件触发观测器实现了对领航者组成的凸包某一内点的估计，并节约了通信成本。

2) 所设计的最优控制协议保证了跟随者的输出能够进入领航者输出组成的凸包内，同时也保证了系统的性能达到最优。

http://dx.doi.org/10.7527/S1000-6893.2019.23775

0

#### 文章信息

WANG Dong, WANG Zehua, LIU Yang, GU Dongbing, WANG Wei

Event-triggered optimal containment control for heterogeneous multi-agent systems

Acta Aeronautica et Astronautica Sinica, 2020, 41(S1): 723775.
http://dx.doi.org/10.7527/S1000-6893.2019.23775