# Observer-Based Consensus Control for Heterogeneous Multi-Agent Systems with Output Saturations
## 2 Preliminaries and Problem Formulation
### Problem Formulation  
This paper considers a heterogeneous multi-agent system. The dynamics of each agent is described by  
\[ \begin{split}\dot{x}_{i}&=A_{i}x_{i}+B_{i}u_{i}\\ y_{i}&=C_{i}x_{i}\\ z_{i}&=\sigma(y_{i}),\qquad i\in\mathcal{V}:=\{1,2,...,N\},\end{split}  \tag{1}\]  
where \(x_{i}\in\mathbf{R}^{n_{i}}\), \(u_{i}\in\mathbf{R}^{m_{i}}\), \(y_{i}\in\mathbf{R}^{q}\), and \(z_{i}\in\mathbf{R}^{q}\) represent the state, control input, controlled(or real) output, and measured output of \(i\)th agent, respectively, and \(A_{i}\), \(B_{i}\), and \(C_{i}\) are real constant matrices with compatible dimensions. The function \(\sigma(\cdot)\) is a normalized standard saturation function defined by  
\[ \begin{split}\sigma(y_{i})=&\Big{[}\sigma(y_{i(1)} ),\sigma(y_{i(2)}),...,\sigma(y_{i(q)})\Big{]}^{T}\\ \sigma(y_{i(j)})=&\text{sign}(y_{i(j)})\min\Big{\{} \big{|}y_{i(j)}\big{|},1\Big{\}}.\end{split}  \tag{2}\]  
Then, the goal of this paper is to achieve the output consensus, that is,  
\[\lim_{t\to\infty}\bigl{\|}y_{i}(t)-y_{j}(t)\bigr{\|}=0,\ \ \forall i,j\in \mathcal{V}. \tag{3}\]  
To achieve the consensus, we require some standard assumptions. We first consider the existence of solution to the output consensus (3). It was shown in [16] that the necessary condition for the output consensus is the existence of a common internal model such that all agents can generate the same trajectory. This condition can be summarized as the following assumption [16]:  
**Assumption 1**. : _There exist matrices \(S\in\mathbf{R}^{n_{0}\times n_{0}}\), \(R\in\mathbf{R}^{q\times n_{0}}\), \(\Pi_{i}\in\mathbf{R}^{n_{i}\times n_{0}}\), and \(\Gamma_{i}\in\mathbf{R}^{m_{i}\times n_{0}}\) for the following linear matrix equations:_  
\[ \begin{split} A_{i}\Pi_{i}+B_{i}\Gamma_{i}=&\Pi_{i}S,\\ C_{i}\Pi_{i}=& R,\qquad\forall i\in\mathcal{V}. \end{split}  \tag{4}\]  
We next consider the following assumptions to control the agents under output saturations. **Assumption 2**. : _The agents satisfy the following conditions:_  
1. _For all_ \(i\in\mathcal{V}\)_,_ \((A_{i},B_{i})\) _is stabilizable and_ \((C_{i},A_{i})\) _is detectable._
2. _The matrices_ \(A_{i}\)_,_ \(\forall i\in\mathcal{V}\)_, and_ \(S\) _are neutrally stable._  
Note that Condition 1 in Assumption 2 is the standard assumption to construct an observer-based controller. Moreover, Condition 2 requires controling the system in the global sense, since we cannot track the exponentially growing signals in the presence of saturation nonlinearities. Next, we suppose that the communication graph between the agents in (1) is given by \(\mathcal{G}=(\mathcal{V},\mathcal{E},\mathcal{A})\). Then, we further consider the following assumption, which is the necessary condition for the consensus. **Assumption 3**. : _The communication graph \(\mathcal{G}=(\mathcal{V},\mathcal{E},\mathcal{A})\) is undirected and connected._  
Before we construct the consensus algorithm, we consider the dynamics of agents in (1). From Condition 2 of Assumption 2, there exits a non-singular matrix \(T_{i}\in\mathbf{R}^{n_{i}\times n_{i}}\) such that [32]  
\[ \begin{split}\bar{A}_{i}=& T_{i}A_{i}T_{i}^{-1}=\left[ \begin{array}{cc}A_{s,i}&0\\ 0&A_{h,i}\end{array}\right],\quad\bar{B}_{i}=T_{i}B_{i}=\left[\begin{array}{ cc}B_{s,i}\\ B_{h,i}\end{array}\right],\\ \bar{C}_{i}=& C_{i}T_{i}^{-1}=\left[\begin{array}{cc}C_{s,i}&C_{h,i}\end{array} \right],\quad i\in\mathcal{V},\end{split}  \tag{5}\]where \(A_{h,i}\in\mathbb{R}^{n_{h,i}\times n_{h,i}}\), and \(A_{s,i}\in\mathbb{R}^{(n_{i}-n_{h,i})\times(n_{i}-n_{h,i})}\) are Hurwitz and skew-symmetric matrix, respectively, the pair \((A_{s,i},B_{s,i})\) is controllable, and \((C_{s,i},A_{s,i})\) is observable. Then, we consider the following lemma that will be used to construct the consensus algorithm [32]. **Lemma 1**. : _For the matrices \(\bar{A}_{i}\) and \(\bar{C}_{i}\) in (5), there exists a positive definite matrix \(P_{i}\in\mathbb{R}^{n_{i}\times n_{i}}\) given by_  
\[P_{i}=\left[ \begin{array}{cc}I_{n_{i}-n_{h,i}}&0\\ 0&P_{h,i}\end{array}