InTechOpen uses cookies to offer you the best online experience. By continuing to use our site, you agree to our Privacy Policy.

Engineering » Aerospace Engineering » "Recent Progress in Some Aircraft Technologies", book edited by Ramesh K. Agarwal, ISBN 978-953-51-2482-5, Print ISBN 978-953-51-2481-8, Published: September 8, 2016 under CC BY 3.0 license. © The Author(s).

Chapter 7

A Hierarchical Tracking Controller for Quadrotor Without Linear Velocity Measurements

By Yassine Jmili, Nuradeen Fethalla, Jawhar Ghomam and Maarouf Saad
DOI: 10.5772/62442

Article top


Quadrotor airframe and reference frames.
Figure 1. Quadrotor airframe and reference frames.
Control architecture.
Figure 2. Control architecture.
Position tracking.
Figure 3. Position tracking.
Position tracking error.
Figure 4. Position tracking error.
Estimated velocity tracking.
Figure 5. Estimated velocity tracking.
Estimated velocity tracking error.
Figure 6. Estimated velocity tracking error.
Attitude tracking.
Figure 7. Attitude tracking.
Attitude tracking error.
Figure 8. Attitude tracking error.
3D trajectory of the quadrotor UAV (dashed blue) with the desired trajectory (red).
Figure 9. 3D trajectory of the quadrotor UAV (dashed blue) with the desired trajectory (red).

A Hierarchical Tracking Controller for Quadrotor Without Linear Velocity Measurements

Yassine Jmili1, Nuradeen Fethalla1, Jawhar Ghomam1, 2 and Maarouf Saad1
Show details


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. [13]. 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 mR and of matrix of inertia IR3x3(I=dia(I1,I2,I3)). The equations of motion can be described by two reference frames: first one is the reference frame (I) combined with the unit vector basis (e1,e2,e3) and second one is the body frame (B) fixed on the quadrotor UAV and combined with vector basis (e1b,e2b,e3b) (see Figure 1). The kinematic and dynamic equations of motion for the quadrotor expressed in the body-fixed reference frame can be described as [12]. The dynamic model is derived using Newton-Euler formalism in the body fixed frame B.


Figure 1.

Quadrotor airframe and reference frames.

where η=[x,y,z]T represents the position of the centre of mass of the quadrotor, these positions are expressed relatively with respect to an inertial frame and Θ=[ψ,θ,φ] represents the three Euler angles (yaw, pitch, roll) that define the orientation of the quadrotor in space. V=[vx,vy,vz]TR3 and ΩR3 denote the linear and angular velocities expressed in the body-fixed frame B. bv represents the external force disturbance expressed in the inertial frame I. m is the mass of the quadrotor, IfR3×3 denotes a positive definite inertia matrix relative to the inertial frame I. The vector f,τaR3 denotes the external force and torque expressed in B. The external force is aligned with the zaxis and can be written as f=G+Te3, where GR3 is the gravity vector defined as G=mgRTe3 where gR denotes the gravitational acceleration and e3=[0,0,1]T is the unit vector in the inertial frame. T denotes the total thrust produced by the four rotors given as T=k14ωi2 where ω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. GaR3 contains gyroscopic couples, due to the rotational motion of the quadrotor and the four rotors which is given by Ga=14Ir(Ωe3)(1)i+1ωi where Ir 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 B to I, where RSO3 is expressed as follows:


3. Quadrotor forces and moments

The four rotors of quadrotor, rotating at angular velocities omegai, produce the four forces fi=kωi2, pointed upward, where i = 1,2,3,4, and ki 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=[xd,yd,zd] and desired heading ψ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 Re3 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:

  1. 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.

  2. 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.


Figure 2.

Control architecture.

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˙=f(x) on an open region D containing the origin, that is continuous, positive definite, has continuous first-order partial derivative at every point of D, has the property V(x) as x approaches the boundary of D and satisfies V(x(t))bt0 along the solution of x˙=f(x) for x(0)D and some positive constant b [13].

Lemma 1. For any positive constant kb1, let Z1=z1R:z1<|k1|R and N:=Rl×Z1Rl+1 be open sets [13].

Consider the system

where ζ:=[ω,z1]TN, and h:R+×NRl+1 is piecewise continuous in t and locally Lipschitz in z, uniformly in t, on R+×N. Suppose that there exist functions U:NlR+ and V1:Z1R+, continuously differentiable and positive definite in their respective domains, such that


where σ1 and σ2 are class k functions. Let V(ζ):=V1(z1)+U(ω) and z1(0) belong to the set z1(kb1,kb1). If the inequality holds:


