# Resilient Consensus Control for Multi-Agent Systems: A Comparative Survey
## 3 Resilient Control for MASs
### DoS Attack
The significance of signal separation is that if continuous communication cannot be achieved, it will not affect the triggering of events. When the system is attacked by DoS, the control signal will not be set to zero for a long time due to the failure to reset \(e_{i}(t)\), thereby losing consensus [40; 47]. The scheme in [40; 47] can achieve exponential consensus in the two cases of leaderless and leader-following under DoS attacks, but the corresponding topology requirements are different: the former requires that the topology graph should be connected, while the latter requires that a directed spanning tree should be included. At the same time, both schemes can only be achieved when the attack frequency and duration have upper bounds. Additionally, both control schemes are not completely distributed. They use global information, namely the eigenvalues of the Laplace matrix, to design the matrix parameters of the controller, which is not conducive to the application of large-scale agent systems. The core of this scheme is to solve the problem of control interruption caused by failure to communicate by observing the state of neighbors. In addition, additional error variables \(e_{i}^{\text{dos}}=x_{i}(t)-x_{i}(t_{m})\) can be introduced into the triggering function, where \(t_{m}\) is the starting time of the attack, which can effectively reduce the number of unnecessary triggers of events [44]. Different from [30] and using the state measurement error \(e_{i}(t)\) as the triggered condition, ref. [38] designs a control scheme based on the topology input triggered mechanism  
Figure 2: The event-triggered controller with an estimator under DoS attacks. \(\hat{x}_{j}(t)\) and \(\hat{x}_{i}(t)\) represent the estimates of agent \(j\) and agent \(i\) calculated by (7) and (8), respectively. \(x_{j}(t_{k_{j}}^{i})\) is the state value at the triggering time \(t_{k_{i}}^{i}\), where \(t_{k_{i}}^{i}\) is determined by the trigger function (11). Under the influence of DoS attack, (11) can be triggered by the system, so as to update the state estimated value according to (8) and adjust the control signal on the basis of (9). and gives the corresponding state observer: Given \(i,\ j=i=1,\ldots,N\), and \(i\
eq j\), define the state corresponding to edge \((i,j)\) as  
\[\omega_{ij}(t)\triangleq x_{i}(t)-x_{j}(t), \tag{12}\]  
which satisfies  
Figure 1:0  
where \(B\) is the input matrix. After the control is triggered, the variables \(\omega_{ij}\) cannot be measured until the next triggered time comes. Considering this fact, use an observer for estimation:  
Figure 1:1  
When the triggered time of the sleep time comes, assign the value directly as follows:  
Figure 1:2  
Define topology state prediction error as:  
Figure 1:3  
When the triggered time \(t^{i}_{ijk_{i}}\) comes, the real value \(\omega_{ij}\) is assigned to the estimated value \(\hat{\omega}_{ij}\). Before the time \(t^{i}_{ijk_{i+1}}\) comes, the estimated value is provided as an input to the controller for adjustment:  
Figure 1:4  
where the scalar \(\alpha\) denotes the coupling gain. The triggered instant and the triggering function corresponding to edge \((i,\ j)\) is  
Figure 1:5  
where  
Figure 1:6  
Figure 1:7 Figure 1:8  
in which \(Q\in\mathbf{R}^{n\times n}\) is a positive definite matrix. When the topological edge is attacked by DoS, \(\|\hat{\omega}_{ij}(t)\|\) will break through the normal upper bound and the above triggered conditions will be met. \(\beta_{ij}\) is the parameter of triggering function corresponding to the edge \((i,\ j)\). Thus, the triggering threshold and the lower bound of adjacent triggered time can be flexibly set according to different edges, which reflects the distributed characteristics of event-triggered control. \(f_{ij}\) just depends on \(u_{i}\) and \(x_{i}\), which are the state values of an agent itself. Unlike [30], which uses the neighbor's state difference as the triggered condition, ref.