# A Novel Family of Exact Nonlinear Cascade Control Design Solutions for a Class of UAV Systems

Authors: Kristian Maya-Gress; Jorge Álvarez; Raúl Villafuerte-Segura; Hugo Romero-Trejo; Miguel Bernal
Journal: Mathematical Problems in Engineering
 (2021)

---

## Abstract

In this work, a novel family of exact nonlinear control laws is developed for trajectory tracking of unmanned aerial vehicles. The proposed methodology exploits the cascade structure of the dynamic equations of most of these systems. In a first step, the vehicle position in Cartesian coordinates is controlled by means of fictitious inputs corresponding to the angular coordinates, which are fixed to a combination of computed torque and proportional-derivative elements. In a second step, the angular coordinates are controlled as to drive them to the desired fictitious inputs necessary for the first part, resulting in a double-integrator 3-input cascade control scheme. The proposal is put at test in two examples: 4-rotor and 8-rotor aircrafts. Numerical simulations of both plants illustrate the effectiveness of the proposed method, while real-time results of the first one confirm its applicability.


---

## Body

## 1. Introduction

Unmanned aerial vehicles (UAVs) have become a topic of interest in many works due to the fact that they are capable of operating in degraded environments which might be dangerous for humans. These vehicles are designed to fly with high agility and rapid maneuvering, even under wind gusts. For all these qualities, the UAVs have a wide variety of applications such as military [1], 3D mapping and aerial photography [2, 3], and inspection of places that are not easily accessible or are too dangerous for humans [4], among others [5, 6].There is a great variety of UAVs that can be classified by a broad number of performance characteristics such as their structure, weight, endurance, range, speed, and so on [7]. In this work, we will focus on plants with a cascade structure that allows for a family of novel cascade nonlinear control laws to be applied, e.g., the quadrotor and the 8-rotor aircrafts. These plants consist in a structure of symmetrical links and 4 or 8 rotors at its ends, respectively. In the case of the quadrotor, given that the front and the rear motors rotate counter-clockwise while the other two rotate clockwise, gyroscopic effects and aerodynamic torques tend to cancel during flight. A similar situation is produced in the 8-rotor aircraft. Both plants include the rotation motion of three axes and the linear motion of the center of gravity along three axes. Thus, there are six motions: back/front, left/right, up/down, yaw, pitch, and roll. The quadrotor has 4 control inputs and 6 degrees of freedom; its dynamics has the characteristics of nonlinearity and strong coupling [8]. On the other hand, the 8-rotor has 6 control inputs and 6 degrees of freedom [9].In the literature, there are many works about control laws applied to UAVs. Most of them do not require precise or complete knowledge of the dynamic equations of the plant. Indeed, one of the most basic control structures, the family of proportional-integral-derivative (PID) controllers, which requires tuning of its gains, can be applied successfully to these plants as they are capable of bringing the error signals to zero in trajectory tracking [10–12]. Other reports incorporate fuzzy logic in combination with PID controllers, thus easing the tuning of the gains and increasing the adaptability of the control law to changing plant or environment parameters; they usually have better performance than classic PID [13–16]. Dead-zone and actuator faults have also been studied in this context [17]. Recent works present solutions based on neural networks for the autonomous landing of a quadrotor both on fixed and moving targets for maritime search-and-rescue applications [18]. In [19], a neural network adaptive scheme is combined with sliding mode control, which preserves the advantages of both methods, namely, adaptability and robustness against coupled perturbations.On the other hand, there are also control laws that require knowledge of the plant, such as linear quadratic regulator (LQR) techniques that can be found in [20], where a linearization of the plant is necessary to design the controller; nonlinear dynamic models based on quaternions for attitude and LQR control are presented in [21]; in [22], a controller design using the backstepping approach has been applied to the state-space model of a quadrotor, while in [23], the model is used in the Lagrange–Euler form; in [24], a backstepping control and nonlinear disturbance observer have been developed; the observer is constructed separately from the controller to estimate the external disturbances and compensate for the negative effects of the disturbances such as wind gusts.Yet, another category of controllers uses partial information of the model, e.g., sliding modes in [25–27], which besides being robust and simple, produces high-frequency switching of the control signals (chattering phenomenon); integral predictive and nonlinear robust ℋ∞ strategy [28], where the integral of the position error is considered, allowing the achievement of a null steady-state error when sustained disturbances are acting on the system; and a hybrid finite-time control approach [29] for trajectory tracking with unknown dynamics and disturbances. Furthermore, many recent works have shown different approaches for trajectory tracking of the quadrotor such as finite-time output feedback schemes [30], adaptive control [31, 32], supertwisting [33], active disturbance rejection [34], and neural networks with backstepping [35].


### 1.1. Contribution

The contribution of this article is to provide a family of exact nonlinear cascade control schemes for UAV plants such as the quadrotor and the 8-rotor aircraft, which, due to their characteristics, have a cascade interconnection of groups of states. In contrast with other schemes in the literature, the control laws are exact, not approximate, and allow a variety of options to be easily incorporated via linear matrix inequalities (LMIs) [36], which are efficiently solved via convex optimization software [37].


### 1.2. Organization

The remainder of this study is organized as follows: Section2 defines the family of systems to be studied, the basics on the computed torque technique, the mathematical models of the UAVs under study, and the difficulties for implementing a computed torque-like control scheme: a problem statement is made; in Section 3, the main results concerning the family of exact nonlinear cascade controllers are presented; in Section 4, numerical simulations are provided proving the flexibility and efficiency of the control proposal; real-time results are shown in Section 5; and finally, conclusions are gathered in Section 6 along with a discussion on future work.


## 1.1. Contribution

The contribution of this article is to provide a family of exact nonlinear cascade control schemes for UAV plants such as the quadrotor and the 8-rotor aircraft, which, due to their characteristics, have a cascade interconnection of groups of states. In contrast with other schemes in the literature, the control laws are exact, not approximate, and allow a variety of options to be easily incorporated via linear matrix inequalities (LMIs) [36], which are efficiently solved via convex optimization software [37].


## 1.2. Organization

