## 1. Introduction

Quadrotor helicopters, also known as “quadrotors,” are currently employed in diverse scenarios, which range from search and rescue missions to infrastructure inspection, precision agriculture, and wildlife monitoring ([1, Ch. 1], [2, 3]). Employing quadrotors in enclosed industrial environments or in proximity of untrained personnel is still considered as a challenge for the high reliability required to these aircraft. Additional complexity in the use of quadrotors for commercial applications, such as parcel delivery, is that users demand satisfactory trajectory following capabilities without tuning the controller’s gains prior to each mission, whenever the payload is changed.

Autopilots for commercial-off-the-shelf quadrotors are currently designed assuming that the vehicle’s and the payload’s inertial properties are known and constant in time. Moreover, it is assumed that the propulsion system is able to deliver maximum thrust whenever needed. These assumptions considerably simplify the design of control algorithms for quadrotor helicopters, but also undermine these vehicles’ reliability in challenging work conditions, such as in case the propulsion system is partly damaged or the payload is not rigidly attached to the vehicle. For instance, the authors in [4] show that if the payload’s mass and matrix of inertia vary in time, then autopilots for quadrotors designed using classical control techniques, such as the proportional-derivative control, are inadequate to guarantee satisfactory trajectory tracking.

In recent years, numerous authors, such as Bouadi et al. [5]; Dydek et al. [6]; Jafarnejadsani et al. [7]; Loukianov [8]; Mohammadi & Shahri [9]; Zheng et al. [10], to name a few, employed nonlinear robust control techniques, such as sliding mode control, model reference adaptive control (MRAC), adaptive sliding mode control, and

In the first part of this chapter, we present the equations of motion of quadrotors and analyze those properties needed to design effective nonlinear robust controls that enable output tracking. Specifically, we present the equations of motion of quadrotors without assuming *a priori* that the Euler angles are small and without neglecting the inertial counter-torque and the gyroscopic effect. Since the inertial counter-torque cannot be expressed as an algebraic function of the quadrotor’s state and control vectors, we account for this effect as an unmatched time-varying disturbance on the vehicle’s dynamics and hence, we consider the equations of motion of a quadrotor as a nonlinear time-varying dynamical system. Successively, we verify for the first time sufficient conditions for the strong accessibility of quadrotors’ altitude and rotational dynamics; strong accessibility [15] is a weak form of controllability for nonlinear time-varying dynamical systems. As a result of this analysis, we show that a conservative control law for quadrotors must prevent rotations of a ±*π*/2 angle about either of the two horizontal axes of the body reference frame; otherwise, the vehicle may be uncontrollable.

In the second part of this chapter, we present a robust autopilot for quadrotors, which is based on a version of the *e*-modification of the MRAC architecture [16]. This autopilot is characterized by numerous unique features. For instance, we assume that the quadrotor’s inertial properties, such as mass, moment of inertia, and location of the center of mass are *unknown*. Moreover, we assume that the quadrotor’s reference frame is centered at an arbitrary point, which does not necessarily coincide with the vehicle’s center of mass. In addition, we suppose that the coefficients characterizing the aerodynamic force and moment are *unknown*. In order to reduce the rotational kinematic and dynamic equations to a form that is suitable for MRAC, we employ an output-feedback linearization approach so that the controlled rotational dynamics is captured by a linear dynamical system, whose virtual input is designed using the proposed robust MRAC architecture.

We design the autopilot’s outer loop so that it regulates the vehicle’s position in the inertial frame and the inner loop so that it regulates the vehicle’s attitude. In conventional autopilots for quadrotors, the outer loop regulates the vehicle’s position in the horizontal plane and the inner loop controls the quadrotor’s altitude and orientation. As in conventional architectures, our outer loop defines the reference pitch and roll angles for the inner loop to track. However, our control architecture allows us to verify *a priori* that the reference pitch and roll angles meet the sufficient conditions for strong accessibility of the quadrotor’s altitude and rotational dynamics. Conventional autopilots’ outer loop may generate large reference pitch and roll angles that are not guaranteed to lay in the vehicle’s reachable set.

The conventional MRAC architecture ([17], Ch. 9) is designed to regulate time-invariant dynamical systems and, for this reason, autopilots for quadrotors based on the classical MRAC are unable to account for time-varying terms in the vehicle’s dynamics, such as the inertial counter-torque. Moreover, autopilots for quadrotors based on the classical MRAC architecture are robust to both matched and parametric uncertainties, but not unmatched uncertainties, such as aerodynamic forces. The autopilots presented in this chapter, instead, are robust to unmatched uncertainties as well and account for the fact that quadrotors are inherently time-varying dynamical systems.

