Keywords

Introduction

Large-scale multi-agent systems can be represented accurately by nonlinear models in a large domain of operation. However, this coupled with the dimensionality of the network means the task of designing a control law may be a far from trivial task. Most of the existing work in cooperative control has focused on the interconnection of systems with linear dynamics. For example, consensus was examined for multi-agent systems with general linear dynamics in [16, 20]. In [18, 23] consensus for agents with single/double or higher integrator dynamics were studied. In reference [6] the authors focused on the stabilisation of a network of identical agents with linear dynamics. Unlike the previous methodologies which consider first or higher order linear models for the vehicles’ motion, in this work, a nonlinear representation of the dynamics of a group of UAV systems with constraints on angular and linear velocity is investigated.

In particular, motivated by work in [17] where the global stabilisation of a complex network of agents is considered by applying local decentralised output feedback control law, reference [13] developed a distributed control law for nonlinear systems based on a two-step procedure. This allowed a decoupled design procedure at both node and network level and offered a systematic analysis for stabilisation/tracking problems in a reasonably large class of networks of nonlinear systems represented in the Takagi-Sugeno (TS) framework [24]. The work in [13] was extended for a more general case of nonlinear systems with a focus on tracking for a swarm of UAVs, in [14]. However, if a delay perturbation is applied to the closed loop system used in article [14] it can be easily shown that the entire swarm leads to instability. Delay, which is often inherent in engineering processes, may compromise stability or lead to poor performance for the entire process. In particular, for the UAV application, neglecting its effect whilst designing a control law for tracking purposes may jeopardise swarm-based missions or even lead to catastrophic failures. In the literature the stabilisation problem of delayed systems has been dealt with a number of different ways. For example, in reference [22] stability is guaranteed for any value of the time-delays while authors in [7] suggest a stabilisation procedure with a maximum bound on time-delay. For retarded TS fuzzy models, conditions to guarantee stability for the entire system were investigated by authors in works [3, 2527, 30], and references therein.

Thus both steps of the analysis illustrated in [14] need to be modified in order to accommodate the delay perturbation. In this letter such a modification is suggested to deal with retarded systems. This is possible, through a special property motivated by the Razumikhin theorem which allows the design of the distributed control law to be performed using tools from Lyapunov theory. Due to the structure of the TS model, which is a fuzzy blending of linear local models, this allows a systematic analysis for proving stability, in a Lyapunov sense, of a general class of nonlinear systems. Interesting work that addresses the design aspects for Takagi-Sugeno controllers exists in the literature: see for example, [25].

In this work, the model under investigation is the error dynamics of the UAV as developed in references [15] and [12]. Following the design procedure in [13] and [14], at the first step, the delayed error dynamics of the UAV system are isolated, and a node level control law is designed ignoring interconnections. The node level control law utilises a Parallel Distributed Compensation (PDC) structure as suggested in [29] and the feedback gains are synthesised, subject to certain design criteria posed as Linear Matrix Inequalities (LMIs). Subsequently in the second step, now including dependencies among the delayed UAVs, a distributed control law is introduced and it is shown that stability is guaranteed for the entire swarm under delay perturbation.

The novelty of this work is that it proposes a methodology for the analysis of a delayed network of nonlinear systems. An intermittent step (the creation of an equivalent TS representation form) allows a decoupled structure of the network into node level dynamics to be exploited. This structure facilitates a systematic analysis using Lyapunov theory for stabilisation/tracking. Eventually it is shown that the resulting common Lyapunov matrix, arising from node level analysis, can be used to create a Lyapunov function for the network level.

The benefit of the proposed approach is that the analysis and design is performed at node level, thus the problem of stabilisation/tracking is decoupled from the network’s scale, topology, and complexity. Also the methodology can be applied to a reasonably large class of nonlinear systems.

The remainder of the paper is structured as follows: in section “Preliminaries” the graph theory tools which are used, and their relevance to a network of systems is presented. In section “UAV Model and the Takagi-Sugeno Model Representation” the Takagi-Sugeno model is described for a general network of nonlinear multi-agent systems subject to delay perturbation. Thereafter in section “Swarm Tracking and Control Law Description Subject to Time-Delay” the architecture of the controller and the LMI conditions to stabilise the system at node and network level are described. A swarm-based UAV tracking example is included in section “Simulation example” demonstrating the proposed analysis. In section “Conclusions” concluding remarks are stated.

Preliminaries

Graph Theory

In this section the graph theory preliminaries for the multi-agent systems application are stated. Adopting the notation in [19], a graph G is an ordered pair (V, E), where V is the set of nodes (V = { 1, N}) and E is the set of edges, \((E =\{ c_{1},\ldots,c_{l}\})\), which represent every feasible connection among a pair of nodes. In this work a node coincides with a UAV within the swarm, and the set E denotes the communication links between UAVs i and j. A network topology G can be represented in the form of the adjacency matrix \(\mathbf{A}(G) = [\alpha _{ij}] \in {\mathbb{R}}^{N\times N}\) and satisfies:

