文章目录
I. INTRODUCTION
II. PROBLEM STATEMENT
σ ( t ) \sigma(t) σ(t) is the switching signal taking from { 1 , 2 , ⋯ , m } \{1, 2, \cdots, m\} { 1,2,⋯,m}.
A. The System Model
Consider a multi-agent system with N N N followe agents described by
x ˙ i ( t ) = A x i ( t ) + B g ( x i ( t ) ) + u i ( t ) , i = 1 , 2 , ⋯ , N (1) \dot{x}_i(t) = A x_i(t) + B g(x_i(t)) + u_i(t), \quad i=1,2,\cdots,N \tag{1} x˙i(t)=Axi(t)+Bg(xi(t))+ui(t),i=1,2,⋯,N(1)
where
x i ( t ) ∈ R n \red{x_i(t)} \in \R^n xi(t)∈Rn denotes the i i ith node’s state,
g ( x i ( t ) ) = ( g 1 ( x i ( t ) ) , g 2 ( x i ( t ) ) , ⋯ , g n ( x i ( t ) ) ) T \red{g(x_i(t))} = (g_1(x_i(t)), g_2(x_i(t)), \cdots, g_n(x_i(t)))^\text{T} g(xi(t))=(g1(xi(t)),g2(xi(t)),⋯,gn(xi(t)))T is a nonlinear function.
The dynamics of the leader follows
s ˙ ( t ) = A s ( t ) + B g ( s ( t ) ) (2) \dot{s} (t) = A s(t) + B g(s(t)) \tag{2} s˙(t)=As(t)+Bg(s(t))(2)
where
s ( t ) ∈ R n \red{s(t)} \in \R^n s(t)∈Rn represents the state of the leader agent.
B. The Attack Model
Then the impulsive controller can be designed as
u i ( t ) = c ∑ k = 1 ∞ [ ∑ j = 1 N − l i j σ ( t ) ( x j ( t ) − x i ( t ) ) + d i σ ( t ) ( s ( t ) − x i ( t ) ) ] δ ( t − t k ) (3) u_i(t) = c \sum_{k=1}^\infty \left[\sum_{j=1}^N -l^{\sigma(t)}_{ij} (x_j(t) - x_i(t)) + d^{\sigma(t)}_i (s(t) - x_i(t))\right] \delta(t-t_k) \tag{3} ui(t)=ck=1∑∞[j=1∑N−lijσ(t)(xj(t)−xi(t))+diσ(t)(s(t)−xi(t))]δ(t−tk)(3)
where c \red{c} c is the coupling strength, and d i σ ( t ) ≥ 0 \red{d^{\sigma(t)}_i} \ge 0 diσ(t)≥0, i = 1 , 2 , ⋯ , N i=1,2,\cdots,N i=1,2,⋯,N, are the pinning gains.
Define the error state
e i ( t ) = x i ( t ) − s ( t ) e_i(t) = x_i(t) - s(t) ei(t)=xi(t)−s(t)
III. MAIN RESULTS
A. A General Case for Secure Impulsive Consensus With Directed Graphs
B. Analysis About Symmetric Laplacian Matrix
IV. SIMULATIONS
作者公式符号引用的比较多,个人看的有点不清晰,特将所有情况都列出来,方便理解。
x ˙ 1 ( t ) = A x 1 ( t ) + B g ( x 1 ( t ) ) + u 1 ( t ) x ˙ 2 ( t ) = A x 2 ( t ) + B g ( x 2 ( t ) ) + u 2 ( t ) x ˙ 3 ( t ) = A x 3 ( t ) + B g ( x 3 ( t ) ) + u 3 ( t ) x ˙ 4 ( t ) = A x 4 ( t ) + B g ( x 4 ( t ) ) + u 4 ( t ) \begin{aligned} \dot{x}_1(t) &= A x_1(t) + B g(x_1(t)) + u_1(t) \\ \dot{x}_2(t) &= A x_2(t) + B g(x_2(t)) + u_2(t) \\ \dot{x}_3(t) &= A x_3(t) + B g(x_3(t)) + u_3(t) \\ \dot{x}_4(t) &= A x_4(t) + B g(x_4(t)) + u_4(t) \end{aligned} x˙1(t)x˙2(t)x˙3(t)x˙4(t)=Ax1(t)+Bg(x1(t))+u1(t)=Ax2(t)+Bg(x2(t))+u2(t)=Ax3(t)+Bg(x3(t))+u3(t)=Ax4(t)+Bg(x4(t))+u4(t)
g ( x 1 ( t ) ) = [ g 1 ( x 11 ( t ) ) g 2 ( x 12 ( t ) ) g 3 ( x 13 ( t ) ) ] = [ 0.5 ∗ ( ∣ x 11 + 1 ∣ − ∣ x 11 − 1 ∣ ) 0.5 ∗ ( ∣ x 12 + 1 ∣ − ∣ x 12 − 1 ∣ ) 0.5 ∗ ( ∣ x 13 + 1 ∣ − ∣ x 13 − 1 ∣ ) ] g ( x 2 ( t ) ) = [ g 1 ( x 21 ( t ) ) g 2 ( x 22 ( t ) ) g 3 ( x 23 ( t ) ) ] = [ 0.5 ∗ ( ∣ x 21 + 1 ∣ − ∣ x 21 − 1 ∣ ) 0.5 ∗ ( ∣ x 22 + 1 ∣ − ∣ x 22 − 1 ∣ ) 0.5 ∗ ( ∣ x 23 + 1 ∣ − ∣ x 23 − 1 ∣ ) ] g ( x 3 ( t ) ) = [ g 1 ( x 31 ( t ) ) g 2 ( x 32 ( t ) ) g 3 ( x 33 ( t ) ) ] = [ 0.5 ∗ ( ∣ x 31 + 1 ∣ − ∣ x 31 − 1 ∣ ) 0.5 ∗ ( ∣ x 32 + 1 ∣ − ∣ x 32 − 1 ∣ ) 0.5 ∗ ( ∣ x 33 + 1 ∣ − ∣ x 33 − 1 ∣ ) ] g ( x 4 ( t ) ) = [ g 1 ( x 41 ( t ) ) g 2 ( x 42 ( t ) ) g 3 ( x 43 ( t ) ) ] = [ 0.5 ∗ ( ∣ x 41 + 1 ∣ − ∣ x 41 − 1 ∣ ) 0.5 ∗ ( ∣ x 42 + 1 ∣ − ∣ x 42 − 1 ∣ ) 0.5 ∗ ( ∣ x 43 + 1 ∣ − ∣ x 43 − 1 ∣ ) ] \begin{aligned} g(x_1(t)) &= \left[\begin{matrix} g_1(x_{11}(t)) \\ g_2(x_{12}(t)) \\ g_3(x_{13}(t)) \\ \end{matrix}\right]= \left[\begin{matrix} 0.5 * (|x_{11}+1|-|x_{11}-1|) \\ 0.5 * (|x_{12}+1|-|x_{12}-1|) \\ 0.5 * (|x_{13}+1|-|x_{13}-1|) \\ \end{matrix}\right] \\ g(x_2(t)) &= \left[\begin{matrix} g_1(x_{21}(t)) \\ g_2(x_{22}(t)) \\ g_3(x_{23}(t)) \\ \end{matrix}\right]= \left[\begin{matrix} 0.5 * (|x_{21}+1|-|x_{21}-1|) \\ 0.5 * (|x_{22}+1|-|x_{22}-1|) \\ 0.5 * (|x_{23}+1|-|x_{23}-1|) \\ \end{matrix}\right] \\ g(x_3(t)) &= \left[\begin{matrix} g_1(x_{31}(t)) \\ g_2(x_{32}(t)) \\ g_3(x_{33}(t)) \\ \end{matrix}\right]= \left[\begin{matrix} 0.5 * (|x_{31}+1|-|x_{31}-1|) \\ 0.5 * (|x_{32}+1|-|x_{32}-1|) \\ 0.5 * (|x_{33}+1|-|x_{33}-1|) \\ \end{matrix}\right] \\ g(x_4(t)) &= \left[\begin{matrix} g_1(x_{41}(t)) \\ g_2(x_{42}(t)) \\ g_3(x_{43}(t)) \\ \end{matrix}\right]= \left[\begin{matrix} 0.5 * (|x_{41}+1|-|x_{41}-1|) \\ 0.5 * (|x_{42}+1|-|x_{42}-1|) \\ 0.5 * (|x_{43}+1|-|x_{43}-1|) \\ \end{matrix}\right] \end{aligned} g(x1(t))g(x2(t))g(x3(t))g(x4(t))= g1(x11(t))g2(x12(t))g3(x13(t)) = 0.5∗(∣x11+1∣−∣x11−1∣)0.5∗(∣x12+1∣−∣x12−1∣)0.5∗(∣x13+1∣−∣x13−1∣) = g1(x21(t))g2(x22(t))g3(x23(t)) = 0.5∗(∣x21+1∣−∣x21−1∣)0.5∗(∣x22+1∣−∣x22−1∣)0.5∗(∣x23+1∣−∣x23−1∣) = g1(x31(t))g2(x32(t))g3(x33(t)) = 0.5∗(∣x31+1∣−∣x31−1∣)0.5∗(∣x32+1∣−∣x32−1∣)0.5∗(∣x33+1∣−∣x33−1∣) = g1(x41(t))g2(x42(t))g3(x43(t)) = 0.5∗(∣x41+1∣−∣x41−1∣)0.5∗(∣x42+1∣−∣x42−1∣)0.5∗(∣x43+1∣−∣x43−1∣)
因为论文中给出了领航者的所有状态,即 s 1 ( 0 ) , s 2 ( 0 ) , s 3 ( 0 ) s_1(0), s_2(0), s_3(0) s1(0),s2(0),s3(0),而没有给出所有跟随者的初始状态,只能从给出的状态图中猜测到 x 11 ( 0 ) = 0.55 , x 21 ( 0 ) = − 0.55 , x 31 ( 0 ) = − 1.05 , x 41 ( 0 ) = 1.05 x_{11}(0) = 0.55, x_{21}(0) = -0.55, x_{31}(0) = -1.05, x_{41}(0) = 1.05 x11(0)=0.55,x21(0)=−0.55,x31(0)=−1.05,x41(0)=1.05
main_Leader.m
程序
这个程序效果如下,目的是通过 Leader 状态,验证程序没有写错。
main_LeaderFollow.m
程序
这个程序效果如下,通过延长运行时间,能看到 Followers 最终跟上了 Leader,还是能看到系统收敛的,以及误差达到了零。