The remainder of this study is organized as follows: Section2 defines the family of systems to be studied, the basics on the computed torque technique, the mathematical models of the UAVs under study, and the difficulties for implementing a computed torque-like control scheme: a problem statement is made; in Section 3, the main results concerning the family of exact nonlinear cascade controllers are presented; in Section 4, numerical simulations are provided proving the flexibility and efficiency of the control proposal; real-time results are shown in Section 5; and finally, conclusions are gathered in Section 6 along with a discussion on future work.


## 2. Preliminaries

This section describes the mathematical structure expected for the plants under consideration, the specific dynamic models of the two UAVs that will be used for illustration of the proposal, basics on the computed torque technique, and the problem statement of this work.


### 2.1. Cascade Plants

The plants under consideration must have one or more nested cascade structures of the following form:(1)η¨t=fξ,u1,ξ¨t=u2,where η∈ℝn−p and ξ∈ℝp are associated with the plant states; the control inputs are u1∈ℝm−p and u2∈ℝp; f:ℝp×ℝm−p⟶ℝn−p is a sufficiently smooth nonlinear function in a domain D that contains the origin η,ξ=0,0 with f0,0=0. As it will be seen later, UAVs belong to the former class as η is usually associated with Cartesian coordinates, ξ stands for the angular coordinates, u1 and u2 are usually the result of a simplification of the original inputs (i.e., from the voltage/speed inputs to the minimum number of torque ones), and f⋅,⋅ is clearly a nonlinear input distribution vector from the point of view of ξ and u1: this point of view will be exploited later.Most UAVs require trajectory tracking in the Cartesian coordinate space; therefore, following the analogy established between the model (1) and a UAV model, it is clear that trajectory tracking reduces to find inputs such that ηt is asymptotically driven to a desired trajectory ηdt. Note that, despite the cascade structure, backstepping is not directly applicable as the double-integrator and strong coupling of states in the first equation, precludes the designer from following the usual path. Indeed, most UAVs do not have polynomial coupling of states, but trigonometric ones. This means that backstepping cannot be performed as normally done because the required fictitious inputs cannot be straightforwardly determined [38].Moreover, backstepping asymptotic stability of the origin is guaranteed via the direct Lyapunov method. But trajectory tracking requires writing the dynamic equations of the tracking error system in a form suitable for Lyapunov analysis, i.e., given the tracking erroret=ηdt−ηt, being able to write(2)e¨t=η¨dt−η¨t=η¨dt−fξ,u1=Fη,η˙,ηd,η˙d,xi,u1et,where, obviously, the form of F⋅ might be very hard or impossible to obtain. The methodology to be presented in this study will circumvent this problem; once this is done, if a system can be put in a series of cascade connections such as the one presented above, the technique can be recursively applied.


### 2.2. UAV Dynamic Models

Since the UAVs employed for illustration of our proposal have similar underlying physical principles, we will focus on the development of the quadrotor model. This is standard material which, nevertheless, may help the reader understanding the origin and meaning of certain terms in the model.The configuration of the quadrotor is composed by a rigid cross frame and four rotors as shown in Figure1. The quadrotor is an underactuated and nonlinear coupled system with six degrees of freedom; its mathematical model will be obtained using the well-known Lagrangian method. To this end, let us define q=η,ξ∈ℝ6 as the generalized coordinates vector for the quadrotor, where η=x,y,z∈ℝ3 is the position of the center of mass of the quadrotor relative to the frame ℛo (Figure 1), and ξ=ψ,θ,ϕ∈ℝ3 are the Euler angles (yaw, pitch, and roll) that describe the orientation of the aircraft. The kinetic energy of both translational and rotational motions are expressed, respectively, as(3)Ttra=m2η˙Tη˙,Trot=12ξ˙TJξ˙,where m denotes the mass of the aircraft, and J=WnTℐWn is the inertia matrix for the rotational kinetic energy, with(4)Wn=−sinθ01sinϕcosθcosϕ0cosϕcosθ−sinϕ0,ℐ=Ixx000Iyy000Izz.Figure 1
Scheme of the quadrotor system.The only force that contributes to the potential energy is the force due to gravitational acceleration, which is expressed asU=mgz, where z is the altitude of the quadrotor, and g is the gravitational constant. Thus, the Lagrangian is given by(5)ℒq,q˙=Ttra+Trot−U=m2η˙Tη˙+12ξ˙TJξ˙−mgz.Considering the Euler–Lagrange equations and taking into account the vector of generalized external forces, the dynamic model of the quadrotor is defined as(6)ddt∂ℒ∂q˙−∂ℒ∂q=F,where F=FηTτTT is the vector of generalized forces. Fη groups the forces produced by the control inputs that produce a translational movement, and τ is the vector of generalized moments produced by the control inputs to perform rotational movements. The small body forces are ignored due to their being much smaller compared to the forces produced by the main control inputs. Then, the forces applied to the quadrotor with respect to the reference ℛb are given by(7)Fb=00u,τ=τψτθτϕ,where u=f1+f2+f3+f4, fi=kiwi2 for i=1,2,3,4, and ki, a positive constant parameter depending on the density of air, and wi is the angular speed of the ith motor. This set of forces expressed in ℛo is transformed into(8)Fη=RFb,withR=cosθcosψsinϕsinθcosψ−sinψcosϕsinψsinϕ+sinθcosϕcosψsinψcosθsinϕsinθsinψ+cosϕcosψsinθsinψcosϕ−sinϕcosψ−sinθsinϕcosθcosϕcosθ,where R is the transformation matrix representing the orientation of the quadrotor from ℛb to ℛo. Furthermore, the vectors of generalized moments acting on variables ξ are as follows:(9)τψ=∑14kMiwi2,τθ=f2−f4lc,τϕ=f3−f1lc,where kMi is the moment constant of the ith motor, and lc is the distance between the axes of the motors and the center of gravity. Since the Lagrangian (5) does not contain any cross-term combining η and ξ, the Euler–Lagrange equation (6) can be split into two subsystems, one for the translational dynamics η and the other for the rotational dynamics ξ as follows:(10)mη¨+00mgT=Fη,Jξ¨+Cξ,ξ˙ξ˙=τ,where Cξ,ξ˙ is the Coriolis matrix. In order to simplify the analysis, the following change of the input variables is proposed:(11)τ=Cξ,ξ˙ξ˙+Jτ˜.Here,τ˜=τ˜ψτ˜θτ˜ϕT are the new inputs ([8] for details). Then, ξ¨=τ˜ and equation (10) are rewritten as(12)x¨=sinϕsinψ+sinθcosϕcosψum,y¨=sinθsinψcosϕ−sinϕcosψum,z¨¨=cosθcosϕum−g,ψ¨=τ˜ψ,θ..=τ˜θ,ϕ¨=τ˜ϕ,where the horizontal plane coordinates are represented by x,y, the vertical position is represented by z, ψ is the yaw angle around the z axis, θ is the pitch angle around the y axis, and ϕ is the roll angle around the x axis. The system (12) has four control inputs u, τ˜ψ, τ˜θ, and τ˜ϕ.