A numerical example illustrates our theoretical framework by designing a control law that allows a quadrotor to follow a circular trajectory, although the vehicle’s inertial properties are unknown, one of the motors is suddenly turned off, the payload is dropped over the course of the mission, and the wind blows at 16 m/s, which is usually considered as a prohibitive velocity for conventional quadrotors. In this example, we clearly show how the proposed robust control algorithm outperforms both the classical proportional-derivative (PD) control and the conventional MRAC. Indeed, it is shown that quadrotors implementing autopilots based on the PD framework crash as soon as one motor is turned off. Moreover, we verify that quadrotors implementing autopilots based on the classical MRAC framework [6] are unable to fly in the presence of wind gusts faster than 6 m/s. Lastly, we show that, to fly in a wind blowing at 16 m/s, our autopilot requires a control effort that is smaller than the one required by a conventional MRAC-based autopilot to fly in a 6 m/s wind.

## 2. Notation and definitions

In this section, we establish the notation and the definitions used in this chapter. Let the set of

*n*× 1 real column vectors, and

R

^{n × m}the set of

*n*×

*m*real matrices. We write

**1**

*for the*

_{n}*n*×

*n*identity matrix, 0

_{n × m}for the zero

*n*×

*m*matrix, and

*A*

^{T}for the transpose of the matrix

*A*∈

R

^{n × m}. Given

*a*= [

*a*

_{1},

*a*

_{2},

*a*

_{3}]

^{T}∈

R

^{3},

*cross product operator*. We write ∥ · ∥ for the Euclidean vector norm and ∥ · ∥

_{F}for the Frobenius matrix norm, that is, given

*B*∈

R

^{n × m},

*V*:

*→*R

^{n}*at*R

*x*is denoted by

*V*

^{′}(

*x*) ≜ ∂

*V*(

*x*)/∂

*x*.

**Definition 2.1** ([18], Def. 6.8). *The Lie derivative of the continuously differentiable function V* : →

*:*R along the vector field f

*→*R

^{n}R

^{n}is defined asThe *zeroth-order* and the *higher-order Lie derivatives* are, respectively, defined as

Given the continuously differentiable functions *f*, *g* : →

*, the*R

^{n}*Lie bracket*of

*f*(·) and

*g*(·) is defined as

To recall the definition of uniform ultimate boundedness, consider the nonlinear time-varying dynamical system

where *x*(*t*) ∈ ,

*t*≥

*t*

_{0},

*f*: [

*t*

_{0}, ∞) ×

*→*R

^{n}*is jointly continuous in its arguments,*R

^{n}*f*(

*t*, ·) is locally Lipschitz continuous in

*x*uniformly in

*t*for all

*t*in compact subsets of

*t*∈ [

*t*

_{0}, ∞), and 0 =

*f*(

*t*, 0),

*t*≥

*t*

_{0}.

**Definition 2.2** ([19], Def. 4.6). *The nonlinear time-varying dynamical system* (4) *is uniformly ultimately bounded* with ultimate bound *b* > 0 if there exists *c* > 0 independent of *t*_{0} and for every *a* ∈ (0, *c*), there exists *T* = *T* (*a*, *c*) ≥ 0, independent of *t*_{0}, such that if ∥*x*_{0} ∥ ≤ *a, then* ∥*x*(*t*) ∥ ≤ *b, t* ≥ *t*_{0} + *T.*

## 3. Robust MRAC for output tracking

In order to enable robust output tracking, in this section we present a robust nonlinear control law that is based on the *e*-modification of the conventional model reference adaptive control [16]. This control law guarantees that after a finite-time transient, the plant’s measured output tracks a given reference signal within some bounded error despite model uncertainties and external disturbances. In practice, the proposed controller guarantees uniform ultimate boundedness of the output tracking error.

Consider the nonlinear time-varying plant and the plant sensors’ dynamics

where *t* ≥ *t*_{0}, denotes the *plant’s trajectory*, *u*(*t*) ∈ denotes the

*control input*,

*y*(

*t*) ∈

*denotes the*R

^{m}*measured output*,

*ε*> 0,

*A*

_{p}∈

R

^{np × }

^{np}is

*unknown*,

*B*

_{p}∈

R

^{np × m},

*C*

_{p}∈

R

^{m × np}, Λ ∈

R

^{m × m}is diagonal, positive-definite, and

*unknown*, Θ ∈

R

^{N × m}is

*unknown*, the

*regressor vector*Φ :

R

^{nP}→

*is Lipschitz continuous in its argument, and*R

^{N}*unknown*. We assume that

*t*≥

*t*

_{0}, and Λ is such that the pair (

*A*

_{p},

*B*

_{p}Λ) is controllable and Λ

_{min}

**1**

*≤ Λ, for some Λ*

_{m}_{min}> 0. Both Λ and Θ

^{T}Φ(

*x*

_{p}),

