# Model predictive cooperative localization control of multiple UAVs using potential function sensor constraints

- 876 Downloads

## Abstract

The global localization of multiple mobile robots can be achieved cost efficiently by localizing one robot globally and the others in relation to it using local sensor data. However, the drawback of this cooperative localization is the requirement of continuous sensor information. Due to a limited sensor perception space, the tracking task to continuously maintain this sensor information is challenging. To address this problem, this contribution is presenting a model predictive control (*MPC*) approach for such cooperative localization scenarios. In particular, the present work shows a novel workflow to describe sensor limitations with the help of potential functions. In addition, a compact motion model for multi-rotor drones is introduced to achieve *MPC* real-time capability. The effectiveness of the presented approach is demonstrated in a numerical simulation, an experimental indoor scenario with two quadrotors as well as multiple indoor scenarios of a quadrotor obstacle evasion maneuver.

## Keywords

Localization and navigation in multi-robot systems Distributed robotic systems operating on land, sea and air Multi-robot and multi-vehicle motion coordination Model predictive control Sensor constrained control Unmanned aerial vehicle Quadrotor## 1 Introduction

*UAV*s) for all kind of applications such as surveillance, aerial photography, transport, etc. However, the fast dynamics of these systems and the extended operational space makes their autonomous piloting a challenging task. The recent development (Wingfield 2016) of applications for such systems targets not only autonomous flying of single

*UAV*s, but also the coordinated interaction of multiple

*UAV*s or of

*UAV*s and ground robots. One essential task herein is the precise localization of these

*UAV*s and robots in their environment.

The precise global navigation of *UAV*s though typically requires expensive specialized equipment such as differential *GPS* in outdoor applications or laser-/RF-based global positioning systems in indoor applications. For cooperative mobile robot scenarios, one idea is therefore to deploy a reduced number of mobile robots which are equipped with the costly global localization system. The broadcasting of their global position allows all other *UAV*s to determine their own global position based on the relative position to these *UAV*s. The determination of the relative position can be achieved by less expensive onboard sensors such as optical sensors as shown in Fig. 1 in a *UAV* scenario. The major problem of this approach is the necessity to continuously detect and track the globally localized robots with sufficient accuracy. This is further exacerbated by very dynamical *UAV* scenarios and the onboard sensor limitations. Accordingly, the *UAV* motion has to be controlled in order to keep the globally localized *UAV*s within the perception space of the onboard sensors. The major focus of this work is therefore to provide a central control strategy for such cooperative localization scenarios. To limit the scope of this paper, the estimation and localization itself are not addressed and a stable communication channel is assumed. Yet, it should be mentioned that all robot systems considered here do have internal controllers. A communication failure would thus only lead to missing localization data, but not to a complete system failure.

One method to handle such complex control scenarios is model predictive control. *MPC* allows defining the control objective by means of an optimization problem. This so-called optimal control problem (*OCP*) is minimizing a given objective function subject to constraints. In general, the computational burden to solve an *OCP* is high. Hence, the efficiency of the applied solver is limiting the complexity of the controlled real-time scenarios. Nevertheless, a central *MPC* is well suited to control a small amount of robots. Such a central control simplifies the implementation of safety features and allows the computation of a global *OCP* solution without considering additional consensus techniques. However, the presented methods here are also applicable for distributed controllers which will be addressed in future work.

One essential factor for fast *MPC* is a compact description of the system’s behavior. To tackle this problem, the first contribution of this work is a novel compact motion model for multi-rotor systems which is described in Sect. 4. This simplistic motion model is based on a semi-nonlinear model for multi-rotor *UAV*s from previous work (Dentler et al. 2016a). Due to its angle discontinuity problem, as shown experimentally in Sect. 4.1, this previous model is not suitable for sensor tracking as considered within this work. To address this issue, Sect. 4.2 is presenting a model, where the typical orientation description with a single yaw \(\psi \) angle is replaced by a direction vector description. For validation, Sect. 4.3 is showing the *MPC* of a real \(AR.Drone\,2.0\) quadrotor based on the derived direction vector model. The same modeling approach can also be adapted to other velocity controlled mobile robot systems.

Another difficulty of *MPC* is the translation of the considered control scenario into an *OCP*. For this purpose, the second major contribution of this paper is a workflow that allows to represent sensor limitations in the form of potential functions, as presented in Sect. 5. The considered use case is a sensor tracking scenario which is introduced in Sect. 5.1. In this scenario, a quadrotor is controlled to keep an object within the cone-shaped perception space of the attached sensor. In this context, the sensor limitations are described as inequality constraints. These are subsequently transformed into weakened constraints that just appear in the *OCP* cost function, as shown in Sect. 5.2. This transformation is executed with unit steps and is recommended to maintain a low complexity which facilitates the mathematical and graphical validation of the resulting potential function. To improve the properties of the potential function for gradient and Newton based *OCP*-solvers, Sect. 5.3 is dedicated to the introduction of artificial gradients in undesired regions of the potential function. As last step, Sect. 5.4 is showing how the potential function is finally transformed into an analytical function by approximating all unit step functions by sigmoids.

For the experimental validation in the laboratory, additional safety constraints are introduced in Sect. 6, based on the described workflow. This includes further potential functions to avoid collision in Sect. 6.1 and to limit the operational space in Sect. 6.2. Section 7 is finally presenting the validation of the deduced potential functions in the use case scenario and the chosen control parameters. The numerical validation is described in Sect. 7.1, using the simulation environment \(V\text {-}{\textit{REP}}\). Section 7.2 is subsequently showing the results of the proposed control approach on real \(AR.Drone\,2.0\) quadrotors. In the following Sect. 7.3, the influence of obstacles, utilized constraints and different initial conditions is discussed on the basis of a set of collision avoidance scenarios in which a *UAV* is evading an obstacle while tracking a target.

Finally, conclusion and future perspective are given in Sect. 8.

## 2 Related work

In order to solve a cooperative sensor based robot localization, the problem can be divided into a self-localization and a position tracking problem. The present work is focusing on providing a control strategy for the position tracking problem.