### 2.3. Computed Torque

Computed torque control is a technique used for trajectory tracking in rigid robotic manipulators consisting of open kinematic chains [39]. This sort of models is amenable to the Lagrange–Euler form:(13)Mqq¨t+Vq,q˙+Fq,q˙+Gq=τt,where q∈ℝn is a vector gathering the n joint variables of the kinematic chain, Mq∈ℝn×n is the inertia matrix, Vq,q˙∈ℝn is the Coriolis vector, Fq,q˙∈ℝn accounts for the friction forces (whether viscous, dry, or others), Gq∈ℝn is the gravity vector, and τt∈ℝn is the generalized force vector. Traditional computed torque control considers the plant as fully actuated, i.e., all entries in τt are available for control purposes or it has one available actuator per joint. A desired trajectory qdt can be asymptotically tracked by qt if the following control law is used:(14)τt=Mqq¨dt−ut+Vq,q˙+Fq,q˙+Gq,where ut is responsible for stabilizing the tracking error system:(15)e˙te¨t=0I00ete˙t+0Iut,with et=qdt−qt. Control law (14) is known as the inner-loop control feedback; it is based on exact feedback linearization [40]. Control law ut is known as the outer-loop control feedback; it stabilizes the error system (15), a task usually achieved by linear state feedback or PD control:(16)ut=−Kpet+Kve˙t,where for simplicity, gains Kp and Kv are the diagonal constant matrices with positive entries.Clearly, computed torque is critically dependent on the precise knowledge of the model and does not take advantage of the nonlinear structure of the plant, let alone the cascade form of UAV models.


### 2.4. Problem Statement

For a UAV model of the form (1) to perform trajectory tracking of a Cartesian path ηdt=xdtydtzdt by means of its inputs u1 and u2, i.e., limt⟶∞et=0 with et=ηdt−ηt, ηt=xtytzt, ξ=ψθϕ, backstepping is not a straightforward option. Indeed, the double-integrator and the trigonometric functions in ξ impede its application.Moreover, computed torque cannot be applied either because, following its notation, the joint vectorq=xyzψθϕT and the generalized force vector τ=uτ˜ψτ˜θτ˜ϕT do not share dimensions, i.e., there is not enough number of actuators as required by the computed torque technique.In the next section, a novel family of exact nonlinear control laws is developed for trajectory tracking of UAVs; it will exploit the cascade structure without recurring to backstepping and will be able to deal with the underactuated characteristics that the computed torque technique is unable to cope. In contrast with other proposals, no approximations are employed; all the nonlinearities are taken into account for control purposes.Notation: in matrix expressions, 0 andI stand for a zero and identity matrix, respectively, whose dimensions can be inferred from the context; > and < stand for positive and negative-definiteness; the symbol ∗ denotes the transpose of the expression on the left, i.e., A+∗=A+AT.


## 2.1. Cascade Plants

The plants under consideration must have one or more nested cascade structures of the following form:(1)η¨t=fξ,u1,ξ¨t=u2,where η∈ℝn−p and ξ∈ℝp are associated with the plant states; the control inputs are u1∈ℝm−p and u2∈ℝp; f:ℝp×ℝm−p⟶ℝn−p is a sufficiently smooth nonlinear function in a domain D that contains the origin η,ξ=0,0 with f0,0=0. As it will be seen later, UAVs belong to the former class as η is usually associated with Cartesian coordinates, ξ stands for the angular coordinates, u1 and u2 are usually the result of a simplification of the original inputs (i.e., from the voltage/speed inputs to the minimum number of torque ones), and f⋅,⋅ is clearly a nonlinear input distribution vector from the point of view of ξ and u1: this point of view will be exploited later.Most UAVs require trajectory tracking in the Cartesian coordinate space; therefore, following the analogy established between the model (1) and a UAV model, it is clear that trajectory tracking reduces to find inputs such that ηt is asymptotically driven to a desired trajectory ηdt. Note that, despite the cascade structure, backstepping is not directly applicable as the double-integrator and strong coupling of states in the first equation, precludes the designer from following the usual path. Indeed, most UAVs do not have polynomial coupling of states, but trigonometric ones. This means that backstepping cannot be performed as normally done because the required fictitious inputs cannot be straightforwardly determined [38].Moreover, backstepping asymptotic stability of the origin is guaranteed via the direct Lyapunov method. But trajectory tracking requires writing the dynamic equations of the tracking error system in a form suitable for Lyapunov analysis, i.e., given the tracking erroret=ηdt−ηt, being able to write(2)e¨t=η¨dt−η¨t=η¨dt−fξ,u1=Fη,η˙,ηd,η˙d,xi,u1et,where, obviously, the form of F⋅ might be very hard or impossible to obtain. The methodology to be presented in this study will circumvent this problem; once this is done, if a system can be put in a series of cascade connections such as the one presented above, the technique can be recursively applied.


## 2.2. UAV Dynamic Models