Eq. (6) models the plant sensors as linear dynamical systems, whose uncontrolled dynamics is exponentially stable and characterized by the parameter *ε* > 0 ([20], Ch. 2). Given the *reference signal y*_{cmd} : [*t*_{0}, ∞) → , which is continuous with its first derivative, define

*t*≥

*t*

_{0}, and assume that both

*y*

_{cmd}(·) and

*y*

_{cmd, 2}(·) are bounded, that is, ‖

*y*

_{cmd}(

*t*)‖ ≤

*y*

_{max, 1},

*t*≥

*t*

_{0}, and ‖

*y*

_{cmd, 2}(

*t*)‖ ≤

*y*

_{max, 2}, for some

*y*

_{max, 1},

*y*

_{max, 2}> 0.

The following theorem provides a robust MRAC for the nonlinear time-varying dynamical system (5) and (6) such that the measured output *y*(·) is able to eventually track the reference signal *y*_{cmd}(·) with bounded error, that is, there exist *b* > 0 and *c* > 0 independent of *t*_{0}, and for every *a* ∈ (0, *c*), there exists a finite-time *T* = *T*(*a*, *c*) ≥ 0, independent of *t*_{0}, such that if ∥*y*(*t*_{0}) − *y*_{cmd}(*t*_{0}) ∥ ≤ *a*, then

For the statement of this result, let *n* ≜ *n*_{p} + *m* and *t* ≥ *t*_{0}, note that (5) and (6) are equivalent to

where *reference dynamical model*

where *A*_{ref, 1} ∈ *A*_{ref, 2} ∈ ^{m × m} is Hurwitz, and *B*_{ref} ∈ ^{n × m} is such that the pair (*A*_{ref}, *B*_{ref}) is controllable.

**Theorem 3.1** *Consider the nonlinear time-varying dynamical system given by* Eqs. (5) *and* (6)*, the augmented dynamical system* (8)*, and the linear time-invariant reference dynamical model* (9)*. Define e*(*t*) ≜ *x*(*t*) − x_{ref}(*t*)*, t* ≥ *t*_{0}*, and let*

where

the learning gain matrices Γ* _{x}* ∈

R

^{n × n}, Γ

_{cmd}∈

R

^{m × m}, and Γ

_{Θ}∈

R

^{N × N}are symmetric positive-definite,

*P*∈

R

^{n × n}is the symmetric positive-definite solution of the Lyapunov equation

*Q* ∈ ^{n × n} is symmetric positive-definite, and *σ*_{1}, *σ*_{2}, *σ*_{3} > 0. If there exists *K _{x}* ∈

R

^{n × m}and

*K*

_{cmd}∈

R

^{m × m}such that

then the nonlinear time-varying dynamical system (8) with *u*(*t*) = *γ*(*t*, *x*_{p}(*t*), *x*(*t*)), *t* ≥ *t*_{0}, is uniformly ultimately bounded and (7) is verified.

*Proof:* Let

where t*r*(·) denotes the *trace operator*. The error dynamics is given by

and using the same arguments as in ([17], pp. 324-325), one can prove that

for some compact set Ω ⊂ ×

R

^{n × m}×

R

^{m × m}×

R

^{N × m}. Thus, it follows from Theorem 4.18 of Khalil [19] that the nonlinear dynamical system given by (18) and (11)–(13) is uniformly ultimately bounded.

Next, let *t* ≥ *t*_{0}, verify (9), where *x*_{ref, 1}(*t*) ∈ ^{np} and *x*_{ref, 2}(*t*) ∈ . It follows from the uniform ultimate boundedness of (18) that

for some *T* ≥ 0, which are independent of *t*_{0}. Moreover, since *A*_{ref} is block-diagonal and Hurwitz, *B*_{1} = [0_{m × np}, −1* _{m}*]

^{T}, and

*y*

_{cmd}(·) is bounded, it follows from (9) that

*x*

_{ref, 2}(·) is uniformly bounded ([18], 245), that is, ‖

*x*

_{ref, 2}(

*t*)‖ ≤

*b*

_{2},

*t*≥

*t*

_{0}, for some

*b*

_{2}≥ 0 independent of

*t*

_{0}. Thus, it follows from (20) that (7) is verified with

It is important to notice that although the matrix *A*_{p}, which characterizes the plant’s uncontrolled linearized dynamics, is unknown and hence, the augmented matrix *A* is unknown, the structure of the matrix *A*_{p} is usually known. Thus, in problems of practical interest it is generally possible to verify the *matching conditions* (15) and (16), although the matrix *A* is unknown ([17], Ch. 9).

**Remark 3.1** If the adaptive gains *σ*_{1} = *σ*_{2} = *σ*_{3} = 0, then the control law (10) reduces to the conventional model reference adaptive control law for the augmented dynamical system (8) ([17], p. 298). However, conventional MRAC does not guarantee uniform ultimate boundedness of the closed-loop system in the presence of the matched uncertainty