To be able to localize a robot by another robot while executing tasks, both robots have to be controlled in a cooperative manner. There is extensive literature regarding such cooperative control scenarios. A comprehensive overview of the subject is given by Gazi and Passino (2011) and (Zhang and Mehrjerdi 2013). Gazi and Passino (2011) is discussing the theory of swarm mechanics and interaction constraints while Zhang and Mehrjerdi (2013) is providing a survey on formation control and coordination of multiple robots. According to Zhang and Mehrjerdi (2013) the coordination and control algorithms can be classified in leader-follower, behavioral based, virtual structure, graph based and potential field based approaches. The leader-follower principle is a well-established approach for non-holonomic mobile robots (Consolini et al. 2008; Cui et al. 2009), particularly regarding decentralized controllers in order to maintain the flexibility of a distributed system. These decentralized controllers are typically based on feedback linearization (Ge and Cui 2002; Desai et al. 1998) or backstepping and can be adapted to different tasks by switching the control law (Das et al. 2002). The same control approaches can also be found in behavioral (Lawton et al. 2003), virtual structure (Beard et al. 2001; Mehrjerdi et al. 2011), graph theory based (Fax and Murray 2004; Cai and Queiroz 2015; Dong and Farrell 2008) and artificial potential (Nascimento et al. 2014, 2013) based control approaches.

A more generic tool for multi-robot control is *MPC* which is based on formulating the control scenario as optimization problem. One typical example of *MPC* for *UAV*s is trajectory tracking in formation flight while considering collision avoidance constraints. Examples of a centralized *MPC* of cooperative control scenarios is given in Shin and Kim (2009) and Alrifaee et al. (2014). In Shin and Kim (2009) a leader-follower mode is used to perform airplane formation flight with collision avoidance using nonlinear *MPC*. For this purpose Shin and Kim (2009) compares centralized, sequential decentralized and fully decentralized methods of nonlinear *MPC*. Alrifaee et al. (2014) is presenting a non-convex *MPC* for cooperative control. Here, the first objective is to tackle collision avoidance while the secondary performance objective is to deal with the quality of the collision-free trajectory. Examples of the use of decentralized *MPC* is given by Shin and Kim (2009), Fukushima et al. (2013), Turpin et al. (2012) and Bemporad and Rocchi (2011). The considered scenario in Fukushima et al. (2013) is formation control of a multi-vehicle system with collision avoidance and input constraints. For this purpose a feedback linearization controller is integrated with *MPC*. The application of Turpin et al. (2012) is trajectory tracking of aerial robots under formation constraints using decentralized *MPC*. In Bemporad and Rocchi (2011) a decentralized linear time-varying *MPC* is used for formation control of multiple *UAV*s using a leader-follower approach.

The generality and the high control performance of *MPC* come with a high computational burden. Hence, the real-time capability is a crucial aspect of *MPC* which has led to a variety of fast optimization algorithms to minimize the related computational effort. A theoretically well-established and widely used fast *MPC* algorithm is sequential quadratic programming (*SQP*) in combination with Newton-type solvers with e.g. Gauß-Newton or Broyden-Fletcher-Goldfarb-Shannon (*BFGS*) Hessian approximation. A comprehensive framework with a wide variety of related algorithms is *ACADO* (Diehl et al. 2009). The computational efficiency and real-time feasibility for fast mobile robot systems have been validated experimentally, as for example in collision avoidance scenarios with an aerial manipulator (Geisert and Mansard 2016) under use of *BFGS*. A computationally efficient non-*SQP* variation of a Newton-type method is the continuation generalized minimal residual (*CGMRES*) method as presented in Ohtsuka (2004). Its underlying concept is introduced in Sect. 3. A compact version in \(C{++}\) code is freely available under (Ohtsuka 2015). The low computational burden of *CGMRES* makes it particularly suitable to control fast systems, such as e.g. gasoline engines (Kang et al. 2014), hover crafts (Seguchi and Ohtsuka 2003) and Eco cruise control scenarios (Sajadi-Alamdari et al. 2016). To increase the numerical stability, the condensed multiple shooting derivative *CMSCGMRES* has been developed in Shimizu et al. (2009, 2006). In the previous publication (Dentler et al. 2016a), *CMSCGMRES* has been successfully implemented to control a commercial quadrotor. The low computation time and real-time capability of *CMSCGMRES* has been confirmed experimentally for the given scenario. For this reason, this contribution is also based on *CMSCGMRES*. To reduce the implementational effort of additional inter-robot communication and consensus mechanisms and to compute a globally optimal solution, this contribution is computing the *MPC* centrally. Yet, in order to maintain the modularity of the distributed system in the central *MPC* scheme, the modularization scheme from previous work (Dentler et al. 2016b) is utilized in the form of the *DENMPC* framework, as published in Dentler et al. (2017) (more details are given in Sect. 3).

Within this work the cooperative control for a localization scenario with limited sensor perception is discussed. In the context of formation control the problem of a limited sensor perception space is critical along with collision avoidance and trajectory tracking. One approach for vision sensors is visual servoing based on optical flow or features, as shown in de Ruiter and Benhabib (2008), Kendoul et al. (2009) and Erkent and Işıl Bozma (2012). For traditional backstepping controllers, sensor perception limits are addressed by switching the robot’s formation control according to the compliance with the sensor constraints (Wang et al. 2015). Another approach is to compute the optimal boundary trajectories to satisfy the sensor constraint and track these, as shown for non-holonomic robots in Bhattacharya and Hutchinson (2006) or for visual servoing in Bhattacharya et al. (2007) and López-Nicolás et al. (2010). Nevertheless, the task dependency of the control laws makes it challenging to formulate control laws for complex scenarios with constraints. One way to avoid this loss of generality is to use *MPC* which allows defining tasks and constraints as optimization problem in a generic way. An example for a cooperative *MPC* using barrier function constraint handling with sensor and collision avoidance constraint is given in Ding et al. (2016). In Seo et al. (2017) an aerial manipulator is presented with a camera attached to the end-effector. The camera is controlled using a stochastic *MPC* method for visual servoing in order to keep the target in the field of view. Avanzini et al. (2015) is presenting the direct implementation of sensor constraints in *MPC* for holonomic mobile manipulators. The handling of constraints in *MPC* itself is a wide field of research. The major difficulty in *MPC* is how constraints are handled within the *MPC* solver. An overview and benchmark of computationally efficient inequality constraint handling techniques with *CGMRES* is given in Huang et al. (2015). The disadvantage of these simplistic constraint handling techniques, as for example auxiliary variable and logarithmic barrier method, is that a violation leads to an infeasible *OCP* and accordingly to a crash of the *MPC* solver. This is particularly problematic for fast *MPC* solvers, as they do not consider invalid values (*inf*, *nan*) within the prediction horizon and do therefore not automatically recover from an infeasible state. If a small constraint violation can be accepted, one way to avoid this problem is the use of weakened constraints. A weakened constraint is approximating the inequality constraint switching behavior by an analytical function [e.g. *sigmoid* (Lau and Lim 2017), *tanh*] which leads to a potential function. A comprehensive study on such weakened constraints in combination with *MPC* for multi *UAV* control strategies is given in Bertrand et al. (2014). The provided examples are collision avoidance, area exploration and formation flying. The same approach has been successfully implemented for collision avoidance of a *MPC* controlled quadrotor system in previous work (Dentler et al. 2016a).