Since the UAVs employed for illustration of our proposal have similar underlying physical principles, we will focus on the development of the quadrotor model. This is standard material which, nevertheless, may help the reader understanding the origin and meaning of certain terms in the model.The configuration of the quadrotor is composed by a rigid cross frame and four rotors as shown in Figure1. The quadrotor is an underactuated and nonlinear coupled system with six degrees of freedom; its mathematical model will be obtained using the well-known Lagrangian method. To this end, let us define q=η,ξ∈ℝ6 as the generalized coordinates vector for the quadrotor, where η=x,y,z∈ℝ3 is the position of the center of mass of the quadrotor relative to the frame ℛo (Figure 1), and ξ=ψ,θ,ϕ∈ℝ3 are the Euler angles (yaw, pitch, and roll) that describe the orientation of the aircraft. The kinetic energy of both translational and rotational motions are expressed, respectively, as(3)Ttra=m2η˙Tη˙,Trot=12ξ˙TJξ˙,where m denotes the mass of the aircraft, and J=WnTℐWn is the inertia matrix for the rotational kinetic energy, with(4)Wn=−sinθ01sinϕcosθcosϕ0cosϕcosθ−sinϕ0,ℐ=Ixx000Iyy000Izz.Figure 1
Scheme of the quadrotor system.The only force that contributes to the potential energy is the force due to gravitational acceleration, which is expressed asU=mgz, where z is the altitude of the quadrotor, and g is the gravitational constant. Thus, the Lagrangian is given by(5)ℒq,q˙=Ttra+Trot−U=m2η˙Tη˙+12ξ˙TJξ˙−mgz.Considering the Euler–Lagrange equations and taking into account the vector of generalized external forces, the dynamic model of the quadrotor is defined as(6)ddt∂ℒ∂q˙−∂ℒ∂q=F,where F=FηTτTT is the vector of generalized forces. Fη groups the forces produced by the control inputs that produce a translational movement, and τ is the vector of generalized moments produced by the control inputs to perform rotational movements. The small body forces are ignored due to their being much smaller compared to the forces produced by the main control inputs. Then, the forces applied to the quadrotor with respect to the reference ℛb are given by(7)Fb=00u,τ=τψτθτϕ,where u=f1+f2+f3+f4, fi=kiwi2 for i=1,2,3,4, and ki, a positive constant parameter depending on the density of air, and wi is the angular speed of the ith motor. This set of forces expressed in ℛo is transformed into(8)Fη=RFb,withR=cosθcosψsinϕsinθcosψ−sinψcosϕsinψsinϕ+sinθcosϕcosψsinψcosθsinϕsinθsinψ+cosϕcosψsinθsinψcosϕ−sinϕcosψ−sinθsinϕcosθcosϕcosθ,where R is the transformation matrix representing the orientation of the quadrotor from ℛb to ℛo. Furthermore, the vectors of generalized moments acting on variables ξ are as follows:(9)τψ=∑14kMiwi2,τθ=f2−f4lc,τϕ=f3−f1lc,where kMi is the moment constant of the ith motor, and lc is the distance between the axes of the motors and the center of gravity. Since the Lagrangian (5) does not contain any cross-term combining η and ξ, the Euler–Lagrange equation (6) can be split into two subsystems, one for the translational dynamics η and the other for the rotational dynamics ξ as follows:(10)mη¨+00mgT=Fη,Jξ¨+Cξ,ξ˙ξ˙=τ,where Cξ,ξ˙ is the Coriolis matrix. In order to simplify the analysis, the following change of the input variables is proposed:(11)τ=Cξ,ξ˙ξ˙+Jτ˜.Here,τ˜=τ˜ψτ˜θτ˜ϕT are the new inputs ([8] for details). Then, ξ¨=τ˜ and equation (10) are rewritten as(12)x¨=sinϕsinψ+sinθcosϕcosψum,y¨=sinθsinψcosϕ−sinϕcosψum,z¨¨=cosθcosϕum−g,ψ¨=τ˜ψ,θ..=τ˜θ,ϕ¨=τ˜ϕ,where the horizontal plane coordinates are represented by x,y, the vertical position is represented by z, ψ is the yaw angle around the z axis, θ is the pitch angle around the y axis, and ϕ is the roll angle around the x axis. The system (12) has four control inputs u, τ˜ψ, τ˜θ, and τ˜ϕ.


## 2.3. Computed Torque

Computed torque control is a technique used for trajectory tracking in rigid robotic manipulators consisting of open kinematic chains [39]. This sort of models is amenable to the Lagrange–Euler form:(13)Mqq¨t+Vq,q˙+Fq,q˙+Gq=τt,where q∈ℝn is a vector gathering the n joint variables of the kinematic chain, Mq∈ℝn×n is the inertia matrix, Vq,q˙∈ℝn is the Coriolis vector, Fq,q˙∈ℝn accounts for the friction forces (whether viscous, dry, or others), Gq∈ℝn is the gravity vector, and τt∈ℝn is the generalized force vector. Traditional computed torque control considers the plant as fully actuated, i.e., all entries in τt are available for control purposes or it has one available actuator per joint. A desired trajectory qdt can be asymptotically tracked by qt if the following control law is used:(14)τt=Mqq¨dt−ut+Vq,q˙+Fq,q˙+Gq,where ut is responsible for stabilizing the tracking error system:(15)e˙te¨t=0I00ete˙t+0Iut,with et=qdt−qt. Control law (14) is known as the inner-loop control feedback; it is based on exact feedback linearization [40]. Control law ut is known as the outer-loop control feedback; it stabilizes the error system (15), a task usually achieved by linear state feedback or PD control:(16)ut=−Kpet+Kve˙t,where for simplicity, gains Kp and Kv are the diagonal constant matrices with positive entries.Clearly, computed torque is critically dependent on the precise knowledge of the model and does not take advantage of the nonlinear structure of the plant, let alone the cascade form of UAV models.


## 2.4. Problem Statement

For a UAV model of the form (1) to perform trajectory tracking of a Cartesian path ηdt=xdtydtzdt by means of its inputs u1 and u2, i.e., limt⟶∞et=0 with et=ηdt−ηt, ηt=xtytzt, ξ=ψθϕ, backstepping is not a straightforward option. Indeed, the double-integrator and the trigonometric functions in ξ impede its application.Moreover, computed torque cannot be applied either because, following its notation, the joint vectorq=xyzψθϕT and the generalized force vector τ=uτ˜ψτ˜θτ˜ϕT do not share dimensions, i.e., there is not enough number of actuators as required by the computed torque technique.In the next section, a novel family of exact nonlinear control laws is developed for trajectory tracking of UAVs; it will exploit the cascade structure without recurring to backstepping and will be able to deal with the underactuated characteristics that the computed torque technique is unable to cope. In contrast with other proposals, no approximations are employed; all the nonlinearities are taken into account for control purposes.Notation: in matrix expressions, 0 andI stand for a zero and identity matrix, respectively, whose dimensions can be inferred from the context; > and < stand for positive and negative-definiteness; the symbol ∗ denotes the transpose of the expression on the left, i.e., A+∗=A+AT.