## 4. Modeling assumptions on quadrotors’ dynamics

Let *O*, and let *t* ≥ *t*_{0}, denote an orthonormal reference frame fixed with the quadrotor and centered at some point *A*, which is arbitrarily chosen. The axes of the reference frames ^{3} and if a vector *a* ∈ ^{3} is expressed in *a* ∈ ^{3} is expressed in *Z* axis is chosen so that the quadrotor’s weight is given by *m*_{Q} > 0 denotes the vehicle’s mass and *g* denotes the gravitational acceleration; the *X* and *Y* axes are chosen arbitrarily. The axis *z*(·) points down and the axis *x*(·) is aligned to one of the quadrotor’s arms; see **Figure 1**.

The attitude of the reference frame *ψ* : [*t*_{0}, ∞) → [0, 2*π*) the yaw angle and *ω* : [*t*_{0}, ∞) → ^{3} ([22], Def. 1.9). The position of the point *A* with respect to the origin *O* of the inertial reference frame *r _{A}* : [

*t*

_{0}, ∞) →

R

^{3}and the velocity of

*A*with respect to

*v*: [

_{A}*t*

_{0}, ∞) →

R

^{3}.

The position of the quadrotor’s center of mass *C* with respect to the reference point *A* is denoted by *r _{C}* ∈

R

^{3}. The matrix of inertia of the quadrotor, excluding its propellers, with respect to

*A*is denoted by

*I*∈

R

^{3 × 3}and the matrix of inertia of each propeller with respect to

*A*is denoted by

*I*

_{P}∈

R

^{3 × 3}. The spin rate of the

*i*th propeller is denoted by Ω

_{P, i}: [

*t*

_{0}, ∞) →

*,*R

*i*= 1, …, 4. In this chapter, we model the quadrotor’s frame as a rigid body and propellers as thin disks. Moreover, we assume that the vehicle’s inertial properties, such as the mass

*m*

_{Q}, the inertia matrix

*I*, and the location of the center of mass

*r*, are constant, but

_{C}*unknown*. The quadrotor’s estimated mass is denoted by

*A*is given by the symmetric, positive-definite matrix

## 5. Quadrotors’ equations of motion

In this section, we present the equations of motion of quadrotors. Specifically, a quadrotor’s *translational kinematic equation* is given by ([22], Ex. 1.12)

where

and the *rotational kinematic equation* is given by ([22], Th. 1.7)

where

Under the modeling assumptions outlined in Section 4, a quadrotor’s *translational dynamic equation* is given by [4]

where *F*_{T}(*t*) = [0, 0, *u*_{1}(*t*)]^{T} denotes the *thrust force*, that is, the force produced by the propellers that allows a quadrotor to hover,

denotes the *quadrotor’s weight*, and *F* : ^{3} → ^{3} denotes the aerodynamic force acting on the quadrotor [23]. The *rotational dynamic equation* of a quadrotor is given by [4]

where *M _{T}*(

*t*) = [

*u*

_{2}(

*t*),

*u*

_{3}(

*t*),

*u*

_{4}(

*t*)]

^{T}denotes the

*moment of the forces induced by the propellers*,

*A*, and

*M*:

R

^{3}→

R

^{3}denotes the moment of the aerodynamic force with respect to

*A*. The terms

*t*≥

*t*

_{0}, and

*inertial counter-torque*and

*gyroscopic effect*, respectively. In this chapter, we refer to (21)–(23) and (25) as the

*equations of motion of a quadrotor helicopter*.

We model the aerodynamic force and the moment of the aerodynamic force as

where *K _{F}*,

*K*∈

_{M}R

^{3 × 3}are diagonal, positive-definite, and

*unknown*; for details, refer to [23]. The aerodynamic force (26) is expressed in the reference frame

*F*(·) in the reference frame

**Proposition 5.1** *Consider the translational kinematic equation* (21) *and let* (26) *capture the aerodynamic forces acting on a quadrotor. It holds that*

*Proof:* It follows from (26) that

for all

Eq. (28) now follows from (30), since *R*(·, · , ·) is an orthogonal matrix and hence, per definition, *R*^{−1}(*φ*, *θ*, *ψ*) = *R*^{T}(*φ*, *θ*, *ψ*),

Eq. (26) captures the aerodynamic drag acting on a quadrotor in absence of wind. If the wind velocity

It is reasonable to assume that the wind velocity does not affect the moment of the aerodynamic force (27).

A quadrotor’s *control vector* is given by *u*(*t*) = [*u*_{1}(*t*), *u*_{2}(*t*), *u*_{3}(*t*), *u*_{4}(*t*)]^{T}, *t* ≥ *t*_{0}, that is, the third component of the thrust force *F*_{T}(·) and the moment of the forces induced by the propellers *M*_{T}(·). One can verify that ([1], Ch. 2)

