Mathematical Problems in Engineering
Volume 2020 (2020), Article ID 2314356, 8 pages
https://doi.org/10.1155/2020/2314356

Research Article

Real-Time Hovering Control of Unmanned Aerial Vehicles

Cuauhtémoc Acosta Lúa,1,2 Claudia Carolina Vaca García,¹ Stefano Di Gennaro,2,3 B. Castillo-Toledo,2,4 and María Eugenia Sánchez Morales¹

¹Technological Sciences Department, La Cienega University Center, University of Guadalajara, Av. Universidad 1115, Ocotlán, Jalisco CP 47820, Mexico
²Center of Excellence DEWS (Design Methodologies of Embedded Controllers, Wireless Interconnect and Systems-on-chip), University of L’Aquila, Via Vetoio, Loc. Coppito, L’Aquila 67100, Italy
³Department of Information Engineering, Computer Science and Mathematics, University of L’Aquila, Via Vetoio, Loc. Coppito, L’Aquila 67100, Italy
⁴Center for Research and Advanced Studies, Campus Guadalajara, Av. del Bosque 1145 Col. El Bajío, Zapopan CP 45019, Mexico

Correspondence should be addressed to Cuauhtémoc Acosta Lúa; cuauhtemoc.acosta@cuci.udg.mx

Received 24 April 2020; Accepted 4 June 2020; Published 27 July 2020

Guest Editor: Yi Qi

Copyright © 2020 Cuauhtémoc Acosta Lúa et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract.

In this paper, the design of a controller for the altitude and rotational dynamics is presented. In particular, the control problem is to maintain a desired altitude in a fixed position. The unmanned aerial vehicle dynamics are described by nonlinear equations, derived using the Newton–Euler approach. The control problem is solved imposing the stability of the error dynamics with respect to desired position and angular references. The performance and effectiveness of the proposed control are tested, first, via numerical simulations, using the Pixhawk Pilot Support Package simulator provided by Mathworks. Then, the controller is tested via a real-time implementation, using a quadrotor Aircraft F-450.

1. Introduction

Quadrotors have recently attracted the attention of many researchers due to their interesting applications. As a matter of fact, the potential applications of such devices are countless. Examples of such applications include searching and surveillance, monitoring, and rescuing tasks. From a methodological point of view, the interest relies on the fact that a quadrotor is a complex underactuated system with high nonlinearities and strong dynamical couplings. Furthermore, it is affected by aerodynamic disturbances, unmodeled dynamics, and parametric uncertainties. Therefore, the quadrotors represent an interesting testbed for testing new control techniques.

There are a large number of works dealing with quadrotors. As far as the mathematical model is concerned, in Bouabdallah et al. [1], Zeng and Zhao [2], and Nagaty et al. [3], a Newton–Euler model was presented. Furthermore, Magnussen et al. [4] and Valenti et al. [5] considered quaternions to describe the angular kinematics, whilst Antonio-Toledo et al. [6] applied the Euler–Lagrange equations to obtain the whole quadrotor mathematical model. Regarding the control of quadrotors, many control techniques have been proposed. In Panomruttanarug et al. [7] and Pounds et al. [8], the linear quadratic regulator control and the proportional integral derivative control, respectively, were exploited to design a control law. However, these controllers ensure only local stability. In order to enlarge the basin of attraction, nonlinear control techniques have also been considered. Examples are sliding model control Luque–Vega et al. [9], backstepping Bouabdallah and Siegwart [10], and adaptive control Matouk et al. [11]. Moreover, a global fast dynamic terminal sliding mode control method was proposed for position and attitude tracking control in Xiong and Zhang [12]. An adaptive command filtered backstepping control law was designed for trajectory tracking in Choi and Ahn [13]. In Liu et al. [14], a robust adaptive attitude tracking control for a quadrotor with an unknown inertia matrix and bounded external disturbances was proposed. A command filtered implementation of an adaptive backstepping was proposed in Dong et al. [15], and the stability of the closed loop system was proved via the Lyapunov direct method. Finally, in Islam et al. [16], an observer-based adaptive fuzzy backstepping controller was designed for trajectory tracking, in the case of a quadrotor undergoing wind gusts and with parametric uncertainties. All these aforementioned methods provide good dynamic performance and robust stability and are tested mainly considering numerical simulations.

The main contribution of this paper is the design of a controller for the attitude and altitude of a quadrotor helicopter. This controller has been designed using the backstepping technique and has been tested using numerical simulations and real-time experimentation. In particular, the focus of this paper is to obtain a controller ensuring hovering so that