*MPC*approach is applied. In order to achieve real-time capability the

*MPC*problem is solved by a central

*CMSCGMRES*approach. To maintain the modularity of the MPC with respect to the distributed problem, this approach is combined with the

*MPC*modularization technique, presented in Dentler et al. (2016b). The prediction model for the

*MPC*is based on the quadrotor model from the previous contribution (Dentler et al. 2016a). An introduction of the utilized

*MPC*approach is given in the following section.

## 3 Model predictive control principle and modularization

*MPC*is to compute optimal controls for a given system objective within a receding horizon as shown in Fig. 2. For this purpose, the current system state is measured at each control update time instance (\(t_k,t_{k+1},\ldots \)). From each of these measured states, the future systems behavior can be predicted by means of a system model within a given horizon (\(0\le \tau \le T\)). The controls for this horizon are then determined to minimize the error of the future system behavior to a given target behavior. After determining the optimal controls, \(\mathbf {u}\left( t_k\right) =\mathbf {u}\left( \tau _0\right) \) is applied to the system and the horizon is shifted by \({\varDelta }t\). The control loop is closed by a new measurement and prediction at time instance \(t_{k+1}\) (\({\varDelta }t\) later). The computation of the optimal controls within the prediction horizon can be formulated as optimization problem, a so called optimal control problem. In this work,

*OCP*s of the form

*J*which is consisting of an integral cost term. It is subjected to the prediction model dynamics \(\mathbf {f}\left( \mathbf {x},\mathbf {u},\tau \right) \). The initial state condition \(\mathbf {x}_0\) is representative for the measurement at each control update interval. A common way to solve

*OCP*s in real-time applications is to derive the Hamiltonian for (1)

*MPC*common approaches are gradient [e.g.

*GRAMPC*(Graichen and Käpernick 2012)] or Newton-type [e.g. Gauß-Newton in

*ACADO*(Diehl et al. 2009)] line search methods.

*CGMRES*derivative is used which has been already successfully applied in previous work (Dentler et al. 2016a, b). The continuation idea is to look at the continuous closed loop dynamics of the stabilized system

*GMRES*method under use of a forward difference approximation of \(H_u^{-1}\). The controls \(\mathbf {u}\) are finally gained by integrating \(\mathbf {u}\) from the previous time step with \(\dot{\mathbf {u}}\)

*CGMRES*algorithm can be found in Ohtsuka (2004). By making the continuation assumption (5) also for the states \(\mathbf {x}\), a multiple shooting method can be derived to increase numerical stability. This increases the problem dimension, as the corresponding equation to (5) for the inputs \(\mathbf {u}\) has also to be solved for the predicted system states within the horizon. An additional condensing addresses this issue by reducing the problem dimension again. A detailed overview of the

*CMSCGMRES*method is given in Shimizu et al. (2006). The major advantage of using the continuation approach is the low computation time of the

*CGMRES*method which makes it particularly interesting for real-time

*MPC*, as already discussed in previous work (Dentler et al. 2016a).

*MPC*for cooperative control scenarios is applied, as presented in Dentler et al. (2016b). For cooperative scenarios with two entities (\(agent 0:{x_0,u_0}\) and \(agent 1:{x_1,u_1}\)) a cost function can have the form

*MPC*is used to control the complete cooperation scenario, but some interaction tasks shall just influence one drone (e.g. the use case scenario of this work). The further advantage of this centralized approach is its high performance, as not just the measured, but also the predicted future system states are taken into consideration. In the

*OCP*the exclusion of cost derivatives (e.g. with respect to \(u_0\)) will be marked by an index \( \backslash \{u_0\}\), e.g.

*MPC*in a mobile robot scenario, a prediction model is required. For real-time applications the complexity of this prediction model is crucial for the performance of the

*MPC*solver. Hence, a very compact model is preferable which is developed in the next section.

## 4 Direction vector prediction model and validation

*xy*-plane and the height of this plane (

*z*). Accordingly, their attitude is defined by the rotation angle \({\varPsi }\) around the plane normal vector. This description does not only fit for most wheeled ground robots, but can also be applied to multi-rotor unmanned aerial vehicles. Multi-rotor

*UAV*s are typically operated around their static equilibrium. By assuming that rotations around

*x*(roll) and

*y*(pitch) are so small to be be neglected, the quadrotor attitude can be linearized. This yields to a hover controller (Corke 2013), as implemented in most commercial multi-rotor

*UAV*s. As a result, the pose can be described by a single yaw angle \({\varPsi }\), representing the rotation around the

*z*axis. To address the modeling of such systems, this section is introducing a modeling method for hover controlled multi-rotor systems. This model has furthermore the advantage to contain all elements from which omnidirectional and unidirectional ground robot motion models can also be derived.

*ODE*). The state vector \(\mathbf {x}\) of such a system

### 4.1 Angle discontinuity effect on UAV control

*AR.Drone 2.0*quadrotor under use of the prediction model (11) with

*MPC*the related increase in the

*OCP*dimension is significant. For the considered robots, the pose control is only based on a rotation in the 2

*D*

*xy*-plane. Accordingly, a direction vector approach is sufficient to describe the attitude, as discussed in the next Sect. 4.2.

### 4.2 Direction vector approach

*x*and

*y*as shown in Fig. 5. In comparison to a single angle description with yaw \({\varPsi }\), this transformation is bijective. In the context of this work, the combination of these two projections (\(d_x\) and \(d_x\)) is called direction vector \(\mathbf {d}\). The direction vector \(\mathbf {d}\) can be written in vector form

*MPC*solver avoid the singular problem of opposing attitudes, e.g. \(\mathbf {d}_{des}=[1,0]^{\top }\) with \(\mathbf {d}=[-1,0]^{\top }\), or \(\mathbf {d}_{des}=[0,1]^{\top }\) with \(\mathbf {d}=[0,-1]^{\top }\).

### 4.3 Experimental validation of direction vector approach

