## Abstract

This chapter deals with the position control of quadrotor unmanned aerial vehicle (UAV) when quadrotor’s linear velocity is unavailable. We propose a hierarchical tracking controller for quadrotor UAV. The proposed controller does not require measurements of linear velocity of quadrotor. A nonlinear filter that avoids the need for measurements of linear velocity has proposed such that a global stability result is obtained for the position tracking error. However, backstepping based on barrier Lyapunov function has been used for the attitude controller. The control design is achieved by means of the hierarchical control, that is, design the position controller and attitude controller separately. This allows us to choose different nonlinear techniques for each controller.

### Keywords

- Quadrotor UAV
- Tracking Control
- Nonlinear Filter
- Backstepping
- Unknown linear velocity measurement

## 1. Introduction

In recent years, multirotor unmanned aerial vehicles (UAVs) have attracted many researchers and became a growing interest in the academic and industrial research. In this chapter, our study focuses on quadrotor UAVs due to its ability to fly in restricted areas. The quadrotor has four rotors controlled by four rotors. Quadrotors have specific characteristics that allow the execution of applications that would be difficult or complex compared with other flying machines. A key issue in making multirotor UAV vehicles feasible and efficient is the control design, consisting of a navigation system, position and attitude control. This chapter concerns the nonlinearity character of the UAV vehicles and focuses on the position and attitude controllers. One of scenarios that could be achieved by the quadrotor is autonomous navigation. Implementing such a mission requires the measurement of the components of vehicle state (position, linear velocity, orientation angles and angular velocity) from GPS sensors. Most of the control schemes that have been introduced in the literature rely on the available full state of feedback using definition of an observer or rely on the estimation of velocity of the vehicle by means of derivation of the successive measurements from the used sensors such GPS, etc. [1–3]. However, an additional disturbance may occur in the control loop as a result of the use of the observer. It is also important to validate first convergency of the observer. In addition, the stability of closed loop of complete system controlled by observer has to be assured through checking the compatibility of observer frequency and controller frequency [4]. In this estimation method, the errors produced by GPS may approach several meters, and in reality, velocity measurement error is growing fast by the induced measurement noise along with numerical integration. Few researchers have solved the problem of linear velocity estimation without the use of GPS, and some of them considered combination and artificial vision and the inertial sensors [5, 6].

In [7], the authors proposed a global exponential observer with a complete order to ensure a continued trajectory of a helicopter (VTOL). To reduce the size of the estimated state vector, a reduced observer introduced in [8], the linear velocity of the quadrotor has been estimated using a complete or partial measure of the acceleration such that the asymptotic stability of the error is obtained. Some other forms of observers have been introduced such as adaptive observer [9], and this approach provided an estimation of the velocity of quadrotor UAV from acceleration measurements calculated by the inertial system, but this method has disadvantages of slow convergence of the estimated parameters. While the sliding mode observer used in [10] has shown not only the ability to estimate the velocity of quadrotor but also showed its robustness against the external disturbances. The other technique used in the literature to estimate the linear velocity is the filters, and one of these filters is extended Kalman filter that widely applied to nonlinear dynamical systems. In this case, the principle is to use the standard equations of Kalman filter for nonlinear model linearized by Taylor formula of first order and the states of systems can be estimated from the noise measurements. These kinds of filters have been used to estimate the states of quadrotor [11].

In this paper, we propose an approach to solve the problem of position tracking of quadrotor UAV when the linear velocity measurements are unavailable. The proposed controller provides a hierarchical design of the system using assign inner loop for position control and outer loop for attitude control. Each loop has its own control algorithm. The resulting outer control loop, which is based on backstepping, has a simple structure. The inner control loop is based on nonlinear filter-based control design with the aim of estimating the linear velocity of quadrotor.

This paper is organized as follows. In Section 2, the dynamic model of quadrotor UAV is introduced. Section 3 presents the design of position controller based on the nonlinear dynamic model using nonlinear filter-based approach. In Section 4, the attitude controller of rotational system is presented. In Section 5, the overall closed loop system stability is analysed, and simulation results are shown in Section 6.

## 2. Quadrotor dynamic model

The quadrotor UAV is modelled as a rigid body of mass

where *b*_{v} represents the external force disturbance expressed in the inertial frame *m* is the mass of the quadrotor, *ω*_{i} being the speed of the rotor *i, k* is the thrust factor and it is a positive proportional constant parameter depending on the density of air, the radius, the shape, the pitch angle of the blade and other factors. *I*_{r} denotes the moment of inertia. The generalized moments on the Θ variable are as follows.