where *T _{i}* : [

*t*

_{0}, ∞) →

*,*R

*i*= 1, …, 4, denotes the component of the force produced by the

*i*th propeller along the −

*z*(·) axis of the reference frame

*l*> 0 denotes the length of each propeller’s arm, and

*c*

_{T}> 0 denotes each propeller’s drag coefficient.

**Remark 5.1** The state vector for the equations of motion of a quadrotor (21)–(23) and (25) is defined as *, t* ≥ *t*_{0}, can be explicitly related through algebraic expressions to neither the state vector x nor the control input *u.* Thus, the inertial counter-torque must be considered as a time-varying term in a quadrotor’s rotational dynamic equations. Furthermore, it is common practice not to relate the gyroscopic effect *, t* ≥ *t*_{0}, with the control input *u* through (32) ([1], Ch. 2). Hence, also the gyroscopic effect must be accounted for as a time-varying term in a quadrotor’s equations of motion. For these reasons, (21)–(23) and (25) are a nonlinear *time-varying* dynamical system.

## 6. Proposed control system for quadrotors

In this section, we outline a control strategy for quadrotors and verify that this strategy does not defy the vehicle’s limits given by its controllability and underactuation.

### 6.1. Proposed control strategy

The configuration of a quadrotor, whose frame is modeled as a rigid body, is uniquely identified by the position in the inertial space of the reference point *A*, that is, *r _{Z}*(

*t*)]

^{T},

*t*≥

*t*

_{0}, and the Euler angles

*φ*(

*t*),

*θ*(

*t*), and

*ψ*(

*t*). Observing the equations of motion of a quadrotor (21)–(23) and (25), one can show that the four control inputs

*u*

_{1}(·), …,

*u*

_{4}(·) are unable to instantaneously and simultaneously accelerate the six independent generalized coordinates

*r*(·),

_{X}*r*(·),

_{Y}*r*(·),

_{Z}*φ*(·),

*θ*(·), and

*ψ*(·), and hence quadrotors are underactuated mechanical systems ([25], Def. 2.9). However, it follows from (21)–(23) and (25) that the control inputs

*u*

_{1}(·), …,

*u*

_{4}(·) are able to instantaneously and simultaneously accelerate the independent generalized coordinates

*r*(·),

_{Z}*φ*(·),

*θ*(·), and

*ψ*(·), which uniquely capture the vehicle’s altitude and orientation dynamics.

In practical applications, quadrotors are employed to transport detection devices, such as antennas or cameras, that must be taken to some specific location and pointed in some given direction. For this reason, one usually needs to regulate a quadrotor’s position *ψ*(·). To meet this goal despite quadrotors’ underactuation, we apply the following *control strategy*. Let [*r*_{X, ref} (*t*), *r*_{Y, ref} (*t*), *r*_{Z, ref} (*t*)]^{T} ∈ ^{3}, *t* ≥ *t*_{0}, denote the quadrotor’s *reference trajectory*, let *ψ*_{ref} (*t*) ∈ [0, 2*π*) denote the quadrotor’s *reference yaw angle*, and assume that *r*_{X, ref} (·), *r*_{Y, ref} (·), *r*_{Z, ref} (·), and *ψ*_{ref} (·), are continuous with their first two derivatives and bounded with their first derivatives. It follows from Example 1.4 of [22] that (21) and (23) are equivalent to

where [26]

Thus, a feedback control law for the *virtual* control input [*u _{X}*(·),

*u*(·),

_{Y}*u*(·)]

_{Z}^{T}is designed so that, after a finite-time transient,

*r*

_{A}(·) tracks [

*r*

_{X, ref}(·),

*r*

_{Y, ref}(·),

*r*

_{Z, ref}(·)]

^{T}with bounded error. Furthermore, a feedback control law for the control input [

*u*

_{2}(·),

*u*

_{3}(·),

*u*

_{4}(·)]

^{T}is designed so that, after a finite-time transient, [

*φ*(·),

*θ*(·),

*ψ*(·)]

^{T}tracks [

*φ*

_{ref}(·),

*θ*

_{ref}(·),

*ψ*

_{ref}(·)]

^{T}with bounded error. Since the quadrotor’s mass

*m*

_{Q}is unknown, we compute the component of the quadrotor’s thrust along the

*z*(·) axis of the reference frame

**Figure 2** provides a schematic representation of the proposed control strategy.

Eqs. (35) and (36) constrain the nonlinear dynamical system given by (33), (22), and (25) and enforce its underactuation. Note that (36) is well-defined, since *u _{Z}*(

*t*) ≠ 0,

*t*≥

*t*

_{0}, is a necessary condition for a quadrotor to fly, and (35) is well-defined since

*u*

