1 Introduction

Aerial robotics has been greatly developing in recent years, and this has made autonomous aerial vehicles or unmanned aerial vehicles (UAVs) gain many followers. In addition to the military use, there are many varied civil applications where this type of autonomous vehicles has gained ground, such as automation and technological support to agricultural work, filmography in general, support to rescue labors, the exploration of land even outside the planet, the tasks of recognition and supervision of bounded areas, the exploration of oil and minerals or the automated industrial transport and cargo.

In some of these cases, the use of a single autonomous vehicle is sufficient, but as the number and variety of applications increase, it has become necessary to integrate several of these vehicles to carry out the tasks in a more efficient and timely manner. For this reason, the present work focused on the development of a cooperation strategy between aerial robots based on nonlinear control techniques. It is demonstrated that the use of the nonlinear control technique known as control by sliding modes can be applied in tasks that require the coordinated navigation (without collisions) of several UAVs in a shared environment.

The main motivation for the development of this work was that its applications can benefit and impact clearly and directly the communities that are part of the social environment of the Pontificia Universidad Javeriana Cali (Colombia). These applications can range from the agro-industrial sector and the conservation of natural resources [3, 5, 8, 9, 13], as in search and rescue or in disaster prevention tasks, [7, 18], or applications to support sustainable urban development, such as those developed by [1, 14]. Another important application is the search and deactivation of antipersonnel mines, such as those mentioned in [2, 10, 12].

To solve the problem of collisions between autonomous robots, different investigations have been developed. In the case of aerial robots, several methods, techniques and theories based on generating trajectories prior to the flight have been implemented. For example, Maza [17] in his thesis presents a distributed architecture, composed of different modules that solve common problems that arise during the execution of multipurpose missions. In case of terrestrial robots, different approaches have been made, using different types of robot models. As an example of this, using the approach and theory of Lyapunov, Bacon et al. [4] proposed a law of control by sliding modes (SMC) in which the resulting decentralized control guides the robotic agents toward the coverage of an area within a target region that could be moving. The approach of the agents to the objective is asymptotic and without collisions. His work includes discussions on the stability of the controlled dynamics, as well as the abilities of rejection of disturbances, using linear models of holonomic robots. In the real world, robots possess dynamics that can be more complicated than those linear representations commonly used, so some authors like Zhai et al. [20], Listmann [15] and Ghommam [11] have included the problem of cooperation with non-holonomic robots. The approaches presented here offered clarity in some of the concepts related to conflict resolution and its application to the tasks and scenarios that were implemented.

This work shows the extension of results obtained for terrestrial robots (in a two-dimensional plane) to the three-dimensional case, necessary for the navigation of aerial robots. Using the results described previously, the effectiveness of SMC technique for a single non-holonomic terrestrial robot displacement control was checked, and is described by Torres et al. [19], as well as the verification of effectiveness of the same technique for the collision-free navigation of a set of terrestrial robots of this same type, as described by Martínez [16]. The following section of this paper describes the way in which the problem of coordinated navigation between a group of aerial robots is approached, using the SMC technique, and then, the results of this approach are presented by means of simulations. Finally, some conclusions of the work developed are proposed, as well as a prospective of possible future developments.

2 Analytical approach of sliding mode control for coordinated flight in UAV

A generic model proposed in [6] was considered for aerial robots, as shown in Eq. (1). This model represents the flight dynamics of a quadrotor, whose geometrical symmetry characteristics allow us to assume that the displacements in the axes x and y have a similar dynamic behavior, while the vertical displacement (z axis) behaves in a different way.

$$\begin{aligned} \ddot{x}_i &= a_{1i} {\dot{x}}_i + b_{1i} ( u_{xi}+f_{xi}^r + f_{xi}^d) \\ \ddot{y}_i& = a_{2i} {\dot{y}}_i + b_{2i} ( u_{yi}+f_{yi}^r + f_{yi}^d) \\ \ddot{z}_i& = a_{3i} {\dot{z}}_i + b_{3i} (u_{zi}+f_{zi}^r + f_{zi}^d) \end{aligned}$$
(1)