$$\displaystyle{ \alpha _{ij} = \left \{\begin{array}{llll} 1,&\forall (i,j) \in E\ \mathit{and}\ i\neq j\\ 0, &\mathit{otherwise }\\ \end{array} \right. }$$
(1)

The degree \(\mathbf{D}(G) = [d_{ij}] \in {\mathbb{R}}^{N\times N}\) of a graph is a diagonal matrix such that \(d_{ii} =\sum\nolimits_{ i=1}^{N}\alpha _{ij}\) and d ij  = 0,  ∀ij. The Laplacian of a graph \(\mathbf{L}(G) = [\ell_{ij}] \in {\mathbb{R}}^{N\times N}\) is defined by:

$$\displaystyle{ \mathbf{L}(G) = \mathbf{D}(G)-\mathbf{A}(G) = [\ell_{ij}] = \left \{\begin{array}{llll} \sum _{j=1}^{N}\alpha _{ ij},&i = j \\ -\alpha _{ij}, &i\neq j \end{array} \right. }$$
(2)

According to [19], for undirected graphs (i.e. α ij  = α ji ) the Laplacian matrix is symmetric, positive semi-definite and satisfies \(\sum\nolimits_{j=1}^{N}\ell_{ij} = 0,\ \forall i \in V\). The Laplacian matrix is important for the swarm-based application, since it can reveal whether or not stabilisation/tracking or consensus can be reached by the swarm of UAVs. This depends on their communication topology, which is assumed bidirectional static in this article. For instance, consensus can be guaranteed provided that all eigenvalues of (2) are positive. This is possible if by construction the graph G is “connected” (refer to [4] for the definition). In this work by design the Laplacian matrix is positive semi-definite.

UAV Model and the Takagi-Sugeno Model Representation

Consider a group of systems i = 1, , N described by:

$$\displaystyle{ \dot{{e}}^{i}(t) = f_{ i}({e}^{i}(t)) + g_{ i}({e}^{i}(t)){u}^{i}(t) }$$
(3)

where \({e}^{i}(t) \in {\mathbb{R}}^{n}\), and \({u}^{i}(t) \in {\mathbb{R}}^{m}\) is the state, and input vector, respectively. Assume f i (e i(t)) and g i (e i(t)) are functions that are dependent on the state. The nonlinear model in (3) can be represented in a compact region of the state-space \(\mathcal{X} \subseteq {\mathbb{R}}^{n}\) by a TS fuzzy model.

Adopting the notation in reference [25], for agent i, the TS fuzzy model is formed by κ local linear subsystems. The TS is represented by implications of \(\mathbf{IF\mbox{ \textendash }THEN}\) form or Input–Output form. The general layout for the κth model rule is:

Model Rule κ [25]:

IF z 1 i(t) is M κ1 ANDAND z q i(t) is M κ q THEN

$$\displaystyle{ \dot{{e}}^{i}(t) = \mathbf{A}_{\kappa }{e}^{i}(t) + \mathbf{B}_{\kappa }{u}^{i}(t) }$$
(4)

where \({e}^{i}(t) = col([e_{1}^{i}(t),\ldots,e_{n}^{i}(t)]) \in {\mathbb{R}}^{n}\), and \(\mathbf{A}_{\kappa } \in {\mathbb{R}}^{n\times n}\), \(\mathbf{B}_{\kappa } \in {\mathbb{R}}^{n\times m}\) are constant matrices. The vector \({z}^{i}(t) = col([z_{1}^{i}(t),\ldots,z_{q}^{i}(t)])\) is a known premise variable which may depend on the state vector. Every premise variable is a-priori bounded on a compact space (i.e. \({z}^{i}(t) \in [z_{\mathrm{min}}^{i},z_{\mathrm{max}}^{i}]\)) since the state is assumed to belong to \(\mathcal{X}\). The symbol \(M_{\kappa \mu }(z_{\mu }^{i}(t)) \in [0,1]\) denotes the fuzzy sets and r = 2 | z |  the number of rules. The notation | z | coincides with the length of the vector. The fuzzy sets \(M_{\kappa \mu }(z_{\mu }^{i}(t))\) are generated utilising the sector nonlinearity approach [10].

In Input–Output form, the defuzzification process of system (4) can be represented by the following polytopic form:

$$\displaystyle{ \dot{{e}}^{i}(t) = \sum _{\kappa =1}^{r}\lambda _{ \kappa }({z}^{i}(t))[\mathbf{A}_{\kappa }{e}^{i}(t) + \mathbf{B}_{\kappa }{u}^{i}(t)] }$$
(5)

where the λ κ (z i(t)) are normalised weighting functions defined by:

$$\displaystyle{ \begin{array}{ll} \lambda _{\kappa }({z}^{i}(t)) = &w_{\kappa }({z}^{i}(t))/\sum _{\kappa =1}^{r}w_{\kappa }({z}^{i}(t)) \\ w_{\kappa }({z}^{i}(t)) =&\prod _{\mu =1}^{q}M_{\kappa \mu }(z_{\mu }^{i}(t))\end{array} }$$
(6)

The weighting terms λ κ (z i(t)) satisfy the convex sum property for all t. Provided that bounds on the state space are a-priori known, the TS model (5) is an exact representation of the nonlinear model (3) inside \(\mathcal{X}\). Motivated by work in reference [13] it will be shown in the sequel that such a structure can be utilised in the UAV context.

It is well known that time-delay is often inherent in dynamic systems, which can be an important source of instability and degradation in the control performance. Due to this time-delay is included in the design.

Considering time-delay the TS is represented by implications \(\mathbf{IF\mbox{ \textendash }THEN}\) with general layout for the κth model rule:

Model Rule κ [25]:

IF z 1 i(t) is M κ1 ANDAND z q i(t) is M κ q THEN

$$\displaystyle{ \dot{{e}}^{i}(t) = \mathbf{A}_{\kappa }^{1}{e}^{i}(t) + \mathbf{A}_{\kappa }^{2}{e}^{i}(t -\tau _{\kappa }^{i}(t)) + \mathbf{B}_{\kappa }{u}^{i}(t) }$$
(7)

where \(\mathbf{A}_{\kappa }^{1} \in {\mathbb{R}}^{n\times n}\), \(\mathbf{A}_{\kappa }^{2} \in {\mathbb{R}}^{n\times n}\), and τ κ i(t) ≤ τ is the delay for all i = 1, , N and κ = 1, , r, with τ > 0. In this letter the assumption is that the premise variables do not depend on the input variables u(t). In Input–Output form, the defuzzification process of delayed system (7) can be represented in the polytopic form:

$$\displaystyle{ \dot{{e}}^{i}(t) = \sum _{\kappa =1}^{r}\lambda _{ \kappa }({z}^{i}(t))[\mathbf{A}_{\kappa }^{1}{e}^{i}(t) + \mathbf{A}_{\kappa }^{2}{e}^{i}(t -\tau _{\kappa }^{i}(t)) + \mathbf{B}_{\kappa }{u}^{i}(t)] }$$
(8)

where the λ κ (z i(t)) are defined previously in (6). In this letter, dynamical system (8) is used instead of (5) for the design of the control law.

Unmanned Aerial Vehicle Modelling: Error Posture Model

According to [28], the motion of the ith point-mass UAV, under assumptions that an electrically powered UAV is considered flying at constant altitude and ground speed, the thrust and velocity vector are collinear, and there is no slip in lateral direction, can be described by:

$$\displaystyle{ \begin{array}{ll} \dot{x}_{c}^{i}(t)& = v_{\mathrm{er}}^{i}(t)\cos \theta _{c}^{i}(t) \\ \dot{y}_{c}^{i}(t) & = v_{\mathrm{er}}^{i}(t)\sin \theta _{c}^{i}(t) \\ \dot{\theta }_{c}^{i}(t) & = w_{\mathrm{er}}^{i}(t)\end{array} }$$
(9)

In (9) x c i, y c i, are the position coordinates, θ c i is the heading angle, and v er i, w er i the linear and angular velocity.

In this analysis the error posture is utilised for the tracking problem for every agent in the network, as in references [15] and [12]. In particular, utilising the kinematics in (9) the tracking error is governed by:

$$\displaystyle{{ e}^{i}(t) = \left [\begin{array}{cccc} \cos (\theta _{c}^{i}(t)) &\sin (\theta _{c}^{i}(t))&0 \\ -\sin (\theta _{c}^{i}(t))&\cos (\theta _{c}^{i}(t))&0 \\ 0 & 0 &1\\ \end{array} \right ](P_{\mathrm{ref}}(t)-P_{c}^{i}(t)) }$$
(10)

where \(P_{\mathrm{ref}}(x_{\mathrm{ref}},y_{\mathrm{ref}},\theta _{\mathrm{ref}})\) and \(P_{c}^{i}(x_{c}^{i},y_{c}^{i},\theta _{c}^{i})\) the reference and current posture for the vehicle, \({e}^{i}(t) = {[x_{e}^{i}(t),y_{e}^{i}(t),\theta _{e}^{i}(t)]}^{T}\) is the tracking error in the state for the ith UAV in the xy plane and direction, respectively. The tracking error for a UAV in lateral motion is depicted in Fig. 1. Following the description in Sect. 3.1 of reference [12], taking the time derivative of (10), the error dynamics are generated. Hence, assuming that there is no side-slip (i.e. \(\dot{x}_{\mathrm{ref}}\sin (\theta _{\mathrm{ref}}) =\dot{ y}_{\mathrm{ref}}\cos (\theta _{\mathrm{ref}})\)), and applying a control action vector \(u_{\mathrm{er}}^{i}(t) = u_{F}^{i}(t) + {u}^{i}(t)\) (proposed in [15]), where \(u_{F}^{i}(t) = {[v_{\mathrm{ref}}(t)\cos (\theta _{e}^{i}(t)),w_{\mathrm{ref}}(t)]}^{T}\) the feedforward control action vector and \({u}^{i}(t) = {[{v}^{i}(t),{w}^{i}(t)]}^{T}\) the feedback elements, then the error dynamics satisfy:

$$\displaystyle{ \left [\begin{array}{c} \dot{x}_{e}^{i}(t) \\ \dot{y}_{e}^{i}(t) \\ \dot{\theta }_{e}^{i}(t) \end{array} \right ] = \left [\begin{array}{ccc} 0 &w_{\mathrm{ref}}(t)& 0 \\ - w_{\mathrm{ref}}(t)& 0 &v_{\mathrm{ref}}(t)\mathrm{sinc}(\theta _{e}^{i}(t)) \\ 0 & 0 & 0 \end{array} \right ]\times \left [\begin{array}{c} x_{e}^{i}(t) \\ y_{e}^{i}(t) \\ \theta _{e}^{i}(t) \end{array} \right ]+\left [\begin{array}{cc} -1& y_{e}^{i}(t) \\ 0 &-x_{e}^{i}(t) \\ 0 & -1 \end{array} \right ]{u}^{i}(t) }$$
(11)

where v ref(t), v i(t) are the reference and current linear velocities, w ref(t), w i(t) the reference and current angular velocities.

The structure of the error posture dynamics in (11) allow its representation as a Takagi-Sugeno fuzzy model as shown by authors in [12]. Motivated by the work in [13] and [14], the two-step procedure is adopted for a network of delayed nonlinear error posture models in (11) which are structured into the TS form in (8). For the system, the control action vector u i(t) is designed based on TS concepts, and is shown in the sequel. The control law has the form referred to in the literature as PDC [29].

Swarm Tracking and Control Law Description Subject to Time-Delay

In this section the design of the control law for the stabilisation of the error dynamics in (8) subject to time-delay is described. The task is for the error state e i(t) for i = 1, , N to converge to zero asymptotically at a local level. In this work the assumption is that individual systems have common \(\mathbf{A}_{\kappa }^{1},\mathbf{A}_{\kappa }^{2},\mathbf{B}_{\kappa },\forall \ \kappa = 1,\ldots,r\), and the communication topology is bidirectional static. Additionally it is assumed that for the delay term 0 ≤ τ κ i(t) ≤ τ. As in [13], and [14] the control design for the stabilisation problem is treated in two steps.

Step 1: Node Level Tracking

The controller \(u_{\tau }^{i}({e}^{i}(t))\), used to stabilise the error dynamics, subject to delay, for the ith UAV system at node level, is designed from the rules of the TS fuzzy model and maintains the same structure as the model rules. Furthermore in this work it is assumed that the control law is not delay-dependent. The κth control rule at node level has the following structure:

Control Rule κ:

IF z 1 i(t) is M κ1 AND AND z q i(t) is M κ q THEN \(u_{\tau }^{i}({e}^{i}(t)) = -\mathbf{F}_{\kappa }{e}^{i}(t),\forall i,j = 1,\ldots,N\)

for κ = 1, , r and where q =  | z | . In polytopic form the node level state feedback control law is equal to:

$$\displaystyle{ u_{\tau }^{i}({e}^{i}(t)) = -\sum _{\kappa =1}^{r}\lambda _{ \kappa }({z}^{i}(t))\mathbf{F}_{\kappa }{e}^{i}(t) }$$
(12)

where \(\mathbf{F}_{\kappa } \in {\mathbb{R}}^{m\times n}\) are the feedback gains. By substitution of (12) into the dynamics in (8), the node level closed-loop error dynamics are equal to:

$$\displaystyle{ \dot{{e}}^{i}(t) = \sum _{\kappa =1}^{r}\sum _{ \mu =1}^{r}\lambda _{ \kappa }({z}^{i}(t))\lambda _{\mu }({z}^{i}(t))\bigg[\mathbb{A}_{\kappa \mu }{e}^{i}(t) + \mathbf{A}_{\kappa }^{2}{e}^{i}(t -\tau _{\kappa }^{i}(t))\bigg] }$$
(13)

where \(\mathbb{A}_{\kappa \mu } = \mathbf{A}_{\kappa }^{1} -\mathbf{B}_{\kappa }\mathbf{F}_{\mu }\). According to reference [25] the dynamics in (13) are expanded into (14) in order to use more relaxed conditions [25].

$$\displaystyle{ \begin{array}{ll} \dot{{e}}^{i}(t)& = \sum _{\kappa =1}^{r}\lambda _{ \kappa }{({z}^{i}(t))}^{2}\bigg[\mathbb{A}_{\kappa \kappa }{e}^{i}(t) + \mathbf{A}_{\kappa }^{2}{e}^{i}(t -\tau _{\kappa }^{i}(t))\bigg] \\ &\ldots + 2\sum _{\kappa =1}^{r}\sum _{ \kappa <\mu }^{r}\lambda _{ \kappa }({z}^{i}(t))\lambda _{\mu }({z}^{i}(t)) \\ & \times \left (\frac{\mathbb{A}_{\kappa \mu }{e}^{i}(t)+\mathbf{A}_{\kappa }^{2}{e}^{i}(t-\tau _{\kappa }^{i}(t))+\mathbb{A}_{\mu \kappa }{e}^{i}(t)+\mathbf{A}_{\mu }^{2}{e}^{i}(t-\tau _{\mu }^{i}(t))} {2} \right ) \end{array} }$$
(14)

For the stabilisation of the node level error dynamics Lyapunov theory is utilised. The task is to determine the feedback gains F μ , and a symmetric positive definite matrix \(\mathbf{P} \in {\mathbb{R}}^{n\times n}\), such that a local performance criteria for stability is satisfied. It will be shown in the sequel that through the use of the Razumikhin theorem [8] a Lyapunov analysis is possible, feedback gains and a positive definite matrix can be calculated to satisfy stability conditions posed as Linear Matrix Inequalities (LMIs).

According to [2], the stabilisation of the error dynamics for the system (14) subject to time-delay is guaranteed via the PDC control law in (12) if there exists a symmetric positive matrix P > 0 (\(\mathbf{P} \in {\mathbb{R}}^{n\times n}\)), S κ  > 0 (\(\mathbf{S} \in {\mathbb{R}}^{n\times n}\)) and matrices \(\mathbf{F}_{\mu } \in {\mathbb{R}}^{m\times n}\) for κ, μ = 1, , r such that the following conditions hold:

$$\displaystyle{ \left \{\begin{array}{@{}l@{\quad }l@{}} \quad &\mathbf{P} > 0 \\ \quad &\mathbf{P} > \mathbf{S}_{\kappa }^{-1} \\ \mathbb{A}_{\kappa \kappa }^{T}\mathbf{P} + \mathbf{P}\mathbb{A}_{\kappa \kappa } +\zeta \mathbf{P} + \mathbf{P}\mathbf{A}_{\kappa }^{2}\mathbf{S}_{\kappa }\mathbf{A}_{\kappa }^{2}\ {}^{T}\mathbf{P}\quad &< 0,\ \forall \kappa = 1,\ldots,r \\ \mathbb{A}_{\kappa \mu }^{T}\mathbf{P} + \mathbf{P}\mathbb{A}_{\kappa \mu } + \mathbb{A}_{\mu \kappa }^{T}\mathbf{P} + \mathbf{P}\mathbb{A}_{\mu \kappa } + 2\zeta \mathbf{P}\quad & \\ \ldots +\mathbf{P}\mathbf{A}_{\kappa }^{2}\mathbf{S}_{\kappa }\mathbf{A}_{\kappa }^{2}\ {}^{T}\mathbf{P} + \mathbf{P}\mathbf{A}_{\mu }^{2}\mathbf{S}_{\mu }\mathbf{A}_{\mu }^{2}\ {}^{T}\mathbf{P} \quad &< 0 \end{array} \right. }$$
(15)

with \(\kappa <\mu \ s.t\ \lambda _{\kappa }({z}^{i}(t)) \cap \lambda _{\mu }({z}^{i}(t))\neq \varnothing \),Footnote 1 for the third condition. Additionally, κ, μ = 1, , r, and ζ > 1. The proof of (15) follows directly from the Lyapunov analysis of the dynamics in (14).

Taking the time derivative of the positive definite function \({v}^{i}(t) = {e}^{i}{(t)}^{T}\mathbf{P}{e}^{i}(t),\ \forall i = 1,2,\ldots,N\) the task is to show that this is negative definite for all e i(t) ≠ 0. Utilising the closed loop dynamics in (14) the time derivative of the Lyapunov function v i(t) is equal to:

$$\displaystyle\begin{array}{rcl} \dot{{v}}^{i}(t)& =& \sum _{\kappa =1}^{r}\lambda _{ \kappa }^{2}({z}^{i}(t))\bigg[{e}^{i}{(t)}^{T}\big(\mathbb{A}_{\kappa \kappa }^{T}\mathbf{P}+\mathbf{P}\mathbb{A}_{\kappa \kappa }\big){e}^{i}(t)+2{e}^{i}{(t)}^{T}\mathbf{P}\mathbf{A}_{\kappa }^{2}{e}^{i}(t-\tau _{\kappa }^{i}(t))\bigg]\ldots \\ & \quad +& \sum _{\kappa =1}^{r}\sum _{ \kappa <\mu }\lambda _{\kappa }({z}^{i}(t))\lambda _{\mu }({z}^{i}(t))\bigg[{e}^{i}{(t)}^{T}\big(\mathbb{A}_{\kappa \mu }^{T}\mathbf{P}+\mathbf{P}\mathbb{A}_{\kappa \mu }+\mathbb{A}_{\mu \kappa }^{T}\mathbf{P}+\mathbf{P}\mathbb{A}_{\mu \kappa }\big){e}^{i}(t)\ldots \\ & \quad +& 2{e}^{i}{(t)}^{T}\mathbf{P}\mathbf{A}_{\kappa }^{2}{e}^{i}(t -\tau _{\kappa }^{i}(t)) + 2{e}^{i}{(t)}^{T}\mathbf{P}\mathbf{A}_{\mu }^{2}{e}^{i}(t -\tau _{\mu }^{i}(t))\bigg] \\ & \leq & \sum _{\kappa =1}^{r}\lambda _{ \kappa }^{2}({z}^{i}(t))\bigg[{e}^{i}{(t)}^{T}\big(\mathbb{A}_{\kappa \kappa }^{T}\mathbf{P}+\mathbf{P}\mathbb{A}_{\kappa \kappa }+\mathbf{P}\mathbf{A}_{\kappa }^{2}\mathbf{S}_{\kappa }\mathbf{A}_{\kappa }^{2}\ {}^{T}\mathbf{P}\big){e}^{i}(t) \\ & \quad +& {e}^{i}{(t-\tau _{\kappa }^{i}(t))}^{T}\mathbf{S}_{\kappa }^{-1}{e}^{i}(t -\tau _{\kappa }^{i}(t))\bigg]\ldots \\ & \quad +& \sum _{\kappa =1}^{r}\sum _{ \kappa <\mu }\lambda _{\kappa }({z}^{i}(t))\lambda _{\mu }({z}^{i}(t))\bigg[{e}^{i}{(t)}^{T}\big(\mathbb{A}_{\kappa \mu }^{T}\mathbf{P} + \mathbf{P}\mathbb{A}_{\kappa \mu } + \mathbb{A}_{\mu \kappa }^{T}\mathbf{P} + \mathbf{P}\mathbb{A}_{\mu \kappa }\ldots \\ & \quad +& \mathbf{P}\mathbf{A}_{\kappa }^{2}\mathbf{S}_{\kappa }\mathbf{A}_{\kappa }^{2}\ {}^{T}\mathbf{P} + \mathbf{P}\mathbf{A}_{\mu }^{2}\mathbf{S}_{\mu }\mathbf{A}_{\mu }^{2}\ {}^{T}\mathbf{P}\big){e}^{i}(t)\ldots \\ & \quad +& {e}^{i}{(t -\tau _{\kappa }^{i}(t))}^{T}\mathbf{S}_{\kappa }^{-1}{e}^{i}(t -\tau _{\kappa }^{i}(t)) + {e}^{i}{(t -\tau _{\mu }^{i}(t))}^{T}\mathbf{S}_{\mu }^{-1}{e}^{i}(t -\tau _{\mu }^{i}(t))\bigg] \\ & \leq & \sum _{\kappa =1}^{r}\lambda _{ \kappa }^{2}({z}^{i}(t))\bigg[{e}^{i}{(t)}^{T}\big(\mathbb{A}_{\kappa \kappa }^{T}\mathbf{P}+\mathbf{P}\mathbb{A}_{\kappa \kappa }+\mathbf{P}\mathbf{A}_{\kappa }^{2}\mathbf{S}_{\kappa }\mathbf{A}_{\kappa }^{2}\ {}^{T}\mathbf{P}\big){e}^{i}(t)+{v}^{i}(t-\tau _{\kappa }^{i}(t))\bigg]\ldots \\ & \quad +& \sum _{\kappa =1}^{r}\sum _{ \kappa <\mu }\lambda _{\kappa }({z}^{i}(t))\lambda _{\mu }({z}^{i}(t))\bigg[{e}^{i}{(t)}^{T}\big(\mathbb{A}_{\kappa \mu }^{T}\mathbf{P} + \mathbf{P}\mathbb{A}_{\kappa \mu } + \mathbb{A}_{\mu \kappa }^{T}\mathbf{P} + \mathbf{P}\mathbb{A}_{\mu \kappa }\ldots \\ & \quad +& \mathbf{P}\mathbf{A}_{\kappa }^{2}\mathbf{S}_{\kappa }\mathbf{A}_{\kappa }^{2}\ {}^{T}\mathbf{P} + \mathbf{P}\mathbf{A}_{\mu }^{2}\mathbf{S}_{\mu }\mathbf{A}_{\mu }^{2}\ {}^{T}\mathbf{P}\big){e}^{i}(t) + {v}^{i}(t -\tau _{\kappa }^{i}(t)) + {v}^{i}(t -\tau _{\mu }^{i}(t))\bigg]{}\end{array}$$
(16)

Based on the Razumikhin theorem [8] for the positive definite function v i(t) there exist σ 1 and σ 2 such that:

$$\displaystyle{ \sigma _{1}\|{e}^{i}{(t)\|}^{2} \leq {v}^{i}(t) \leq \sigma _{ 2}\|{e}^{i}{(t)\|}^{2} }$$
(17)

where σ 1 and σ 2 are the minimum and maximum eigenvalues of P. By using (17), it is assumed that there exists a real ζ > 1 such that:

$$\displaystyle{ {v}^{i}(t-\theta ) <\zeta {v}^{i}(t) }$$
(18)

for θ ∈ [0, τ], then from (18), (16) reduces to:

$$\displaystyle{ \begin{array}{ll} \dot{{v}}^{i}(t)& \leq \sum _{\kappa =1}^{r}\lambda _{\kappa }^{2}({z}^{i}(t))\bigg[{e}^{i}{(t)}^{T}\big(\mathbb{A}_{\kappa \kappa }^{T}\mathbf{P} + \mathbf{P}\mathbb{A}_{\kappa \kappa } + \mathbf{P}\mathbf{A}_{\kappa }^{2}\mathbf{S}_{\kappa }\mathbf{A}_{\kappa }^{2}\ {}^{T}\mathbf{P} +\zeta \mathbf{P}\big){e}^{i}(t)\bigg] \\ &\ldots +\sum _{ \kappa =1}^{r}\sum _{\kappa <\mu }\lambda _{\kappa }({z}^{i}(t))\lambda _{\mu }({z}^{i}(t))\bigg[{e}^{i}{(t)}^{T}\big(\mathbb{A}_{\kappa \mu }^{T}\mathbf{P} + \mathbf{P}\mathbb{A}_{\kappa \mu } + \mathbb{A}_{\mu \kappa }^{T}\mathbf{P} + \mathbf{P}\mathbb{A}_{\mu \kappa } \\ & \ldots + \mathbf{P}\mathbf{A}_{\kappa }^{2}\mathbf{S}_{\kappa }\mathbf{A}_{\kappa }^{2}\ {}^{T}\mathbf{P} + \mathbf{P}\mathbf{A}_{\mu }^{2}\mathbf{S}_{\mu }\mathbf{A}_{\mu }^{2}\ {}^{T}\mathbf{P} + 2\zeta \mathbf{P}\big){e}^{i}(t)\bigg] \end{array} }$$
(19)

Thus for (19) to be negative definite it is only sufficient to find P > 0, S κ  > 0 and matrices \(\mathbf{F}_{\mu } \in {\mathbb{R}}^{m\times n}\) for κ, μ = 1, , r such that the conditions (15) hold, and the proof is completed. □ 

In order to solve the previous problem, the bilinear matrix inequalities (BMIs) need to be recast into LMIs. This can be performed subject to a congruence transformation of X, where \(\mathbf{X} ={ \mathbf{P}}^{-1}\), and the definition of \(\boldsymbol{\Xi }_{\mu } = \mathbf{F}_{\mu }\mathbf{X}\). Thus conditions (15) are transformed to LMIs:

$$\displaystyle{ \left \{\begin{array}{@{}l@{\quad }l@{}} &\mathbf{X}> 0\\ &\mathbf{S}_{ \kappa }> \mathbf{X} \\ &\boldsymbol{\Pi }_{\kappa \kappa }^{1} < 0,\ \forall \kappa = 1,\ldots,r \\ &\boldsymbol{\Pi }_{\kappa \mu }^{2} < 0,\ \kappa <\mu \ s.t\ \lambda _{\kappa }({z}^{i}(t)) \cap \lambda _{\mu }({z}^{i}(t))\neq \varnothing \end{array} \right. }$$
(20)

where \(\boldsymbol{\Pi }_{\kappa \kappa }^{1}\) and \(\boldsymbol{\Pi }_{\kappa \mu }^{2}\) are equal to:

$$\displaystyle{ \boldsymbol{\Pi }_{\kappa \kappa }^{1} = \mathbf{X}\mathbf{A}_{\kappa }^{1}\ {}^{T} + \mathbf{A}_{\kappa }^{1}\mathbf{X} -\boldsymbol{ \Xi }_{\kappa }^{T}\mathbf{B}_{\kappa }^{T} -\mathbf{B}_{\kappa }\boldsymbol{\Xi }_{\kappa } +\zeta \mathbf{X} + \mathbf{A}_{\kappa }^{2}\mathbf{S}_{\kappa }\mathbf{A}_{\kappa }^{2}\ {}^{T} }$$
(21)

and

$$\displaystyle{ \begin{array}{ll} \boldsymbol{\Pi }_{\kappa \mu }^{2} & = \mathbf{X}\mathbf{A}_{\kappa }^{1}\ {}^{T} + \mathbf{A}_{\kappa }^{1}\mathbf{X} -\boldsymbol{ \Xi }_{\mu }^{T}\mathbf{B}_{\kappa }^{T} -\mathbf{B}_{\kappa }\boldsymbol{\Xi }_{\mu } + \mathbf{X}\mathbf{A}_{\mu }^{1}\ {}^{T} + \mathbf{A}_{\mu }^{1}\mathbf{X} -\boldsymbol{ \Xi }_{\kappa }^{T}\mathbf{B}_{\mu }^{T} -\mathbf{B}_{\mu }\boldsymbol{\Xi }_{\kappa } \\ &\ldots + 2\zeta \mathbf{X} + \mathbf{A}_{\kappa }^{2}\mathbf{S}_{\kappa }\mathbf{A}_{\kappa }^{2}\ {}^{T} + \mathbf{A}_{\mu }^{2}\mathbf{S}_{\mu }\mathbf{A}_{\mu }^{2}\ {}^{T} \end{array} }$$
(22)

Provided that the LMIs in (20) are feasible, then a solution can be recovered from:

$$\displaystyle{ \mathbf{F}_{\mu } =\boldsymbol{ \Xi }_{\mu }{\mathbf{X}}^{-1} }$$
(23)

Remark 1.

A faster response for the closed loop system (14) can be considered. This can be performed if a decay rate η is included in conditions (20). This is equivalent to ensuring \(\dot{{v}}^{i}(t) + 2\eta {v}^{i}(t) < 0\) and replacing the previous constraints \(\boldsymbol{\Pi }_{\kappa \kappa }^{1}\) and \(\boldsymbol{\Pi }_{\kappa \mu }^{2}\) with \(\overline{\boldsymbol{\Pi }}_{\kappa \kappa }^{1} =\boldsymbol{ \Pi }_{\kappa \kappa }^{1} + 2\eta \mathbf{X}\) and \(\overline{\boldsymbol{\Pi }}_{\kappa \mu }^{2} =\boldsymbol{ \Pi }_{\kappa \mu }^{2} + 4\eta \mathbf{X}\),respectively.

Remark 2.

Moreover a generalised eigenvalue problem subject to (20), with modified \(\boldsymbol{\Pi }_{\kappa \kappa }^{1}\), \(\boldsymbol{\Pi }_{\kappa \mu }^{2}\) and η > 0, can be used as suggested in [1]. Provided that the initial conditions are a-priori known, the control effort can be constrained to satisfy \(\|\xi _{\tau }(e(t))\|_{2} \leq \nu\). This can be enforced by means of the optimisation problem

$$\displaystyle{ \min _{\mathbf{X},\boldsymbol{\Xi }_{1},\ldots,\boldsymbol{\Xi }_{r}}\ \nu }$$
(24)

subject to the modified LMIs of (20) and

$$\displaystyle{ \left \{\begin{array}{cc} \left [\begin{array}{cc} 1 &e{(0)}^{T} \\ e(0)& \mathbf{X}\\ \end{array} \right ]& \geq 0 \\ \left [\begin{array}{cc} \mathbf{X}&\boldsymbol{\Xi }_{\kappa }^{T} \\ \boldsymbol{\Xi }_{\kappa }&{ \nu }^{2}\mathbf{I}\\ \end{array} \right ]& \geq 0\end{array}\right. }$$
(25)

for κ = 1, , r.

Remark 3.

Note that conditions (25) are dependent to e(0) which is a limitation. This can be overcome by assuming an upper bound ϕ for \(\|e(0)\|\). Then as suggested in [25] conditions (25) can be replaced by

$$\displaystyle{{ \phi }^{2}\mathbf{I} \leq \mathbf{X} }$$
(26)

The modified conditions in (20), and (26) or (20), (24) and (25) lead to a good compromise between complexity and conservatism. It should be noted that the performance constraints are chosen according to functional and physical limitations of the aircraft involved. Hence provided the feedback gains F κ are chosen for a common Lyapunov matrix P satisfying conditions (20) (with the modified \(\boldsymbol{\Pi }_{\kappa \kappa }^{1}\), \(\boldsymbol{\Pi }_{\kappa \mu }^{2}\)), (24) and (25), \(\dot{{v}}^{i}(t) + 2\eta {v}^{i}(t) < 0\). Thus stability can be guaranteed for any set of initial conditions \({e}^{i}(0) \in \mathcal{X}\) for the delayed system. Thereafter based on the node level stabilisation, a second step is undertaken illustrated in the next section.

Step 2: Tracking at Network Level

At a network level an additional term which represents the relative state information among neighbouring UAVs and the reference trajectory is introduced in the control law so that:

$$\displaystyle{ u({e}^{i}(t)) = -\sum _{\kappa =1}^{r}\lambda _{ \kappa }({z}^{i}(t))\mathbf{F}_{\mu }{e}^{i}(t) +\gamma \mathbf{\overline{F}}\sum _{ j,\ i\neq j}^{N}\ell_{ ij}{e}^{j}(t) }$$
(27)

where \(\mathbf{\overline{F}} \in {\mathbb{R}}^{m\times n}\) and γ a positive scalar. Using the control law in (27), at a network level the error-dynamics, subject to delay, are equal to:

$$\displaystyle{ \dot{{e}}^{i}(t) = \sum _{\kappa =1}^{r}\sum _{ \mu =1}^{r}\lambda _{ \kappa }({z}^{i}(t))\lambda _{\mu }({z}^{i}(t))\bigg(\mathbb{A}_{\kappa \mu }{e}^{i}(t) + \mathbf{A}_{\kappa }^{2}{e}^{i}(t -\tau _{\kappa }^{i}(t)) +\gamma \mathbf{B}_{\kappa }\ \mathbf{\overline{F}}\sum _{ j=1}^{N}\ell_{ ij}{e}^{j}(t)\bigg) }$$
(28)

In a compact form (28) can be conveniently written using the Kronecker product notation [9] (refer to properties in Appendix A), as:

$$\displaystyle{ \dot{\mathrm{e}}(t) = [\mathcal{A}(z(t)) +\gamma \mathcal{B}(z(t))(\mathbf{L} \otimes I_{n})]\mathrm{e}(t) + \mathcal{A}_{2}(z(t))\mathrm{e}(t -\tau (t)) }$$
(29)

where

$$\displaystyle{ \mathcal{A}(z(t)) = \mbox{ diag}\left \{\sum _{\kappa =1}^{r}\sum _{ \mu =1}^{r}\lambda _{ \kappa }^{1}\lambda _{ \mu }^{1}\mathbb{A}_{\kappa \mu },\ldots,\sum _{\kappa =1}^{r}\sum _{ \mu =1}^{r}\lambda _{ \kappa }^{N}\lambda _{ \mu }^{N}\mathbb{A}_{\kappa \mu }\right \} }$$
(30)
$$\displaystyle{ \mathcal{A}_{2}(z(t)) = \mbox{ diag}\left \{\sum _{\kappa =1}^{r}\lambda _{ \kappa }^{1}\mathbf{A}_{\kappa }^{2},\ldots,\sum _{\kappa =1}^{r}\lambda _{ \kappa }^{N}\mathbf{A}_{\kappa }^{2}\right \} }$$
(31)

and

$$\displaystyle{ \mathcal{B}(z(t)) = \mbox{ diag}\left \{\sum _{\kappa =1}^{r}\lambda _{ \kappa }^{1}\mathbf{B}_{\kappa }\mathbf{\overline{F}},\ldots,\sum _{\kappa =1}^{r}\lambda _{ \kappa }^{N}\mathbf{B}_{\kappa }\mathbf{\overline{F}}\right \} }$$
(32)

and e(t), e(tτ(t)) is the concatenation of the state vectors e i(t), \({e}^{i}(t -\tau _{\kappa }^{i}(t))\) so that e(t) = col([e 1(t), , e N(t)]), and \(\mathrm{e}(t -\tau (t)) = col([{e}^{1}(t -\tau _{\kappa }^{1}(t)),\ldots,{e}^{N}(t -\tau _{\kappa }^{N}(t))])\), respectively. Using Lyapunov theory, a candidate Lyapunov function for the swarm is defined as

$$\displaystyle{ V (t) =\sum _{ i=1}^{N}{e}^{i}{(t)}^{T}\mathbf{P}{e}^{i}(t) }$$
(33)

where the symmetric positive definite matrix P is from the earlier node level synthesis in section “Step 1: Node Level Tracking”. Taking the time derivative of (33), and substituting for the control law (27) in (28), it results in

$$\displaystyle{ \dot{V }(t) = V _{1} + V _{2} }$$
(34)

where

$$\displaystyle{ V _{1} = \sum _{i=1}^{N}\sum _{ \kappa =1}^{r}\sum _{ \mu =1}^{r}\lambda _{ \kappa }({z}^{i}(t))\lambda _{\mu }({z}^{i}(t))\bigg[{e}^{i}{(t)}^{T}\big(\mathbb{A}_{\kappa \mu }^{T}\mathbf{P}+\mathbf{P}\mathbb{A}_{\kappa \mu }\big){e}^{i}(t)+2{e}^{i}{(t)}^{T}\mathbf{P}\mathbf{A}_{\kappa }^{2}{e}^{i}(t-\tau _{\kappa }^{i}(t))\bigg] }$$
(35)

and

$$\displaystyle{ V _{2} = 2\gamma \mathrm{{e}}^{T}(t)(I_{ N} \otimes \mathbf{P})\mathcal{B}(z(t))(\mathbf{L} \otimes I_{n})\mathrm{e}(t) }$$
(36)

For the swarm of UAVs, subject to delay, to track the virtual leader system, which is moving according to a prescribed reference trajectory, it is sufficient to show that \(\dot{V }(t) < 0\). Utilising the stabilisation procedure from the first step of the design process in section “Step 1: Node Level Tracking”, for the choice of a common Lyapunov matrix P and feedback gains F μ , V 1 < 0. Hence all that needs to be shown is that V 2 is negative semi-definite for all e(t) ≠ 0. It is evident from the TS model that the input matrix B κ is time-varying because of (11); however, the first column is constant: i.e. \(\mathbf{B}_{\kappa } = [\mathbf{B}_{1},\mathbf{B}_{2\kappa }]\). Here by choice:

$$\displaystyle{ \mathbf{\overline{F}} = -{[\mathbf{B}_{1},0]}^{T}\mathbf{P} }$$
(37)

which means that \(\mathcal{B}(z(t)) = I \otimes \mathbf{B}_{1}\mathbf{B}_{1}^{T}\mathbf{P}\). As a result of this choice in (36):

$$\displaystyle{ V _{2} = -2\gamma \mathrm{{e}}^{T}(t)(\mathbf{L} \otimes \mathbf{P}\mathbf{B}_{ 1}\mathbf{B}_{1}^{T}\mathbf{P})\mathrm{e}(t) }$$
(38)

The Laplacian L is positive semi-definite, by definition in (2), and by construction \(\mathbf{P}\mathbf{B}_{1}\mathbf{B}_{1}^{T}\mathbf{P} \geq 0\), it follows that \(-(\mathbf{L} \otimes \mathbf{P}\mathbf{B}_{1}\mathbf{B}_{1}^{T}\mathbf{P}) \leq 0\) by Corollary 4.2.13 [9]. Thus (34) is negative definite for all e(t) ≠ 0 and the error dynamics of the swarm, subject to delay, is stable.

Simulation Example

In this section a tracking scenario is considered where a swarm of UAVs is deployed to collectively follow the prescribed trajectory of a virtual leader from any initial conditions satisfying bounds on the state space. The path is assumed to be a-priori known. The reference track considered for the virtual leader in this example is referred to in the literature as the Dubins path [5].

The Dubins path comprises of line segments and circular arcs of type CLC or CCC (C = Circular arc, L = Line segment) or another combination of the previous two. By the former the two segments of the circumference of circles are joined by their common tangent. By the latter, CCC is formed by three consecutive tangential circular arcs. The physical interpretation of the particular path is a combination of the shortest line for rectilinear motion and the shortest circular arc for turning. In this work the path is constructed with the use of principles of Euclidean Geometry. The design procedure can be found in thesis [21] for the interested reader. Example trajectories for CLC paths with common external and internal tangents, respectively, are depicted in Fig. 2. The two waypoints depicted have poses of P start(100, 100, 80o) and P final(150, 150, 45o). It should be noted that for the previous poses there exist four different Dubins paths, the left to left turn (LSL), the left to right turn (LSR), the right to right turn (RSR) and the right to left turn (RSL). From the previous four trajectories for the node to node path the one that yields the minimum energy requirements motivated by the work in [11] is chosen as the virtual leader trajectory.

Fig. 1
figure 1

Posture error \(P(x_{e},y_{e},\theta _{e})\) for an aerial vehicle in lateral motion

Description of the Takagi Sugeno UAV Model

For the purpose of illustration consider a swarm of identical UAV models. The TS fuzzy model has been derived as described in section “UAV Model and the Takagi-Sugeno Model Representation”. For the model illustrated in (11) \(z_{1}^{i}(t) = w_{\mathrm{ref}}(t)\), \(z_{2}^{i}(t) = v_{\mathrm{ref}}(t)\mathrm{sinc}(\theta _{e}^{i}(t))\), \(z_{3}^{i}(t) = y_{e}^{i}(t)\) and \(z_{4}^{i}(t) = x_{e}^{i}(t)\) are chosen as the premise variables with z 1 i(t) ∈ [−0. 513, 0. 513], z 2 i(t) ∈ [18. 0048, 20], z 3 i(t) ∈ [−10, 10] and z 4 i(t) ∈ [−10, 10]. In addition \(\theta _{e}^{i}(t) \in [-\pi /4,\pi /4]\). Hence the number of rules of the fuzzy system is equal to r = 16 and the length of the premise vector is equal to q = 4. It should be noted that the latter bounds are not chosen in an arbitrary manner, and are selected in order not to lose controllability of the system. Utilising the sector nonlinearity approach in [10] the membership functions M κ μ (z i(t)) are determined and the weighting terms are calculated according to (6). All sixteen rules are developed as prescribed in section “UAV Model and the Takagi-Sugeno Model Representation” Eq. (4), where A κ and B κ are shown in the sequel. Finally, the defuzzification is carried out with respect to Eq. (5). Hence the equivalent TS fuzzy model (5) for the full nonlinear is derived. For model (5):

$$\displaystyle{ \mathbf{A}_{\kappa } = \left [\begin{array}{ccc} 0 & -\varepsilon _{\kappa }^{1}w_{r,\mathrm{max}} & 0 \\ \varepsilon _{\kappa }^{1}w_{r,\mathrm{max}} & 0 & \overline{\mu }_{\kappa }^{i} \\ 0 & 0 &0 \end{array} \right ]\mathbf{B}_{\kappa } = \left [\begin{array}{ccc} - 1&\varepsilon _{\kappa }^{3}e_{\mathrm{max}}^{i} \\ 0 &\varepsilon _{\kappa }^{4}e_{\mathrm{max}}^{i} \\ 0 & - 1 \end{array} \right ] }$$
(39)

where \(w_{r,\mathrm{max}} = 0.513\ (\mathrm{rad/s})\), e max i = 10 (m) and

$$\displaystyle{ \varepsilon _{\kappa }^{1} = \left \{\begin{array}{ll} - 1,&\mathrm{for}\ 1 \leq \kappa \leq 8 \\ + 1,&\mathrm{otherwise}\\ \end{array} \right.\varepsilon _{\kappa }^{4} = {(-1)}^{\kappa +1} }$$
$$\displaystyle{ \varepsilon _{\kappa }^{3} = \left \{\begin{array}{ll} + 1,&\mathrm{otherwise} \\ - 1,&\mathrm{for}\ \kappa \in \{ 1,2,5,6,9,10,13,14\}\\ \end{array} \right. }$$
$$\displaystyle{ \overline{\mu }_{\kappa }^{i} = \left \{\begin{array}{ll} 18.0048,&\mathrm{for}\ 1 \leq \kappa \leq 4\ \mathrm{and}\ 9 \leq \kappa \leq 12 \\ 20, &\mathrm{otherwise}\\ \end{array} \right. }$$
Fig. 2
figure 2

Common external (left) and internal (right) tangent between two circular arcs. The solid red lines in source and destination waypoints depict the entry and exit heading angles at the particular poses (Colour figure online)

The membership function are depicted in Fig. 3. To illustrate the proposed results on the time-delay systems it is assumed the ith UAV error posture model is perturbed by time-delay and the delayed system is given as:

$$\displaystyle\begin{array}{rcl} & & \left [\begin{array}{c} \dot{x}_{e}^{i}(t) \\ \dot{y}_{e}^{i}(t) \\ \dot{\theta }_{e}^{i}(t) \end{array} \right ] \\ & & = \left [\begin{array}{ccc} 0 &aw_{\mathrm{ref}}(t)& 0 \\ - aw_{\mathrm{ref}}(t)& 0 &av_{\mathrm{ref}}(t)\mathrm{sinc}(\theta _{e}^{i}(t)) \\ 0 & 0 & 0 \end{array} \right ]\left [\begin{array}{c} x_{e}^{i}(t) \\ y_{e}^{i}(t) \\ \theta _{e}^{i}(t) \end{array} \right ] \\ & & \quad +\left [\begin{array}{ccc} 0 &(1-a)w_{\mathrm{ref}}(t)& 0 \\ -(1-a)w_{\mathrm{ref}}(t)& 0 &(1-a)v_{\mathrm{ref}}(t)\mathrm{sinc}(\theta _{e}^{i}(t-\tau (t))) \\ 0 & 0 & 0 \end{array} \right ]\left [\begin{array}{c} x_{e}^{i}(t-\tau (t)) \\ y_{e}^{i}(t-\tau (t)) \\ \theta _{e}^{i}(t-\tau (t)) \end{array} \right ] \\ & & \quad + \left [\begin{array}{cc} - 1& y_{e}^{i}(t) \\ 0 & - x_{e}^{i}(t) \\ 0 & - 1 \end{array} \right ]{u}^{i}(t) {}\end{array}$$
(40)

where retarded coefficient a satisfies a ∈ [0, 1]. It should be noted that the bounds on a correspond for a completely retarded system if a equals zero and otherwise non-delayed system. It is assumed that a = 0. 7 and τ(t) = 10sin(10t) in this example. In polytopic form the TS is equal to:

$$\displaystyle{ \dot{{e}}^{i}(t) = \sum _{\kappa =1}^{r}\lambda _{ \kappa }({z}^{i}(t))[\alpha \mathbf{A}_{\kappa }{e}^{i}(t) + (1-\alpha )\mathbf{A}_{\kappa }{e}^{i}(t -\tau (t)) + \mathbf{B}_{\kappa }{u}^{i}(t)] }$$
(41)

where A κ and B κ are defined in (39), for the specified parameters. It can be easily shown that the closed system is not stable under delay perturbation and with the control law used in article [14]. Thus the analysis illustrated in section “Step 1: Node Level Tracking” is applied to synthesise the feedback gains and the positive definite matrix, at node level, and to be later utilised for the stabilisation of the entire swarm.

Tracking a Virtual Leader

In this example a swarm of UAVs (N = 20) is deployed to collectively follow a virtual leader system. It is assumed that the leader is moving according to a reference track (Dubins path) which is known a-priori from the preflight planning. The UAVs are interconnected through control law (27), and the contribution factor for the global information is chosen as γ = 0. 7. The adjacency matrix is depicted in Fig. 4, and the Laplacian matrix has the form in (2). The graph considered here is G(20, 184) and the task is for the error state e i(t) → 0 as t → .

Following the procedure introduced in section “Swarm Tracking and Control Law Description Subject to Time-Delay”, firstly the LMIs are synthesised at node level for the closed loop error posture model (13). This leads to the choice of the feedback gains F μ and a common positive definite matrix P by minimising (24) subject to the LMI conditions in (25), and the transformed conditions from (20). The gains F κ and S κ for κ = 1, , 16 are shown in Appendix B and the positive definite matrix returned is:

$$\displaystyle{ \mathbf{P} = 1{0}^{-5}\left [\begin{array}{ccccc} 0.0029 & - 0.0002& - 0.0028\\ - 0.0002 & 0.0009 & 0.0101 \\ - 0.0028& 0.0101 & 0.1344 \end{array} \right ] }$$

From the minimisation problem of (24) subject to LMIs (25), and the transformed conditions from (20), η = 0. 1, ζ = 1, and \(\nu = 9.6768e - 007\). Altering the elements in η, and ζ results in different responses of the system. This gives the designer the possibility of obtaining another control performance according to design specifications.

From Fig. 7 the bounds on the state space e i(t) are not violated and thus the TS model represents exactly the nonlinear retarded model of the error dynamics of the UAV. Utilising the stabilisation procedure at node level, \(\mathbf{\overline{F}}\) is chosen as (37) at the second step according to section “Step 2: Tracking at Network Level”. Hence the overall control law (27) is synthesised and is added to the feed-forward control action vector \(u_{F}^{i}(t) = {[v_{\mathrm{ref}}(t)\cos (\theta _{e}^{i}(t)),w_{\mathrm{ref}}(t)]}^{T}\) to generate u er i(t). The control input u er i(t) consists of the angular w er i(t) and the linear v er i(t) velocities which are fed to the delayed ith UAV model (9). Thereafter the measured state of the vehicle is used to calculate the tracking error as in (10). The initial conditions for each UAV were chosen in a random manner (whilst satisfying the a-priori assumed bounds on the state space).

The swarm trajectories which are converging to the virtual leader reference track are depicted in Fig. 5. Figure 6 shows the heading angle of each UAV versus the virtual leader’s. The states of the tracking error (\({e}^{i}(t) = {[x_{e}^{i}(t),y_{e}^{i}(t),\theta _{e}^{i}(t)]}^{T}\)) are given in Fig. 7. The firing of the weighting functions \(\lambda _{\kappa }({z}^{i}(t))\) are depicted in Fig. 8. The control action vector u er i(t) is given in Fig. 9.

Fig. 3
figure 3

Membership functions for z i(t) premise vector with saturation points not shown

Fig. 4
figure 4

Adjacency matrix A for network G(V, E). Nodes that are interconnected (a ij  = 1) coincide with the white colour

Fig. 5
figure 5

Trajectories of the delayed swarm in xy plane (solid lines) versus the virtual leader’s trajectory (dashed line)

Fig. 6
figure 6

Heading angle profile for each delayed UAV (solid lines) and heading angle of the virtual leader (dashed line)

Fig. 7
figure 7

Tracking error \({e}^{i}(t) = {[x_{e}^{i}(t),y_{e}^{i}(t),\theta _{e}^{i}(t)]}^{T}\) of every delayed UAV within the swarm

Fig. 8
figure 8

Weighting functions \(\lambda _{\kappa }(z_{i}(t))\)

Fig. 9
figure 9

Control action vector \(u_{\mathrm{er}}^{i}(t) = [v_{\mathrm{er}}^{i}(t),w_{\mathrm{er}}^{i}(t)]\)

The benefit of the proposed analysis is that the design of the controller is decoupled from the size of the network and its topology. This is due to the fact that there are only r LMIs that are utilised to stabilise each node locally. Additionally, due to the decoupled structure of the network it allows a convenient choice for gain \(\mathbf{\overline{F}}\). The advantage is that through the special choice of feedback gains (37) for the relative state information, the methodology can be applied to a large class of nonlinear large-scale network of systems, subject to delay perturbation.

Conclusions

This work proposes a systematic analysis for tracking problems in swarm-based UAV missions with linear and angular velocity constraints, subject to time-delay. The communication topology among the UAVs is represented using graph theory tools. The intermediate step of representing a network of nonlinear systems with TS models circumvents the difficulty in designing a control law when dependencies among the time-delayed UAVs are considered. A special choice of feedback gains for the relative state information allows the methodology to be applied to a reasonably large class of nonlinear systems. The distributed control law which is proposed, is composed of both node and network level information. The two-step design procedure is performed subject to criteria, posed as Linear Matrix Inequalities (LMIs). An illustrative example, where a swarm of UAVs, subject to delay, is deployed to collectively follow the track of a virtual leader, was included to demonstrate the potential of the analysis.

Appendix

A-Kronecker Product Properties

The Kronecker product of A and B denoted as ⊗ is a block matrix C with entries \(\mathbf{C} = \mathbf{A} \otimes \mathbf{B} = [c_{ij}] = [\mathbf{A}_{ij}\mathbf{B}]\). The Kronecker product is a special case of the tensor product and satisfies the following identities according to [9]:

  1. 1.

    \(\mathbf{A} \otimes (\mathbf{B} + \mathbf{C}) = \mathbf{A} \otimes \mathbf{B} + \mathbf{A} \otimes \mathbf{C}\)

  2. 2.

    \((k\mathbf{A}) \otimes \mathbf{B} = \mathbf{A} \otimes (k\mathbf{B}) = k(\mathbf{A} \otimes \mathbf{B})\)

  3. 3.

    (AB) ⊗C = A ⊗ (B) ⊗C

  4. 4.

    (AB)(CD) = ACBD

  5. 5.

    \({(\mathbf{A} \otimes \mathbf{B})}^{-1} ={ \mathbf{A}}^{-1} \otimes {\mathbf{B}}^{-1}\)

  6. 6.

    \({(\mathbf{A} \otimes \mathbf{B})}^{T} ={ \mathbf{A}}^{T} \otimes {\mathbf{B}}^{T}\)

B-Results Calculated for Tracking Scenario

The gains calculated for the tracking scenario are:

$$\displaystyle\begin{array}{rcl} \mathbf{F}_{1} = \left [\begin{array}{ccc} - 5.7787& 6.9570 & 91.5205\\ 0.1910 & - 0.6166 & - 8.2395 \end{array} \right ]\mathbf{F}_{2} = \left [\begin{array}{ccc} - 4.4262& 1.4297 & 18.2658\\ 0.1705 & - 0.6984 & - 9.2015 \end{array} \right ]\mathbf{F}_{3}& =& \left [\begin{array}{ccc} - 2.6445& - 5.2920& - 70.7494\\ 0.1836 & - 0.6185 & - 8.2680 \end{array} \right ] \\ \mathbf{F}_{4} = \left [\begin{array}{ccc} - 1.0755& - 10.9130& - 145.4940\\ 0.1656 & - 0.6800 & - 8.9622 \end{array} \right ]\mathbf{F}_{5} = \left [\begin{array}{ccc} - 5.5718& 6.7533 & 88.9730\\ 0.1894 & - 0.6342 & - 8.4770 \end{array} \right ]\mathbf{F}_{6}& =& \left [\begin{array}{ccc} - 4.3860& 2.1222 & 27.6472\\ 0.1776 & - 0.7314 & - 9.6451 \end{array} \right ] \\ \mathbf{F}_{7} = \left [\begin{array}{ccc} - 2.3516& - 5.6580& - 75.4223\\ 0.1934 & - 0.6346 & - 8.4904 \end{array} \right ]\mathbf{F}_{8} = \left [\begin{array}{ccc} - 1.0922& - 10.2054& - 135.8902\\ 0.1897 & - 0.7089 & - 9.3582 \end{array} \right ]\mathbf{F}_{9}& =& \left [\begin{array}{ccc} - 5.6573& 5.4646 & 73.8794\\ 0.1550 & - 0.6188 & - 8.2624 \end{array} \right ] \\ \mathbf{F}_{10} = \left [\begin{array}{ccc} - 7.2677& 11.4144 & 152.9849\\ 0.2063 & - 0.6779 & - 8.9350 \end{array} \right ]\mathbf{F}_{11} = \left [\begin{array}{ccc} - 2.1162& - 6.8384& - 89.1303\\ 0.1484 & - 0.6145 & - 8.2023 \end{array} \right ]\mathbf{F}_{12}& =& \left [\begin{array}{ccc} - 3.9435& - 0.8725& - 10.0146\\ 0.2061 & - 0.6930 & - 9.1316 \end{array} \right ] \\ \mathbf{F}_{13} = \left [\begin{array}{ccc} - 5.5398& 5.7460 & 77.3921\\ 0.1552 & - 0.6345 & - 8.4794 \end{array} \right ]\mathbf{F}_{14} = \left [\begin{array}{ccc} - 6.8592& 10.6092 & 142.0409\\ 0.1969 & - 0.7049 & - 9.3047 \end{array} \right ]\mathbf{F}_{15}& =& \left [\begin{array}{ccc} - 1.9847& - 6.6967& - 87.4434\\ 0.1602 & - 0.6344 & - 8.4698 \end{array} \right ] \\ \mathbf{F}_{16}& =& \left [\begin{array}{ccc} - 3.4437& - 1.7102& - 21.3904\\ 0.2196 & - 0.7292 & - 9.6178 \end{array} \right ]{}\end{array}$$
(42)

From the solution of LMIs the positive definite matrices 1. 0e + 007S κ for κ = 1, , 16 are equal to:

$$\displaystyle\begin{array}{rcl} \mathbf{S}_{1} = \left [\begin{array}{ccc} 1.1368 & 0.3553 & - 0.0904\\ 0.3553 & 2.1092 & - 0.0600 \\ - 0.0904& - 0.0600& 0.0145 \end{array} \right ]\mathbf{S}_{2} = \left [\begin{array}{ccc} 1.2647 & 0.1497 & - 0.0439\\ 0.1497 & 2.2958 & - 0.1288 \\ - 0.0439& - 0.1288& 0.0304 \end{array} \right ]\mathbf{S}_{3}& =& \left [\begin{array}{ccc} 1.1351 & 0.3542 & - 0.0907\\ 0.3542 & 2.0749 & - 0.0579 \\ - 0.0907& - 0.0579& 0.0143 \end{array} \right ] \\ \mathbf{S}_{4} = \left [\begin{array}{ccc} 1.2596 & 0.1325 & - 0.0440\\ 0.1325 & 2.3397 & - 0.1366 \\ - 0.0440& - 0.1366& 0.0310 \end{array} \right ]\mathbf{S}_{5} = \left [\begin{array}{ccc} 1.2039 & 0.3137 & - 0.0774\\ 0.3137 & 2.1515 & - 0.0664 \\ - 0.0774& - 0.0664& 0.0159 \end{array} \right ]\mathbf{S}_{6}& =& \left [\begin{array}{ccc} 1.3674 & 0.0482 & - 0.0140\\ 0.0482 & 2.4149 & - 0.1641 \\ - 0.0140& - 0.1641& 0.0392 \end{array} \right ] \\ \mathbf{S}_{7} = \left [\begin{array}{ccc} 1.2043 & 0.3141 & - 0.0774\\ 0.3141 & 2.1193 & - 0.0641 \\ - 0.0774& - 0.0641& 0.0157 \end{array} \right ]\mathbf{S}_{8} = \left [\begin{array}{ccc} 1.3584 & 0.0321 & - 0.0153\\ 0.0321 & 2.4575 & - 0.1719 \\ - 0.0153& - 0.1719& 0.0395 \end{array} \right ]\mathbf{S}_{9}& =& \left [\begin{array}{ccc} 1.3488 & - 0.2552& 0.1091\\ - 0.2552 & 2.0853 & - 0.0646 \\ 0.1091 & - 0.0646& 0.0193 \end{array} \right ] \\ \mathbf{S}_{10} = \left [\begin{array}{ccc} 1.3920 & - 0.1348& 0.0856\\ - 0.1348 & 2.3035 & - 0.1258 \\ 0.0856 & - 0.1258& 0.0313 \end{array} \right ]\mathbf{S}_{11} = \left [\begin{array}{ccc} 1.3495 & - 0.2546& 0.1088\\ - 0.2546 & 2.1216 & - 0.0674 \\ 0.1088 & - 0.0674& 0.0196 \end{array} \right ]\mathbf{S}_{12}& =& \left [\begin{array}{ccc} 1.3923 & - 0.1484& 0.0865\\ - 0.1484 & 2.2525 & - 0.1171 \\ 0.0865 & - 0.1171& 0.0304 \end{array} \right ] \\ \mathbf{S}_{13} = \left [\begin{array}{ccc} 1.3952 & - 0.2173& 0.0974\\ - 0.2173 & 2.1246 & - 0.0694 \\ 0.0974 & - 0.0694& 0.0201 \end{array} \right ]\mathbf{S}_{14} = \left [\begin{array}{ccc} 1.4554 & - 0.0381& 0.0604\\ - 0.0381 & 2.4659 & - 0.1731 \\ 0.0604 & - 0.1731& 0.0415 \end{array} \right ]\mathbf{S}_{15}& =& \left [\begin{array}{ccc} 1.3950 & - 0.2163& 0.0975\\ - 0.2163 & 2.1614 & - 0.0724 \\ 0.0975 & - 0.0724& 0.0203 \end{array} \right ] \\ \mathbf{S}_{16}& =& \left [\begin{array}{ccc} 1.4588 & - 0.0482& 0.0598\\ - 0.0482 & 2.4212 & - 0.1654 \\ 0.0598 & - 0.1654& 0.0410 \end{array} \right ]{}\end{array}$$
(43)