# Resilient Consensus Control for Multi-Agent Systems: A Comparative Survey
## 3 Resilient Control for MASs
### DoS Attack
Event-triggered mechanism means that when the state deviates from the balance and exceeds the set threshold, the system stops feedback and triggers events to perform preset tasks, such as transferring information between neighbors or updating the controller. Compared with continuous-time control, an event-triggered mechanism requires additional consideration of the avoidance of Zeno behavior: that is, the situation of infinite triggering in an instant. This can be done by agreeing on the lower bound of the interval between two adjacent triggered instants [30,31] or introducing a bounded attenuation function into the event-triggered condition [44]. It can also be proved from the stability analysis that Zeno behavior does not exist [45]. According to the control structure, there are several schemes to achieve security consensus. The simplest attack model is given in [31]; that is, the attack cycle and maximum duration are known in advance and constant, and a control scheme based on event-triggered mechanism under the leader-following topology is designed. It only allows events to be triggered during the communicable time period of the system. Under the condition that the attack parameters meet some system structural constraints, when the most serious imbalance occurs--that is, the time when the longest continuous attack ends--through the intervention of the control signal, the state quantity that deviates from the equilibrium can still be corrected, proving the feasibility of the elastic structure. In the attack environment of random mechanism, an open-loop observer is designed in [30], as shown in Figure 2. \(t_{k_{i}}^{i}\) denotes the time series updated for the controller. \(x_{l}\) and \(\hat{x}_{i}\) represent the state quantity of the leader and the observed state quantity of followers, respectively. When the communication of the system is interrupted due to the attack, the observer is used to estimate the control signal and transmit it to the controller. The observer is as follows:  
\[\dot{x}_{j}(t) = A\hat{x}_{j}(t),\;t_{k_{j}}^{j}\leq t_{k_{j+1}}^{j}, \tag{7}\] \[\hat{x}_{j}(t_{k_{j}}^{j}) = x_{j}(t_{k_{j}}^{j}),\;j\in\mathcal{N}_{i},\;k_{j}\in\mathbf{N}, \tag{8}\]  
where the matrix \(A\) denotes the system matrix; \(\mathbf{N}\) defines the set of integers. The control protocol for the multi-agent system is given by:  
\[u_{i}(t)=K\hat{\xi}_{i}(t),\;i=1,\ldots,N, \tag{9}\]  
where \(K\) is the control gain matrix, and  
\[\hat{\xi}_{i}(t)=\sum_{j\in\mathcal{N}_{i}(\mathcal{G})}a_{ij}(\hat{x}_{j}(t)- \hat{x}_{i}(t)),\;i=1,\ldots,N. \tag{10}\]  
It follows from (10), that \(\hat{\xi}_{i}(t)\) depends solely on the observed state, instead of the true state. The event-triggered condition is:  
\[\|e_{i}(t)\|\leq\beta_{i}\|\hat{x}_{i}(t)\|,\;0<\beta_{i}<1,\;i=1,\ldots,N, \tag{11}\]where \(e_{i}(t)=\hat{x}_{i}(t)-x_{i}(t)\) denotes the observed error. When MASs suffer from DoS attacks, the control protocol proposed by [46; 47] may collapse because the control signal cannot be updated as expected (e.g., set to zero). Then, the system cannot reset the \(e_{i}\) and gradually loses consensus. The above event-trigger strategy (11) and observer structure (7) and (8) can achieve resilient consensus under DoS attack. Setting the threshold depends on the state difference of the agent, which is the simplest form of the state-dependent triggered mechanism. The parameter \(\beta_{i}\) needs to be selected from the compromise between the performance measurement of system convergence speed and communication frequency. Since this estimate is designed based on the model, it means that the system can be unstable. The update process of the system can be summarized as follows: the observer calculates and estimates the state value of the neighbor according to the dynamic equation until the next triggered time \(t_{k_{j}}^{i}\) comes. \(\hat{x}_{j}(t)\) is updated to the state value passed by the neighbor at this time, and its own state value \(x_{i}(t)\) is read and updated at the same time.