then z1(t) remains in the open set z1(kb1,kb1)t[0,).

Proof. The conditions on h ensure the existence and uniqueness of a maximal solution ζ(t) on the time interval [0,τmax), according to [14]. This implies that V(ζ(t)) exist for all t[0,τmax).

Since V(ζ) is positive definite and V˙0, we know that V(ζ(t))V(ζ(0)) for all t[0,τmax). From V(ζ):=V1(z1)+U(ω) and the fact that V1(z1) and U(ω) are positive functions, it is obvious that V1(z1(t)) is also bounded for all t[0,τmax). As a result, it is known from Eq. (9) that |z1|±kb1. Based on the z1(0)<|kb1|, We can figure out that z1(t) remains in the set z1<|kb1| for all t[0,τmax).

Accordingly, there exist a compact set KN such that the maximal solution of Eq. (8) satisfies ζ(t)K for all t[0,τmax). Based on [14], we conclude that ζ(t) is defined for all t[0,) and hence z1(t)(kb1,kb1)t[0,).

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 s=jω and replace this variable in Eq. (13), which yields



extracting the term (x1+q), we get


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 U=[ux,uy,uz]T=1mRe3T leads easily to extract the desired orientation since it constitutes the link between the position dynamics and attitude dynamics. This can be formulated as


where kp and kd 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.