_{1}(

*t*) ≠ 0,

*t*≥

*t*

_{0}, is a necessary condition to fly and

where *α*(*t*) ≜ tan^{−1}(*u _{Y}*(

*t*)/

*u*(

_{X}*t*)). Alternative control strategies, which rely on the assumption that the roll and pitch angles are small, are provided by Islam et al. [27]; Kotarski et al. [28]; Liu & Hedrick [29].

### 6.2. Strong accessibility of quadrotors

In this section, we prove that quadrotors are not controllable whenever the *z*(·) axis is parallel to the horizontal plane. Specifically, it is well-known that *t* ≥ *t*_{0}, is a necessary condition for a 3-2-1 rotation sequence to uniquely identify a quadrotor’s orientation in space and guarantee finiteness of the yaw rate for finite angular velocities ([22], p. 19). In the following, we verify for the first time the conditions for quadrotors’ *strong accessibility* [15], which is a weaker form of controllability for nonlinear dynamical systems [30–32], and prove that if *t*^{∗} ≥ *t*_{0}, then the quadrotor may not be controllable, that is, there may not exist a continuous control input that is able to regulate the vehicle’s altitude and orientation dynamics at *t* = *t*^{∗}.

To the authors’ best knowledge, the controllability of quadrotors’ altitude and orientation dynamics has been studied considering simplified models, which assume that the vehicle’s pitch and roll angles are small at all times [5, 33]. Moreover, existing results on the controllability of quadrotors neglect the fact that, as discussed in Remark 5.1, these vehicles are time-varying dynamical systems and rely on sufficient conditions for the controllability of time-invariant dynamical systems [30, 34].

In the following, we recall the notions of reachable set and strong accessibility for the nonlinear time-varying dynamical system

where *x*(*t*) ∈ ,

*t*≥

*t*

_{0},

*u*(

*t*) ∈

*is continuous, and both*R

^{m}*f*: [

*t*

_{0}, ∞) ×

*→*R

^{n}*and*R

^{n}*G*:

*→*R

^{n}R

^{n × m}are continuously differentiable.

**Definition 6.1** ([15]). Consider the nonlinear time-varying dynamical system (38), let *n,* and let *y* ∈ *t*_{1}, *t*_{2} ≥ *t*_{0}*. The reachable set *(

*y*,

*t*

_{1},

*t*

_{2})

*of*(38)

*from*(

*y*,

*t*

_{1})

*at t*

_{2}is the set of all states that can be reached at time

*t*

_{2}by following the solution of (38) with initial condition

*y,*initial time

*t*

_{1}, and some continuous control input

*u*(·). The nonlinear time-varying dynamical system (38) is

*strongly accessible at y*∈

*at time t*

_{1}

*if*R (

*y*,

*t*

_{1},

*t*

_{2}) has a non-empty interior in

*t*

_{2}>

*t*

_{1}. The nonlinear time-varying dynamical system (38) is

*strongly accessible*on

*y*∈

*t*

_{1}≥

*t*

_{0}.

In practice, Definition 6.1 states that if the nonlinear time-varying dynamical system (38) is strongly accessible on

where *controllability matrix* of the augmented time-invariant dynamical system (39) is defined as [15]

where

**Theorem 6.1** ([15]). *Consider the nonlinear dynamical system* (38)*. If* *for all* *, then* (38) *is strongly accessible.*

It follows from (21)–(23) and (25) that a quadrotor’s altitude and orientation are captured by (38) with *n* = 8, *m* = 4,

the explicit expression for *f*(·, ·) is omitted for brevity. In this case, the controllability matrix

and it follows from Theorem 6.1 that *t* ≥ *t*_{0}, is a sufficient condition to guarantee that a quadrotor’s altitude *r _{Z}*(

*t*) and orientation [

*φ*(

*t*),

*θ*(

*t*),

*ψ*(

*t*)]

^{T}can be regulated by some continuous control input

*u*(

*t*), while

*π*/2 about the

*x*(·) axis of the reference frame

*t*≥

*t*

_{0}, and hence the reference roll angle verifies sufficient conditions for strong accessibility of quadrotors’ altitude and orientation dynamics.

## 7. Nonlinear robust control of quadrotors

In this section, we apply the results presented in Sections 3–6 to design control laws so that a quadrotor can follow a given trajectory with bounded error. Specifically, we design a control law for *u*(·) so that a quadrotor can track both the given reference trajectory [*r*_{X, ref}(*t*), *r*_{Y, ref}(*t*), *r*_{Z, ref}(*t*)]^{T}, *t* ≥ *t*_{0}, and the reference yaw angle *ψ*_{ref}(*t*). In practice, we design control laws both for the virtual control input [*u _{X}*(

*t*),

*u*(

_{Y}*t*),

*u*(

_{Z}*t*)]

^{T},

*t*≥