## 3. Main Results

In this section, a family of nonlinear cascade controllers for trajectory tracking of UAVs with cascade model structure is proposed. To begin with, we reproduce the general mathematical model of the UAVs under consideration:(17)η¨t=fξ,u1,ξ¨t=u2,where η∈ℝ3 and ξ∈ℝ3 are associated with Cartesian and angular coordinates, respectively; the simplified control inputs are u1∈ℝm and u2∈ℝ3; f⋅,⋅:ℝ3×ℝm⟶ℝ3 is a sufficiently smooth nonlinear function in a domain D that contains the origin η,ξ=0,0 with f0,0=0.Consider a desired trajectory in Cartesian coordinatesηd∈ℝ3 such that ηdt=xdtydtzdtT, where xdt, ydt, and zdt are the desired trajectories in the direction of the x, y, and z axis, respectively; let the corresponding tracking error be eηt=ηdt−ηt; thus, taking into account (17), we have(18)e¨ηt=η¨dt−η¨t=η¨dt−fξ,u1,(19)ξ¨t=u2.Thanks to the cascade structure above, the following assumption can be made:Assumption 1.
There existsξd and u1 such that(20)η¨d−fξ,u1=−Kpηeη−Kvηe˙η,where Kpη∈ℝ3×3 and Kvη∈ℝ3×3 are the matrices with proportional and derivative gains, respectively, to be defined (usually diagonal with positive entries); otherwise, claim the approach fails.Despite its complexity, note that the existence ofξd and u1 holding Assumption 1 is not only guaranteed for most of the UAV models but also a family of solutions. Indeed, as variables in ξ are angle coordinates, they come into trigonometric expressions which naturally lead to multiple solutions, if any.Onceξd and u1 holding Assumption 1 are found, the next problem is to drive ξ towards ξd, i.e., to drive the tracking error eξt=ξdt−ξt to 0 as t⟶∞. To this end, computed torque techniques come at the hand, i.e., from (19), we have(21)u2=ξ¨d+Kpξeξ+Kvξe˙ξ,where Kpξ∈ℝ3×3 and Kvξ∈ℝ3×3 are the matrices with proportional and derivative gains, respectively, to be defined (usually diagonal with positive entries).The whole tracking error system, once Assumption1 and computed torque control law (21) are employed, is given by(22)ddteηe˙ηeξe˙ξ=0I00−Kpη−Kvη00000I00−Kpξ−Kvξeηe˙ηeξe˙ξ.The main result of this work can now be stated by defining the overall tracking error signal ase=eηTe˙ηTeξTe˙ξTT.Theorem 1.
The origine=0 of the tracking error system (22) is asymptotically stable if there exists matrices X1∈ℝ6×6, X2∈ℝ6×6, X1=X1T, X2=X2T, Mpη∈ℝ3×3, Mvη∈ℝ3×3, Mpξ∈ℝ3×3, and Mvξ∈ℝ3×3, such that the following LMIs hold:(23)X1>0,X2>0,0I00X1+0IMpηMvη<0,0I00X2+0IMpξMvξ<0.In that case, the gains are given by(24)−Kpη−Kvη=MpηMvηX1−1,−Kpξ−Kvξ=MpξMvξX2−1.Proof.
The closed-loop tracking error system (22) can be rewritten as two independent ones, namely,(25)ddteηe˙η=0I00+0I−Kpη−Kvηeηe˙η,ddteξe˙ξ=0I00+0I−Kpξ−Kvξeξe˙ξ.
Let us focus on the first one as the proof follows the same lines for both of them. Consider the quadratic Lyapunov function candidateV=eηTe˙ηTP1eηTe˙ηTT, where P1=X1−1>0; its time derivative is(26)V˙=eηe˙ηTP1e˙ηe¨η+e˙ηe¨ηTP1eηe˙ηeηe˙ηTP10I00+0I−Kpη−Kvη+∗eηe˙η.
ConditionV˙<0 for eη,e˙η≠0,0 is satisfied if(27)P10I00+0I−Kpη−Kvη+∗<0,which pre and postmultiplying by X1=P1−1 is equivalent to the third LMI in (23), provided that −Kpη−KvηX1=MpηMvη, thus proving that Vt is a valid Lyapunov function establishing asymptotic stability of eηTe˙ηTT=0.
The same analysis establishes asymptotic stability ofeξTe˙ξTT=0, thus concluding the proof.Remark 1.
As pointed out before, for any UAV model belonging to the family of systems under consideration, there is always a variety of solutions leading to a linear tracking error system; in this sense, the technique mimics computed torque control [39]. Since some states are employed as fictitious control signals in order to drive another set of states to a desired reference, the technique mimics backstepping [38]. Nevertheless, the proposal does not belong to any of the former approaches.Remark 2.
Notice that, in contrast with computed torque techniques, the gainsKpη, Kvη, Kpξ, and Kvξ are not asked to be diagonal, which provides greater flexibility to the controller design. Moreover, these gains are determined via LMIs, which are solved in polynomial time by commercially available software. The LMI formulation has additional advantages as performance specifications such as decay rate, input/output constraints, or ℋ∞ disturbance attenuation can be straightforwardly added [36].


## 4. Simulation Results