where *l* denotes the distance from the rotor to the centre of mass of the quadrotor. Using Euler angles parameterization and "*XYZ*" convention, the airframe orientation in space is given by a rotation matrix R from

## 3. Quadrotor forces and moments

The four rotors of quadrotor, rotating at angular velocities *omega*_{i}, produce the four forces *i* = 1,2,3,4, and *k*_{i} are positive constants. These four forces constitute the total thrust *T* along *z* axis. Therefore, the distributed forces and moments from four actuator motors for the quadrotor are given by:

where *c* is the drag coefficient. Since the quadrotor UAV is under-actuated system, the design of control inputs for this kind of systems is a challenging topic.

## 4. Control problem formulation

In this work, we aim to design control laws for the total thrust *T* and torques *τ*_{a} allowing the quadrotor UAV to track a desired trajectory *ψ*_{d}. The set of trajectory and their derivatives are smooth enough so that they are uniformly continuous and bounded. The linear velocity is assumed to be not available for feedback and only the position and acceleration are therefore accessible by the translational subsystem. However, we want to design a global feedback control law in the absence of measurements of linear velocity that guarantee the position, heading and velocity tracking errors that are bounded and converge asymptotically to zero.

The main goal of this paper is to solve the position control problem; meanwhile, guaranteeing all closed-loop signals are bounded and the corresponding constraints of the attitude system are violated. In the following, we will introduce the methodology of control design to achieve our objectives.

## 5. Control design procedure

The equations of motion (2) of quadrotor defined in the previous section can be rewritten as

The dynamic model above is separated into two dynamic systems; translational dynamic system Σ_{1} and rotational dynamic system Σ_{2}. These two systems are chosen completely coupled by the rotation vector *Re*_{3} and total thrust vector *T* as shown in Figure 2. In our methodology, we adopt a hierarchical controller design for the entire system dividing it into translational and rotational dynamics subsytems as it is shown in Figure 2. In this design, we assign the outer loop for the position controller and the inner loop for the attitude controller. The control design procedure can be summarized in the following two points:

In the design of the position controller, we propose a nonlinear filter to estimate the linear velocity tracking error rather than having its feedback measurement and design the intermediate position control from which we can calculate the desired value of the total thrust and also extract the desired orientation that will be considered as a reference for the rotational dynamics loop.

For the attitude controller, backstepping technique and control design with a barrier Lyapunov function have been applied due to the fact that the dynamic of Σ

_{2}is in the form of “strict feedback” system, which is appropriate for such a controller. The virtual control laws for angular velocities resulting from applying backstepping technique are obtained*α*_{Ω}= [*α*_{r},*α*_{p},*α*_{q}] to ensure the asymptotic convergence of followed rotation angles errors to zero, from the torques. Then, the four rotational speed signals can be calculated by the transformation matrix*R*.

We will introduce barrier Lyapunov function (BLF) to design the attitude tracking controller. This function is designed to avoid the constraints (singularity points) that may occur in the rotation angles, roll, pitch and yaw and to produce a feasible initial condition for torques control.

**Definition**. A barrier Lyapunov function is a scalar function *V*(*x*), defined with respect to the system *x* approaches the boundary of

**Lemma 1**. For any positive constant

Consider the system

where *t* and locally Lipschitz in *z*, uniformly in *t*, on

where *σ*_{1} and *σ*_{2} are class *k*_{∞} functions. Let *z*_{1}(0) belong to the set

then *z*_{1}(*t*) remains in the open set

**Proof**. The conditions on *h* ensure the existence and uniqueness of a maximal solution *ζ*(*t*) on the time interval *V*(*ζ*(*t*)) exist for all

Since *V*(*ζ*) is positive definite and

Accordingly, there exist a compact set

### 5.1. Position control design

To design the position control for the dynamics of translational subsystem Eq. (6) that accomplish our control goal when no linear velocity measurements are available, we have considered a nonlinear first-order filter to estimate the tracking error of the linear velocity. The classification of the designed filter is output feedback controller [15]. It is designed with hyperbolic tangent function to ensure boundedness of thrust vector. The form of the filter can be written as

where *A* and *B* are two diagonal matrices.

Next section presents an explanation of operation of selected filter and simple simulation example.

#### 5.1.1. Filter principal design

The main idea of our designed filter is inspired from a simple first-order linear high-pass filter [16].

To interpret the filter in frequency domain, we introduce the variable

where

extracting the term

#### 5.1.2. Intermediate position control design

The goal of this part is to design an intermediate control that ensures the convergence of position tracking and velocity errors to zero.

The choice of vector input

where *k*_{p} and *k*_{d} are two column vectors that contain three elements which will be defined by the proof of stability of position controller. The boundedness of Eq. (17) must be taken into consideration.