(1)The reference attitude is zero for the Euler angles describing the quadrotor angular position(2)The reference altitude is a constant value

The performance and effectiveness of the proposed controller has been first tested with numerical simulations using the Pixhawk Pilot Support Package (PSP). Then, the real-time implementation has been performed implementing the proposed controller on a real F-450 quadrotor equipped of a Pixhawk and tested under environmental perturbations.

The paper is organized as follows. Section 2 introduces the description and the mathematical model of the quadrotor. In Section 3, the control problem is solved. In Section 4, numerical simulations and real-time tests are provided to show the effectiveness of the proposed controller. Finally, some concluding remarks are commented in Section 5.

2. Mathematical Model

The quadrotor considered in this work consists of a rigid frame equipped with four rotors. The rotors generate the propeller force , proportional to the propeller angular velocity , . The propellers 1 and 3 rotate counterclockwise, and the propellers 2 and 4 rotate clockwise.

Denote and as the frames fixed with the Earth and the quadrotor, respectively, with coincident with the center of mass of the quadrotor (see Figure 1). The quadrotor absolute position in is described by , whereas its attitude is described by the Euler angles , where are the pitch, roll, and yaw angles, respectively. The sequence 3–2–1 has been considered by Huges [17]. Moreover, and are the linear and angular velocities of the center of mass of the quadrotor, expressed in and in , respectively.

Figure 1: Quadrotor orientation using Euler angles.

The translation dynamics (in ) and rotation dynamics (in the ) of the quadrotor are

where is the mass of the quadrotor, is the inertia matrix of the quadrotor, and (expressed in ), and

is the so-called dyadic representation of ,

are the forces and moments produced by the propellers (inputs), with as the distance between the center of mass to the rotor shaft. Moreover, is the force due to the gravity expressed in .

The vectors expressed in are transformed into vectors in by the rotation matrix:

with , , and . The angular velocity dynamics are expressed using the matrix:

with and .

The rolling torque is produced by the forces and . Similarly, the pitching torque is produced by the forces and . Due to Newton’s third law, the propellers produce a yawing torque on the body of the quadrotor, in the opposite direction of the propeller rotation. Moreover,

is the gyroscopic torque due to the propeller rotations, with the propeller moment of inertia with respect to its rotation axis. Finally, and are the forces and torques due to the external disturbances, which are assumed negligible here.

Under the assumption of small angles, matrix reduces to the identity matrix. This assumption is justified by the fact that the control objective is to maintain the quadrotor in an hover position Nagaty et al. [3]. This leads to a simplified mathematical model of the quadrotor given by

where the control variables are defined as

where is the distance of the center of mass to the rotor shaft, is the drag factor, and is the so-called rotor relative speed. The parameters used in (7) and their values are defined in Table 1.

Table 1: Quadrotor parameters.

Mass of the airframe
1.1 kg

Distance of the center of mass to the rotor shaft
0.223 m

Inertia in the -axis
6.825 kg 

Inertia in the -axis
6.825 kg 

Inertia in the -axis
12.39 kg 

Inertia of the propellers
6 kg 

Gravity acceleration
9.81 m/

Thrust factor
54.2

Drag factor
1.1 N

Roll angle
deg

Pitch angle
deg

Yaw angle
deg

-position
m

3. Control Design

3.1. Attitude Control

To design the attitude control law, let us define the following variables:

so that system (7) can be rewritten as

where are the measured signals. The control objective is to match the UAV attitude to a desired reference:

To this aim, let us define the tracking errors as

with . Note that implies , . Deriving the error system (12) with respect to (10) is possible to calculate the error dynamics:

Using the following control law [18],

with gains , in (13), the tracking error dynamics become

where , which converge exponentially to zero. In fact, considering the Lyapunov candidate

and differentiating along the error dynamics (15), one obtains

with solution of the equation for a fixed matrix . Therefore,

so that the tracking error converges globally exponentially to zero [19].

3.2. Altitude Control

For the altitude control, let us consider the altitude dynamics:

The control problem is to maintain the quadrotor at a desired constant altitude , . The tracking errors are defined as

Choosing

with , we obtain

where and

The stability proof is similar to that of the previous section.

4. Simulation and Experimental Results

In this section, the performance of the attitude and altitude controllers (14) and (21) is tested considering an F-450 quadrotor. First, numerical simulations are carried out. Then, real-time experimental tests are performed, showing the effectiveness of the control design.

4.1. Simulation Results