In this section, two examples illustrating our proposal are presented: the first one concerns a quadrotor performing trajectory tracking; the second one is an 8-rotor UAV. In both cases, a member of a family of exact nonlinear cascade control laws for trajectory tracking is used.Example 1.
Consider the quadrotor system (12), reproduced for convenience with a split of the state vector corresponding to (17), where the Cartesian coordinates are governed by(28)η¨≡x¨y¨z¨=sinϕsinψ+sinθcosϕcosψumsinθsinψcosϕ−sinϕcosψumcosθcosϕum−g,and angular coordinates are driven by(29)ξ¨≡ψ¨θ..ϕ¨=τ˜ψτ˜θτ˜ϕ,where u1=u and u2=τ˜ψτ˜θτ˜ϕT in the notation of (17).
Focusing on the dynamic equation (28) governing the position in Cartesian coordinates, it is clear that, with the exception of u, angular variables ψ, θ, and ϕ can be seen as virtual inputs; their ideal values being those necessary to drive the Cartesian coordinates as desired for trajectory purposes; let us name these ideal signals as ψd, θd, and ϕd, which results in (28) being rewritten as the steady-state dynamic equations:(30)x¨=sinϕdsinψd+sinθdcosϕdcosψdum,y¨=sinθdsinψdcosϕd−sinϕdcosψdum,z¨=cosθdcosϕdum−g,where it is supposed that the angles are already in their sought behaviour.
Since the control objective is that the system tracks a reference in Cartesian coordinates, the error signals are defined asex=xd−x, ey=yd−y, and ez=zd−z, where xd, yd, and zd are the desired trajectories in x, y, and z coordinates, respectively. Thus, taking into account the dynamic equations above, the error system (18) is given by(31)e¨x=x¨d−x¨=x¨d−sinϕdsinψd+sinθdcosϕdcosψdmu,e¨y=y¨d−y¨=y¨d−sinθdsinψdcosϕd−sinϕdcosψdmu,e¨z=z¨d−z¨=z¨d−cosϕdcosθdmu+g.
Following the methodology, equation (20) in Assumption 1 is expressed as(32)x¨d−sinϕdsinψd+sinθdcosϕdcosψdmuy¨d−sinθdsinψdcosϕd−sinϕdcosψdmuz¨d−cosϕdcosθdmu+g=−Kpηexeyez−Kvηe˙xe˙ye˙z,where Kpη∈ℝ3×3 and Kvη∈ℝ3×3 are the constant gains to be found. If the above equations hold, the tracking x⟶xd, y⟶yd, and z⟶zd will be performed; they are 3 equations with 4 variables, namely, u, ψd, θd, and ϕd. Due to their nonlinear trigonometric nature, there is an infinite number of solutions, each of them yielding a family of controllers that guarantee the tracking error goes to zero. In order to obtain a particular solution, we simplify the analysis considering that the gains Kpη and Kvη have a diagonal form, i.e.,(33)Kpη=Kpx000Kpy000Kpz,Kvη=Kvx000Kvy000Kvz.
Thus, from the last equation in (32), it is clear that the choice(34)u=mcosϕdcosθdz¨d+g+Kpzez+Kvze˙z,will drive the error signal ez to zero, i.e., z⟶zd. Substituting (34) in the first two equations in (32), we have(35)tanϕdsinψdcosθd+tanθdcosψd=x¨d+Kpxex+Kvxe˙xz¨d+g+Kpzez+Kvze˙z,sinψdtanθd−cosψdtanϕdcosθd=y¨d+Kpyey+Kvye˙yz¨d+g+Kpzez+Kvze˙z.
There are many ways to find a set of solutions to the equations above. One choice is to solve forθd and ϕd, which will depend on ψd, the other variables in the expression being known. Nevertheless, regardless of the value of ψd, the equalities will be fulfilled; therefore, it is enough to drive ψ to ψd=0. Now that the control signal u and the virtual inputs ψd, θd, and ϕd are known, time derivatives ψ˙, θ.d, ϕ˙d, ψ¨, θ..d, and ϕ¨d can be calculated in order to use them in the computed torque control (21). The latter consists in designing τ˜ such that the orientation angles go to their corresponding desired signals, that is, ψ⟶ψd, θ⟶θd, and ϕ⟶ϕd as t⟶∞. Thus, considering that gains Kpξ and Kvξ in (21) have the following structure,(36)Kpξ=Kpψ000Kpθ000Kpϕ,Kvξ=Kvψ000Kvθ000Kvϕ,the control law (21) is given by(37)τ˜ψ=ψ¨d+Kpψeψ+Kvψe˙ψ,τ˜θ=θ..d+Kpθeθ+Kvθe˙θ,τ˜ϕ=ϕ¨d+Kpϕeϕ+Kvϕe˙ϕ,where Kpψ, Kpθ, Kpϕ, Kvψ, Kvθ, and Kvϕ are the constant gains to be found.
The LMIs in Theorem1 can now be programmed; they yield the following feasible solution:(38)X1=0.263900−0.43420000.263900−0.43420000.482700−0.4972−0.4342000.9186000−0.4342000.9186000−0.4972000.5507,X2=0.230200−0.4380000.230200−0.4380000.230200−0.438−0.438000.8885000−0.438000.8885000−0.438000.8885,Kpη=200002000030,Kvη=100001000028,Kpξ=800008000080,Kvξ=400004000040.
Figure2 shows the simulation results of the position and control signals where the quadrotor follows the desired trajectory xd=1+cost, yd=−sint, and zd=1+0.2sin2t. The initial conditions for simulation are x0=0, y0=−1, z0=2, x˙0=y˙0=z˙0=0, and ψ0=θ0=ϕ0=ψ˙0=θ.0=ϕ˙0=0. High-frequency signals are customary during the transient of UAV control due to the very fast dynamics of these plants; this is the case of the control signals on the right.Figure 2
Quadrotor simulation results for trajectory tracking: position (a) and control (b).
(a)(b)Example 2.
Consider the 8-rotor aircraft system whose mathematical model is given by(39)mx¨=uxcosθcosψ−uycosϕsinψ−cosψsinθsinϕ+uzsinϕsinψ+cosϕcosψsinθ,my¨=uxcosθsinψ+uycosϕcosψ+sinψsinθsinϕ−uzsinϕcosψ−cosϕsinψsinθ,mz¨=−uxsinθ+uycosθsinϕ+uzcosθcosϕ−mg,ψ¨=τ˜ψ,θ..=τ˜θ,ϕ¨=τ˜ϕ,where x,y,z represent the position of the aircraft in Cartesian coordinates, ψ,θ,ϕ are the orientation angles, m is the mass of the aircraft, and g is the gravitational constant. In contrast with the quadrotor, this model has six control inputs ux, uy, uz, τ˜ψ, τ˜θ, and τ˜ϕ (see [9] for modelling details).
Following the methodology shown in Section3, the error signals of interest are defined as ex=xd−x, ey=yd−y, and ez=zd−z. Dynamic equations of the error system (18) can be straightforwardly written (omitted for brevity). In contrast with the previous example where variables ϕ, θ, and ϕ were considered as auxiliary/virtual control inputs, in the case of the 8-rotor aircraft, there are two more authentic control inputs; therefore, it is not necessary to take other signals as virtual control ones. In this case, considering the gains structure (33), Assumption 1 is given by the following equations, and it is fulfilled solving for u1=uxuyuzT regardless of ξ=ψθϕT,(40)e¨x=x¨d−uxmcosθcosψ+uymcosϕsinψ−cosψsinθsinϕ−uzmsinϕsinψ+cosϕcosψsinθ=−Kpxex−Kvxe˙x,e¨y=y¨d−uxmcosθsinψ−uymcosϕcosψ+sinψsinθsinϕ+uzmsinϕcosψ−cosϕsinψsinθ=−Kpyey−Kvye˙y,e¨z=z¨d+uxmsinθ−uymcosθsinϕ−uzmcosθcosϕ+g=−Kpzez−Kvze˙z.
If equalities above are satisfied, the tracking errors are guaranteed to go to zero as time tends to infinity; thus, the control signalsux, uy, and uz can be solved. By way of illustration, the shortest of them is provided, namely, uy=uyn/uyd, where(41)uyn=−2y¨dcosϕcosψ−x¨dcosϕsinψ+z¨dcosθsinϕ+x¨dcosψsinϕsinθ+y¨dsinϕsinψsinθ+Kvye˙ycosϕcosψ+Kpyeycosϕcosψ−Kvxe˙xcosϕsinψ−Kpxexcosϕsinψ+Kvze˙zcosθsinϕ+Kpzezcosθsinϕ+gmcosθsinϕ+Kvxe˙xcosψsinϕsinθ+Kpxexcosψsinϕsinθ+Kvye˙ysinϕsinψsinθ+Kpyeysinϕsinψsinθ,uyd=4cos2ϕcos2ψ−4cos2ϕ−4cos2ψ−2cos2θ−sin2θ+2cos2ϕcos2θ+4cos2ψcos2θ+2cos2ϕcosθsinθ−4cos2ϕcos2ψcos2θ+4cosϕcosψsinϕsinψsinθ+2.
Once the control signalsux, uy, and uz have been found, the remaining ones τ˜ψ, τ˜θ, and τ˜ϕ are proposed with a simple PD form, such that ψ⟶0, θ⟶0, and ϕ⟶0 as t⟶∞. Thus,(42)τ˜ψ=−Kpψψ−Kvψψ˙,τ˜θ=−Kpθθ−Kvθθ.,τ˜ϕ=−Kpϕϕ−Kvϕϕ˙.
Figure3 shows the simulation results for initial conditions x0=0, y0=−1, z0=2, x˙0=y˙0=z˙0=0, and ψ0=θ0=ϕ0=ψ˙0=θ.0=ϕ˙0=0. It can be seen in 3(a) that the position of the aircraft follows the desired trajectory xd=1+cost, yd=−sint, and zd=1+0.2sint. The gains used are Kpx=Kpy=Kpz=20, Kvx=Kvy=Kvz=10, Kpψ=Kpθ=Kpϕ=80, and Kvψ=Kvθ=Kvϕ=40. Control signals are shown 3(b). Since in this case, it was not necessary to take signals as virtual control inputs, the initial conditions for the angles are zero, and the control signals τ˜ψ, τ˜θ, and τ˜ϕ are zero during simulation.
The previous solution does not exploit the cascade structure of the system; in this sense, it is a 0-level cascade one. A 1-level one is, nevertheless, possible; such control law does not only serve artificial purposes but also can help standing against actuator fails. To illustrate this alternative, the design can take up from the error equations in (40); any variable in these expressions can be considered as a control signal, which results in a cascade structure and in turn represents a family of solutions. Indeed, considering the control input uz as(43)uz=mg+mθ+uxsinθ−uysinϕsinθcosϕcosθ,the dynamics of the z position can be rewritten as z¨=θ. Thus, θ can be seen as a fictitious control input, thus resulting in a cascade control. Renaming θ as θd and substituting (43), Assumption 1 yields(44)x¨d−uxmcosθdcosψ+uymcosϕsinψ−cosψsinθdsinϕ−gm+mθd+uxsinθd−uysinϕsinθdsinϕsinψ+cosϕcosψsinθdmcosϕcosθd=−Kpxex−Kvxe˙x,y¨d−uxmcosθdsinψ−uymcosϕcosψ+sinψsinθdsinϕ+gm+mθd+uxsinθd−uysinϕsinθdsinϕcosψ−cosϕsinψsinθdmcosϕcosθd=−Kpyey−Kvye˙y,z¨d−θd=−Kpzez−Kvze˙z,which can be solved for ux, uy, and θd, such that Assumption 1 holds.
Once the control signalsux, uy, uz, and the virtual input θd are determined, the time derivatives θ.d and θ..d can be calculated to be used in the computed torque control (21), which consists in designing τ˜, such that the orientation angles go to their corresponding desired signals, i.e., θ⟶θd as t⟶∞. Thus, considering that the gains Kpξ and Kvξ have the structure (36), the control law (21) is given by(45)τ˜ψ=ψ¨d+Kpψeψ+Kvψe˙ψ,τ˜θ=θ..d+Kpθeθ+Kvθe˙θ,τ˜ϕ=ϕ¨d+Kpϕeϕ+Kvϕe˙ϕ,where Kpψ, Kpθ, Kpϕ, Kvψ, Kvθ, and Kvϕ are the constant gains to be found.
LMIs in Theorem1 have been found feasible with the following solution:(46)X1=0.212600−0.36950000.319200−0.51680000.319200−0.5168−0.3695001.2294000−0.5168001.0959000−0.5168001.0959,X2=0.260900−0.49590000.260900−0.49590000.260900−0.4959−0.4959001.0065000−0.4959001.0065000−0.4959001.0065,Kpη=150002000020,Kvη=50001000010,Kpξ=800008000080,Kvξ=400004000040.
Figure4(a) shows the simulation results of the position where the aircraft follows the desired trajectory xd=1+cost, yd=0.5−sint, and zd=1+0.2sint+0.2cos2t. Initial conditions are x0=0, y0=−1, z0=2, x˙0=y˙0=z˙0=0, and ψ0=θ0=ϕ0=ψ˙0=θ.0=ϕ˙0=0. Figure 4(b) shows the control signal.Figure 3
Octarotor simulation results for trajectory tracking: position (a) and control (b).
(a)(b)Figure 4
Octarotor simulation results for trajectory tracking: position (a) and control (b).
(a)(b)