To validate the direction vector quadrotor model (24), the desired drone attitude is rotated anti-clock-wise in steps of \({\varPsi }=\frac{\pi }{2}\). The \({\varPsi }\) plot in Fig. 6 shows the desired and actual attitude of the system. In contrast to the previous instability at \({\varPsi }=\pm \pi \) (Fig. 4), Fig. 6 is showing the desired asymptotic approaching of the desired trajectory. The oscillations in *x*, *y*, *z* around the desired point are caused by disturbance. This includes airflow disturbance, modeling errors, numerical errors and the trade-off between energy optimality and position tracking. Hence, the direction vector approach is resolving the angle discontinuity problem stated in Sect. 4.1. The proposed approach is a trade-off between the continuous attitude description, the computational effort, regarding the quaternion approach (4 states) and the standard angle description (1 state). Regarding the generality of the direction vector model, the same approach can be easily applied also to other planar robots with single angle attitude description. For example ground robots can be modeled by neglecting the *z* component of (24) with \(u_{z}=0\). For unidirectional robots, the sideward movement can be neglected by setting \(u_{s}=0\). Based on the resulting direction vector based system dynamics, the next sections describe the application of the model in a sensor constrained model predictive control scenario.

## 5 Sensor based control with potential functions

One major difficulty to control complex tasks autonomously is the mathematical formulation of such tasks. A generic way to do so are inequality constraints. *MPC* can take such constraints into consideration. In this work, they are considered in the *MPC* as weakened constraints. This refers to the substitution of hard inequality constraints by a cost function, that imposes a repulsive behavior from a violation of the constraint. This implementation in the cost function equals to a potential function. In this section, a generic procedure to create such potential functions is presented. The formulation of a sensor constraint serves as example. In the example scenario an object is tracked with a sensor attached to a quadrotor. The sensor perception space is thereby shaped like a cone (e.g. ultrasonic distance sensor). How to describe this sensor limitation is shown in the following section.

### 5.1 Sensor constraints

*MPC*to optimize the energy consumption and to adapt the scenario to other constraints e.g. obstacles. The question of how to consider the sensor constraint (27) and (28) in an optimal control problem is described in the next section.

### 5.2 Potential function constraint handling

*OCP*’s integral costs

*l*. Due to the fact that

*OCP*s are typically defined as minimization problems with the optimum \(l=0\), a constraint violation has to be penalized with a higher cost. An intuitive approach to translate the constraint \(c\le 0\) to the weakened constraint \(l_c\) is therefore to penalize the compliant area with \(l=0\) and the constraint violation area with \(l=1\). This can be described by using a unit step \(\epsilon \), such that

### 5.3 Addressing vanishing gradient

*xy*-plane is shown in the left plot of Fig. 9. As expected, the figure shows that the gradient satisfies

*OCP*problems to ensure convergence. Naturally, most sensor perception spaces are convex. However this should be kept in mind for development of more complex constraints or the combination of multiple constraints.

### 5.4 Addressing differentiability of the potential function

To be able to track an object with known position in the global coordinate system, \(\mathbf {p}_{\mathcal {S}}\) in (30) has to be determined by its counterpart \(\mathbf {p}_{\mathcal {G}}\) in the global coordinate system. The required coordinate transformation is explained in the following section.

### 5.5 Coordinate transformation

*y*

*z*

*xy*-plane for a quadrotor at position \(\mathbf {p}_{r{\mathcal {G}}}=(-1,-1,0)^{\top }\) and orientation \(\mathbf {d}_{r{\mathcal {G}}}=(0.71,0.71)^{\top } \equiv {\varPsi }=45 {^{\circ }}\). The triangular base form of the cone is oriented as expected from the

*UAV*origin in \(\mathbf {p}_{r{\mathcal {G}}}=(-1,-1,0)^{\top }\).

## 6 Safety constraints

To validate the derived potential function experimentally, additional safety measures are necessary. The most important safety constraint is treating collision avoidance and ensures that a safety distance \(d_{min}\) between object and drone is not violated. Second, the maximum distance \(d_{max}\) of the sensor has to be considered. This can be accomplished by implementing a cohesion constraint which introduces a repulsive behavior from large distances between object and robot. Both constraints are derived according to the workflow presented for the sensor constraint in Sect. 5.

### 6.1 Collision avoidance constraint

### 6.2 Cohesion constraint

With the developed safety constraints (53) and (59), the cone constraint has been validated as discussed in the following section.

## 7 Validation of the sensor based control with potential functions

*MPC*controller (Dentler 2016) and extended by the potential functions that are defining the tracking task. The combination of cone (39), collision avoidance (53) and cohesion (59) constraint with the coordinate transformation (48) and quadrotor dynamics () with parameters (16) in an

*OCP*results in

*CMSCGMRES*solver and are given in a coherent notation to the previous work (Dentler et al. 2016a). To examine the dynamic behavior of the proposed control solution, the target position of \({\textit{UAV}}_1\) is moving in a circular trajectory. For \({\textit{UAV}}_0\), the choice of \(\mathbf {Q}_0\) leads to a tracking of zero forward velocity \(\dot{x}_{uav0\mathcal {V}}\left( t\right) =0\) and sideward velocity \(\dot{y}_{uav0\mathcal {V}}\left( t\right) =0\) which yields to the desired states

### 7.1 Numerical validation

*REP*(Fig. 18). The position information of quadrotors and target trajectories is shared via a Robot Operating System (

*ROS*) interface.

Figure 19 is showing the trajectories of both *UAV*s. \({\textit{UAV}}_1\) is following the circular moving target which is reflected by sinusoidal position trajectories. \({\textit{UAV}}_0\) is tracking \({\textit{UAV}}_1\) with the developed sensor constraints which is indicated by likewise sinusoidal position trajectories of \({\textit{UAV}}_0\). The form and position of the resulting trajectory is depending on the initial *UAV* positions. As the position of \({\textit{UAV}}_0\) is just dependent on the applied constraints, \({\textit{UAV}}_0\) can rotate freely around \({\textit{UAV}}_1\). This explains the drift of the sinusoidal position trajectory of \({\textit{UAV}}_0\). The control trajectories of \({\textit{UAV}}_1\) and \({\textit{UAV}}_0\) are showing that the input limits are respected. The distance *d* stays in the defined limits \(d_{min}\le d \le d_{max}\) with one exception at the initial phase of the simulation. Here the repulsive behavior of the collision avoidance constraint can be seen, where the controller increases the distance to fulfill \(d\ge d_{min}\). On one hand, the disadvantage of the weakened constraint is, that *d* can violate the given constraint depending on the parametrization of the potential function and the smoothness of the unit step approximation by the sigmoid (35). On the other hand, the advantage is, that a constraint violation does not lead to an infeasible *OCP*. To conclude, the distance trajectory is validating the active collision avoidance and cohesion constraint.

*UAV*behavior is gained by plotting the

*UAV*positions and the orientation of \({\textit{UAV}}_0\) by means of a vector as shown in Fig. 20. To be able to associate both

*UAV*positions, time-related