such that: kgη¨d+g. So, the selected positive variables of kp, kd, kg 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 αΩ=[αr,αp,αq]T and block of torque control τa=[τφ,τθ,τψ]. Consider the subsystem (6, Σ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 Θ˙=[e˙φ,e˙θ,e˙ψ] and to obtain the appropriate torque for the control system. From Eq. (20), we define the angular velocity tracking error vector eΩ=[ep,eq,er]T. where

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




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 |eφ|<kφ,|eθ|<kθkφ>0andKθ>0 are met. These conditions will be met using Lemma (1). The other positive terms have to be cancelled and this will be done in the next. Now, backstepping control algorithm was applied to the partial of rotation system to control the input torque τ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 Vbf,using Eqs. (29) and (34), is given by


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 m=1.169Kg with inertial matrix I=dia(col(0.024,0.024,0.032))Kg.m2, k=1.41×105, c=1.84×106, Ir=7.81×105Kg.m2 and l=0.2125m. The numerical simulation results have been obtained using Runge-Kutta’s method with variable time step 0.001s. The desired trajectory is given by xd(t)=0, ydt=0, zd(t)=(1et10),ψd(t)=π4for20t30with initial conditions x(0)=0, y()=0, z(0)=0, ψ(0)=0. The controller gains are as follows: A=[40,40,40]T, B=[30,30,30]T, kp=[160,160,160]T, kd=[20,20,20]T, kφ=4, kθ=8, kψ4, ke=[7,7,7]T. The obtained results are shown in Figures 3, 4, 5, 6, 7, 8 and 9.


Figure 3.

Position tracking.


Figure 4.

Position tracking error.


Figure 5.

Estimated velocity tracking.


Figure 6.

Estimated velocity tracking error.


Figure 7.

Attitude tracking.


Figure 8.

Attitude tracking error.

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.


Figure 9.

3D trajectory of the quadrotor UAV (dashed blue) with the desired trajectory (red).

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.


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

VBF1=12η˙eTη˙e+kplog(cosh(ηe)) +kpB1log(cosh(V))+γη˙e(tanh(ηe)tanh(v))

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

V˙BF1=12η˙eTη¨e+kptanh(ηeT)η˙e +kdB1tanh(vT)v˙+γη¨e(tanh(ηe)tanh(v)) +γη˙eT(cosh2(ηe)η˙ecosh2(v)v˙)

substituting Eqs. (40)(42) yields

V˙BF1=kdB1Atanh(vT)tanh(v) kpγtanh(ηeT)tanh(ηe) +kdγtanh(vT)tanh(v) +γ(kpkd)tanh(ηeT)tanh(v) +γη˙eTcosh2(ηe)η˙e +cosh2(v)Atanh(v)γη˙eT cosh2(v)η˙eη˙eTγB

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

V˙BF1kdmambmtanh(v)2 kpmγtanh(ηe)2 +γη˙e2cosh2(ηe) bmγη˙e2cosh2(ηe)2 +aMγη˙ecosh2(v)tanh(v) +kDMγtanh(v)2

Consider the following inequalities:


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

V˙BF1kdmambmtanh(v)2 kpmγtanh(ηe)2+γη˙e2 bmγη˙e2cosh2(ηe)2 +aMγη˙etanh(v) +kDMγtanh(v)2

where kdm,kpm,am,bm are the minimum values of the vectors kd,kp,A,B, respectively, and kDM,kPM,AM,BM are the maximum values of these vectors. In order to simplify the stability study of the above equation, we assume that both minimum and maximum values are equal. So, the expression (44) can be rewritten in the following matrix form:


Now, we define the parameters kd,kp,A,B so as to ensure that the terms Q1,Q2,β1,β2 are positive definite. To achieve that, the inequality of linear matrix method is applied. For Q1 > 0, this is equivalent to


For Q2 > 0, this is equivalent to


Equation (48) gives:


and the Eq. (49) gives:

since cosh2(v)1. For β1 > 0, this is equivalent to


This gives:

For β2 > 0, this is equivalent to

Since cosh2(v)1, one can write

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

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


Using Eq. (19), we can define the parameter kd as follows:




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


By solving this inequality, we obtain the value of parameter kp


and hence, the value of parameter kd 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 U=Rde3Tm can be written in the standard form as

which is equivalent to

Using Eq. (17), the vector Rde3 can be calculated as


This leads to obtain the values of φd,θd





1 - T. Hamel, R. Mahony, R. Lozano, and J. Ostrowski. Dynamic modelling and configuration stabilization for an x4-flyer. In Proc. of the 15th Triennial World Congress of the International Federation of Automatic Control, Barcelona, 21–26 July 2002.
2 - J.M. Pflimlin, P. Soueres, and T. Hamel. Position control of a ducted fan VTOL UAV in crosswind. International Journal of Control, 80(5):666–683, 2007.
3 - M.-D. Hua, T. Hamel, P. Morin, and C. Samson. A control approach for thrust-propelled underactuated vehicles and its application to VTOL drones. IEEE Transactions on Automatic Control, 54(8):1837–1853, 2009.
4 - S. Bertrand, T. Hamel and P-L. Helene (2009). Stabilization of Scale Model Vertical Take-off and Landing Vehicles without Velocity Measurements, Aerial Vehicles, Thanh Mung Lam (Ed.), InTech, DOI: 10.5772/6469. Available from:
5 - T. Cheviron, T. Hamel, R. Mahony, and G. Baldwin. Robust nonlinear fusion of inertial and visual data for position, velocity and attitude estimation of UAV. In 2007 IEEE International Conference on Robotics and Automation, pp. 2010–2016, April 2007.
6 - E. Rondon, S. Salazar, J. Escareno, and R. Lozano. Vision-based position control of a two rotor VTOL mini UAV, John Wiley & Sons, Inc, pages 191–208, 2013.
7 - K.D. Do, Z.P. Jiang, and J. Pan. On global tracking control of a VTOL aircraft without velocity measurements. IEEE Transactions on Automatic Control, 48(12):2212–2217, December 2003.
8 - M. Boutayeb, E. Richard, H. Rafaralahy, H. Souley Ali, and G. Zaloylo. A simple time-varying observer for speed estimation of UAV. In 17th IFAC World Congress, page CDROM, Seoul, South Korea, July 2008.
9 - K. Benzemrane, G.L. Santosuosso, and G. Damm. Unmanned aerial vehicle speed estimation via nonlinear adaptive observers. In American Control Conference, 2007. ACC’07, pp. 985–990, July 2007.
10 - T. Madani and A. Benallegue. Sliding mode observer and backstepping control for a quadrotor unmanned aerial vehicles. In American Control Conference, 2007. ACC ’07, pp. 5887–5892, July 2007.
11 - B. Landry. Planning and control for quadrotor flight through cluttered environments. Master’s thesis, Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2014.
12 - L. Luque-Vega, B. Castillo-Toledo, and A.G. Loukianov. Robust block second order sliding mode control for a quadrotor. Journal of the Franklin Institute, 349(2):719–739, 2012. Advances in Guidance and Control of Aerospace Vehicles using Sliding Mode Control and Observation Techniques.
13 - K.P. Tee, S.S. Ge, and E.H. Tay. Barrier Lyapunov functions for the control of output-constrained nonlinear systems. Automatica, 45(4):918–927, 2009.
14 - Eduardo D. Sontag, Mathematical Control Theory: Deterministic Finite Dimensional Systems. Second Edition, Springer, New York, 1998.
15 - M.S. de Queiroz, D.M. Dawson, S.P. Nagarkatti, F. Zhang, “Lyapunov-based control of mechanical systems”, Boston, MA, USA: Birkhauser, 2000.
16 - S. Bertrand. Commande de drone miniature a voilure tournante. Ph.D. thesis, Universite de Nice Sophia Antipolis, 2007.