For the numerical simulations, the quadrotor model provided by the Pixhawk PSP, in Simulink, has been used. This model contains the attitude and altitude flight control model called px4 demo attitude control, which shows a good performance in predicting the dynamic quadrotor behavior, very close to the real drone dynamics.

Controllers (14) and (21) use the nominal values of Table 1 and the gains of Table 2. The simulations have been performed in two steps. In the first one, the quadrotor is stabilized in altitude. In Figure 2, the altitude is shown. In the second step, the quadrotor is stabilized in attitude. The pitch, roll, and yaw angles are shown in Figure 3. The initial conditions considered are , , , and . The reference values are m and .

Table 2: Gain values.

Figure 2: Numerical simulation: quadrotor’s altitude (solid) and altitude reference (dash).

(a)

(b)

(c)

Figure 3: Numerical simulation: (a) roll angle (solid) and roll angle reference (dash); (b) pitch angle (solid) and pitch angle reference (dash); (c) yaw angle (solid) and yaw angle reference (dash).

4.2. Experimental Results

In this section, we describe the physical setting of the embedded control that allows stabilizing the quadrotor. An embedded control system generally consists of three elements: sensors, actuators, and a microcontroller. The microcontroller interacts with the continuous dynamics of the plant via the sensors and actuators, and its major function is to compute and generate control commands for the actuators that are based on sensor measurements. The onboard electronic system consists of a flight controller, a hardware setup, and some ultrasonic sensors.

4.2.1. Flight Controller

The 3DR-PIXHAWK is a high-performance autopilot-on-module suitable for fixed wing, multi rotors, helicopters, cars, boats, and other mobile robotic platforms. Its processor can run to 168 MHz/252 MIPS Cortex-M4F with 256 KB in RAM and 2 MB flash and has 14 PWM/Servo outputs and abundant connectivity options for additional peripherals, such as 5x UART (serial ports), one high-power capable, 2x with HW flow control, 2x CAN, Spektrum DSM/DSM2/DSM–X® Satellite compatible input, PPM sum signal input, RSSI (PWM or voltage) input, I2C, SPI, 3.3 and 6.6 V ADC input. Moreover, the 3DR-Pixhawk has different sensors, such as ST Micro L3GD20H 16 bit gyroscopes, ST Micro LSM303D 14 bit accelerometers/magnetometers, Invensense MPU 6000 3-axis accelerometers/gyroscopes, and MEAS MS5611 barometers.

4.2.2. Hardware Setup

The structure of the quadrotor is composed by an F-450 frame with integrated PCB wiring, whereas the rotors are brushless motors manufactured by E–max, with 935 rpm/V and a 10  4.5″ propellers. Turnigy speed drivers (ESC) are BHC type at 18 A max. The battery used in this setup is a 3S, 2800 mAh, 25C. The radio-transmitter is a Turnigy with 9 PPM channels working at 2.4 GHz.

An LV-MaxSonar-EZ4 sensor with a resolution of 2.54 cm, 20 Hz reading rate, 42 kHz ultrasonic sensor measures, a maximum Range of 645 cm, operating in the range of 2.5–5.5 VDC was used to measure the altitude.

For the real-time running, the same parameter values and gains shown in Table 2 were used. The initial condition for the altitude was  m. For the pitch, roll, and yaw angles, the initial condition were chosen at , , and . Figures 4 and 5 show the dynamic behavior of the altitude and the pitch, roll, and yaw angles, respectively. It is worth noticing that these experimental tests were performed in an outdoor environment, without using the GPS sensor.

Figure 4: Experimental implementation: quadrotor’s altitude (solid) and altitude reference (dash).

(a)

(b)

(c)

Figure 5: Experimental simulation: (a) roll angle (solid) and roll angle reference (dash) (degree vs. s); (b) pitch angle (solid) and pitch angle reference (dash) (degree vs. s); (c) yaw angle (solid) and yaw angle reference (dash).

5. Conclusions

In this paper, a controller based on the stabilization technique for the altitude and attitude error has been proposed for a quadrotor. The simulation results have been performed using the Pixhawk PSP. Then, the controller has been implemented on a laboratory quadrotor. The simulation and experimental results show a good performance, even in outdoor environment, showing some degree of robustness in the presence of environmental disturbances.

Data Availability

The figures, tables, and other data used to support this study are included within the article.

Conflicts of Interest

The authors declare that there are no conflicts of interest regarding the publication of this paper.

Acknowledgments