*UAV*positions are connected with a line. It is visible that \({\textit{UAV}}_1\) is following the desired circular trajectory, while \({\textit{UAV}}_0\) is tracking \({\textit{UAV}}_1\) in an ellipsoidal movement. The orientation vectors are displayed at each \({\varDelta }t\approx 1.68\,\hbox {s}\) for means of visualization.

To resume, Figs. 19 and 20 validate the desired behavior of the proposed sensor constrained *MPC* controller in simulation. The next section is discussing the extension of this numerical validation to the real scenario.

### 7.2 Experimental validation

*UAV*s like an \(AR.Drone\, 2.0\) quadrotor are particularly responsive to airflow disturbance. In addition, their flight dynamics are very volatile, as their body consist of deformable Styrofoam. These and more influences (communication latency, prediction model errors, measurement uncertainty) are not considered in the

*MPC*model and simulation environment. For this reason an experimental validation is necessary to assess the robustness of the proposed control approach. The position data of the real \(AR.Drone\, 2.0\) quadrotors is hereby measured by a motion capture system.

The resulting system trajectories are given in Fig. 22. In contrast to the numerical simulation, the real \(AR.Drone\, 2.0\) trajectories are subject to significant disturbance. Especially the mutual airflow disturbance is causing low-frequency oscillations \(\approx 0.5 \hbox {Hz}\) which are visible in the *y*-position of \({\textit{UAV}}_0\) and \({\textit{UAV}}_1\). As the airflow disturbance error is propagating from the \({\textit{UAV}}_1\) position to the \({\textit{UAV}}_0\) response, the resulting oscillations are particularly visible in the controls of \({\textit{UAV}}_0\).

To evaluate the control performance, the distance *d* and absolute tracking angle \(\alpha _t\) are given in Fig. 22. The distance plot is stating that \({\textit{UAV}}_1\) is tracked within the given distance limitations. At \(t\approx 55\,\hbox {s}\) the behavior of the weakened constraint is visible which is allowing a minor violation of \(d_{min}\) in return for avoiding infeasible solutions and ease of implementation. The absolute tracking angle (71) in Fig. 22 is measured between the \({\textit{UAV}}_0\) orientation vector and the distance vector to \({\textit{UAV}}_1\). Due to the initial conditions, \(\alpha _t\) is violating the applied cone constraint at the beginning, but is tracked within the given beam width angle \(\alpha _t\le \alpha =0.5 \,\hbox {rad}\) for \(t\ge 6\,\hbox {s}\). Hence, the trajectories in Fig. 22 confirm the desired tracking behavior.

Figure 23 is showing the resulting *xy*-trajectory with samples of the \({\textit{UAV}}_0\) orientation vector. For means of visualization, the orientation sample time is reduced to \({\varDelta }t\approx 1.68\,\hbox {s}\). Due to different initial conditions (positions, velocities, etc.), the *xy*-trajectory is not directly comparable with the numerical simulation. However, it visualizes the closed-loop *UAV* position response to mutual airflow disturbance in the form of small oscillation. In comparison to the simulation trajectory, the rejection of these oscillations (input costs) dominate the minor gradient within the compliant area of the sensor constraint. As a result the absolute tracking angle \(\alpha _t\) and distance *d* plots in Fig. 22 go closer to their constraint limits and the *xy*-plot does not follow the ellipsoidal pattern of \({\textit{UAV}}_0\) in Fig. 20. In order to evaluate the tracking without the mutual airflow disturbance and under different initial conditions, a further analysis of the robustness is shown in the experimental discussion (Sect. 7.3).

For the evaluation of the computational efficiency of the proposed approach, Fig. 24 is giving the *MPC* computation time on a standard computer (\(Dell\text { }Latitude\text { }E5440\)). The peaks in the computation time of \(t_{comp}\approx 20 \hbox {ms}\) are not directly related to the solver, but are caused by CPU interrupts by other processes. The resulting average computation time \(t_{av,comp}=2.5 \hbox {ms}\) is very low in comparison to the control update interval of \({\varDelta }t=10 \hbox {ms}\) and states the real-time feasibility of the *MPC*.

*MPC*control based on potential functions.

### 7.3 Experimental discussion

*xy*-plane, the

*z*-axis action of \({\textit{UAV}}_0\) is reduced by increasing the input penalty for \(u_z\). The resulting

*OCP*(72)–(78) does consider the obstacle and target position within the prediction horizon as constant

To cope different initial conditions and obstacle patterns, a set of 10 experiments is conducted. Figure 26 is showing the resulting *xy*-trajectory of \({\textit{UAV}}_0\) (blue line), obstacle (dashed red line) and the fixed target position (green diamond). To visualize the system at different time instances, the position of the obstacle (red star) and pose of \({\textit{UAV}}_0\) (blue circle with arrow) is marked every \({\varDelta }t=4.2\,\hbox {s}\). The distances between \({\textit{UAV}}_0\) and target is signalized as light grey line at each of these time instances. Accordingly, the distance between \({\textit{UAV}}_0\) and the obstacle is indicated as light red line. The resulting circular patters validates the target tracking during the evasion maneuver. Furthermore, the direction of the drone is pointing to the center which is indicating the tracking of the target. In this context, in plot 7 center left and plot 9 center up the drone orientations which are not pointing towards the target are representing initial conditions. These initial poses of \({\textit{UAV}}_0\) have been chosen arbitrarily within the spacial limitations of the laboratory and its exact values can be exerted from the \({\textit{UAV}}_0\) pose plots in Fig. 27. In this initial phase a typical increase in the altitude (*z*) can be observed which is caused by the inclination angle \(\beta \) of the sensor cone constraint. The steps in the \({\varPsi }\) values in Fig. 27 are based on the limited \({\varPsi }\)-angle interval. The sinusoidal trajectories in *x* and *y* evidence the circular evasion maneuver of \({\textit{UAV}}_0\). Figure 28 is showing measurements of the corresponding obstacle position. Also here the sinusoidal trajectory, in order to follow the \({\textit{UAV}}_0\) and provoke an evasion, is visible. The steps in the obstacle position at the beginning are caused by entering the detection zone of the motion capture system.