*t*

_{0}, and the moment of the propellers’ thrust [

*u*

_{2}(

*t*),

*u*

_{3}(

*t*),

*u*

_{4}(

*t*)]

^{T}, so that a quadrotor tracks [

*r*

_{X, ref}(

*t*),

*r*

_{Y, ref}(

*t*),

*r*

_{Z, ref}(

*t*)]

^{T}, the reference roll angle (35), the reference pitch angle (36), and the reference yaw angle

*ψ*

_{ref}(

*t*).

It follows form (33) that if the aerodynamic force is modeled as in (31), then a quadrotor’s translational kinematic and dynamic equations are given by

where *t* ≥ *t*_{0}, *C*_{p, P} = [**1**_{3}, 0_{3 × 3}],

Although

which is globally Lipschitz continuous. Since any quadrotor’s velocity and acceleration are bounded, it follows from (45) that also the unmatched uncertainty

It follows from (22) and (25) that a quadrotor’s rotational dynamics is captured by

where

(48) |

*F*_{g}(·, ·) is given by (24), *r*_{A}(·) verifies (43), and *M*(·) is given by (27). Let *v* ∈ ^{3}; the explicit expression of *β*(·) is omitted for brevity. By proceeding as in Example 6.3 of [35], one can prove that the nonlinear dynamical system (47) is feedback linearizable ([31], Ch. 5). Specifically, (47) with

is equivalent to

where

^{3 × 3} is diagonal positive-definite, and Φ(·) given by (46). Although Λ_{A} = **1**_{3} [35], we assume that Λ_{A} is *unknown* and accounts for failures of the propulsion system and erroneous modeling assumptions. Similarly, the term

The next theorem provides feedback control laws both for [*u _{X}*(·),

*u*(·),

_{Y}*u*(·)]

_{Z}^{T}and [

*u*

_{2}(·),

*u*

_{3}(·),

*u*

_{4}(·)]

^{T}so that the measured output signal

*y*

_{P}(·) tracks the reference signal

and the measured output signal *y*_{A}(·) tracks the reference signal

where *φ*_{ref}(·) and *θ*_{ref}(·) are given by (35) and (36), respectively, with some bounded error despite model uncertainties, external disturbances, and failures of the propulsion system. For the statement of this result, consider both the nonlinear dynamical system given by (43) and (44) and the nonlinear dynamical system given by (50) and (51), and note that these systems are equivalent to (5) and (6) with *u* = [*u _{X}*,

*u*,

_{Y}*u*,

_{Z}*v*

^{T}]

^{T},

*n*

_{p}= 12,

*m*= 6,

**Theorem 7.1** *Consider the nonlinear dynamical system given by* (43) *and* (44), *the nonlinear dynamical system given by* (50) *and* (51), *the reference signals* (53) *and* (54), *the augmented dynamical system* (8), *the reference dynamical model* (9), *the feedback control law γ*(·, · , ·) *given by* (10)*, and the adaptation laws* (11)–(13). *If there exist K _{x}* ∈

R

^{18 × 6}

*and K*

_{cmd}∈

R

^{6 × 6}

*such that*(15)

*and*(16)

*and satisfied, then*(8)

*with u*=

*γ*(

*t*,

*x*

_{p},

*x*)

*is uniformly ultimately bounded. Furthermore, there exist b*> 0

*and c*> 0

*independent of t*

_{0}

*, and for every a*∈ (0,

*c*)

*, there exists a finite-time T*=

*T*(

*a*,

*c*) ≥ 0

*, independent of t*

_{0}

*, such that if*∥

*y*

_{P}(

*t*

_{0}) −

*y*

_{cmd, P}(

*t*

_{0}) ∥ ≤

*a and*∥

*y*

_{A}(

*t*

_{0}) −

*y*

_{cmd, A}(

*t*

_{0}) ∥ ≤

*a, then*

*Lastly, the thrust force generated by the quadrotor’s propellers is such that*

*and the moment of the thrust force generated by the quadrotor’s propellers is given by*

where *t*, *x*_{p}, *x*) ∈ [*t*_{0}, ∞) × ^{12} × ^{18}, *γ*_{P}(*t*, *x*_{p}, *x*) ∈ ^{3}, and *γ*_{A}(*t*, *x*_{p}, *x*) ∈ ^{3}.

*Proof:* Uniform ultimate boundedness of (8) with *u* = *γ*(*t*, *x*_{p}, *x*) is a direct consequence of Theorem 3.1. Thus, both the nonlinear dynamical system given by (43) and (44) with [*u _{X}*,

*u*,

_{Y}*u*]

_{Z}^{T}=

*γ*

_{P}(

*t*,

*x*

_{p},

*x*),

*u*

_{2},

*u*

_{3},

*u*

_{4}]

^{T}=

*γ*