where \(x_i\); \(y_i\); \(z_i\): linear displacement of the ith robot on each Cartesian axis. \(u_{xi}\); \(u_{yi}\); \(u_{zi}\): control signals for the frontal, lateral and vertical displacement of the ith robot. \(f_{xi}^r, f_{yi}^r, f_{zi}^r\): front, lateral and vertical components of the repulsion force that affects the ith robot. \(f_{xi}^d, f_{yi}^d, f_{zi}^d\): components of the coupled perturbation force that affects the ith robot. \(a_{1i}, b_{1i}, a_{2i}, b_{2i}, a_{3i}\, \hbox {y}\, b_{3i}\): parameters of the model of the ith robot.

Due to the aforementioned geometrical symmetry, it will be assumed that \(a_{1i} = a_{2i}\) and \(b_{1i} = b_{2i}\). Parameters have their nominal values represented by \({\bar{a}}_i\) and \({\bar{b}}_{1}\), but they are exposed to uncertainties that are bounded, so that:

$$\begin{aligned} a_i& = {\bar{a}}_i + {\tilde{a}}_i, |{\tilde{a}}_i| \leqslant \Delta a_i \ll {\bar{a}}_i \\ b_{i}& = {\bar{b}}_{i} + {\tilde{b}}_{i}, |{\tilde{b}}_{i}| \leqslant \Delta b_{i} \ll {\bar{b}}_{i} \end{aligned}$$
(2)

The definitions and procedure proposed below are based on the work of Bacon et al. [4] for two dimensions (x and y axes), but in this case the extension of such procedure to a third dimension (z axis) is made, with the necessary considerations for such extension.

In this case, a collisions-free navigation between several UAV is required, so that a subset of those robots is defined, which, due to their proximity, will be considered neighbors and on which will act a force additional to that provided by the system of control, called repulsion force, in order to maintain a prudent and safe distance for such collision-free navigation. Those robots, whose vector position \(X_j=[x_j , y_j, z_j]^{\mathrm{T}} \in \mathfrak {R}^3\) fulfill Eq. (3), give this subset of neighboring robots of the ith robot.

$$\begin{aligned} V_i = \{ X_j : || X_i - X_j||< r_v \ \ i \ne j \} \end{aligned}$$
(3)

where, in this case, \(r_v\) is the radius of a sphere defined as a neighborhood.

Equation (4) denotes the force of repulsion made by its three components, \(f_{xi}^r, f_{yi}^r\) and \(f_{zi}^r\).

$$\begin{aligned} F_i^r= \sum _{X_j \in V_i} {(r_v-||X_i-X_j ||)^2 \frac{X_i-X_j}{||X_i-X_j||}} \end{aligned}$$
(4)

Robots will start from an initial position and the control will take them toward a target volume, which will be considered spherical, until being inside it and staying there, even if that target volume moves around. Equation (5) defines this three-dimensional subspace.

$$\begin{aligned} || X - X_d || < r_{\mathrm{esf}} \end{aligned}$$
(5)

where \(X_d(t) = [x_d(t), y_d(t), z_d(t)]^T \in \mathfrak {R}^3\) is the center of the spherical volume considered objective and \(r_{\mathrm{esf}}\) is its radio.

Since it is desired that the robots go to the target sphere and remain within it, equation (6) defines the error function:

$$\begin{aligned} E_i = \left[ \begin{array}{c}e_{xi} \\ e_{yi} \\ e_{zi}\end{array}\right] = X_d-X_i \end{aligned}$$
(6)

The objective of the sliding mode control will be to minimize this error, so that the sliding surface (\(S_i\)) is expressed as a function of such error:

$$\begin{aligned} S_i = \left[ \begin{array}{c}s_{xi} \\ s_{yi} \\ s_{zi}\end{array}\right] = \lambda E_i + {\dot{E}}_i \end{aligned}$$
(7)

To continue with the design of the control, a positive defined function is proposed as a candidate function of Lyapunov:

$$\begin{aligned} V_i= \frac{1}{2} S_i^T S_i \ \ > 0 \end{aligned}$$
(8)

The purpose of the control will be to force the derivative of this function to be defined as negative, that is:

$$\begin{aligned} {\dot{V}}_i= S_i^T {\dot{S}}_i \ \ < 0 \end{aligned}$$
(9)

The derivative of the sliding surface is given by:

$$\begin{aligned} {\dot{S}}_i= \lambda {\dot{E}}_i + {\ddot{E}}_i = \lambda {\dot{E}}_i + ({\ddot{X}}_d-{\ddot{X}}_i) \end{aligned}$$
(10)