To analyze the influence of the obstacle collision avoidance constraint \(l_{minD}\) (53), Fig. 29 is showing the distance between \({\textit{UAV}}_0\) and obstacle. The plots show how the obstacle is moved close to \(d_{Omin}\) to provoke an evasion maneuver of \({\textit{UAV}}_0\). The measured minimal distances are given in Table 1. As the collision avoidance design is based on weakened constraints, violations are feasible. For all 10 experiments the highest violation of the obstacle distance \(d_{O}\) appears in run 5 with \(\min (d_{O})=0.601\hbox {m}\). The violation generally depends on \({\textit{UAV}}_0\) and obstacle speed as well as cost gradient design of the collision avoidance constraint. For the here considered *UAV* and obstacle speeds, the cost gradient is chosen less steep (77) in order to show a smooth repulsive behavior while showing the desired evasion. In reverse conclusion higher violations are accepted. For higher system velocities this cost gradient has to be chosen steeper. Its repulsive behavior can be observed as oscillation around the constraint border in Fig. 29 run 6, 7 and 9.

*d*lies in the interval \(0.941\hbox {m}\le d \le 1.966\) and therefore complies to the target distance constraints for all 10 experiments. The peak distance values are given in Table 1. The minimum tracking distance \(\min (d)=0.941\hbox {m}\) appears in run 2 and its maximum value \(\max (d)=1.966\hbox {m}\) in run 10.

Finally, the behavior of the developed sensor cone constraint (39) is validated. For this purpose the absolute tracking angle \(\alpha _t\) (71) is shown in Fig. 31. The sensor constraint (39) is restricting the absolute tracking angle to \(\alpha _t \le \alpha _{t,max}=0.5\). For the set of experiments, the initial conditions do typically not satisfy this constraint due to a low initial \({\textit{UAV}}_0\) altitude *z* and incompliant orientation \(\psi \). This is directly shown by the controller counteraction as shown in Fig. 32. In the initial phase experiment 1–5 show a direct reaction in the altitude by \(|u_z|>>0\), while a significant adjustment in the \(\psi \)-axis by \(|u_{\psi }|>>0\) is dominating in experiment 5–10. The resulting convergence towards the constraint compliance \(\alpha _{t}\rightarrow \alpha _{t,max}\) can be seen in all plots of Fig. 30 and is followed by a period of low action, as all constraints are satisfied and the obstacle is not considered yet. With the approaching obstacle \(d_O \rightarrow d_{O,min}\) in Fig. 29, the control action in Fig. 32 is increased due to the evasion maneuver. As a result, also the tracking angle \(\alpha _{t}\) in Fig. 31 is disturbed. To measure the constraint violation the maximal absolute tracking angle in the nominal state \(\max (\alpha _{t,ns})\) is given in Table 1. For this purpose, \(\max (\alpha _{t,ns})\) takes into consideration the absolute tracking angle peak values after the initial convergence phase. \(\alpha _{t} \le \alpha _{t,max}=0.5 \,\hbox {rad}\) holds after the initial phase for all the experiments. The measured maximum appears in run 2 with \(\max (\alpha _{t,ns})=0.438 \,\hbox {rad}\).

## 8 Conclusion and perspective

The present paper focuses on the presentation of a workflow for the generation of potential functions for sensor constrained *MPC*. The workflow is tested in simulation and a real-world implementation of a sensor constraint tracking scenario with quadrotors.

For this purpose a compact motion model for multi-rotor *UAV*s has been developed. To be able to control the robot’s yaw angle orientation in \(360{^{\circ }}\), the problem of the discontinuously defined yaw angle \(-\pi <{\varPsi }\le \pi \) has been addressed. The *MPC* of the resulting direction vector model has been validated experimentally with an \(AR.Drone\,2\) quadrotor.

*MPC*control has been presented. The \(AR.Drone\,2\) quadrotor with attached sensor has served as platform for the sensor based tracking scenario. The first step in the workflow is to formulate the sensor perception space within a sensor coordinate frame by means of inequality constraints. For the use case, the cone shape of the sensor perception space has been described by a combination of two inequality constraints. As second step, these constraints have been transformed into a potential function with the help of unit steps. The idea is to introduce a repulsive behavior for a violation of the constraints which leads to a weakening of the constraints. This allows a small violation to maintaining feasibility of the

*OCP*. The transformation into a weakened constraint with the help of unit steps helps to verify the cost functions without having to deal with the increased complexity of sigmoids. In addition, it allows a simple graphical verification of the potential function with visualization tools. To improve the solvability of the problem for gradient based solvers, the next step has been the introduction of a gradient in the undesired ares of the potential function which is pointing away from the target region. Subsequently, the previously introduced unit steps in the potential function are approximated with sigmoids which leads to a continuous gradient around the constraint borders. As a result the potential function becomes analytical and therefore solvable by standard real-time

*MPC*solvers.

Peak distance values for the set of 10 conducted experiments

Run | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|

\(\min (d_{O})\,(\hbox {m})\) | 0.976 | 0.950 | 0.945 | 1.038 | |

\(\min (d)\,(\hbox {m})\) | 1.064 | | 1.176 | 1.203 | 0.950 |

\(\max (d)\,(\hbox {m})\) | 1.785 | 1.931 | 1.827 | 1.791 | 1.834 |

\(\max (\alpha _{t,ns}) \,(\hbox {rad})\) | 0.371 | | 0.345 | 0.183 | 0.350 |

Run | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|

\(\min (d_{O})\,(\hbox {m})\) | 0.754 | 0.773 | 0.915 | 0.879 | 1.083 |

\(\min (d)\,(\hbox {m})\) | 1.091 | 0.633 | 1.082 | 1.191 | 0.984 |

\(\min (d)\,(\hbox {m})\) | 1.922 | 1.815 | 1.791 | 1.823 | |

\(\max (\alpha _{t,ns}) \,(\hbox {rad})\) | 0.260 | 0.307 | 0.220 | 0.225 | 0.271 |

In order to validate the derived potential function for the cone constraint, additional safety measures have been necessary. Therefore, a collision avoidance and a cohesion constraint have been developed, using the previously described workflow. In the validation scenario an \(AR.Drone\,2.0\) is used to track another \(AR.Drone\,2.0\) quadrotor which is following a circular trajectory. The tracking by means of the sensor constraint has been tested experimentally in simulation and a real-world implementation. To further discuss the influence of obstacles, utilized constraints and different initial conditions, a series of real-world collision avoidance scenarios has been presented. In the presented scenarios an \(AR.Drone\,2.0\) is tracking a fixed target using the developed constraints for the cooperative control scenario while disturbance is introduced in form of an obstacle. The results show the desired collision evasion maneuver while maintaining sensor tracking for different initial conditions. The results have validated the developed multi-rotor prediction model as well as the sensor constraint potential function.

Future work will focus on the solution of the localization problem with cameras. A further development will be the analysis of the energy efficiency of the proposed sensor constraint, in contrast to a simple orientation tracking. Particularly interesting would be a statistical analysis of large numbers of real-world experiments. Another direction of future studies is to distribute the presented central *MPC* and to explore the applicability of cloud computing. In addition, the application of the tracking scenario in heterogeneous systems e.g. ground robots and *UAV*s, will also be addressed in future work.

