Next Article in Journal
New Technology of Pressure Relief Control in Soft Coal Roadways with Deep, Violent Mining and Large Deformation: A Key Study
Next Article in Special Issue
On the Application of Support Vector Method for Predicting the Current Response of MR Dampers Control Circuit
Previous Article in Journal
Development of a Transient Synchronization Analysis Tool for Line-Start PM Motors
Previous Article in Special Issue
Creep Phenomenon in a Multiple-Input Single-Output Control System of a Piezoelectric Bimorph Actuator
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Towards Optimization of Energy Consumption of Tello Quad-Rotor with Mpc Model Implementation

by
Rabab Benotsmane
and
József Vásárhelyi
*
Institute of Automation and Info-Communication, University of Miskolc (UM), 3515 Miskolc, Hungary
*
Author to whom correspondence should be addressed.
Energies 2022, 15(23), 9207; https://doi.org/10.3390/en15239207
Submission received: 5 November 2022 / Revised: 28 November 2022 / Accepted: 1 December 2022 / Published: 5 December 2022
(This article belongs to the Special Issue Energy Problems in Control and Robotics Systems)

Abstract

:
For the last decade, there has been great interest in studying dynamic control for unmanned aerial vehicles, but drones—although a useful technology in different areas—are prone to several issues, such as instability, the high energy consumption of batteries, and the inaccuracy of tracking targets. Different approaches have been proposed for dealing with nonlinearity issues, which represent the most important features of this system. This paper focuses on the most common control strategy, known as model predictive control (MPC), with its two branches, linear (LMPC) and nonlinear (NLMPC). The aim is to develop a model based on sensors embedded in a Tello quad-rotor used for indoor purposes. The original controller of the Tello quad-rotor is supposed to be the slave, and the designed model predictive controller was created in MATLAB. The design was imported to another embedded system, considered the master. The objective of this model is to track the reference trajectory while maintaining the stability of the system and ensuring low energy consumption. The case study in this paper compares linear and nonlinear model predictive control (MPC). The results show the efficiency of NLMPC, which provides more promising results compared to LMPC. The comparison concentrates on the energy consumption, the tracked trajectory, and the execution time. The main finding of this research is that NLMPC is a good solution to smoothly track the reference trajectory. The controller in this case processes faster, but the rotors consume more energy because of the increased values of control inputs calculated by the nonlinear controller.

1. Introduction

Drones, abbreviated as UAVs (unmanned aerial vehicles), are unmanned aircraft capable of carrying out a mission autonomously by being self-piloted or semi-autonomous using remote control [1,2]. The primary function of these vehicles is to extend human vision beyond the natural horizon to accomplish work in risky or hostile environments. The military has implemented the first applications of drones for surveillance or reconnaissance missions without the risk of human losses. More recently, civil applications have appeared, such as the prevention of forest fires, the inspection of engineering structures, the energy flow monitoring of motorway traffic, or the collection of meteorological data. However, the use of civilian drones remains limited because non-military drones still need to be fully integrated into civil airspace [2,3].
The classification of existing UAVs differs depending on the country and its army [4]. UAVs can be classified according to their size, endurance, flight altitude, function, mass, payload, etc. The most accepted classification divides UAVs according to their size and endurance, where, generally, five categories of UAVs exist, from aircraft UAVs with a wingspan of about 30 m to flapping wings a few millimeters long.
In this paper, the focus is on quad-rotor UAVs, known as drones with multiple rotors. Multi-rotor UAVs are certainly the best-known and most widespread aeromechanic configurations among autonomous aerial vehicles [5]. These aircraft are usually equipped with four rotors, but there are also some with six or even eight rotors. The mechanical simplicity of this type of vehicle makes it a widely used configuration for the realization of experimental platforms at reduced costs [6]. The operation of multi-rotor drones is quite particular, where a plus or cross configuration can be used [7]. First, to compensate for the torque reaction, the rotation of the rotors’ direction is reversed two by two. In addition, the translation and the rotation movements according to the three axes are carried out carefully by manipulating the rotational speeds of the different rotors. In fact, it is the difference in the lift that determines the inclination of the aircraft around the roll and pitch angles, allowing translational flight. Figure 1 shows the movement states of a quad-rotor with the cross configuration regarding the X-, Y-, and Z-axes [8].
Due to the very good distribution of lift in the horizontal plane, multi-rotor UAVs are particularly suitable for hovering and low-speed flights. On the other hand, this configuration is not recommended for high-speed translational flights nor for use in windy conditions. Moreover, this rotor configuration is restricted to small-sized aircraft because the size of the rotors increases with the increase in the mass of the drone.
The main goal in drone design is to achieve a high degree of autonomy to make decisions and remain in a stable state. This can be achieved based on the embedded systems in the body, which are the measurement system and the controller. The measurement system in the drone is responsible for the collection of information on the state of the drone and its environment, and three types of sensors can be found [9,10]:
  • Sensors for measuring attitude, such as gyroscopes to measure angular position and angular velocity, accelerometers to measure acceleration, and magnetometers to measure the direction of the magnetic field and scan the area and detect metals in space;
  • Sensors for measuring the velocity and position of the drone, such as an altimeter, GPS, and camera;
  • Sensors for detecting obstacles around the drone, such as ultrasonic sensors and telemeter lasers.
The information obtained from the measurement system is transferred to the control part as digital signals, where the data are processed by the control system. The control system based on a mathematical algorithm generates control signals that allow the drone to move in an appropriate way. This is based on a mathematical representation of the drone’s mechanical body and on the measurement signals from the on-board sensors. Its role is, above all, to guarantee the stability of the device during the autonomous flight phase. Despite a general principle that is relatively simple to understand, the design of such a system is rather complex and requires special attention. Indeed, UAVs, and more particularly rotary-wing UAVs such as quad-rotors, are under-actuated systems and sensitive to aerodynamic disturbances, whose dynamics are highly nonlinear [11,12]. Moreover, this presents significant coupling between the system’s state variables and its control inputs. The coupling characterizes the fact that any change in a control input affects not only the variable of interest but also the others [13].
Based on Newton–Euler equations or the energetic Lagrange derivative, many scientists have suggested approaches to designing dynamic models of drones, beginning with the mathematical model for the kinematic and dynamic models [13,14,15] for considering the behavior of the quad-rotor in different flight conditions (stationary, in translation, or in rotation). However, the main problem with these dynamic models is the difficulty of designing a “simple” control algorithm due to the complexity of the model, which is nonlinear. The first mission of the quad-rotor is to track a position from one point to another point in a 3D environment with respect to the given orientation. Under all of the previously cited challenging criteria, this task makes the object deal with the study of control theory by developing controllers that can succeed in tracking the trajectory and avoiding obstacles, all while optimizing the battery life of the drone.
The control strategy for the quad-rotor scope represents a major issue in this research field, where many scientists have suggested different implementations, including linear control strategies, such as PID, LQ, H infinity, and linear MPC, and nonlinear control approaches, such as backstepping control or sliding mode control and nonlinear MPC [16,17,18,19,20,21].
At the energy profile level, one of the biggest drawbacks of the quad-rotor is its battery life, meaning that the average mission does not exceed 15 min [22,23]. This is because existing controllers are typically designed to maximize the performance of tracking while providing a sufficient margin of stability. However, extracting the maximum performance results in greater consumption and, therefore, a reduction in the battery life. For this reason, several researchers have focused on regulation using the linear quadratic controller since it minimizes energy consumption. In addition, several strategies can improve fuel efficiency. Some examples can be cited:
  • Minimization of errors: indeed, this is the classic approach; the fewer the errors committed in the pursuit of the desired trajectory, the less energy spent [24];
  • Fuzzy logic applied to altitude control: climbing or descending consumes double or even more energy because this movement causes the rotation of the four engines simultaneously, so one possibility is establishing fuzzy logic between the flight height and the battery state of charge [25];
  • The search for an optimal trajectory: energy consumption can be reduced by using or avoiding air currents and thus by finding the flight path that is least costly in terms of energy compared to a direct flight to the destination [25].