considering

such that: *k*_{p},_{ }*k*_{d}, *k*_{g} guaranteeing the vector thrust to be bounded.

To show the stability of closed loop position system with the controller Eq. (19), we will introduce it later in the Appendix A.

### 5.2. Attitude control design

The control of the attitude system is implemented to ensure the asymptotic convergence of desired orientation. we exploited the two interconnected blocks: block of virtual control _{2})

which describes the rotation system, the angular velocity vector Ω and torque vector *τ*_{a} that can be restated as

Thus, the virtual angular velocity control laws were introduced to produce a zero error of the derivative of angular position

By substituting the Eq. (22) into Eq. (20) yields

similarly,

the derivative of angular position error can be derived below

We choose an appropriate barrier Lyapunov function for roll and pith angles. And this is not needed for the yaw angle since it has singularity-free condition and we can use a single quadratic function to derive its control law.

The augmented Lyapunov function can be stated as:

and its time derivative is

So, the virtual control law for the angular velocity is derived as follows:

Substituting Eq. (28) into Eq. (25) and then substituting the resulting equations into (27) yields

It is obvious that Eq. (29) has negative terms and these terms can stabilize the system only if the conditions *τ*_{a}. The stability of rotation closed loop system is proved. We define the angular velocity error and its derivative:

Consider the following positive definite Lyapunov function candidate:

and its time derivative is

Substituting Eq. (30) into Eq. (32) yields

Replacing the third equation of system (6, Σ_{2}) in Eq. (33) yields

The time derivative of

In view of last equation, we propose the following torque input for the rotational dynamics

and hence

## 6. Numerical simulation results

To show the effectiveness of the proposed control algorithm, we have introduced the simulation results. In order to test the overall system using Matlab simulink, the quadrotor UAV modelled as a rigid body of mass *s*. The desired trajectory is given by _{}_{}_{}_{}_{}_{}_{}_{}_{}_{}

Figures 3, 4, 5 and 6 show the three components of the position and estimated velocity tracking errors. Figures 7 and 8 illustrate the attitude tracking and its tracking errors. To show the quadrotor’s position tracking, a 3D plot of the quadrotor’s position with desired trajectory is given in Figure 9.

## 7. Conclusion

In this work, we addressed the trajectory tracking problem of quadrotor UAV without linear velocity measurements. The presented algorithm was based on a separate translational and rotational control design, and the overall closed loop system showed a global asymptotic stability. Exploited the nature structure of the model, the controller is designed in a hierarchical manner by considering the separation between the translational and orientation dynamics. In the first phase of our control design, the linear velocity measurement has been avoided with the introduced nonlinear filter without using any observer. During this phase, the position controller computes the total thrust, considered as input for translational dynamics, and the desired orientation. In the second phase of our control design, barrier Lyapunov function has been employed to design the control torque that ensuring the tracking of the desired attitude derived at first phase of the control design. The stability of the closed loop system has been investigated and the simulation results have been provided to show the good performance of the proposed algorithm. Our next work will be to accomplish real time experiments for the proposed algorithm.

## Appendix

*Stability analysis of position control without velocity measurements*

Considering the dynamic equations of translational system (6, Σ_{1}), the dynamics of acceleration error can be rewritten as

The closed loop of position system is obtained by substituting the control intermediate vector *U* to the dynamics of acceleration.

Consider the following candidate Lyapunov function

where *γ* is a small positive parameter to be determined later. Taking the time derivative of Eq. (41) yields

substituting Eqs. (40)–(42) yields

To achieve boundedness of the system, the last equation must be in the following form:

Consider the following inequalities:

The inequality Eq. (44) can be rewritten in the following form:

where

Now, we define the parameters *Q*_{1} > 0, this is equivalent to

For *Q*_{2} > 0, this is equivalent to

Equation (48) gives:

and the Eq. (49) gives:

since *β*_{1} > 0, this is equivalent to

This gives:

For *β*_{2} > 0, this is equivalent to

Since

substituting Eqs. (53)–(55), yields,

Substituting Eqs. (56) and (55) into (50) yields

Using Eq. (19), we can define the parameter *k*_{d} as follows:

and

Substituting Eqs. (58) and (59) into Eq. (57), we obtain the second inequality expression

By solving this inequality, we obtain the value of parameter *k*_{p}

and hence, the value of parameter *k*_{d} can calculated as

Finally, substituting Eq. (56) into Eq. (51) yields

Now, we calculate the total thrust and the desired orientation. As it is presented previous, the control vector

which is equivalent to

Using Eq. (17), the vector

This leads to obtain the values of

and