From (1) and (10), we obtain:

$$\begin{aligned} \left[ \begin{array}{c}{\dot{s}}_{xi} \\ {\dot{s}}_{yi} \\ {\dot{s}}_{zi} \end{array}\right] = \left[ \begin{array}{c}\lambda {\dot{e}}_{xi}+\ddot{x}_d -a_{1i} {\dot{x}}_{i} - b_{1i}(u_{xi} + f_{xi}^r + f_{xi}^d)) \\ \lambda {\dot{e}}_{yi}+\ddot{y}_d - a_{1i} {\dot{y}}_{i} - b_{1i}(u_{yi} + f_{yi}^r + f_{yi}^d)) \\ \lambda {\dot{e}}_{zi}+\ddot{z}_d - a_{3i} {\dot{z}}_{i} - b_{3i}(u_{zi} + f_{zi}^r + f_{zi}^d)) \end{array}\right] \end{aligned}$$
(11)

To fulfill the condition imposed in (9), the control signal is selected so that the dynamic of the sliding surface (\(S_i\)) behaves according to (12):

$$\begin{aligned} {\dot{S}}_i= -K_1 S_i - K_2 \frac{S_i}{||S_i||} \end{aligned}$$
(12)

If the forces of repulsion and disturbance are ignored, the dynamics of \(S_i\) can be achieved with the following control signals:

$$\begin{aligned} \left[ \begin{array}{c}u_{xi} \\ u_{yi} \\ u_{zi} \end{array}\right] = \left[ \begin{array}{c} \frac{1}{b_{1i}} (\lambda {\dot{e}}_{xi}+\ddot{x}_d - a_{1i} {\dot{x}}_{i} + K_1 s_{xi} + K_2 \frac{s_{xi}}{||S_i||}) \\ \frac{1}{b_{1i}} (\lambda {\dot{e}}_{yi}+\ddot{y}_d - a_{1i} {\dot{y}}_{i} + K_1 s_{yi} + K_2 \frac{s_{yi}}{||S_i||}) \\ \frac{1}{b_{3i}} (\lambda {\dot{e}}_{zi}+\ddot{z}_d - a_{3i} {\dot{z}}_{i} + K_1 s_{zi} + K_2 \frac{s_{zi}}{||S_i||}) \end{array}\right] \end{aligned}$$
(13)

Substituting the values of \(u_{xi}, u_{yi}\) and \(u_{zi}\) in (11) and including the corresponding terms of the forces of repulsion and perturbation, we get:

$$\begin{aligned} \left[ \begin{array}{c}{\dot{s}}_{xi} \\ {\dot{s}}_{yi} \\ {\dot{s}}_{zi} \end{array}\right] = \left[ \begin{array}{c} - K_1 s_{xi} - K_2 \frac{s_{xi}}{||S_i||} - b_{1i} ( f_{xi}^r + f_{xi}^d) \\ - K_1 s_{yi} - K_2 \frac{s_{yi}}{||S_i||} - b_{1i} ( f_{yi}^r + f_{yi}^d) \\ - K_1 s_{zi} - K_2 \frac{s_{zi}}{||S_i||} - b_{3i} ( f_{zi}^r + f_{zi}^d) \end{array}\right] \end{aligned}$$
(14)

The worst case in which these forces of repulsion and disturbance act on the robot occurs when the magnitude of these forces is maximum and the orientation is inverse to that of the vector \(\frac{S_i}{||S_i||}\). In this case, we get:

$$\begin{aligned} \left[ \begin{array}{c}{\dot{s}}_{xi} \\ {\dot{s}}_{yi} \\ {\dot{s}}_{zi} \end{array}\right] = \left[ \begin{array}{c} - K_1 s_{xi} + [- K_2 + b_{1i} ( f_{xi-\max }^r + f_{xi-\max }^d)] \frac{s_{xi}}{||S_i||} \\ - K_1 s_{yi} + [- K_2 + b_{1i} ( f_{yi-\max }^r + f_{yi-\max }^d)] \frac{s_{yi}}{||S_i||} \\ - K_1 s_{zi} + [- K_2 + b_{3i} ( f_{zi-\max }^r + f_{zi-\max }^d)] \frac{s_{zi}}{||S_i||} \end{array}\right] \end{aligned}$$
(15)

To ensure that the derivative of the Lyapunov candidate function is negative, \({\dot{V}}_i < 0\), the value of \(K_2\) must meet the following condition:

$$\begin{aligned}&K_2 \geqslant \max \left[ (b_{1i} ( f_{xi-\max }^r + f_{xi-\max }^d)), \right.\\&\quad \qquad (b_{1i} ( f_{yi-\max }^r + f_{yi-\max }^d)), \\&\left.\quad \qquad (b_{3i} ( f_{zi-\max }^r + f_{zi-\max }^d)) \right] \end{aligned}$$
(16)

When using the sliding mode control, it must be taken into account that the small values of \(||S_i||\) make the term \(\frac{S_i}{||S_i||}\) introduce unwanted vibrations in the control signal, but also that these vibrations could be diminished by using an approximation of that term by means of a saturation-type function, which would be limited to the band in which \(||S_i|| \leqslant \epsilon\) and that is defined by (17):

$$\begin{aligned} \hbox {Sat}(S_i, \epsilon ) = {\left\{ \begin{array}{ll} 1 &{\text {para}}\;||S_i|| > \epsilon \\ \frac{||S_i||}{\epsilon } &{\text {para}}\;||S_i|| \leqslant \epsilon \end{array}\right. } \end{aligned}$$
(17)

where \(\epsilon = \lambda r_{\mathrm{esf}}\).

The steady-state error will not only be different from zero, but will remain bounded according to (18).

$$\begin{aligned} ||E_i|| = || X_i - X_d || < \frac{\epsilon }{\lambda } = r_{\mathrm{esf}} \end{aligned}$$
(18)

Because of this smoothing of control, the repulsion forces will now be the ones that are in charge of maintaining an adequate distribution of the robots within the volume declared as objective. That is to say, when the UAV is outside of such target volume, the control will lead them in a robust way to their interior, but once they are inside the volume, this same control becomes tolerant to the repulsion forces between robots, allowing them to maintain the distances between themselves.

Taking into account the smoothing introduced by the saturation function and also the nominal values of the parameters of the model (\({\bar{a}}_i\) y \({\bar{b}}_{i}\)), the control signals given in (13) are now converted to:

$$\begin{aligned} \left[ \begin{array}{c}u_{xi} \\ u_{yi} \\ u_{zi} \end{array}\right] = \left[ \begin{array}{c} \frac{1}{{\bar{b}}_{1i}} \left(\lambda {\dot{e}}_{xi}+\ddot{x}_d - {\bar{a}}_{1i} {\dot{x}}_{i} + K_1 s_{xi} + K_2 \hbox {Sat}(S_i, \epsilon ) \frac{s_{xi}}{||S_i||}\right) \\ \frac{1}{{\bar{b}}_{1i}} \left(\lambda {\dot{e}}_{yi}+\ddot{y}_d - {\bar{a}}_{1i} {\dot{y}}_{i} + K_1 s_{yi} + K_2 \hbox {Sat}(S_i, \epsilon ) \frac{s_{yi}}{||S_i||}\right) \\ \frac{1}{{\bar{b}}_{3i}} \left(\lambda {\dot{e}}_{zi}+\ddot{z}_d - {\bar{a}}_{3i} {\dot{z}}_{i} + K_1 s_{zi} + K_2 \hbox {Sat}(S_i, \epsilon ) \frac{s_{zi}}{||S_i||}\right) \end{array}\right] \end{aligned}$$
(19)

With these new expressions for the control signals, the dynamics of \(S_i = \left[ \begin{array}{c}s_{xi} \\ s_{yi} \\ s_{zi} \end{array}\right]\) will be given by:

$$\begin{aligned} \left[ \begin{array}{c}{\dot{s}}_{xi} \\ {\dot{s}}_{yi} \\ {\dot{s}}_{zi} \end{array}\right] = \left[ \begin{array}{c} - \frac{ {\tilde{b}}_{1i}}{{\bar{b}}_{1i}}(\lambda {\dot{e}}_{xi} + \ddot{x}_d - {\bar{a}}_{1i} {\dot{x}}_{i}) - \frac{b_{1i}}{{\bar{b}}_{1i}} ( K_1 s_{xi} + K_2 \hbox {Sat}(S_i, \epsilon ) \frac{s_{xi}}{||S_i||} - b_{1i} ( f_{xi}^r + f_{xi}^d) \\ - \frac{{\tilde{b}}_{1i}}{{\bar{b}}_{1i}}(\lambda {\dot{e}}_{yi} + \ddot{y}_d - {\bar{a}}_{1i} {\dot{y}}_{i}) - \frac{b_{1i}}{{\bar{b}}_{1i}} ( K_1 s_{yi} + K_2 \hbox {Sat}(S_i, \epsilon ) \frac{s_{yi}}{||S_i||} - b_{1i} ( f_{yi}^r + f_{yi}^d) \\ - \frac{{\tilde{b}}_{3i}}{{\bar{b}}_{3i}}(\lambda {\dot{e}}_{zi} + \ddot{z}_d - {\bar{a}}_{3i} {\dot{z}}_{i}) - \frac{b_{3i}}{{\bar{b}}_{3i}} ( K_1 s_{zi} + K_2 \hbox {Sat}(S_i, \epsilon ) \frac{s_{zi}}{||S_i||} - b_{1i} ( f_{zi}^r + f_{zi}^d) \\ \end{array}\right] \end{aligned}$$
(20)

Initially, each robot will be in the so-called reach or approach phase and this happens when \(||S_i|| \gg \epsilon\). In this case, the distance between agents is sufficiently large so that the force of repulsion between robots will have no effect on them; it means that \(F_{i}^r = 0\). However, the strength of disturbance \(f_{i}^d\) must be taken into account. It is also fulfilled that \(\hbox {Sat}(S_i,\epsilon ) = 1\).

To get \({\dot{V}}_i < 0\), a value of \(K_2\) must be selected such that:

$$\begin{aligned} K_{2} > \max (K_{2x}, K_{2y}, K_{2z}) \end{aligned}$$
(21)

where

$$\begin{aligned} K_{2x}& = \Delta b_{1i} || \lambda {\dot{e}}_{xi} + \ddot{x}_d ||_{\max } + \Delta a_{1i} || {\dot{x}}_i ||_{\max } + ({\bar{b}}_{1i} + \Delta b_{1i}) f_{xi-\max }^d \\ K_{2y}& = \Delta b_{1i} || \lambda {\dot{e}}_{yi} + \ddot{y}_d ||_{\max } + \Delta a_{1i} || {\dot{y}}_i ||_{\max } + ({\bar{b}}_{1i} + \Delta b_{1i}) f_{yi-\max }^d \\ K_{2z}& = \Delta b_{3i} || \lambda {\dot{e}}_{zi} + \ddot{z}_d ||_{\max } + \Delta a_{3i} || {\dot{z}}_i ||_{\max } + ({\bar{b}}_{3i} + \Delta b_{3i}) f_{zi-\max }^d \end{aligned}$$

The values of \({\bar{a}}\), \(\Delta a\), \({\bar{b}}\) and \(\Delta b\) are defined in (2).

When the interior of the objective sphere is reached, it is fulfilled \(||S_i||< \epsilon\) so that \(\hbox {Sat}(S_i, \epsilon ) = \frac{||S_i||}{\epsilon }\). Since the robots are already inside that sphere, the force of repulsion between them takes considerable amounts. Under these conditions, Eq. (22) shows the derivative of the Lyapunov function.

$$\begin{aligned} {\dot{V}}_{i}&= - s_{xi} \left[ ( \lambda {\dot{e}}_{xi} +\ddot{x}_d) \frac{{\tilde{b}}_{1i}}{{\bar{b}}_{1i}} + ({\tilde{a}}_{1i} - \frac{{\tilde{b}}_{1i}}{{\bar{b}}_{1i}} {\bar{a}}_{1i} ) {\dot{x}}_{i} + b_{1i} (f_{xi}^r + f_{xi}^d) \right.\\&\left.\quad + K_1 s_{xi} + K_2 \frac{s_{xi}}{\epsilon } \right] - s_{yi} \left[ ( \lambda {\dot{e}}_{yi} +\ddot{y}_d) \frac{{\tilde{b}}_{1i}}{{\bar{b}}_{1i}} + ({\tilde{a}}_{1i} - \frac{{\tilde{b}}_{1i}}{{\bar{b}}_{1i}} {\bar{a}}_{1i} ) {\dot{y}}_{i} \right.\\&\left.\quad + b_{1i} (f_{yi}^r + f_{yi}^d) + K_1 s_{yi} + K_2 \frac{s_{yi}}{\epsilon } \right] - s_{zi} \left[ ( \lambda {\dot{e}}_{zi} +\ddot{z}_d) \frac{{\tilde{b}}_{3i}}{{\bar{b}}_{3i}}\right.\\&\left.\quad + ({\tilde{a}}_{3i} - \frac{{\tilde{b}}_{3i}}{{\bar{b}}_{3i}} {\bar{a}}_{3i} ) {\dot{z}}_{i} + b_{1i} (f_{zi}^r + f_{zi}^d) + K_1 s_{zi} + K_2 \frac{s_{zi}}{\epsilon } \right] \end{aligned}$$
(22)

To get \({\dot{V}}_i < 0\), still at the edge of the target region, that is, when \(\hbox {Sat}(S_i, \epsilon ) = 1\), it is necessary to consider the most pessimistic case given by the uncertainties of the model and external forces, so a value of \(K_2\) must be selected such that:

$$\begin{aligned} K_{2} > \max (K_{2x}, K_{2y}, K_{2z}) \end{aligned}$$
(23)

where

$$\begin{aligned} K_{2x}& = \Delta b_{1i} || \lambda {\dot{e}}_{xi} + \ddot{x}_d ||_{\max } + \Delta a_{1i} || {\dot{x}}_i ||_{\max } + ({\bar{b}}_{1i} + \Delta b_{1i}) \left(f_{xi-\max }^r + f_{xi-\max }^d\right) \\ K_{2y}& = \Delta b_{1i} || \lambda {\dot{e}}_{yi} + \ddot{y}_d ||_{\max } + \Delta a_{1i} || {\dot{y}}_i ||_{\max } + ({\bar{b}}_{1i} + \Delta b_{1i}) \left(f_{yi-\max }^r + f_{yi-\max }^d\right) \\ K_{2z}& = \Delta b_{3i} || \lambda {\dot{e}}_{zi} + \ddot{z}_d ||_{\max } + \Delta a_{3i} || {\dot{z}}_i ||_{\max } + ({\bar{b}}_{3i} + \Delta b_{3i}) \left(f_{zi-\max }^r + f_{zi-\max }^d\right) \end{aligned}$$

Finally, the maximum value of \(K_2\) should be used among those calculated from (16), (21) and (23). With this, the controller design is completely defined.

3 Results obtained on the navigation of a UAV fleet using sliding mode control

In order to evaluate the possible benefits of the strategy of sliding mode control previously proposed for the navigation of a fleet of UAVs, a set of simulations were carried out that tried to include some of the conditions present in the real systems, such as the variations in the measurement due to the precision and repeatability of the GPS used and the wind gusts that occur in a real experimental situation. For these simulations, the mathematical model presented by [16] was used to represent the dynamics of the horizontal and vertical displacements of a quadrotor:

$$\begin{aligned} \ddot{x}_i& = -0.40095 {\dot{x}}_i + 0.0428023 \left( u_{xi}+f_{xi}^r + f_{xi}^d\right) \\ \ddot{y}_i& = -0.40095 {\dot{y}}_i + 0.0428023 \left( u_{yi}+f_{yi}^r + f_{yi}^d\right) \\ \ddot{z}_i& = -0.688536 {\dot{z}}_i + 0.10793 \left(u_{zi}+f_{zi}^r + f_{zi}^d\right) \end{aligned}$$
(24)

where \(x_i\); \(y_i\); \(z_i\): Cartesian linear displacement (in meters) of the ith robot. \(u_{xi}\); \(u_{yi}\); \(u_{zi}\): front, lateral and vertical control signals of the ith robot. \(f_{xi}^r, f_{yi}^r, f_{zi}^r\): frontal, lateral and vertical components of the repulsion force that affects the ith robot. \(f_{xi}^d, f_{yi}^d, f_{zi}^d\): components of the coupled perturbation force that affects the ith robot.

The percentage uncertainties of the model parameters ( \(\frac{\Delta a_{i}}{{\bar{a}}_{i}}\), \(\frac{\Delta b_{1i}}{{\bar{b}}_{1i}}\) and \(\frac{\Delta b_{2i}}{{\bar{b}}_{2i}}\) ), will have a maximum level of \(10\%\). Using the parameters of the model, the design parameters are defined and those of the controller are calculated according to the equations presented above. These design parameters and the controller are shown in Table 1.

Table 1 Design and control parameters for UAV

The first simulated experiment with the UAV fleet consisted in placing three aerial robots (called R1, R2 and R3) in certain arbitrary initial conditions ( \(X_{\mathrm{1inic}} = [-2\ \ 10\ \ 5]^T\), \(X_{\mathrm{2inic}} = [-10\ \ 0\ \ 5]^T\) and \(X_{\mathrm{3inic}} = [-2\ \ -10\ \ 5]^T\)) that are outside the spherical volume defined as the objective, whose center is the origin of coordinates and its radius measures 10 m. To observe the behavior of UAVs in the presence of a null reference signal, the simulation starts at a time \(t = 0\,\hbox {s}\), allowing the control to act on the robots, drawing them toward the center of the target volume. At time \(t = 30\,\hbox {s}\), a reference signal is activated that leads the center point of the target spherical volume, describing a sinusoidal figure in the XY Cartesian plane, while the height (Z axis) grows continuously until reaching a value of 10 m, which it then remains constant. Figure 1 shows the results of this first simulation to evaluate the controlled system.

Fig. 1
figure 1

Trajectories of three UAV controlled by sliding mode control

The controller of each robot exerts its action by attracting it toward the center of the objective sphere, but keeping the required distances between them to avoid collision. After this, it is also observed that each robot follows closely the trajectory defined as a reference, with very little difference. Figure 2 graphs the magnitudes of the distance from each of the UAV to the reference trajectory, as a function of time. It can be observed in these graphs that the UAV fleet, once it reaches the interior of the objective sphere, continues in it and closely follows the reference trajectory, with an absolute difference that does not exceed the value of one meter.

Fig. 2
figure 2

Evolution of distance from each of the robots to the reference trajectory

The main objective of this control strategy is to guarantee safe navigation, that is, free of collisions; so, the instantaneous distance between the robots takes a high relevance in the evaluation to which this fleet of UAV is subjected. Figure 3 shows the graphs of each of the calculated distances between the robots of the fleet, as a function of time. The nomenclature used indicates that Dist R12 represents the distance between the robots R1 and R2. It can be seen in the graphs that the robots maintain uniform distances between them, with the minimum value reached being 1.17 m corresponding to the distance between robot R2 and robot R3 at time \(t = 71.2 s\). The above shows that the control strategy used guarantees safe navigation among the evaluated UAV fleet.

Fig. 3
figure 3

Evolution of distance between each pair of robots evaluated

One of the main sources of uncertainty in the modeling and control of the UAV treated here corresponds to the position measurement system, since it is based on a basic GPS system, with barely acceptable precision, which leads to errors in the measurement of \(\pm \,3\,\hbox {m}\), with sampling periods close to one second. For this reason, the robustness of the control scheme designed was verified, including in the simulation the effect that the variability of the GPS system, with which is used for position measurement, could generate. This effect was included in the simulation, adding a random number, with a variation of \(\pm \,3\,\hbox {m}\) with respect to zero, to the x and y coordinates of each of the UAV. The general result of this test is shown in Fig. 4, where the trajectories of each of the robots in the reference coordinate space are shown, while in Fig. 5 the effective trajectory of one of the robots (projected on the Cartesian plane (x, y)) can be observed and compared both with the reference trajectory and with the data from the simulated GPS sensor. In this case, the design and control parameters of Table 2 and arbitrary initial conditions ( \(X_{\mathrm{1inic}} = [-\,2\ \ 25\ \ 5]^{\mathrm{T}}\), \(X_{\mathrm{2inic}} = [-\,20\ \ 0\ \ 5]^{\mathrm{T}}\) and \(X_{\mathrm{3inic}} = [-\,2\ \ -\,25\ \ 5]^{\mathrm{T}}\)) were used.

Table 2 Design and control parameters for UAV
Fig. 4
figure 4

Effect of GPS measurement on the trajectories of three UAVs controlled by sliding mode control

Fig. 5
figure 5

Comparison between the reference trajectory and the effective trajectory of one of the fleet’s UAV

Figure 6 shows the graphs of the distance of each of the robots to the reference trajectory, representing what could be called the tracking error. It is observed that as time passes, each of the UAVs remains sufficiently close to the reference, thus ensuring the permanence of the entire fleet within the target sphere, since these distances do not even approach the value defined as radio of the sphere.

Fig. 6
figure 6

Differences between the reference trajectory and the position of each robot, measured with GPS

In order to evaluate the safety of UAV navigation, Fig. 7 shows the graphs of the calculated distances between each pair of robots in the fleet, as a function of time. In the graphs, it can be seen that, as in the previous case, the robots maintain very uniform distances between them, with the minimum value reached being 1.72 m, corresponding to the distance between the robot R1 and the robot R3 in the instant \(t = 56.2\,\hbox {s}\). The above shows that the control strategy used guarantees safe navigation among the evaluated UAV fleet, despite the harmful effect of the variability of the measurements made with the GPS system.

Fig. 7
figure 7

Distance between each pair of robots, to evaluate the effect of the variability in the GPS measurement

Another adverse effect that could influence the performance of the UAV fleet, whose trajectories are to be controlled, is generated by the air currents at the flight site, introducing disturbances that the control system must assume and react to them. For this reason, the characteristics of precision in the monitoring of the reference trajectory and safety in the navigation of the robots were evaluated, when the robot fleet is faced with an external disturbance, which could be caused by air currents variables in time. For this, the controlled system was simulated again with the same parameters of the previous experiment and taking into account the effect of the measurement with GPS, but additionally applying perturbations in the form of sinusoidal signals that affect the positioning of the UAVs in the axes x and y. These disturbing signals are described by the expressions given in (25).

$$\begin{aligned} f_{xi}^d& = \{10 + 10 \sin [0.2\pi (t-80)] \} u(t-80) \\ f_{yi}^d& = \{5 + 5 \sin [0.2\pi (t-140)] \} u(t-140) \end{aligned}$$
(25)

The magnitude of the signal placed as a disturbance indicates, according to the interpretation of the mathematical model used, the magnitude of the angle (in degrees) of inclination of the UAV that would be reached with such air current (with a maximum of \(20^{\circ }\) of inclination in the case of \(f_{xi}^d\) and \(10^{\circ }\) in the case of \(f_{yi}^d\)) . The function u(t) is a step type signal, which determines the moment of appearance of each of the disturbances.

In Figs. 89 and 10 shown are the results of the simulations to evaluate the effect of the disturbances declared in (25).

Fig. 8
figure 8

Comparison between the trajectories of the robots in the absence and presence of disturbance

Figure 8 shows the trajectories of the robots projected in one of the Cartesian planes and compared with the respective reference signal. In the upper left corner, with continuous blue line, is found the path in the \(X-Y\) plane of the UAV1 in the presence of the disturbance, while the discontinuous blue line shows the trajectory that this UAV would follow in the absence of the wind and in the red line the fixed reference trajectory. The same is shown for the trajectories of UAV2 (in green lines) and UAV3 (in black lines). The lower right corner shows the trajectories of all UAV of the fleet (with disturbance and without it) represented in the \(X-Z\) plane, showing that the height of each of them remains unchanged or with very small changes, despite the adverse conditions given by the disturbance and thus guaranteeing the safety of each of the UAV in flight, since the vertical distances are maintained, thus avoiding a possible collision.

Fig. 9
figure 9

Distance between each robot and the reference trajectory, to evaluate the effect of the disturbance

Fig. 10
figure 10

Distance between each pair of robots, to evaluate the effect of the disturbance on the controlled system

4 Conclusions

  • The nonlinear control technique, called sliding mode control, was effectively applied to command the trajectory followed by holonomic air robots, guaranteeing the stability and robustness of the controlled system.

  • The effectiveness of the sliding mode control was verified when used for the coordination of a group of holonomic aerial robots, including in the simulation tests the effects of the variability inherent to the position measurement system using GPS. The stability and robustness of the proposed solution were demonstrated.

  • The method proposed by Bacon [4] was extended for the control and safe navigation of robots in the plane \((R^2)\), to be able to use it in space \((R^3)\), and its effectiveness, stability and robustness were verified in simulated experiments with a fleet of aerial robots.

  • As a step to follow, we propose an analysis of the robustness of the control system proposed for a fleet of autonomous robots, considering the real conditions of the multi-robot system and validate these results with real experiments.

  • In addition, taking into account the robustness results verified with the use of the sliding mode control, it would be interesting to propose an analysis of the effect of the delays due to the communication systems of the robot fleet.