## Supplementary material

Supplementary material 1 (mp4 9995 KB)

Supplementary material 2 (mp4 5599 KB)

## References

- Alrifaee, B., Mamaghani, M. G., & Abel, D. (2014). Centralized non-convex model predictive control for cooperative collision avoidance of networked vehicles. In
*2014 IEEE international symposium on intelligent control (ISIC)*, October 2014 (pp. 1583–1588).Google Scholar - Avanzini, G. B., Zanchettin, A. M., & Rocco, P. (2015). Constraint-based model predictive control for holonomic mobile manipulators.
*IEEE International Conference on Intelligent Robots and Systems*,*2015–December*(i), 1473–1479.Google Scholar - Beard, R. W., Lawton, J., & Hadaegh, F. Y. (2001). A coordination architecture for spacecraft formation control.
*IEEE Transactions on Control Systems Technology*,*9*(6), 777–790.CrossRefGoogle Scholar - Bemporad, A., & Rocchi, C. (2011). Decentralized linear time-varying model predictive control of a formation of unmanned aerial vehicles. In
*2011 50th IEEE conference on decision and control and European control conference*, December 2011 (pp. 7488–7493).Google Scholar - Bertrand, S., Marzat, J., Piet-Lahanier, H., Kahn, A., & Rochefort, Y. (2014). MPC strategies for cooperative guidance of autonomous vehicles.
*AerospaceLab*,*8*, 1–18. https://hal.archives-ouvertes.fr/hal-01103195. - Bhattacharya, S., & Hutchinson, S. (2006). Controllability and properties of optimal paths for a differential drive robot with field-of-view constraints.
*Proceedings of IEEE International Conference on Robotics and Automation*,*2006*(May), 1624–1629.Google Scholar - Bhattacharya, S., Murrieta-Cid, R., & Hutchinson, S. (2007). Optimal paths for landmark-based navigation by differential-drive vehicles with field-of-view constraints.
*IEEE Transactions on Robotics*,*23*(1), 47–59.CrossRefGoogle Scholar - Cai, X., & Queiroz, Md. (2015). Adaptive rigidity-based formation control for multirobotic vehicles with dynamics.
*IEEE Transactions on Control Systems Technology*,*23*(1), 389–396.CrossRefGoogle Scholar - Consolini, L., Morbidi, F., Prattichizzo, D., & Tosques, M. (2008). Leader–follower formation control of nonholonomic mobile robots with input constraints.
*Automatica*,*44*(5), 1343–1349.MathSciNetCrossRefzbMATHGoogle Scholar - Corke, P. (2013).
*Robotics, vision and control: Fundamental algorithms in MATLAB*(1st ed.). Springer Publishing Company, Incorporated.Google Scholar - Cui, R., Ge, S. S., How, B. V. E., & Choo, Y. S. (2009). Leader–follower formation control of underactuated auvs with leader position measurement. In
*2009 IEEE international conference on robotics and automation*, May 2009 (pp. 979–984).Google Scholar - Das, A. K., Fierro, R., Kumar, V., Ostrowski, J. P., Spletzer, J., & Taylor, C. J. (2002). A vision-based formation control framework.
*IEEE Transactions on Robotics and Automation*,*18*(5), 813–825.CrossRefGoogle Scholar - de Ruiter, H., & Benhabib, B. (2008). Visual-model-based, real-time 3d pose tracking for autonomous navigation: Methodology and experiments.
*Autonomous Robots*,*25*(3), 267–286. https://doi.org/10.1007/s10514-008-9094-7.CrossRefGoogle Scholar - Dentler, J. (2016).
*An event-based real-time nonlinear model predictive control framework*. http://wiki.ros.org/denmpc. Accessed September 01, 2016. - Dentler, J., Kannan, S., Olivares-Mendez, M. A., & Voos, H. (2016a). A real-time model predictive position control with collision avoidance for commercial low-cost quadrotors. In
*2016 IEEE multi-conference on systems and control (MSC), Buenos Aires*, September 2016.Google Scholar - Dentler, J., Kannan, S., Olivares-Mendez, M. A., & Voos, H. (2016b). A modularization approach for nonlinear model predictive control of distributed fast systems. In
*2016 24th mediterranean conference on control and automation (MED)*, June 2016 (pp. 292–297).Google Scholar - Dentler, J., Kannan, S., Olivares-Mendez, M. A., & Voos, H. (2017). Implementation and validation of an event-based real-time nonlinear model predictive control framework with ros interface for single and multi-robot systems. In
*2017 IEEE conference on control technology and applications (CCTA)*, August 2017 (pp. 1000–1006).Google Scholar - Desai, J. P., Ostrowski, J., & Kumar, V. (1998). Controlling formations of multiple mobile robots. In
*Proceedings of 1998 IEEE international conference on robotics and automation (Cat. no. 98CH36146)*, May 1998 (Vol. 4, pp. 2864–2869).Google Scholar - Diehl, M., Ferreau, H., & Haverbeke, N. (2009). Efficient numerical methods for nonlinear MPC and moving horizon estimation. In L. Magni, D. Raimondo, & F. Allgöwer (Eds.),
*Nonlinear model predictive control. Lecture notes in control and information sciences*(Vol. 384, pp. 391–417). Berlin: Springer.CrossRefGoogle Scholar - Ding, W., Ganesh, M. R., Severinghaus, R. N., Corso, J. J., & Panagou, D. (2016). Real-time model predictive control for keeping a quadrotor visible on the camera field-of-view of a ground robot. In
*2016 American control conference (ACC)*, July 2016 (pp. 2259–2264).Google Scholar - Dong, W., & Farrell, J. A. (2008). Formation control of multiple underactuated surface vessels.
*IET Control Theory Applications*,*2*(12), 1077–1085.MathSciNetCrossRefGoogle Scholar - Erkent, Ö., & Işıl Bozma, H. (2012). Artificial potential functions based camera movements and visual behaviors in attentive robots.
*Autonomous Robots*,*32*(1), 15–34. https://doi.org/10.1007/s10514-011-9240-5.CrossRefGoogle Scholar - Fax, J. A., & Murray, R. M. (2004). Information flow and cooperative control of vehicle formations.
*IEEE Transactions on Automatic Control*,*49*(9), 1465–1476.MathSciNetCrossRefzbMATHGoogle Scholar - Fukushima, H., Kon, K., & Matsuno, F. (2013). Model predictive formation control using branch-and-bound compatible with collision avoidance problems.
*IEEE Transactions on Robotics*,*29*(5), 1308–1317.CrossRefGoogle Scholar - Gazi, V., & Passino, K. M. (2011).
*Swarm coordination and control problems*(pp. 15–25). Berlin: Springer. https://doi.org/10.1007/978-3-642-18041-5_2.zbMATHGoogle Scholar - Ge, S., & Cui, Y. (2002). Dynamic motion planning for mobile robots using potential field method.
*Autonomous Robots*,*13*(3), 207–222. https://doi.org/10.1023/A:1020564024509.CrossRefzbMATHGoogle Scholar - Geisert, M., & Mansard, N. (2016). Trajectory generation for quadrotor based systems using numerical optimal control. In
*2016 IEEE international conference on robotics and automation (ICRA)*, May 2016 (pp. 2958–2964).Google Scholar - Graichen, K., & Käpernick, B. (2012). A real-time gradient method for nonlinear model predictive control. In
*Frontiers of model predictive control*. InTechGoogle Scholar - Huang, M., Nakada, H., Butts, K. R., & Kolmanovsky, I. V. (2015). Nonlinear model predictive control of a diesel engine air path: A comparison of constraint handling and computational strategies.
*Proceedings of 5th IFAC conference on nonlinear model predictive control, Seville, Spain*.Google Scholar - Kang, M., Shen, T., & Jiao, X. (2014). Continuation/GMRES method based nonlinear model predictive control for IC engines.
*IFAC Proceedings Volumes*,*47*(3), 5697–5702. (19th IFAC World Congress).CrossRefGoogle Scholar - Kendoul, F., Nonami, K., Fantoni, I., & Lozano, R. (2009). An adaptive vision-based autopilot for mini flying machines guidance, navigation and control.
*Autonomous Robots*,*27*(3), 165. https://doi.org/10.1007/s10514-009-9135-x.CrossRefGoogle Scholar - Lau, M. M., & Lim, K. H. (2017). Investigation of activation functions in deep belief network. In
*2017 2nd international conference on control and robotics engineering (ICCRE)*, April 2017 (pp. 201–206).Google Scholar - Lawton, J. R. T., Beard, R. W., & Young, B. J. (2003). A decentralized approach to formation maneuvers.
*IEEE Transactions on Robotics and Automation*,*19*(6), 933–941.CrossRefGoogle Scholar - López-Nicolás, G., Gans, N. R., Bhattacharya, S., Sagüés, C., Guerrero, J. J., & Hutchinson, S. (2010). Homography-based control scheme for mobile robots with nonholonomic and field-of-view constraints.
*IEEE Transactions on Systems, Man, and Cybernetics, Part B: Cybernetics*,*40*(4), 1115–1127.CrossRefGoogle Scholar - Mehrjerdi, H., Ghommam, J., & Saad, M. (2011). Nonlinear coordination control for a group of mobile robots using a virtual structure.
*Mechatronics*,*21*(7), 1147–1155.CrossRefGoogle Scholar - Nascimento, T. P., Conceio, A. G. S., & Moreira, A. P. (2014). Iterative weighted tuning for a nonlinear model predictive formation control. In
*2014 IEEE international conference on autonomous robot systems and competitions (ICARSC)*, May 2014 (pp. 2–7).Google Scholar - Nascimento, T. P., Moreira, A. P., & Conceio, A. G. S. (2013). Multi-robot nonlinear model predictive formation control: Moving target and target absence.
*Robotics and Autonomous Systems*,*61*(12), 1502–1515.CrossRefGoogle Scholar - Ohtsuka, T. (2004). A continuation/GMRES method for fast computation of nonlinear receding horizon control.
*Automatica*,*40*(4), 563–574.MathSciNetCrossRefzbMATHGoogle Scholar - Ohtsuka, T. (2015).
*symlab: CGMRES*. http://www.ids.sys.i.kyoto-u.ac.jp/~ohtsuka/code/index.htm. Accessed 26 Feb 2017. - Sajadi-Alamdari, S. A., Voos, H., & Darouach, M. (2016). Nonlinear model predictive extended eco-cruise control for battery electric vehicles. In
*2016 24th mediterranean conference on control and automation (MED)*, June 2016 (pp. 467–472).Google Scholar - Seguchi, H., & Ohtsuka, T. (2003).
*Nonlinear receding horizon control of an underactuated hovercraft*(3-4 ed., Vol. 13, pp. 381–398). Hoboken: Wiley.zbMATHGoogle Scholar - Seo, H., Kim, S., & Kim, H. J. (2017). Aerial grasping of cylindrical object using visual servoing based on stochastic model predictive control. In
*2017 IEEE international conference on robotics and automation (ICRA)*, May 2017 (pp. 6362–6368).Google Scholar - Shimizu, Y., Ohtsuka, T., & Diehl, M. (2006) Nonlinear receding horizon control of an underactuated hovercraft with a multiple-shooting-based algorithm. In
*Computer aided control system design, 2006 IEEE international conference on control applications, 2006 IEEE international symposium on intelligent control*, October 2006 (pp. 603–607).Google Scholar - Shimizu, Y., Ohtsuka, T., & Diehl, M. (2009). A real-time algorithm for nonlinear receding horizon control using multiple shooting and continuation/Krylov method.
*International Journal of Robust and Nonlinear Control*,*19*(8), 919–936.MathSciNetCrossRefzbMATHGoogle Scholar - Shin, J., & Kim, H. J. (2009). Nonlinear model predictive formation flight.
*IEEE Transactions on Systems, Man, and Cybernetics: Part A: Systems and Humans*,*39*(5), 1116–1125.CrossRefGoogle Scholar - Turpin, M., Michael, N., & Kumar, V. (2012). Decentralized formation control with variable shapes for aerial robots. In
*2012 IEEE international conference on robotics and automation*, May 2012 (pp. 23–30).Google Scholar - Wang, J., Liu, J.-y., & Yi, H. (2015). Formation control of unmanned surface vehicles with vision sensor constraints.
*OCEANS 2015-MTS/IEEE Washington*(pp. 1–8).Google Scholar - Wingfield, N. (2016).
*A field guide to civilian drones*. https://www.nytimes.com/interactive/2015/technology/guide-to-civilian-drones.html. Accessed April 18, 2017. - Zhang, Y., & Mehrjerdi, H. (2013). A survey on multiple unmanned vehicles formation control and coordination: Normal and fault situations. In
*2013 International conference on unmanned aircraft systems (ICUAS)*, May 2013 (pp. 1087–1096).Google Scholar

## Copyright information

**Open Access**This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.