The motivation for this research is related to building a powerful customized embedded controller for the Tello EDU drone using the Xilinx Kria board in the future [26]. To achieve the main goal, this research started with the linear and nonlinear model predictive control design. It is assumed that the Kria board will handle the designed controller in order to command Tello EDU to execute indoor movements, all while maintaining stability and optimizing the energy consumption of the rotors. The quad-rotor already has a basic embedded system that fulfills simple commands for take-off and landing motions, with low accuracy and stability.
This work introduces a completely new model design for linear and nonlinear MPC controllers intended to be used for indoor applications with the Tello drone. Compared to previous works [27,28,29,30], this paper also provides a methodology for designing MPC controllers considering the real system parameters, the limitations of linear MPC, and approaches in order to increase the energy efficiency.
This paper includes the following parts: First, the process to identify the dynamic mathematical model of the Tello drone with the actual parameters is presented. This model is purely nonlinear due to the strong coupling between the state variables and the control inputs, but in addition, its dynamics are under-actuated, i.e., the amount of information, which is four times less than the number of outputs, which is six (the degrees of freedom). In the second part, after creating the dynamic model, the methodology to build a control strategy is shown. Two approaches are taken into consideration in this research: the first assumes that the system is linear, so model predictive control is applied. This approach requires linearizing the dynamic model around an equilibrium point, called the hover position. The second approach assumes that the system is dealing with reality and is nonlinear. Therefore, nonlinear model predictive control is applied to track the reference trajectory. A detailed comparison will be presented regarding the motion tracking, stability, and energy profile. This paper shows how the inputs influence the effect of predictive model control on energy consumption. The input variables for the drone represent the angular velocities of the four rotors. In the third section, the simulation results are discussed, and a comparison is made to understand the potential of using a nonlinear controller instead of a linear one. Finally, conclusions and further work are presented.

2. Materials and Methods

The main aim of this work was to build a customized embedded system for the Tello EDU quad-rotor. The customized embedded system is based on a System on Chip (SOC) from AMD Xilinx and implements a control strategy based on MPC. Figure 2 presents the plan for the main target. To start the process, the research began by developing suitable model predictive control for the Tello EDU quad-rotor. This type of drone is helpful for education and research purposes. The control model is based on the dynamic mathematical model of the drone and its fundamental parameters; therefore, this paper presents a methodology for building a suitable control strategy based on the following points:
  • The conditions are taken into consideration to identify the dynamic mathematical model;
  • The parameters of the Tello EDU quad-rotor are identified;
  • Linear and nonlinear model predictive control is used;
  • An in-depth comparison is made to show the effectiveness of a nonlinear controller and how the optimization of energy consumption can be achieved for the control part.
Figure 2. The plan for building the customized embedded system for Tello Edu.
Figure 2. The plan for building the customized embedded system for Tello Edu.
Energies 15 09207 g002
The simulation was performed using MATLAB Simulink, which offers different functions that can help to efficiently achieve the research target, especially since setting parameters and analyzing the results in Simulink are more user-friendly than using MATLAB Script.
In the following, the paper will highlight the methods used to build the optimal controller, starting by modeling the dynamics of the Tello quad-rotor and then dealing with the control strategy by getting familiar with a model predictive controller in general and demonstrating how to successfully tune both control types (linear and nonlinear).

2.1. Tello Quad-Rotor Model

The Tello EDU quad-rotor model [26] is an impressive and programmable drone that is valuable for educational purposes. The system is dedicated to students who are learning programming languages such as Scratch, Python, and Swift and for developing AI functions such as a fly-in swarm, upgrading with SDK 2.0, embedding with DJI’s flight control technology, and supporting electronic image stabilization.
Figure 3 presents the Tello quad-rotor with its specifications. The drone features a vision positioning system and an on-board camera based on an advanced flight controller to hover in a precise place, as is suitable for flying indoors; its maximum flight time is around 13 min, and the maximum flight distance is 100 m. These specifications are critical in showing the advantages and drawbacks that they have. For example, when the drone flies indoors, this characteristic will neglect the wind and gyroscopic effects as a disturbance in the system. Additionally, it is a motivation to optimize the energy profile of this drone to lengthen the flight time by using optimal control strategies.
The objective was to develop a new predictive control model for the Tello drone using its basic sensors, identified as a complete system: the vision positioning system helps the aircraft to maintain its current position, and its main components are the camera and the 3D infrared module located on the underside of the plane.

2.2. Quad-Rotor Mathematical Model

Designing a suitable controller for an appropriate drone requires first modeling the mathematical dynamics of the plant.
This helps to explain how the drone moves and what forces and torques are applied. How many motions there are? Which velocities are needed to execute different flight modes? Therefore, one can identify the inputs, outputs, state variables, and disturbances in the central system.
Figure 4 describes the dynamic structure of the Tello drone in the body and inertial frames, where the corresponding angular velocities, torques, and forces created by the four rotors (numbered from 1 to 4) are presented. The drone’s movement is generated by differential thrust forces between F2 and F4 that generate rotation around the X-axis, known as roll motion. On the other hand, differential thrust forces between F1 and F3 will generate rotation around the Y-axis, known as pitch motion. In contrast, rotation around the Z-axis, the yaw motion, is caused by differential torques between clockwise and anticlockwise rotors, i.e., ( τ 1 τ 2 + τ 3 τ 4 ) .
The modeling of UAVs is a delicate task since the system’s dynamics are strongly nonlinear and fully coupled. Many reviews have explained the methodology for modeling such systems. This paper presents the exact strategy to obtain both linear and nonlinear dynamic models based on the Tello drone’s main parameters. The calculation of the mathematical model is based on some simplifications; here are the different working hypotheses [31]:
  • The structure of the quad-rotor is assumed to be rigid and symmetrical, which means that the matrix of inertia is assumed to be diagonal;
  • The propellers are assumed to be rigid in order to be able to neglect the effect of their deformation during rotation;
  • The center of mass and the origin of the frame linked to the structure coincide;
  • The lift and drag forces are proportional to the square of the rotors’ rotation speed, which is a very close approximation of the aerodynamic behavior;
  • To evaluate the quad-rotor’s mathematical model, two frames were used: a fixed inertial frame to the Earth R f and a second mobile frame fixed in the quad-rotor R m . The transformation matrix gives the passage between the body frame and the inertial frame   T , which contains the orientation and the mobile position reference relative to the fixed reference.