This paper has been partially supported by the European Project ECSEL–JU RIA–2018 “Comp4Drones” and project “Coordination of autonomous unmanned vehicles for highly complex performances,” Executive Program of Scientific and Technological Agreement between Italy (Ministry of Foreign Affairs and International Cooperation, Italy) and Mexico (Mexican International Cooperation Agency for the Development), SAAP3.

References

S. Bouabdallah, P. Murrieri, and R. Siegwart, “Design and control of an indoor Micro quadrotor,” in Proceedings of the IEEE International Conference on Robotics and Automation, pp. 1–6, New Orleans, LA, USA, April-May 2004.

Y. Zeng and L. Zhao, “Parameter identification for unmanned four–rotor helicopter with nonlinear model,” in Proceedings of the 2014 IEEE Chinese Guidance, Navigation and Control Conference, pp. 922–926, Yantai, China, August 2014.

A. Nagaty, S. Saeedi, C. Thibault, M. Seto, and H. Li, “Control and navigation framework for quadrotor helicopters,” Journal of Intelligent & Robotic Systems, vol. 70, no. 1–4, pp. 1–12, 2013.

O. Magnussen, M. Ottestad, and G. Hovland, “Experimental validation of a quaternion–based attitude estimation with direct input to a quadcopter control system,” in Proceedings of the International Conference on Unmanned Aircraft Systems (ICUAS), pp. 48–485, Atlanta, GA, USA, May 2013.

R. Valenti, I. Dryanovski, and J. Xiao, “Keeping a good attitude: a quaternion-based orientation filter for IMUs and MARGs,” Sensors, vol. 15, no. 8, Article ID 19330, pp. 19302–19330, 2015.

M. Elena Antonio–Toledo, A. Y. Alanis, and E. N. Sanchez, “Robust neural decentralized control for a quadrotor UAV,” in Proceedings of the International Joint Conference on Neural Networks (IJCNN), pp. 714–719, Vancouver, Canada, July 2016.

B. Panomruttanarug, K. Higuchi, and F. Mora-Camino, “Attitude control of a quadrotor aircraft using LQR state feedback controller with full order state observer,” in Proceeding of the International Conference on Instrumentation, Control and Information Technology (SICE), pp. 2041–2046, Konya, Turkey, June 2013.

P. E. I. Pounds, D. R. Bersak, and A. M. Dollar, “Stability of small-scale UAV helicopters and quadrotors with added payload mass under PID control,” Autonomous Robots, vol. 33, no. 1-2, pp. 129–142, 2012.

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, vol. 349, no. 2, pp. 719–739, 2012.

S. Bouabdallah and R. Siegwart, “Backstepping and sliding-mode techniques applied to an indoor Micro quadrotor,” in Proceedings of the 2005 IEEE International Conference on Robotics and Automation, Barcelona, Spain, April 2005.

D. Matouk, O. Gherouat, F. Abdessemed, and A. Hassam, “Quadrotor position and attitude control via backstepping approach,” in Proceedings of the 8th International Conference on Modelling, Identification and Control (ICMI), pp. 73–79, Algiers, Algeria, November 2016.

J.-J. Xiong and G.-B. Zhang, “Global fast dynamic terminal sliding mode control for a quadrotor UAV,” ISA Transactions, vol. 66, pp. 233–240, 2017.

Y. C. Choi and H. S. Ahn, “Nonlinear control of quadrotor for point tracking: actual implementation and experimental tests,” IEEE/ASME Transactions on Mechatronics, vol. 20, no. 3, pp. 1179–1192, 2015.

Y.-C. Liu, J. Zhang, T. Zhang, and J.-Y. Song, “Robust adaptive spacecraft attitude tracking control based on similar skew-symmetric structure,” Computers & Electrical Engineering, vol. 56, pp. 784–794, 2016.

W. Dong, J. A. Farrell, M. M. Polycarpou, V. Djapic, and M. Sharma, “Command filtered adaptive backstepping,” IEEE Transactions on Control Systems Technology, vol. 20, no. 3, pp. 566–580, 2012.

S. Islam, J. Dias, and L. D. Seneviratne, “Adaptive output feedback control for miniature unmanned aerial vehicle,” in Proceedings IEEE International Conference on Advanced Intelligent Mechatronics, AIM, pp. 318–322, Banff, Canada, July 2016.

P. C. Hughes, Spacecraft Attitude Dynamics, Dover Publications, Inc., Mineola, NY, USA, 1986.

A. Isidori, Nonlinear Control Systems, Springer-Verlag, Berlin, Germany, 3rd edition, 1995.

H. K. Khalil, Nonlinear Systems, Prentice-Hall, Upper Saddle River, NJ, USA, 2002.