_{A}(

*t*,

*x*

_{p},

*x*) are uniformly ultimately bounded. Consequently, it follows from Definition 2.2 that there exist

*b*> 0 and

*c*> 0 independent of

*t*

_{0}, and for every

*a*∈ (0,

*c*), there exists a finite-time

*T*=

*T*(

*a*,

*c*) ≥ 0, independent of

*t*

_{0}, such that if ∥

*y*

_{P}(

*t*

_{0}) −

*y*

_{cmd, P}(

*t*

_{0}) ∥ ≤

*a*and ∥

*y*

_{A}(

*t*

_{0}) −

*y*

_{cmd, A}(

*t*

_{0}) ∥ ≤

*a*, then (55) and (56) are satisfied. Lastly, (57) directly follows from (37), and (58) directly follows from (49).

## 8. Illustrative numerical example

In this section, we provide a numerical example to illustrate both the applicability and the advantages of the theoretical results presented in this chapter. Specifically, we design a nonlinear robust control algorithm that allows a quadrotor helicopter to follow a circular trajectory, although the vehicle’s inertial properties are unknown, one of the motors is suddenly turned off, the payload is dropped over the course of the mission, and the wind blows at strong velocity.

Consider a quadrotor of mass *m*_{Q} = 1 kg and matrix of inertia *I* = **1**_{3} kg m^{2}, let the propellers be characterized by the matrix of inertia *ε* = 10. We assume that the vehicle’s mass and matrix of inertia are unknown and estimated to be *K _{F}* =

*K*= 0.01 ·

_{M}**1**

_{3}, which we assume unknown, and the wind velocity is given by

*t*≥

*t*

_{0}; it is worthwhile to note that this wind speed is considered as excessive for quadrotors equipped with conventional autopilots.

**Figure 3** shows the quadrotor’s trajectory obtained applying the control laws (57) and (58) to track a circular path of radius 0.3 m at an altitude of 0.75 m despite the fact that the quadrotor’s payload of 0.5 kg is dropped at *t* ≥ 40 s and one of the motors is turned off at *t* = 90 s. These results have been obtained by setting *σ*_{1} = *σ*_{2} = *σ*_{3} = 2, Γ_{cmd} = 100 · **1**_{6}, and Γ* _{x}* and Γ

_{Θ}as block-diagonal matrices, whose non-zero blocks are Γ

_{x, (1, 1)}= 1000 ·

**1**

_{9}, Γ

_{x, (2, 2)}= 2000 ·

**1**

_{9}, Γ

_{Θ, (1, 1)}= 200 ·

**1**

_{9}, abd Γ

_{Θ, (2, 2)}= 1600 ·

**1**

_{9}.

**Figure 4** shows both the quadrotor’s altitude as function of time and the altitude of an identical quadrotor implementing an autopilot based on the classical PD framework [36] and flying in absence of wind. It is clear how the quadrotor implementing our control algorithm is able to fly at the desired altitude despite the fact that the payload is dropped at *t* = 40 s and a motor is turned off at *t* = 90 s. The quadrotor implementing the PD algorithm is unable to reach the desired altitude because of the large error in the vehicle’s mass’ estimate. Moreover, this quadrotor reaches a considerably higher altitude after the payload is dropped and crashes after one of the propellers is turned off.

The first plot in **Figure 5** shows the control inputs (57) and (58). The second plot in **Figure 5** shows the control inputs computed using a conventional MRAC framework [6] for a quadrotor tracking the same circular path despite a wind blowing at 6 m/*s*; numerical simulations show that quadrotors implementing the conventional MRAC framework are unable to fly in the presence of wind gusts faster than 6 m/s. It is clear that our autopilot requires a control effort that is smaller than the effort required by a conventional MRAC-based autopilot to fly in weaker wind.

## 9. Conclusion

In this chapter, we presented a robust MRAC architecture, which we employed to design autopilots for quadrotor helicopters. The proposed autopilot is the first to account for the fact that quadrotors are nonlinear time-varying dynamical systems, the exact location of the vehicle’s center of mass is usually unknown, and the aircraft reference frame is centered at some point that does not necessarily coincide with the vehicle’s barycenter. Moreover, our autopilot does not rely on the assumption that the Euler angles are small at all times and accounts both for the inertial counter-torque and the gyroscopic effect.

The applicability of our theoretical results has been illustrated by a numerical example and it is clearly shown how the proposed autopilot is able to track a given reference trajectory despite the fact that the payload is dropped during the mission, one of the motors is turned off, and the wind blows at the prohibitive velocity of 16 m/s. It is also shown that quadrotors implementing autopilots based on the classical PD framework crash if one of the propellers stops functioning. Lastly, it is shown that our autopilot requires a control effort that is smaller than the effort required by conventional MRAC-based autopilots to fly in less strong wind.