## 5. Real-Time Results

To corroborate the effectiveness of the proposed results in the previous section, its implementation on an experimental platform is presented; such implementation has been made in the National Laboratory of Autonomous Vehicles and Exoskeletons from the Autonomous University of Hidalgo State. The system used for the experiments is from the DJI Matrices 100 quadrotor (Figure5). Some details about the performance of this platform are given in Table 1, while the specifications of the structure are given in Table 2 [41].Figure 5
DJI Matrice 100 quadrotor.Table 1
Performance of experimental platform.
Hovering accuracy (P-mode with GPS)Vertical: 0.5 m, horizontal: 2.5 mMax. angular velocityPitch:300°/s, yaw: 150°/sMax. tilt angle35°Max. speed of ascent5 m/sMax. speed of descent4 m/sMax. wind resistance10 m/sMax. speed22 m/s (ATTI mode, no payload, no wind)17 m/s (GPS mode, no payload, no wind)Hovering time (with TB47D battery)No payload: 22 min; 500 gPayload: 17 min; 1 kg payload: 13 minTable 2
Structure specifications of experimental platform.
Length of the frame arml0.65 mDistance to center of gravitylcl/2Mass of the frame armmbc0.05 kgRadius of the frame armrbc=dc/20.01 mMass of the motormm0.106 kgRadius of the motorrm0.025 mHeight of the motorhm0.03 mMass of the batterymb0.6 kgWidth of the batterybw0.08 mHeight of the batterybh0.04 mLength of the batteryba0.135 mNet weightm2.335 kgThe mathematical model of the experimental platform above is (10). To implement the controller (11), (34), and (37), first a simulation was conducted using the DJI flight simulator provided by the manufacturer, later to program on the experimental platform Android Studio and DJI Mobile SDK (software development kit).Using the data given in the previous tables, the values of the CoriolisC and inertia J matrices are(47)Cξ,ξ˙=c11c12c13c21c22c23c31c32c33,J=Ixx0−Ixxsinθ0Iyycos2ϕ+Izzsin2ϕMn1−IxxsinθMn2Mn3,where Ixx=0.023442, Iyy=0.025871, and Izz=0.0264413, c11=0,(48)c12=−Ixxψ˙cosθ+Iyyθ.sinϕcosϕ+ψ˙cosθsin2ϕ−ψ˙cosθcos2ϕ−Izzψ˙cosθsin2ϕ−ψ˙cosθcos2ϕ+θ.sinϕcosϕ,c13=Iyyψ˙cos2θsinϕcosϕ−Izzψ˙cos2θsinϕcosϕ,c21=Ixxψ˙cosθ+Iyy−θ.sinϕcosϕ+ψ˙cosθcos2ϕ−ψ˙cosθsin2ϕ+Izzψ˙cosθsin2ϕ−ψ˙cosθcos2ϕ+θ.sinϕcosϕ,c22=−Iyyϕ˙sinϕcosϕ+Izzϕ˙sinϕcosϕ,c23=−Ixxψ˙sinθcosθ+Iyyψ˙sinθcosθsin2ϕ+Izzψ˙sinθcosθcos2ϕ,c31=−Ixxθ.cosθ+Iyyψ˙cos2θsinϕcosϕ−Izzψ˙cos2θsinϕcosϕ,c32=Ixxϕ˙sinθcosθ−Iyyθ.sinθsinϕcosϕ+ϕ˙cosθsin2ϕ−ϕ˙cosθcos2ϕ+ψ˙sinθcosθsin2ϕ+Izzϕ˙cosθsin2ϕ−ϕ˙cosθcos2ϕ−ψ˙sinθcosθcos2ϕ+θ.sinθsinϕcosϕ,c33=Ixxθ.sinθcosθ+Iyy−θ.sinθcosθsin2ϕ+ϕ˙cos2θsinϕcosϕ−Izzθ.sinθcosθcos2ϕ+ϕ˙cos2θsinϕcosϕ,Mn1=cosθcosϕsinϕIyy−Izz,Mn2=cosθcosϕsinϕIyy−Izz,Mn3=Ixxsin2θ+Iyycos2θsin2ϕ+Izzcos2θcos2ϕ.Here, the desired trajectory of the quadrotor isxd=1+5cost, yd=5sint, and zd=2+0.2sint. The initial conditions are x0=y0=0, z0=1, x˙0=y˙0=z˙0=0, and ψ0=θ0=ϕ0=ψ˙0=θ.0=ϕ˙0=0. For the input signal (24), Kpx=Kpy=50, Kpz=60, and Kvx=Kvy=10.5 and Kvy=28 are proposed. While, for the equation (26), the gains used are Kpθ=Kpϕ=Kpψ=80 and Kvθ=Kvϕ=Kvψ=40.Figures6 and 7 show the performance of the DJI Matrice 100 quadrotor using the flight simulator provided by the manufacturer. The video with the simulation results can be seen at the following link: https://youtu.be/Igoobvl61AE.Figure 6
Quadrotor simulation results for trajectory tracking (2D).Figure 7
Quadrotor simulation results for trajectory tracking (3D).Figures8 and 9 show the performance of the DJI Matrices 100 quadrotor in real-time. The video where these results are shown can be consulted in the following link: https://youtu.be/oGN5N7M3UZw.Figure 8
Quadrotor real-time results for trajectory tracking (2D).Figure 9
Quadrotor real-time results for trajectory tracking (3D).


## 6. Conclusions

A family of exact nonlinear cascade control laws for trajectory tracking of unmanned aerial vehicles has been presented. It has been shown that the control scheme can be applied to UAVs because it takes advantage of their underactuated characteristics, which produce a cascade model suitable for Lyapunov-based design. The proposal has been proven to produce an infinite number of solutions which guarantee that the position in Cartesian coordinates of the aircraft follows a desired trajectory. The methodology has been illustrated via numerical simulations in 4- and 8-rotor systems. Real-time results have been provided on the quadrotor, which confirm the applicability of the presented approach. Future work is on course for including robustness and more general classes of underactuated systems.



---

*Source: 2622571-2021-11-29.xml*