Figure 4 shows the axis convention taken for the Tello drone to model the mathematical dynamics, where the forces, inertial moments, and angular velocities are described.
The quad-rotor system is a light structural flight vehicle. Therefore, the gyroscopic effects resulting from the rotation of the rigid body and the four propellers should be included in the dynamic model. However, the dynamic model of the system is obtained under the assumption that the vehicle is a rigid body in the spatial domain with different forces and torques. The mathematical model presented here is based on Newton and Euler equations for 3D rigid-body motion [31].
Let [ x   y   z   ϕ   θ   ψ ] T denote the vector containing the linear and angular positions of the quad-rotor in the inertial frame F i , and let [ u   v   w   p   q   r ] T denote the vector containing the linear and angular velocities in the body frame Fb. From 3D body dynamics, it follows that the two reference frames are linked by the following relations:
v = [ v x i v y i v z i ] = [ x ˙ y ˙ z ˙ ] = R · v b = R · [ u v w ]
Ω = [ Ω x b Ω y b Ω z b ] = [ p q r ] = T · [ ϕ ˙ θ ˙ ψ ˙ ]
where v is the linear velocity, Ω is the rotation velocity, R is the rotation matrix describing the rotation from the body reference system to the inertial reference, and T is the matrix for angular transformation, where to obtain [ ϕ ˙   θ ˙   ψ ˙ ] T , the inverse of matrix T is needed.
R = R b i = [ C ψ C θ C ψ S ψ S θ C ϕ S ψ C ϕ S θ C ψ + S ϕ S ψ C θ S ψ S ϕ S θ S ψ + C ϕ C ψ C ϕ S θ S ψ S ϕ C ψ S θ S ϕ C θ C ϕ C θ ]
T = [ 1 0 S θ 0 C ϕ C θ S ϕ 0 S ϕ C ϕ C θ ] ,   T 1 = [ 1 S θ T θ C ϕ T θ 0 C θ S θ 0 S ϕ C θ C ϕ C θ ]
where C θ   ,   S ϕ , and T ϕ represent cosine, sine, and tangent. From the two relations, the kinematic model for the quad-rotor is obtained as follows:
{ x ˙ = u [ C ψ C θ ] + v [ C ψ S ψ S θ C ϕ S ψ ] + w [ C ϕ S θ C ψ + S ϕ S ψ ] y ˙ = u [ C θ S ψ ] + v [ S ϕ S θ S ψ + C ϕ C ψ ] + w [ C ϕ S θ S ψ S ϕ C ψ ] z ˙ = u [ S θ ] + v [ S ϕ C θ ] + w [ C ϕ C θ ] ϕ ˙ = p + q [ S ϕ T θ ] + r [ C ϕ T θ ]   θ ˙ = q [ C ϕ ] + r [ S ϕ ] ψ ˙ = q [ S ϕ C θ ] + r [ C ϕ C θ ]
The vector [ u   v   w   p   q   r ]   T is obtained using an IMU system with the data obtained from the accelerometer and gyroscope sensors. In order to obtain the dynamic model and list all of the physical effects, forces, and inertia moments exerted on the system, the following factors are considered.
  • The weight force of the quad-rotor is given by:
P = m · g
where m is the total mass of the rigid body, and g is the gravity.
  • The thrust forces created by the four rotors are perpendicular to the plane of the propellers and are proportional to the square of the rotational speed of the motors. The thrust forces are given by:
F i = b · ω i 2
where i = 1 4 ; b is the coefficient of lift and depends on the shape and number of blades and the air density; ω is the angular velocity of the engine.
  • The drag force is the coupling between the pressure force and the viscous frictional force.
In this case, two drag forces are acting on the system: the drag in the propellers and the drag along the axes (x, y, z).
The drag in the propellers acts on the blades; it is proportional to the density of the air, to the shape of the edges, and to the square of the rotation velocity of the propeller and is given by the following relation:
F d a = d · ω 2
where d is the drag coefficient, which depends on the manufacture of the propeller.
The drag along the axes (x, y, z) is due to the movement of the body of the quad-rotor:
F d l = K f t · v
where K ft is the translational drag coefficient, and v is the linear velocity.
Regarding the inertial moments applied to the system, the following variables are considered.
  • The inertial moments due to the thrust force: The rotation around the X- and Y-axes is due to the inertial moment created by the difference between the thrust forces of Rotors 2 and 4 and 1 and 3, respectively:
{ M x = l ( F 4 F 2 ) = l b ( ω 4 2 ω 2 2 ) M y = l ( F 3 F 1 ) = l b ( ω 3 2 ω 1 2 )
where l is the length of the arm between the rotor and the center of gravity of the quad-rotor.
  • The inertial moment due to drag forces: The rotation around the z-axis is due to the reactive torque caused by the drag torques in each propeller:
M z = d ( ω 1 2 ω 2 2 + ω 3 2 ω 4 2 )
  • The inertial moment resulting from aerodynamic friction is given by:
M a = K f a · Ω 2
where K f a the coefficient of aerodynamic friction angular velocity.
  • Gyroscopic effect: This effect is defined as the difficulty of modifying the position or the orientation of the plane of rotation of a rotating mass. In this case, there are two gyroscopic moments. The gyroscopic moment of the helices is given by the expression:
M g h = i = 1 4 Ω J r [ 0 0 ( 1 ) i + 1 · ω i ] T
The gyroscopic moment due to the movements of the quad-rotor is written:
M g m = Ω J Ω
where J r in Equation (13) is the moment of inertia of the rotor, and J is the moment of inertia of the system.
Other aerodynamic effects (blade flapping effect, air friction, and ground effects) that can disturb the movement of the quad-rotor are not taken into consideration in this article, as their effects at low speed can be neglected.
By using Newton–Euler equations, the dynamics of a rigid body under external forces and moments in the body frame can be formulated as follows:
  • Dynamic equation of translation motion
m   v ˙ i n e r t i a l = F e x t e r n a l
where m is the mass of the rigid body, and v i n e r t i a l and F e x t e r n a l are the linear velocity and the forces projected in the inertial frame, respectively. Using the rotation matrix to transform forces from the rigid body frame to the inertial body frame, the equations are:
m ξ ¨ = F t + F d l + F g
F t = R [ 0 0 i = 1 4 F i ] T ;   F g = [ 0 0 m g ] T
F d l = [ K f t x 0 0 0 K f t y 0 0 0 K f t z ] ξ ˙   ;   where   ξ = [ x y z ]
After replacing all of the terms presented before, the results are:
m [ x ¨ y ¨ z ¨ ] = [ C ϕ S θ C ψ + S ϕ S ψ C ϕ S θ S ψ S ϕ C ψ C ϕ C θ ] i = 1 4 F i [ K f t x x ˙ K f t x y ˙ K f t x z ˙ ] [ 0 0 m g ]
{ x ¨ = 1 m ( C ϕ S θ C ψ + S ϕ S ψ ) ( i = 1 4 F i ) K f t x m x ˙ y ¨ = 1 m ( C ϕ S θ S ψ S ϕ C ψ ) ( i = 1 4 F i ) K f t y m y ˙ z ¨ = 1 m ( C ϕ C θ ) ( i = 1 4 F i ) K f t z m z ˙ g
  • Dynamic equation of rotation motion
Applying Euler’s rotation equation, the following equation is obtained:
J Ω ˙ + Ω × J Ω = M e x t e r n a l
where   Ω in this equation represents the rotation velocity present in the inertial axes, and J is the inertial tensor of the symmetric rigid body around its center of mass. M external represents the sum of moments acting on the vehicle:
J = [ J x x 0 0 0 J y y 0 0 0 J z z ]
where J xx , J yy and J zz are calculated according to the mass distribution by replacing the previous inertial moments:
J Ω ˙ = Ω × J Ω M a M g h + M f
where :   M f = [ M x = l b ( ω 4 2 ω 2 2 ) M y = l b ( ω 3 2 ω 1 2 ) M z = d ( ω 1 2 ω 2 2 + ω 3 2 ω 4 2 ) ] ;   M a = [ K f a x ϕ ˙ 2 K f a y θ ˙ 2 K f a z ψ ˙ 2 ]
After replacing all the terms in the equation, the equation results are:
[ J x x 0 0 0 J y y 0 0 0 J z z ] [ ϕ ¨ θ ¨ ψ ¨ ] = [ ϕ ˙ θ ˙ ψ ˙ ] ( [ J x x 0 0 0 J y y 0 0 0 J z z ] [ ϕ ˙ θ ˙ ψ ˙ ] ) [ J r Ω ¯ r θ ˙ ˙ J r Ω ¯ r ϕ ˙ 0 ] [ K f a x ϕ ˙ 2 K f a y θ ˙ 2 K f a z ψ ˙ 2 ] + [ l b ( ω 4 2 ω 2 2 ) l b ( ω 3 2 ω 1 2 ) d ( ω 1 2 ω 2 2 + ω 3 2 ω 4 2 ) ]
such that:
{ ϕ ¨ = ( J z z J y y ) θ ˙ ψ ˙ J r Ω ¯ r θ ˙ K f a x ϕ ˙ 2 + l b ( ω 4 2 ω 2 2 ) J x x θ ¨ = ( J z z J x x ) ϕ ˙ ψ ˙ J r Ω ¯ r ϕ ˙ K f a y θ ˙ 2 + l b ( ω 3 2 ω 1 2 ) J y y ψ ¨ = ( J y y J x x ) ϕ ˙ θ ˙ K f a z ψ ˙ 2 + d ( ω 1 2 ω 2 2 + ω 3 2 ω 4 2 ) J z z
where Ω ¯ r = ω 1 ω 2 + ω 3 ω 4 .
  • The matrix that shows the relationship between forces/inertial moments and angular velocities of four motors
[ u 1 u 2 u 3 u 4 ] = [ F t M x M y M z ] = [ b b 0 l b b b 0 l b l b 0 d d l b 0 d d ] [ ω 1 2 ω 2 2 ω 3 2 ω 4 2 ]
The relation presented in this matrix is very useful for building controllers, where u 1 , u 2 , u 3 and u 4 are the four input parameters that control the system. The Tello EDU quad-rotor is dedicated to indoor applications; therefore, in the following, the linear drag force F dl and the inertial moment of the gyroscopic effect M gh are considered external disturbances, which are totally neglected in order to simplify the model.
To summarize the previous work, the model plant is based on 4 inputs U   and 6 outputs Y , expressed as follows:
Inputs :   [ u 1 u 2 u 3 u 4 ] = [ F t M x M y M z ] ;   Outputs :   [ x   y   z   ϕ   θ   ψ ] T
The model is simplified as follows:
{ x ¨ = 1 m ( C ϕ S θ C ψ + S ϕ S ψ ) ( i = 1 4 F i ) y ¨ = 1 m ( C ϕ S θ S ψ S ϕ C ψ ) ( i = 1 4 F i ) z ¨ = 1 m ( C ϕ C θ ) ( i = 1 4 F i ) g
{ ϕ ¨ = ( J z z J y y ) θ ˙ ψ ˙ + l b ( ω 4 2 ω 2 2 ) J x x θ ¨ = ( J z z J x x ) ϕ ˙ ψ ˙ + l b ( ω 3 2 ω 1 2 ) J y y ψ ¨ = ( J y y J x x ) ϕ ˙ θ ˙ + d ( ω 1 2 ω 2 2 + ω 3 2 ω 4 2 ) J z z

Identification of Parameters of the Tello EDU Drone

The mathematical dynamic model for the quad-rotor is standard, taking into consideration the six outputs [ x   y   z   ϕ   θ   ψ ]   T ; the main change is reflected in the neglected disturbances and the parameter of every model. The main parameters identified for the dynamic model in this case are presented in Table 1. Jxx is the inertial tensor of the symmetric rigid body around axis X, Jyy is the inertial tensor of the symmetric rigid body around axis Y, Jzz is the inertial tensor of the symmetric rigid body around axis Z, b is the coefficient of lift, d is the drag coefficient, and l is the length of the arm between the rotor and the center of gravity of the quad-rotor.

2.3. Control Strategy of Quad-Rotor System

The controller system is a mathematical algorithm that processes how the quad-rotor should act to maintain the measurement at the set point. Despite its general principle being relatively simple, the design of such a system requires particular attention, given the complex and under-actuated dynamics of the quad-rotor [5]. The literature on this subject is vast and very variable and can lead to a better understanding of the performance of the proposed controllers [32]. This subsection is devoted to some methods of linear and nonlinear controls applied to the quad-rotor.
  • Linear Control Strategy: Linear control techniques were the first to be used for UAV flight control. Linear controllers are applied to a linearized model of the quad-rotor; linearization is applied around an equilibrium point using a Taylor-series expansion and the Jacobean method, which will be presented later [33,34,35,36].
  • Nonlinear Control Strategy: Nonlinear controllers perform better because they are applied to the accurate quad-rotor model, which presents all of the critical nonlinearities of the dynamics [20]. The following presents the most frequently used method in UAV flight control. Usually, the application of a nonlinear controller can achieve higher performance with a nonlinear model of the UAV plant, but the main disadvantage is that it needs higher computational power [20,37,38,39].
Table 2 summarizes the most typical linear and nonlinear control strategies used in UAV flight control based on the literature review. In this case, using the MPC strategy, two scenarios can be considered:
  • The first scenario assumes that the dynamic model is linear, so MPC is also linear; this is very familiar in science when a dynamic model should be linearized around a defined point, called the equilibrium point.
  • The second scenario entails taking the nonlinear model as it is and then, according to the constraints, building an efficient nonlinear MPC controller. The second method presents different complications and requires much more computational power.
In this paper, both extensions are presented in detail to show the reader the main differences and the results obtained from the simulation, especially at the energy profile level.
The obtained dynamic model shown above is purely nonlinear. To proceed with the control field, first, the states of the system were identified, for which plenty of suggestions can be made. This paper will use the notation in Table 2.
Table 2. Parameters of the Tello quad-rotor.
Table 2. Parameters of the Tello quad-rotor.
Controller
Type
Linearity TypeStability and
Time Response
Computation
Time
PID controller
[36]
LinearLow stability in higher disturbances, acceptable response timeLow
Linear quadratic regulator
[21]
LinearGood stability with slow response timeVery low
H-infinity optimal control
[35]
LinearHigh stability, medium response timeMedium
Backstepping
control
[24,40,41]
NonlinearNot robust when uncertainties are present in the model of the plantMedium
Sliding mode
control
[42,43]
NonlinearRobust, even in the presence of uncertainties and disturbancesHigh
Adaptive control
[18,44,45]
NonlinearGood stability in the presence of uncertaintiesHigh
Model predictive control (MPC)
[27,28,31,46]
Linear or nonlinearStability is not guaranteed, high optimization for different constraintsHigh
X = [ x y z ϕ θ ψ x ˙ y ˙ z ˙ ϕ ˙ θ ˙ ψ ˙ ] T
X ˙ = f ^ ( X , u )
where   f ^ ( X ) is the state variable function, and   f ^ ( u ) is the input control variable function.

2.3.1. Model Predictive Control Concept

Model predictive control (MPC) is an advanced automatic control technique that is mostly useful for industrial applications. The MPC concept is based on using the linear or nonlinear dynamic model of the plant inside the controller in real time in order to anticipate the future behavior of the system. The main feature of MPC is that the output calculation must be solved online. The optimization process is based on the inputs/outputs of the system that minimize a cost function to predict the future. The prediction is executed from the internal model of the controller over a finite time window called the prediction horizon. The solution to the optimization problem is presented as a control vector. Using updated system data, the controller can solve the problem again in the next interval period, and therefore, MPC is also called moving horizon or receding horizon optimal control.
MPC solves an optimization problem, specifically a quadratic program (QP). It consists of the following three components: a state dynamic model; a cost function, which is the objective to achieve; and constraints, which are presented as boundaries to limit the future behavior of the inputs and outputs, where soft or hard constraints can be set.
MPC operates as follows: using the open-loop plant model and a chosen prediction horizon N, it calculates the set of future states x k + 1 ,     x k + N   and control inputs u k ,⋯, u k + N 1 that minimize the cost function subject to state and input constraints. Then, the first element u k in the set of calculated inputs is used as the input to the plant, and the sequence of calculations is repeated at the next sampling instant.
The MPC controller has shown its efficiency in applications with short sampling periods and has produced good results in terms of speed and accuracy in the field of numerical control [46]. Figure 5 shows the internal closed loop of MPC with the plant, and Figure 6 shows the internal behavior concept of MPC.
The standard cost function Θ is usually the sum of four terms, each focusing on a particular aspect of controller performance.
Every term in Θ represents an objective sub-function:
  Θ ( 𝓏 k ) = Θ y ( 𝓏 k ) + Θ u ( 𝓏 k ) + Θ Δ u ( 𝓏 k ) + Θ ε ( 𝓏 k )
where:
  • Θ y ( 𝓏 k ) : Cost function for output reference tracking;
  • Θ u ( 𝓏 k ) : Cost function for manipulated variable tracking;
  • Θ Δ u ( 𝓏 k ) : Cost function for manipulated variable movement suppression;
  • Θ ε ( 𝓏 k ) : Cost function for constraint violation;
  • 𝓏 k : The quadratic program.
In the presented case, the focus was on minimizing the two terms Θ y ( 𝓏 k ) and Θ u ( 𝓏 k ) . In order to track the reference output, the error between the reference and the output signal should be minimized. Therefore, the second term was minimized so that the controller continues to select manipulated variables (MVs) at or near specified target values. In general, the problem statement is written as follows:
  min u t ,   ,   u t + N 1   { k = 0 N 1 r ( t ) y t + k 2 + ρ u t + k u r ( t ) 2 }  
subject to:
  • x t + k + 1 =   f ( x t + k ,   u t + k ) , which represents the dynamic of the system;
  • y t + k =   g ( x t + k ,   u t + k ) , which represents the outputs of the system;
  • u min   u t + k     u max ;
  • y min   y t + k     y max ;
  • x t =   x ( t ) , k = 0 , ,   N 1 , which represents state variables.
In the following, the design of linear and nonlinear MPC using MATLAB will be presented. The software provides several capabilities to solve energy modeling problems in research [47]. MATLAB’s model predictive control application allows the selection of suitable parameters to tune the controller according to the plant. Among the methods used, it can distinguish between standard linear MPC and nonlinear MPC, where the optimization problem is solved using a quadratic program (QP) at each control interval. The solution determines the manipulated variables (MVs) to be used in the plant until the next control interval. The definition of the cost function in the software according to this case is written as follows:
Θ ( 𝓏 k ) = Θ y ( 𝓏 k ) + Θ u ( 𝓏 k )
Θ ( 𝓏 k ) = j = 1 n y i = 1 p [ { w i ,   j y s j y [ r j ( k + i | k ) y j ( k + i | k ) ] } 2 + { w i ,   j y s j y [ u j ( k + i | k ) u j , t a r g e t ( k + i | k ) ] } 2 ]
where k is the current control interval; p is the prediction horizon (number of intervals); and n y   is the number of plant output variables. 𝓏 k is the quadratic program decision, given by:
𝓏 k T = [ u ( k | k ) T   u ( k + p 1 | k ) T       ε k   ]
where y j ( k + i | k ) is the predicted value of the j th plant output at the i th prediction horizon step, in engineering units; r j ( k + i | k ) is the reference value for the j th plant output at the i th prediction horizon step, in engineering units; s j y is the scale factor for the j th plant output, in engineering units; and w i ,   j y   is   the tuning weight for the j th plant output at the i th prediction horizon step (dimensionless).

2.3.2. Linear Model Predictive Control

Linear MPC is the traditional model, in which the basis of its cost function is a quadratic function; the model assumes linear dynamic systems, and extensive computation is not required to solve the optimization problem. The basic step to continue with linear MPC is to linearize the dynamic model of the quad-rotor, so the methodology is presented as follows:
  • Linearization of the quad-rotor system
The aim of this section is to generate a linear state-space representation from the nonlinear model written in Equations (29) and (30). The nonlinear model is linearized around an equilibrium point X e (“hover position”), and linearization is performed on a simplified model, where small oscillations are considered as sin ( angle ) = angle and cos ( angle ) = 1 . Using a Taylor-series expansion, the new state-space representation after linearization is written in the following form:
{ X ˙ = A X + B u y = C X + D u   where   X = X X e u = u u e
where   X is the “State vector” of ( n × 1 ) ,   u is the “Input (or control) vector” of ( m × 1 ) ,   y is the “Output vector” of ( p × 1 ) , A is the “System Matrix” of ( n × n ) , B is the “Input Matrix” of ( n × p ) , C is the “Output Matrix” of ( q × n ) , and D is the “Feed forward Matrix” of ( q × p ) .
In the hover position, the state vector and input vector are represented as:
X e = [ x e y e z e 0 0 0 0 0 0 0 0 0 ] T
u e = [ m g 0 0 0 ] T
After the linearization calculation, the following four matrices for the state-space representation are obtained:
A = f ( X , u ) X | x = x e u = u e = 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 g 0 0 0 0 0 0 0 0 0 0 g 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
B = f ( X , u ) u | x = x e u = u e = [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 / m 0 0 0 0 0 0 1 / J x x 0 0 0 0 0 0 0 0 0 1 / J y y 0 0 0 0 0 0 0 1 / J z z ]
Based on the chosen tracked outputs [ x   y   z   ϕ   θ   ψ ] and the control inputs, matrices C and D are the following:
C = [ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 ]
D = z e r o ( 6 , 4 )
If the disturbance is taken into consideration, the matrix dist is added to the equation of the state space as follows:
X ˙ = A X + B u + d i s t d
d i s t = f ( X , u , d ) d | x = x e u = u e
where   d is the vector of the disturbances applied to the quad-rotor. In the case presented in this paper, all disturbances are neglected.
  • Design of Linear MPC for the Tello Quad-rotor System
The MATLAB Simulink software offers a block structure that defines the architecture of a basic linear MPC model, and the execution of this block is based on the injected identified parameters according to this dynamic system. Therefore, the dynamic system and linear MPC to track the following output variables [ x   y   z   ϕ   θ   ψ ] were designed. The process started by reconfiguring the main inputs and outputs of the controller. Figure 7 shows the necessary inputs and outputs for the MPC controller, where the inputs are:
-
mo: 6 measured outputs that represent the state vector [ x   y   z   ϕ   θ   ψ ] ;
-
md: 0 measured disturbances, where all disturbances applied to the quad-rotor are neglected.
The outputs are:
-
mv: 4 manipulated variables [ u 1 , u 2 , u 3 , u 4 ] , which represent the input control variables.
In the MPC plant model, different recommendations can be taken into consideration, depending on the characteristics of the dynamic system: in this case, the constraints, the weights, and the control horizon were set as presented in Table 3. The weight refers to the priority of a variable, where a high weight indicates a higher tracking priority.
Figure 7. MPC controller inputs and outputs.
Figure 7. MPC controller inputs and outputs.
Energies 15 09207 g007

2.3.3. Nonlinear Model Predictive Control

The principle of nonlinear model predictive control is the same as the linear one, but the key differences are:
  • The prediction model can be nonlinear and include time-varying parameters.
  • The equality and inequality constraints can be nonlinear.
  • The scalar cost function to be minimized can be a nonquadratic (linear or nonlinear) function of the decision variables.
When the dynamic model is linear, a global analytical solution to the optimization problem exists and is relatively simple to determine [27]. However, when this model is nonlinear, it is not certain that the optimization algorithm converges to the global analytical solution, and if a solution is found, there is no certainty that it is fast enough. Indeed, the use of a nonlinear model involves solving a nonlinear optimization problem, whose complexity is related to the degree of accuracy of the model.
Several numerical techniques were developed to guarantee the convergence of the optimization algorithm towards an approximation of the overall optimum. While some of these methods, such as Eleanor’s method, have proven their efficiency, they are not appropriate for the control of drones due to their running time. Among the techniques that can be applied to the vehicles are the gradient method, the sequential quadratic programming method, or the particle swarm method. Some techniques are also based on the approximation of certain signals by their Taylor-series expansion [28,29,30,48,49].
While traditional linear MPC controllers optimize control actions to minimize a quadratic cost function, nonlinear MPC controllers support generic custom cost functions. For example, the cost function can be specified as a combination of linear or nonlinear functions of the system states and inputs. To improve computational efficiency, it is also possible to specify an analytical Jacobean for the custom cost function [50].
Using a custom cost function, the algorithm of NLMPC will be able to maximize profitability and minimize energy consumption.
  • Design of Nonlinear MPC for the Tello quad-rotor system
As presented in the previous part for linear MPC, the design of NLMPC was performed in the MATLAB Simulink environment, which already has a basic architecture block function of such a controller. It is necessary to reconfigure the internal structure according to the system and tune the main parameters to achieve high performance. According to the nonlinear dynamic system of the Tello quad-rotor, the controller should receive different input signals: the reference trajectory, 12 state variables, and the last 4 manipulated variables that represent the 4 control input variables   [ u 1 , u 2 , u 3 , u 4 ] , as presented in Figure 8. In this case, the gyroscopic effect and the other disturbances applied to the system were neglected, whereas outputs received the 4 newly updated manipulated variables.
The design process for NLMPC is as follows: an object function nlobj is created in the internal block by setting the necessary parameters, and using the nlmpc function, a nonlinear MPC controller is designed. A drawback of nonlinear controllers is the long time required for simulation, so to avoid this issue and guarantee high performance for the system, an algorithm to calculate the Jacobean function was inserted into the controller block function since the Jacobean function guarantees fast and efficient simulation.
Table 4 identifies the necessary parameters for nonlinear MPC that fit the Tello quad-rotor. The weight parameter in the controller refers to the priorities of the variables to track. Generally, in the quad-rotor, a higher priority was given to position variables rather than orientation variables, since the aim was to obtain the best performance. So, the higher priorities for all six variables were set.

3. Results and Discussion

In this section, several simulations for three different trajectories are presented to validate the comparison between linear and nonlinear MPC based on the performance analyses of the following inputs and outputs:
  • Error position tracking;
  • Velocity tracking;
  • Control input tracking.
The design of the linear and nonlinear dynamic models of the drone, in addition to the linear and nonlinear MPC models, were designed in MATLAB Simulink, where different functions were written in MATLAB Script as follows: the trajectory function, which provides the control loop with the desired reference trajectory, and the Jacobean function, which guarantees a solution to the optimization problem while avoiding singularities.
Three generated trajectories are defined: the first represents the straight curvature motion of the drone, the second trajectory is presented as a circular motion, and the third trajectory is a helical motion. The initial states for both controllers were set as follows: Xi = [0 2 2 0 0 0 0 0 0 0 0 0]T.
For linear MPC, the control input bounds were set between a minimum value of −10 and a maximum value of 12, as presented in Table 3. This choice gives the controller more freedom to track the trajectory than if the minimum value is set to 0. The controller will behave in an aggressive scenario. For nonlinear MPC, the control input boundaries were set between a minimum value of 0 and a maximum value of 12. Another setting was used for control input tracking so that, for nonlinear MPC, the tracking of control inputs can be implemented successfully, so the track values were set to [4.9 4.9 4.9 4.9], while for linear MPC, this option was neglected because it will definitely disturb the controller in achieving the highest-priority task, which is tracking the position and orientation outputs. From the first attempt and without looking at the simulation results, the recognition of these limitations shows that nonlinear MPC is more flexible than linear MPC in terms of setting conditions.

3.1. Straight Curvature Reference Trajectory

Figure 9 presents the simulation results of the straight curvature reference trajectory, error position tracking, velocity tracking, and control input tracking for linear and nonlinear MPC. In Figure 9, it can be observed that, for error position tracking, LMPC performs better regarding the three axes, X, Y, and Z, whereas for orientation angles, the signal is disturbed compared to NLMPC, where the oscillations are minimized. These oscillations describe the instability of the drone. Additionally, at the level of tracking velocity, both controllers behave nearly the same, but NLMPC is always able to minimize the peak amplitude of the oscillations. From the energy profile perspective, a comparison of the control input tracking shows that both controllers reach the maximum and the minimum boundaries set earlier. To know which controller is using more torque, the mean value of Δ u for every execution is calculated, and the results are presented in Table 5.

3.2. Circular Reference Trajectory

Figure 10 presents the simulation results with a circular motion as the reference trajectory. The figure clearly displays the differences between control methods, where it is obvious that NLMPC tracks the positions and velocities with stable behavior, whereas oscillations are more evident with LMPC; otherwise, NLMPC has succeeded in minimizing them. In addition, at the control input tracking level, LMPC uses the maximum and minimum boundaries, so it can reach the minimum value of 10 Nm, whereas NLMPC behaves well with a limited boundary with a minimum value of 0 Nm. NLMPC is also able to track the set target control inputs [4.9 4.9 4.9 4.9].

3.3. Helical Reference Trajectory

Figure 11 presents the simulation results with a helical motion as the reference trajectory. This motion is typical in real life, where the motion depends on the three axes simultaneously. NLMPC succeeds in tracking the three positions smoothly and with the minimum peak amplitude for orientation tracking, but an overshoot appears in the first two seconds for velocity tracking. NLMPC also provides good results, as the tracking of control inputs is better achieved by NLMPC compared to LMPC. LMPC always uses all boundaries to execute suitable control behavior.

3.4. Performance measurements Δ u and ExTime

In order to analyze the energy profiles of both controllers, calculations of the mean average value of the control effort Δ u and the execution time of the simulation E x T i m e were made.
Table 5 shows the results of the two values when every trajectory is executed. These two parameters identify the energy consumption for both controllers: regarding the execution time, LMPC is very slow compared to NLMPC, while the average control effort for LMPC is less than the control effort required by NLMPC, with average differences. This can be explained by the fact that NLMPC has different missions to achieve, as it not only tracks the trajectory but also tries to maintain a target value for the control inputs. A solution can be attempted in the future by optimizing a cost function that minimizes the energy consumption of the drone by minimizing the applied control efforts directed to the four motors.
The calculation of Δ u was carried out by the mean function, whereas the execution simulation time was calculated by the timeit function.

4. Summary and Conclusions

This paper presents a methodology to design an MPC controller with the purpose of tracking the trajectory of a quad-rotor system while considering minimum energy consumption. The dynamic mathematical model for the quad-rotor is described in the first section, while in the second section, a theoretical comparison between linear and nonlinear MPC is presented, which looks at the efficiency of both control laws, especially regarding the energy profile. The design of both controller models was built and configured using MATLAB Script and Simulink, and the controllers were simulated with the execution of three different trajectories to see the resulting behavior. In conclusion, NLMPC can provide very promising results compared to LMPC, which is not flexible and has different limitations in the drone control field.
This paper is a case study on the customized development of a powerful embedded control system. This control system is intended to control a Tello EDU quad-rotor model. The quad-rotor already has a basic embedded system that fulfills simple commands for take-off and landing motions but with low accuracy and stability. This work provides completely new model designs for linear and nonlinear MPC controllers intended to be used for indoor applications using the Tello drone. Simulations show that NLMPC accurately tracks the reference trajectories with faster execution time but higher energy consumption compared to LMPC. On the other hand, LMPC consumes low energy but with very strict limitations regarding the control inputs.
One of the limitations regarding the obtained results is that although it is clear that NLMPC is efficient in tracking trajectories and execution time, it consumes more energy than LMPC. This issue can be improved in the future by generating a cost function that optimizes the power supply by minimizing the angular velocity of the rotors while executing a motion.
Another limitation is that the Tello drone is a closed system and accepts commands only via Wi-Fi. So, the presented control system will be implemented in a master controller. For future work, the main goal is to build a master controller hardware-embedded system for a Tello quad-rotor. The main advantage of this hardware is to achieve the drone task while forcing the drone to decrease its energy consumption, which will result in a longer flying time.

Author Contributions

Conceptualization, R.B. and J.V.; methodology, R.B. and J.V.; formal analysis, R.B. and J.V.; invited author by guest editor, J.V.; writing—original draft preparation, R.B. and J.V.; writing—review and editing; R.B. and J.V. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

UAVUnmanned aerial vehicles
GPSGlobal Positioning System
MPCModel predictive control
LMPCLinear model predictive control
NLMPCNonlinear model predictive control
LQLinear quadratic controller
MVManipulated variables
MDMeasured disturbances
MOMeasured outputs
PIDProportional–Integral–Derivative Controller
QPQuadratic program

References

  1. Barnhart, R.K.; Hottman, S.B.; Marshall, D.M.; Shappee, E. Introduction to Unmanned Aircraft Systems, 1st ed.; CRC Press: Boca Raton, FL, USA, 2016. [Google Scholar] [CrossRef]
  2. Nonami, K.; Kendoul, F.; Suzuki, S.; Wang, W.; Nakazawa, D. Autonomous Flying Robots: Unmanned Aerial Vehicles and Micro Aerial Vehicles; Springer: Tokyo, Japan, 2010. [Google Scholar] [CrossRef]
  3. Padfield, G.D.; Kluever, C.A.; Young, T.M.; Keane, A.J.; Sóbester, A.; Scanlan, J.P. Design of Unmanned Aerial Systems. In Design of Unmanned Aerial Systems; Wiley: New York, NY, USA, 2020. [Google Scholar] [CrossRef]
  4. Dalamagkidis, K. Classification of Uavs; Springer: Dordrecht, The Netherlands, 2014. [Google Scholar] [CrossRef]
  5. Idrissi, M.; Salami, M.; Annaz, F. A Review of Quadrotor Unmanned Aerial Vehicles: Applications, Architectural Design and Control Algorithms. J. Intell. Robot. Syst. 2022, 104, 22. [Google Scholar] [CrossRef]
  6. Jacewicz, M.; Żugaj, M.; Głębocki, R.; Bibik, P. Quadrotor Model for Energy Consumption Analysis. Energies 2022, 15, 7136. [Google Scholar] [CrossRef]
  7. Zhang, X.; Li, X.; Wang, K.; Lu, Y. A Survey of Modelling and Identification of Quadrotor Robot. Abstr. Appl. Anal. 2014, 2014, 320526. [Google Scholar] [CrossRef]
  8. Ye, J.; Wang, J.; Lv, P. Mutual Aerodynamic Interference Mechanism Analysis of an “X” Configuration Quadcopter. Aerospace 2021, 8, 349. [Google Scholar] [CrossRef]
  9. Balestrieri, E.; Daponte, P.; De Vito, L.; Lamonaca, F. Sensors and Measurements for Unmanned Systems: An Overview. Sensors 2021, 21, 1518. [Google Scholar] [CrossRef]
  10. Guan, S.; Zhu, Z.; Wang, G. A Review on UAV-Based Remote Sensing Technologies for Construction and Civil Applications. Drones 2022, 6, 117. [Google Scholar] [CrossRef]
  11. Barbaraci, G. Modeling and control of a quadrotor with variable geometry arms. J. Unmanned Veh. Syst. 2015, 3, 35–57. [Google Scholar] [CrossRef]
  12. Tahir, Z.; Jamil, M.; Liaqat, S.A.; Mubarak, L.; Tahir, W.; Gilani, S.O. State Space System Modeling of a Quad Copter UAV. Indian J. Sci. Technol. 2016, 9. [Google Scholar] [CrossRef]
  13. Chovancová, A.; Fico, T.; Chovanec, Ľ.; Hubinsk, P. Mathematical Modelling and Parameter Identification of Quadrotor (a survey). Procedia Eng. 2014, 96, 172–181. [Google Scholar] [CrossRef] [Green Version]
  14. Mokhtari, M.R.; Cherki, B. A new robust control for minirotorcraft unmanned aerial vehicles. ISA Trans. 2015, 56, 86–101. [Google Scholar] [CrossRef]
  15. Bodó, Z.; Lantos, B. Modeling and Control of Outdoor Quadrotor UAVs. In Proceedings of the SISY 2018—IEEE 16th International Symposium on Intelligent Systems and Informatics, Subotica, Serbia, 13–15 September 2018; pp. 111–116. [Google Scholar] [CrossRef]
  16. Ducard, G.J.; Allenspach, M. Review of designs and flight control techniques of hybrid and convertible VTOL UAVs. Aerosp. Sci. Technol. 2021, 118, 107035. [Google Scholar] [CrossRef]
  17. Chand, A.N.; Kawanishi, M.; Narikiyo, T. Adaptive pole placement pitch angle control of a flapping-wing flying robot. Adv. Robot. 2016, 30, 1039–1049. [Google Scholar] [CrossRef]
  18. Chen, N.; Song, F.; Li, G.; Sun, X.; Ai, C. An adaptive sliding mode backstepping control for the mobile manipulator with nonholonomic constraints. Commun. Nonlinear Sci. Numer. Simul. 2013, 18, 2885–2899. [Google Scholar] [CrossRef]
  19. Bogdanov, A.; Carlsson, M.; Harvey, G.; Hunt, J.; Kieburtz, D.; van der Merwe, R.; Wan, E. State-dependent riccati equation control of a small unmanned helicopter. In Proceedings of the AIAA Guidance, Navigation, and Control Conference and Exhibit, Austin, TX, USA, 11–14 August 2003. [Google Scholar] [CrossRef] [Green Version]
  20. Raffo, G.V.; Ortega, M.G.; Rubio, F.R. Robust Nonlinear Control for Path Tracking of a Quad-Rotor Helicopter. Asian J. Control. 2015, 17, 142–156. [Google Scholar] [CrossRef]
  21. How, J.P.; Frazzoli, E.; Chowdhary, G.V. Linear Flight Control Techniques for Unmanned Aerial Vehicles; Springer: Dordrecht, The Netherlands, 2015. [Google Scholar] [CrossRef]
  22. Khan, N.; Ullah, F.U.M.; Afnan; Ullah, A.; Lee, M.Y.; Baik, S.W. Batteries State of Health Estimation via Efficient Neural Networks With Multiple Channel Charging Profiles. IEEE Access 2020, 9, 7797–7813. [Google Scholar] [CrossRef]
  23. Kim, J.; Baek, S.; Jeon, S.; Cha, H. DynLiB: Maximizing Energy Availability of Hybrid Li-Ion Battery Systems. IEEE Trans. Comput. Des. Integr. Circuits Syst. 2022, 41, 3850–3861. [Google Scholar] [CrossRef]
  24. Bodó, Z.; Lantos, B. Integrating Backstepping Control of Outdoor Quadrotor UAVs. Period. Polytech. Electr. Eng. Comput. Sci. 2019, 63, 122–132. [Google Scholar] [CrossRef]
  25. Gao, F.; Wang, L.; Wang, K.; Wu, W.; Zhou, B.; Han, L.; Shen, S. Optimal Trajectory Generation for Quadrotor Teach-and-Repeat. IEEE Robot. Autom. Lett. 2019, 4, 1493–1500. [Google Scholar] [CrossRef]
  26. Ryzerobotics. User Manual 2018.09; Ryze Robotics: Shenzhen, China, 2018; 22p. [Google Scholar]
  27. Ru, P.; Subbarao, K. Nonlinear Model Predictive Control for Unmanned Aerial Vehicles. Aerospace 2017, 4, 31. [Google Scholar] [CrossRef]
  28. Ławryńczuk, M.; Nebeluk, R. Computationally Efficient Nonlinear Model Predictive Control Using the L1 Cost-Function. Sensors 2021, 21, 5835. [Google Scholar] [CrossRef]
  29. Rubio, A.A.; Seuret, A.; Mannisi, A.; Ariba, Y.; Arce, A. Optimal control strategies for load carrying drones. In Delays and Networked Control Systems; Springer: Cham, Switzerland, 2016; Volume 6, pp. 183–197. [Google Scholar] [CrossRef] [Green Version]
  30. Al Younes, Y.; Barczyk, M. Nonlinear Model Predictive Horizon for Optimal Trajectory Generation. Robotics 2021, 10, 90. [Google Scholar] [CrossRef]
  31. Benotsmane, R.; Reda, A.; Vasarhelyi, J. Model Predictive Control for Autonomous Quadrotor Trajectory Tracking. In Proceedings of the 2022 23rd International Carpathian Control Conference (ICCC 2022), Bolzano, Italy, 27 June–1 July 2022; pp. 215–220. [Google Scholar] [CrossRef]
  32. Roy, R.; Islam, M.; Sadman, N.; Mahmud, M.; Gupta, K.; Ahsan, M. A Review on Comparative Remarks, Performance Evaluation and Improvement Strategies of Quadrotor Controllers. Technologies 2021, 9, 37. [Google Scholar] [CrossRef]
  33. Hongwei, M.; Ali, S.M.; Liwei, Q.; Farid, G. A Review on Linear and Nonlinear Control Techniques for Position and Attitude Control of a Quadrotor. Control. Intell. Syst. 2017, 45, 43–57. [Google Scholar] [CrossRef]
  34. Emran, B.J.; Najjaran, H. A review of quadrotor: An underactuated mechanical system. Annu. Rev. Control. 2018, 46, 165–180. [Google Scholar] [CrossRef]
  35. Araar, O.; Aouf, N. Full linear control of a quadrotor UAV, LQ vs H∞. In Proceedings of the 2014 UKACC International Conference on Control (CONTROL 2014), Loughborough, UK, 9–11 July 2014; pp. 133–138. [Google Scholar] [CrossRef]
  36. Koszewnik, A. The Parrot UAV Controlled by PID Controllers. Acta Mech. Autom. 2014, 8, 65–69. [Google Scholar] [CrossRef] [Green Version]
  37. Rawlings, J.B.; Meadows, E.S.; Muske, A.D.K.R. Nonlinear Model Predictive Control: A Tutorial and Survey. IFAC Proc. Vol. 1994, 27, 185–197. [Google Scholar] [CrossRef]
  38. Isidori, A.; Marconi, L.; Serrani, A. Robust nonlinear motion control of a helicopter. IEEE Trans. Autom. Control 2003, 48, 413–426. [Google Scholar] [CrossRef]
  39. Qin, S.J.; Badgwell, T.A. An Overview of Nonlinear Model Predictive Control Applications. In Nonlinear Model Predictive Control; Birkhäuser: Basel, Switzerland, 2000; pp. 369–392. [Google Scholar] [CrossRef] [Green Version]
  40. Bentarzi, H.; Dekhandji, F.Z.; Saibi, A.; Boushaki, R.; Belaidi, H. Backstepping Control of Drone. Eng. Proc. 2022, 14, 4. [Google Scholar] [CrossRef]
  41. Lee, K.U.; Choi, Y.H.; Park, J.B. Backstepping Based Formation Control of Quadrotors with the State Transformation Technique. Appl. Sci. 2017, 7, 1170. [Google Scholar] [CrossRef]
  42. Herrera, M.; Chamorro, W.; Gómez, A.P.; Camacho, O. Sliding Mode Control: An Approach to Control a Quadrotor. In Proceedings of the 2015 Asia-Pacific Conference on Computer-Aided System Engineering (APCASE 2015), Quito, Ecuador, 14–16 July 2015; pp. 314–319. [Google Scholar] [CrossRef]
  43. Doan, Q.V.; Vo, A.T.; Le, T.D.; Kang, H.-J.; Nguyen, N.H.A. A Novel Fast Terminal Sliding Mode Tracking Control Methodology for Robot Manipulators. Appl. Sci. 2020, 10, 3010. [Google Scholar] [CrossRef]
  44. Lungu, M.; Lungu, R. Adaptive backstepping flight control for a mini-UAV. Int. J. Adapt. Control Signal Process. 2012, 27, 635–650. [Google Scholar] [CrossRef]
  45. Deng, Z.; Zhu, H.; Lin, S. Adaptive Sliding Mode Control Method for Reconfigurable Modular Robots under Dynamic Constraints. Acad. J. Manuf. Eng. 2020, 18, 16–20. [Google Scholar]
  46. Camacho, C.B.E.F. Model Predictive Control; Springer: London, UK, 2000. [Google Scholar] [CrossRef]
  47. Mądziel, M.; Jaworski, A.; Kuszewski, H.; Woś, P.; Campisi, T.; Lew, K. The Development of CO2 Instantaneous Emission Model of Full Hybrid Vehicle with the Use of Machine Learning Techniques. Energies 2022, 15, 142. [Google Scholar] [CrossRef]
  48. Kamel, M.; Burri, M.; Siegwart, R. Linear vs Nonlinear MPC for Trajectory Tracking Applied to Rotary Wing Micro Aerial Vehicles. IFAC-PapersOnLine 2017, 50, 3463–3469. [Google Scholar] [CrossRef]
  49. Domański, P.D. Performance Assessment of Predictive Control—A Survey. Algorithms 2020, 13, 97. [Google Scholar] [CrossRef] [Green Version]
  50. Benotsmane, R.; Vásárhelyi, J. Nonlinear Model Predictive Control for Autonomous Quadrotor Trajectory Tracking. In Lecture Notes in Mechanical Engineering, 4th ed.; Jármai, K., Cservenák, Á., Eds.; Springer: Cham, Switzerland, 2022; pp. 24–34. [Google Scholar] [CrossRef]
Figure 1. The possible motions of quad-rotor with cross configuration.
Figure 1. The possible motions of quad-rotor with cross configuration.
Energies 15 09207 g001
Figure 3. Basic components of the Tello drone.
Figure 3. Basic components of the Tello drone.
Energies 15 09207 g003
Figure 4. Modeling frame assignments for the Tello quad-rotor [31].
Figure 4. Modeling frame assignments for the Tello quad-rotor [31].
Energies 15 09207 g004
Figure 5. MPC closed control loop.
Figure 5. MPC closed control loop.
Energies 15 09207 g005
Figure 6. Concept of Model Predictive Control.
Figure 6. Concept of Model Predictive Control.
Energies 15 09207 g006
Figure 8. Nonlinear MPC controller inputs and outputs.
Figure 8. Nonlinear MPC controller inputs and outputs.
Energies 15 09207 g008
Figure 9. Straight curvature trajectory.
Figure 9. Straight curvature trajectory.
Energies 15 09207 g009
Figure 10. Circular reference trajectory.
Figure 10. Circular reference trajectory.
Energies 15 09207 g010
Figure 11. Circular reference trajectory.
Figure 11. Circular reference trajectory.
Energies 15 09207 g011
Table 1. Parameters of Tello quad-rotor.
Table 1. Parameters of Tello quad-rotor.
ParametersValues
Mass0.8 [kg]
J xx 0.0097
J yy 0.0097
J zz 0.017
b1
d0.08
l0.06 [m]
g9.81 [m/s2]
Table 3. The required parameters of MPC for the Tello quad-rotor.
Table 3. The required parameters of MPC for the Tello quad-rotor.
MPC Parameters
Sample time ( T s )0.1 s
Prediction horizon (P)20 s
Control horizon (M)3 s
MPC Constraints
Boundaries of u 1 [−10–12] Nm
Boundaries of u 2 [−10–12] Nm
Boundaries of u 3 [−10–12] Nm
Boundaries of u 4 [−10–12] Nm
MPC Weights
Translation motion along x 1
Translation motion along y 1
Translation motion along z 1
Pitch motion along ϕ 0.1
Roll motion along θ 0.1
Yaw motion along ψ 0.1
Table 4. The required parameters of nonlinear MPC for Tello quad-rotor.
Table 4. The required parameters of nonlinear MPC for Tello quad-rotor.
Nonlinear MPC Parameters
Sample time ( T s )0.1 s
Prediction Horizon (P)18 s
Control Horizon (M)3 s
Nonlinear MPC Constraints
Boundaries of u 1 [0–12] Nm
Boundaries of u 2 [0–10] Nm
Boundaries of u 3 [0–10] Nm
Boundaries of u 4 [0–10] Nm
Nonlinear MPC Weights
Translation motion along x 1
Translation motion along y 1
Translation motion along z 1
Pitch motion along ϕ 1
Roll motion along θ 1
Yaw motion along ψ 1
Table 5. Calculation of the average control effort value and the execution time.
Table 5. Calculation of the average control effort value and the execution time.
Trajectory/Controller1st Trajectory2nd Trajectory3rd Trajectory
Δu [Nm]/
ExTime [ms]
ΔuExTimeΔuExTimeΔuExTime
LMPC3.1678642.7054631.422962
NLMPC5.91886.85.237964.89555.7
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Benotsmane, R.; Vásárhelyi, J. Towards Optimization of Energy Consumption of Tello Quad-Rotor with Mpc Model Implementation. Energies 2022, 15, 9207. https://doi.org/10.3390/en15239207

AMA Style

Benotsmane R, Vásárhelyi J. Towards Optimization of Energy Consumption of Tello Quad-Rotor with Mpc Model Implementation. Energies. 2022; 15(23):9207. https://doi.org/10.3390/en15239207

Chicago/Turabian Style

Benotsmane, Rabab, and József Vásárhelyi. 2022. "Towards Optimization of Energy Consumption of Tello Quad-Rotor with Mpc Model Implementation" Energies 15, no. 23: 9207. https://doi.org/10.3390/en15239207

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop