Next Article in Journal
Shear Strength Prediction for RCDBs Utilizing Data-Driven Machine Learning Approach: Enhanced CatBoost with SHAP and PDPs Analyses
Previous Article in Journal
Randomized Feature and Bootstrapped Naive Bayes Classification
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Nonlinear Output Feedback Control for Parrot Mambo UAV: Robust Complex Structure Design and Experimental Validation

by
Asmaa Taame
1,*,
Ibtissam Lachkar
1,
Abdelmajid Abouloifa
1,
Ismail Mouchrif
1 and
Abdelali El Aroudi
2
1
ESE Lab, École Nationale Supérieure d’Électricité et de Mécanique ENSEM, Hassan II University of Casablanca, Casablanca BP 8118, Morocco
2
Department of Electronics, Electrical Engineering and Automatic Control, Universitat Rovira i Virgili, 43002 Tarragona, Spain
*
Author to whom correspondence should be addressed.
Appl. Syst. Innov. 2025, 8(4), 95; https://doi.org/10.3390/asi8040095
Submission received: 22 May 2025 / Revised: 28 June 2025 / Accepted: 2 July 2025 / Published: 7 July 2025
(This article belongs to the Section Control and Systems Engineering)

Abstract

This paper addresses the problem of controlling quadcopters operating in an environment characterized by unpredictable disturbances such as wind gusts. From a control point of view, this is a nonstandard, highly challenging problem. Fundamentally, these quadcopters are high-order dynamical systems characterized by an under-actuated and highly nonlinear model with coupling between several state variables. The main objective of this work is to achieve a trajectory by tracking desired altitude and attitude. The problem was tackled using a robust control approach with a multi-loop nonlinear controller combined with extended Kalman filtering (EKF). Specifically, the flight control system consists of two regulation loops. The first one is an outer loop based on the backstepping approach and allows for control of the elevation as well as the yaw of the quadcopter, while the second one is the inner loop, which allows the maintenance of the desired attitude by adjusting the roll and pitch, whose references are generated by the outer loop through a standard PID, to limit the 2D trajectory to a desired set path. The investigation integrates EKF technique for sensor signal processing to increase measurements accuracy, hence improving robustness of the flight. The proposed control system was formally developed and experimentally validated through indoor tests using the well-known Parrot Mambo unmanned aerial vehicle (UAV). The obtained results show that the proposed flight control system is efficient and robust, making it suitable for advanced UAV navigation in dynamic scenarios with disturbances.

1. Introduction

The landscape of unmanned aerial vehicles (UAVs) is undergoing a transformational shift driven by advancements in sensor technologies. Miniature drones equipped with cutting-edge technology have emerged as valuable tools for disaster management and strategic operations worldwide. However, fixed-wing quadcopters are complex system that are coupled and underactuated with inherent nonlinearities, hence increasing the complexity of their control strategies and requiring a deep understanding of vehicle dynamics and aerodynamic effects in dynamic and unpredictable environments marked by air turbulence, friction, and magnetic field disturbances.
In the pursuit of precise set point tracking, traditional sliding mode and backstepping controllers have been used, such as in [1,2] where the control strategy was redefined due to their limited consideration of disturbances and uncertainties. The study presented in [3] proposes an approach aimed at enhancing the robustness of trajectory tracking control in systems facing uncertainties by employing discrete switching. However, this approach can induce instability problems. To tackle this issue, the authors introduced an adaptive law to estimate the switching gain, but that comes with challenges, such as overestimating the gain and potentially causing instability as the estimation increases.
To improve flight performance and reject disturbances, several other control methods have been proposed in the literature, such as the disturbance observer-based control (DOBC) and active disturbance rejection control (ADRC) methods, which have attracted the interest of researchers because of their promising results when dealing with intense perturbation rejection. The study by [4] introduced ADRC, a multi-loop methodology incorporating an extended state observer (ESO), nonlinear state error feedback, and a tracking differentiator (TD) to deal with the classical derivative block. While simulations conducted in Matlab/Simulink yielded promising results, experimental validation has not been provided. In the context of the DOBC method with model predictive controllers, Ref. [5] addresses motion control for a four-degrees-of-freedom unmanned underwater vehicle where disturbances affecting the marine vehicle are precisely estimated and rejected. Similarly, in [6] a nonlinear disturbance observer based on predictive control of planar motors was proposed. The effectiveness of the ADRC approach was validated experimentally on a planar motor system.
To develop trajectory tracking, Ref. [7] highlighted the importance of incorporating signal processing, focusing on the combined use of unscented Kalman and cubature Kalman filters. Integrating Kalman filtering and sensor fusion has been addressed in various studies, including those by [8,9] presenting solutions for managing sensor data. This filtering and estimation strategy is especially useful for handling disturbances in dynamic environments. In this work, it is used to improve measurement accuracy and address the challenges of quadcopter control.
Adapting standard Kalman filtering within a control structure aims to push strategic boundaries by enabling accurate measurements, even in noisy conditions. Our goal goes beyond addressing challenges like drag coefficients and aerodynamic friction; we also aim to extend these principles to the dynamics by adding wind to the proposed Parrot Mambo, chosen for its compatibility with Matlab/Simulink. Using Parrot Mambo ensures a smooth transition from simulation to real-world scenarios, thus strengthening the practical relevance of the results. Drawing on recent advancements in the field, our work integrates insights from the backstepping control strategy, building on the analysis of Kalman filtering presented by [10].
The proposed control framework combines advanced filtering methods with a robust backstepping approach and PID regulation to achieve reliable trajectory tracking in dynamic indoor environments. The focus is on the development of a robust strategy of control for both attitude and altitude motion, which would be particularly resilient to external disturbances. The contributions of this work, in comparison to prominent existing works, are succinctly outlined below:
Robust complex nonlinear structure with cascaded backstepping nonlinear controller: A closed-loop system is designed to deal with both altitude and attitude control.
Taking into account external disturbances, sensor failure, and uncertainties, the Extended Kalman filtering (EKF) technique is integrated with the sensors to complete the control structure. The aim is to improve the accuracy of the sensed signals, which is crucial for better control system performance.
Experimental Validation: A significant aspect of this research involves its practical application for validation. The proposed controllers, coupled with the extended Kalman estimation strategy, were tested using indoor experiments taking into account the existence of the magnetic field. The wind disturbance from a fan was also taken into consideration to test the efficacy and robustness of the system in real-life dynamic scenarios.
The rest of the paper is structured as follows: Section 2 introduces the Parrot Mambo unmanned aerial vehicle (UAV)’s hardware and software, along with a dynamic model of the quadcopter. Section 3 details the controller design, emphasizing signal processing within the nonlinear control framework. Section 4 describes the implementation of the control structure for practical testing and analyzes the results obtained from the proposed approach. Section 5 discusses the proposed approach in comparison with previously reported methods. Finally, Section 6 concludes the study and suggests directions for future research.

2. System Description and Mathematical Modeling

This section begins with a detailed description of the sensors, actuators, and real-time data acquisition processes of the Parrot Mambo drone. By elucidating these technical features, we aim to construct an accurate model and provide readers with a clear understanding of the operational dynamics that underpin this study.

2.1. Parrot Mambo Sensors and Actuators

The Parrot Mambo drone is a versatile quadcopter equipped with a comprehensive set of sensors and actuators that enhance its dynamic capabilities. The propulsion system consists of four propellers, with two of them rotating clockwise (CW) and the other two rotating counterclockwise (CCW). Each propeller is directly connected to a motor, enabling precise control over thrust and orientation during flight. The Parrot Mambo’s material constituents are introduced in [11]; these are shown in Figure 1.
The onboard inertial measurement unit (IMU) of the Parrot Mambo drone includes the MPU6050, manufactured by InvenSense Inc., San Jose, CA, USA integrates a three-axis gyroscope and a three-axis accelerometer, providing essential data for attitude estimation and regulation. This sensor suite ensures that the drone maintains the desired orientation and responds promptly to movement changes. Additionally, ultrasonic sensors contribute to altitude control by measuring the distance between the drone and the ground, facilitating stable vertical positioning. The inclusion of an optical flow sensor enhances the Parrot Mambo’s ability to detect ground movement, enabling precise horizontal positioning. Connectivity options include Bluetooth and a USB connector, allowing wireless communication and data transfer. A lithium polymer battery powers the drone, offering an optimal power-to-weight ratio (PWR).
The Parrot Mambo drone’s sensors, including the MPU6050, ultrasonic sensors, and optical flow sensors, combined with its quadcopter configuration and connectivity options, collectively form a robust platform for experimentation and application in various drone scenarios.
An additional feature that enhances the Parrot Mambo’s capabilities is the inclusion of a camera extension. This component serves as a central unit, establishing a WiFi connection with Matlab to facilitate real-time data generation during flight. While Bluetooth connectivity alone cannot retrieve flight data, the camera extension significantly improves the drone’s communication capabilities. By integrating this extension, the drone ensures seamless wireless communication with Matlab, providing continuous and immediate data generation throughout the flight. This feature not only broadens the scope of the Parrot Mambo’s applications but also increases its value in research and experimentation, offering users a comprehensive and dynamic platform for data-driven analysis.
The physical parameters of the Parrot Mambo model are summarized in Table 1 below.

2.2. System Mathematical Modeling

In formulating a precise physical model for the Parrot Mambo UAV, it is imperative to meticulously account for various aerodynamic influences, including gravity, propeller thrust, air resistance, aerodynamic torque, and the torque generated by gyroscopic motion. In the pursuit of enhancing the model’s fidelity to real-world dynamics, it becomes paramount to incorporate random uncertainties applied to the sensors, as discussed in [12]. This imperative consideration contributes to a more accurate representation of the quadcopter’s behavior in diverse and unpredictable scenarios. To ensure a comprehensive and nuanced representation, certain assumptions underpin model construction:
  • The quadcopter is treated as a rigid body with a symmetrical structure, facilitating a simplified yet robust characterization.
  • The alignment of the center of gravity with the quadcopter’s geometrical center is assumed.
  • Euler angles governing the orientation of the UAV ( φ ,   θ ,   ψ ) are constrained within specific bounds: π < φ < π , π < θ < π , and π < ψ < π . This constraint ensures realistic and physically meaningful variations in orientation.
  • Both the position and velocity of the UAV are deemed measurable, providing essential parameters for accurate depiction of its motion.
  • The thrust and drag forces are considered to be proportionally related to the squared velocity of the propellers, aligning with the principles of aerodynamics and motor dynamics.
By adhering to these assumptions and considerations, the ensuing physical model not only captures the fundamental dynamics of the Parrot Mambo but also integrates the essential elements necessary for precise analyses, as in [11]. Before constructing a mathematical model for the quadcopter, it is crucial to establish two reference notations: R g ( O ,   I ,   J ,   K )   and R b (o, i , j , k ), where R g is tied to the ground, providing a fixed frame, while R b is connected to the body of the UAV. The center ‘o’ of R b aligns with the quadcopter’s mass center, and ( x R b ,   y R b ,   z R b ) represents its position relative to the Earth. Euler angles, or ( φ ,   θ ,   ψ ) , describe how the quadcopter is tilted or turned. To create a realistic quadcopter model, we must consider all aerodynamic effects, especially those influenced by the mechanical movements of the propellers. These factors play a crucial role in shaping the quadcopter’s motion and behavior. Understanding spatial references, positions, orientation dynamics, and aerodynamic effects is essential for building an accurate mathematical model that reflects the real-world behavior of the quadcopter. The modeling approach is based on Newton’s laws and Euler’s theorem. The physical model of the quadcopter can be described by the following equations:
η ˙ = f ( η , u ) + w k ζ = h ( η ) + v k
x ˙ 1 = x 2 x ˙ 2 = u 1 m cos ψ 1 sin θ 1 cos φ 1 + sin ψ 1 sin φ 1 C d x m x 2 + w k
y ˙ 1 = y 2 y ˙ 2 = u 1 m cos φ 1 sin ψ 1 sin θ 1 cos ψ 1 sin φ 1 C d y m y 2 + w k
z ˙ 1 = z 2 z ˙ 2 = u 1 m cos θ 1 cos φ 1 C d z m z 2 g + w k
φ ˙ 1 = φ 2 φ ˙ 2 = l u 2 I x C a x I x   φ 2 2 J r Ω r I x θ 2 I z I y I x θ 2 ψ 2 + w k
θ ˙ 1 = θ 2 θ ˙ 2 = l u 3 I y C a y I y   θ 2 2 + J r Ω r I y φ 2 I x I z I y φ 2 ψ 2 + w k
ψ ˙ 1 = ψ 2 ψ ˙ 2 = u 4 I z     C a z I z   ψ 2 2     I y I x I z φ 2 θ 2 + w k
where:
-
  w k and v k are, respectively, the model uncertainties and sensor measurement noise. They correspond to unmeasurable white noise that affects the model dynamics;
-
u 1 represents the total thrust force, while u 2 , u 3 and u 4 are the total torque for roll, pitch, and yaw, respectively.
-
x 1 ,   y 1 ,   z 1 T and φ 1 ,   θ 1 ,   ψ 1 T are, respectively, linear and angular positions.
-
x 2 ,   y 2 ,   z 2 T and φ 2 ,   θ 2 ,   ψ 2 T are, respectively, linear and angular velocities.
-
To simplify the notation, we define Ω r   = ω 1 2     ω 2 2   +   ω 3 2     ω 4 2 .
The quadrotor trajectory can be created by combining the speeds of the four rotors. Then, the control inputs can be defined as:
u 1 u 2 u 3 u 4 = K b K b K b K b K b 0 K b 0 0 K b 0 K b K d K d K d K d ω 1 2 ω 2 2 ω 3 2 ω 4 2

3. Controller Synthesis

3.1. Control Objectives

The main goal of the study is to ensure accurate control of the reference trajectories ( x * ,   y * ,   z * )   in both tracking and regulation modes. To prevent potential instability or erratic movements, the angle ψ is fixed. This guarantees a stable and controlled trajectory while respecting the manufacturer’s motor limitations, ensuring that mechanical and performance constraints are not exceeded. Additionally, the control system should be robust against external disturbances and uncertainties, ensuring safe and reliable operation even in dynamic environments or varying conditions.

3.2. Sensor Fusion Algorithm

To enhance the quadcopter’s accuracy and robustness, various sensors, including ultrasonic, IMU, and optical flow, are integrated as shown in Figure 2. This sensor fusion addresses uncertainties in the physical model and perturbations in sensor measurements. Conventional sensor fusion techniques, including Dempster–Shafer theory, particle filtering (e.g., the Sequential Monte Carlo method discussed by [13]), and the federated filtering approach introduced by [14], which integrate data from multiple sensors within either centralized fusion (CF) or decentralized fusion (DF) frameworks, remain susceptible to the adverse effects of sensor noise contamination. To mitigate this, the EKF approach is employed. Unlike traditional filters that remove radio interference, the EKF is a numerical estimator that reduces noise and improves system reliability by addressing uncertainty through a mathematical approach.

3.3. Overview and Synthesis of Kalman Filtering

3.3.1. Kalman Filtering in Drone Piloting

Noise and uncertainty make controlling the quadcopter a hard task to accomplish; one tool that is known to be powerful enough to overcome these obstacles is Kalman filtering. Ref. [15] highlights the importance of integrating KF, where the experimental results demonstrated that the Kalman-based UAV tracking model significantly outperformed existing particle filters. It iteratively combined dynamic model prediction with noisy sensor data to refine and correct the quadcopter’s state vector, as described in Figure 3. This resulted in robust as well as accurate estimation despite disturbances during the flight. Kalman filtering’s strength lies in finding a good equilibrium between the prediction of the system’s future state, on one hand, and corrections to it based on sensor measurement input, on the other. Thus, guaranteeing unmatchable efficiency when estimating the position and velocity of the UAV. This is why the Kalman algorithm dominates modern-day technology, ranging from GPS receivers to spacecraft and unmanned aerial vehicles.
The Kalman gain is used to adaptively weight the two sources of information model dynamics and sensor data from onboard sensors. These sensors provide essential data about the UAV’s velocity, orientation, and surrounding environment. Achieving stable flight depends on using well-chosen covariance matrices and optimal Kalman gain, enabling robust and adaptive state estimation.

3.3.2. Extended Kalman Filter Synthesis

In the following sections, we delve into the implementation details of the extended Kalman filter for a nonlinear model of the UAV based on [16]’s theory. Initially, the Kalman filter predicts the forthcoming system state based on the current estimated state η ^ k 1 / k 1 , established upon setting up all initial conditions:
η ^ 0 / 0 = E ( η 0 )
P ^ 0 / 0 = E ( ( η 0 η ^ 0 / 0 ) ( η 0 η ^ 0 / 0 ) T )
As in (1), the model noise w k can be expressed as a zero-mean white Gaussian noise that captures system model discrepancies or uncertainties. The mathematical format for w k   ~   0 ,   Q k , where Q k is the covariance matrix of the model noise. The same case applies to observation noise v k , which is a zero-mean white Gaussian noise that represents inaccuracies in sensor measurements and has covariance R k . The mathematical representation for this is v k   ~   ( 0 ,   R k ) .
We denote the state vector η k at time step k as follows:
η k = x k y k z k φ k θ k ψ k T
The physical model representation in (1) can be assimilated to:
η k + 1 = f ( η k , u k ) + w k ζ k + 1 = h ( η k ) + v k
Here, f represents the nonlinear system dynamics function, u k is the control input, and h is the measurement function. w k and v k are mutually uncorrelated with zero means E w k   v k T = 0 for all values of k, where E [ · ] stands for the expectation operator. Figure 4 summarizes the EKF approach in the Parrot Mambo’s flight control system (FCS). We then introduce the predicted state η ~ k / k 1 .
η ~ k / k 1 = F ( η ^ k 1 / k 1 , u k )
Furthermore, the level of uncertainty associated with the prediction is as follows:
P ~ k / k 1 = E ( ( η k / k 1 η ~ k / k 1 ) ( η k / k 1 η ~ k / k 1 ) T )
P ~ k / k 1 = F k 1   P ^ k 1 / k 1   F k 1 T   +   Q k 1
Here, Q k 1 represents the process noise covariance matrix at k−1, and F k 1 is the Jacobian matrix that is given by:
F k = F ( η k , u k ) η k T | η k = η ^ ( k / ( k 1 ) )
where F k is the Jacobian matrix of partial derivatives of F with respect to η k .
In the correction step, we incorporate sensor measurements to update the state estimate based on the prediction. First, the optimization of the Kalman filter gain is determined by:
d ( T r ( P ~ k / k 1 ) ) d K k = 0
K k is the Kalman gain matrix, which can be expressed as follows:
K k = P ~ k / k 1   H k T   ( H k   P ~ k / k 1   H k   +   R k ) 1
where H k is the Jacobian matrix of the measurement function evaluated at k given by:
H k = h ( η k ) η k T | η k = η ~ ( k / k )
Subsequently, the Kalman filter refines the prediction to η ~ k / k 1 and adjusts the level of uncertainty, P ~ k / k 1 , based on the current state (step k) after receiving measurements ζ k , yielding:
η ^ k / k = η ~ k / k 1 + K k ( ζ k h ( η ~ k / k 1 ) )
We may then update the covariance matrix to reflect the incorporation of sensor measurements. The covariance update equation is given by:
P ^ k / k = ( I K k H k ) P ~ k / k 1

3.4. Control Strategy

The core of the control strategy is the flight control system, but it also relies on the Kalman filter estimator discussed above, along with transfer blocks for Earth-to-body frame transformation and force-to-angular speed transformation, as illustrated in the figure below.
The FCS structure in Figure 5 is based on regulator C1, managing altitude and yaw ( z and ψ ), and regulator C2, controlling roll and pitch ( φ and θ ) intrinsically ( x R b ,   y R b ) . Block C1 is a nonlinear backstepping approach, while C2 consists of two nested loops: an inner loop that uses backstepping and an outer loop with a PID controller. This modular control strategy allows flexibility towards different desired scenarios, ensuring optimal performance under varying flight conditions. The output signals from the sensor fusion stage are filtered with EKF. The Earth-to-body frame blocks facilitate coordinate transformations for calculation purposes. The forces-to-angular speed block transfers inputs u 1 ,   u 2 ,   u 3 , and u 4 to outputs ω 1 ,   ω 2 ,   ω 3 , and ω 4 , which serve as command inputs for the different rotors.
Flight Control System:
C1 block
According to (4) and (7), the instantaneous mathematical model describing the system altitude and yaw angle can be expressed by the following nonlinear differential equations.
z ˙ 1 = z 2 z ˙ 2 = u 1 m cos θ 1 cos φ 1 C d z m z 2 g + w k
ψ ˙ 1 = ψ 2 ψ ˙ 2 = u 4 I z C a z I z ψ 2 2 I y I x I z φ 2 θ 2 + w k
Let the tracking errors defined as:
e z 1 = z 1 z 1 * ;   e ψ 1 = ψ 1 ψ 1 *  
where
e z 1 describes altitude tracking error;
z 1 * is the desired trajectory altitude specified by a reference model;
e ψ 1 is the yaw tracking error;
ψ 1 * is the desired orientation specified by a reference model.
Step 1: Based on the Equation above, the derivative of the tracking errors therefore is
e ˙ z 1 = z 2 z ˙ 1 * e ˙ ψ 1 = ψ 2 ψ ˙ 1 *
To ensure stability, the first Lyapunov candidate functions are given by:
V 1 z = 1 2 e z 1 2 V 1 ψ = 1 2 e ψ 1 2
Its time derivative is given by:
V ˙ 1 z   =   e z 1 e ˙ z 1   =   e z 1   z 2     z ˙ 1 * V ˙ 1 ψ   =   e ψ 1 e ˙ ψ 1   =   e ψ 1   ψ 2     ψ ˙ 1 *
To ensure stability, the derivative of the Lyapunov functions must be negative. For that, the following new virtual control laws to stabilize the system and zero the tracking errors are suggested:
z 2 *   =   C z 1   e z 1   +   z ˙ 1 * ψ 2 *   =   C ψ 1   e ψ 1   +   ψ ˙ 1 *
where C z 1 and C ψ 1 are non-zero positive constants.
Now, considering Lyapunov derivative functions, we have:
V ˙ 1 z   =   C z 1   e z 1 2 V ˙ 1 ψ   =   C ψ 1   e ψ 1 2
Step 2: The augmented second Lyapunov candidate functions are introduced as:
e z 2   =   z 2     z 2 * e ψ 2   =   ψ 2     ψ 2 *
Let us consider the following choice for the augmented Lyapunov function:
V 2 z   =   V 1 z   +   1 2 e z 1 2 V 2 ψ   =   V 1 ψ   +   1 2 e ψ 1 2
Using the previous Equations, we obtain:
V ˙ 2 z   =   C z 1   e z 1 2   +   e z 2   z ˙ 2     z ˙ 2 * V ˙ 2 ψ   =   C ψ 1   e ψ 1 2   +   e ψ 2   ψ ˙ 2     ψ ˙ 2 *
Combining (4), (7), and (31), we have:
V ˙ 2 z = C z 1 e z 1 2 + e z 2 u 1 m cos θ 1 cos φ 1 C d z m z 2 g + C z 1 e ˙ z 1 z ¨ 1 * V ˙ 2 ψ = C ψ 1 e ψ 1 2 + e ψ 2 u 4 I z C a z I z   ψ 2 2 I y I x I z φ 2 θ 2 + C ψ 1 e ˙ ψ 1 ψ ¨ 1 *
Our objective is to make V ˙ 2 i negative by the next choice with i = { z ; ψ } :
u 1 m cos θ 1 cos φ 1 C d z m z 2 g + C z 1 e ˙ z 1 z ¨ 1 * = C z 2 e z 2 u 4 I z C a z I z ψ 2 2 I y I x I z φ 2 θ 2 + C ψ 1 e ˙ ψ 1 ψ ¨ 1 * = C ψ 2 e ψ 2
where C i 2 is a positive regulator parameter. The combination of Equation (33) leads to the control laws, given by:
u 1 = m cos θ 1 cos φ 1 C z 2 e z 2 C d z m z 2 + g C z 1 e ˙ z 1 + z ¨ 1 * u 4 = I z C ψ 2 e ψ 2 + C a z I z ψ 2 2 + I y I x I z φ 2 θ 2 C ψ 1 e ˙ ψ 1 + ψ ¨ 1 *
C2 block
a.
Inner Loop: Nonlinear Backstepping Control
According to the instantaneous mathematical model describing the Parrot Mambo (1) and similarly to C1, let the tracking errors defined as:
  e φ 1 = φ 1 φ 1 * ;   e φ 2 = φ 2 φ ˙ 1 * C φ 1   e φ 1 e θ 1 = θ 1 θ 1 * ;   e θ 2 = θ 2 θ ˙ 1 * C θ 1   e θ 1
where:
e φ 1 , e θ 1 , are, respectively, roll, and pitch tracking errors.
e φ 2 , e θ 2 , are the derivatives of the tacking errors introduced before.
φ 1 * , θ 1 * are the desired orientation specified by a reference model.
Control inputs u 2 and u 3 , which are responsible for generating the roll and pitch controls, can be calculated as:
u 2 = I x C φ 2 e φ 2 + C a x I x φ 2 2 + J r Ω r I x θ 2 + I z I y I x θ 2 ψ 2 C φ 1 e ˙ φ 1 + φ ¨ 1 * u 3 = I y C θ 2 e θ 2 + C a y I y θ 2 2 J r Ω r I y φ 2 + I x I z I y φ 2 ψ 2 C θ 1 e ˙ θ 1 + θ ¨ 1 *
where C φ 1 , C φ 2 , C θ 1 , and C θ 2 are positive regulator parameters.
b.
Outer loop: PID
A quadcopter can only achieve a translational movement in the x y axes through roll and pitch angle movement, which technically represents the coupling dynamics in the quadcopter. For position control, since the UAV is operating around hovering, the small-angle assumption ( ψ = 0 ; θ = 0 ; φ = 0 ) is applied:
x ˙ 2 = u 1 m [ cos ψ θ d + sin ψ φ d ] C d x m x 2 + w k
y ˙ 2 = u 1 m [ sin ψ θ d cos ψ φ d ] C d y m y 2 + w k
Let the tracking errors of x and y be defined as:
e x = x 1 x 1 * ;   e y = y 1 y 1 *
Therefore, a virtual control signal is proposed to control the x and y positions using the nonlinear decoupling equations:
φ d = u x sin ψ u y cos ψ
θ d = u y sin ψ + u x cos ψ
and can be implemented with:
u x = K p x e x + K i x e x + K d x e ˙ x
u y = K p y e y + K i y e y + K d y e ˙ y
The PID coefficients are determined empirically by tuning the proportional, integral and derivative gains K p ,   K i and K d based on the observed system responses. This process involved a trial-and-error approach, where the parameters were adjusted one at a time while monitoring the quadcopter’s behavior to achieve balance between performances.

4. Results

This section illustrates the experimental results of the regulator implemented using Matlab/Simulink for a Parrot Mambo UAV to execute the flight controller loops. Experimental validation in the case of indoor navigation, as shown in Figure 6, was performed, providing insights into the real-world performance. To evaluate the performance and accuracy of the Kalman filters employed in the control strategy, as well as the robustness of attitude and altitude control, various scenarios involving the operation of a fan were analyzed. This section presents three types of desired trajectories: step, orbit, and waypoint following. The step and waypoint responses highlight how the FCS addresses the nonlinearity of the control input in the presence of external bounded and unknown disturbance, while orbit demonstrates how the multi-loop controller manages repeated interactions in front of the fan.

4.1. Step Response

Figure 7 and Figure 8 depict the tracking performance under the first scenario of step trajectory. At t = 60   s the fan was activated to inject wind toward the quadcopter. As illustrated in Figure 7, the x and y states converged to their setpoint references within approximately 10 s with no overshoot. The z-axis motion demonstrates that the designed technique could track the desired altitude, achieving a time response of 5 s. The wind applied at t = 60   s was rejected by the FCS within 7 s with few oscillations of the drone, especially on the x and y axes. Euler angles in Figure 8 were maintained around the desired motion, and no oscillation phenomenon was detected. Figure 9 illustrates the real-time 3D trajectory for a step response.

4.2. Orbit Response

Figure 10 and Figure 11 illustrate tracking performance under the second scenario, featuring an orbit motion. At t = 20   s , a disturbance was introduced. In Figure 10, the x and y states converged to their setpoints with minimal steady-state error. The FCS effectively rejected the wind disturbance introduced at t = 20   s , though significant fan airflow could cause divergence. The Euler angles in Figure 11 were kept near the desired trajectory. Figure 12 shows oscillations whenever the UAV was near the fan, yet the control structure managed the disturbance and tracked the reference. Figure 13 depicts the time response of control inputs u 1 , u 2 , u 3 , and u 4 , highlighting increased input demand to counteract wind effects when the fan is activated.

4.3. Waypoint Follower Response

Wind was added at t = 30   s to a waypoint scenario quadrotor to further illustrate the resilience of the FCS. The responses are shown in Figure 14 and Figure 15. The state variables tracked their reference values. The strategy also attenuated the tracking errors with greater commanded inputs to the drone. Figure 16 illustrates the real-time 3D trajectory along with the desired trajectory for a step scenario. Figure 17 shows that the control inputs u 1 , u 2 , u 3 , and u 4 converged without saturation.

5. Discussion

The proposed control strategy ensures stable trajectory tracking under indoor disturbances, as demonstrated by the experimental results. In fact, the findings overcome several limitations found in conventional control methods. Studies [17,18] highlight that, while classical PID controllers are simple and widely used, they are unable to handle the nonlinear dynamics of the quadrotor due to their sensitivity to parameter tuning. As a result, they suffer from significant overshoot and long settling times during takeoff and aggressive maneuvers.
The study in [19] took a different approach but reported a similar limitation. It identified the problem of chattering caused by the discontinuous switching function, which results in degraded performance. To address this, the authors in [20] proposed using a continuous saturation function; however, this introduced filtering delays and increased implementation complexity.
In contrast, the backstepping cascade structure with EKF delivers smooth control action, effectively handles system nonlinearities, and maintains tracking accuracy without inducing overshoot or requiring excessive tuning effort. These advantages are clearly confirmed by the experimental results presented above.

6. Conclusions

This paper proposes a robust complex structure with a cascaded backstepping nonlinear controller combined with EKF signal processing for a Parrot Mambo quadcopter. This structure ensures trajectory tracking control of an underactuated UAV, accounting for dynamic and external disturbances. Practical experiments demonstrate that the Parrot Mambo quadcopter operates effectively, handling horizontal wind disruptions while following a desired trajectory. Using the Lyapunov stability criterion, it is shown that the designed control system is successful, with low tracking errors, and capable of withstanding perturbations like air friction, aerodynamic effects, and unknown indoor wind sources. The FCS, EKF, and sensor fusion algorithm enhances quadcopter accuracy, autonomy, and robustness. The findings lay a foundation for optimizing quadcopter control systems. Future research will focus on expanding outdoor testing and exploring advanced control techniques, potentially integrating actuator failure, asymmetrical quadcopter structures and machine learning for increased autonomy and performance.

Author Contributions

Writing—review and editing, A.T., I.L., A.A., I.M. and A.E.A.; Writing—original draft, A.T.; Visualization, A.T. and I.L.; Validation, Software, Resources, A.T., I.L. and I.M.; Project administration, A.T. and I.L.; Methodology, A.T., I.L., A.A., I.M. and A.E.A.; Investigation, A.T. and I.L.; Funding acquisition, A.T.; Formal analysis, A.T.; Conceptualization, A.T., I.L., A.A., I.M. and A.E.A.; Supervision, A.T. and I.L. All authors have read and agreed to the published version of the manuscript.

Funding

Abdelali El Aroudi acknowledges the support received from the Spanish Ministerio de Ciencia e Innovación under grant PID2023-150839OB-I00 funded by MICIU/AEI/ 10.13039/501100011033 and by “ERDF/EU”.

Data Availability Statement

The original contributions presented in this study are included in the article. Further inquiries can be directed to the corresponding author.

Acknowledgments

The authors would like to thank Arich Ouijdane of the NMSC Team for her collaboration in the development of the experimental environment and data collection.

Conflicts of Interest

The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, or in the decision to publish the results.

Abbreviations

The following abbreviations are used in this manuscript:
List of Acronyms
ADRCActive disturbance rejection control
BAPBarometric air pressure
CBNCCascaded backstepping nonlinear controller
DOBCDisturbance observer-based control
EKFExtended Kalman filtering
ESOExtended state observer
FCSFlight control system
GPSGlobal positioning system
IMUInertial measurement unit
LiPoLithium polymer
PIDProportional integral derivative controller
PWRPower-to-weight ratio
SKFStandard Kalman filtering
TDTracking differentiator
UAVUnmanned aerial vehicle
USBUniversal serial bus
Variables and Parameters
φ, θ, ψRoll, pitch, yaw, respectively
x ,   y ,   z x-coordinate measured along the east–west axis, y-coordinate measured along the north–south axis, and z-coordinate measuring elevation
m Quadrotor mass, kg
I x , I y , I z Rolling, pitching, and yawing moments of inertia, respectively, k g m 2
l Distance between the propeller axis and the mass center of the UAV in m
C d ( x , y , z ) Translational drag coefficients in N / m / s
C a ( x , y , z ) Aerodynamic friction coefficients in N / m / s
K b ,   K d Thrust coefficient in N s 2 and drag coefficient in N m s 2 , respectively
g Gravitational constant in m / s 2
ω i Angular speed of motor i in r a d / s 2
J r   Rotor moment of inertia in k g m 2

References

  1. Krstic, M.; Kanellakopoulos, I.; Kokotovic, P.V. Nonlinear design of adaptive controllers for linear systems. IEEE Trans. Autom. Control 1994, 39, 738–752. [Google Scholar] [CrossRef]
  2. Tripathi, V.K.; Behera, L.; Verma, N. Design of sliding mode and backstepping controllers for a quadcopter. In Proceedings of the 39th National Systems Conference (NSC), Greater Noida, India, 14–16 December 2015. [Google Scholar]
  3. Cho, M.G.; Jung, U.; An, J.-Y.; Choi, Y.-S.; Kim, C.-J. Adaptive trajectory tracking control for rotorcraft using incremental backstepping sliding mode control strategy. Int. J. Aerosp. Eng. 2021, 2021, 4945642. [Google Scholar] [CrossRef]
  4. Mouchrif, I.; Lachkar, I.; Abdelmajid, A.; Taame, A. ADRC control of an unmanned Under-Actuated aerial vehicle. In Lecture Notes in Electrical Engineering; Springer Nature: Singapore, 2024; pp. 1–13. [Google Scholar]
  5. Hu, Y.; Li, B.; Jiang, B.; Han, J.; Wen, C.-Y. Disturbance Observer-Based Model predictive control for an unmanned underwater vehicle. J. Mar. Sci. Eng. 2024, 12, 94. [Google Scholar] [CrossRef]
  6. Huang, S.; Xu, Z.; Cao, G.; Wu, C.; He, J. Nonlinear-disturbance-observer-based predictive control for trajectory tracking of planar motors. IET Electr. Power Appl. 2023, 18, 389–399. [Google Scholar] [CrossRef]
  7. Tang, X.; Zhao, F.; Tang, F.; Wang, H. Nonlinear extended Kalman filter for attitude estimation of the Fixed-Wing UAV. Int. J. Opt. 2022, 1–9. [Google Scholar] [CrossRef]
  8. Taame, A.; Lachkar, I.; Abouloifa, A.; Mouchrif, I. UAV altitude estimation using Kalman Filter and Extended Kalman Filter. In Lecture Notes in Electrical Engineering; Springer Nature: Singapore, 2024; pp. 817–829. [Google Scholar]
  9. Song, E.; Zhu, Y.; Zhou, J.; You, Z. Optimal Kalman filtering fusion with cross-correlated sensor noises. Automatica 2007, 43, 1450–1456. [Google Scholar] [CrossRef]
  10. Jwo, D.-J.; Biswal, A. Implementation and Performance Analysis of Kalman Filters with Consistency Validation. Mathematics 2023, 11, 521. [Google Scholar] [CrossRef]
  11. Noordin, A.; Basri, M.A.M.; Mohamed, Z. Real-Time implementation of an adaptive PID controller for the Quadrotor MAV embedded flight control system. Aerospace 2023, 10, 59. [Google Scholar] [CrossRef]
  12. Berghout, T.; Benbouzid, M. Fault Diagnosis in Drones via Multiverse Augmented Extreme Recurrent Expansion of Acoustic Emissions with Uncertainty Bayesian Optimisation. Machines 2024, 12, 504. [Google Scholar] [CrossRef]
  13. Reineking, T. Particle filtering in the Dempster–Shafer theory. Int. J. Approx. Reason. 2011, 52, 1124–1135. [Google Scholar] [CrossRef]
  14. Negru, S.A.; Geragersian, P.; Petrunin, I.; Guo, W. Resilient Multi-Sensor UAV Navigation with a Hybrid Federated Fusion Architecture. Sensors 2024, 24, 981. [Google Scholar] [CrossRef] [PubMed]
  15. Al-Absi, M.A.; Fu, R.; Kim, K.-H.; Lee, Y.-S.; Al-Absi, A.A.; Lee, H.-J. Tracking unmanned aerial vehicles based on the Kalman filter considering uncertainty and error aware. Electronics 2021, 10, 3067. [Google Scholar] [CrossRef]
  16. Pachter, M.; Chandler, P.R. Universal linearization concept for extended Kalman filters. IEEE Trans. Aerosp. Electron. Syst. 1993, 29, 946–962. [Google Scholar] [CrossRef]
  17. Harikrishnan, S.; Sulficar, A.; Desai, V. Hovering control of a quadcopter using linear and nonlinear techniques. Int. J. Mechatron. Autom. 2018, 6, 120–129. [Google Scholar]
  18. Sheta, A.; Braik, M.; Maddi, D.R.; Mahdy, A.; Aljahdali, S.; Turabieh, H. Optimization of PID Controller to Stabilize Quadcopter Movements Using Meta-Heuristic Search Algorithms. Appl. Sci. 2021, 11, 6492. [Google Scholar] [CrossRef]
  19. Eltayeb, A.; Rahmat, M.F.A.; Basri, M.A.M.. Sliding mode control design for the attitude and altitude of the quadrotor UAV. Int. J. Smart Sens. Intell. Syst. 2020, 13, 1–13. [Google Scholar] [CrossRef]
  20. Xiao, J. Trajectory planning of quadrotor using sliding mode control with extended state observer. Meas. Control 2020, 53, 1300–1308. [Google Scholar] [CrossRef]
Figure 1. Parrot Mambo’s material constituents.
Figure 1. Parrot Mambo’s material constituents.
Asi 08 00095 g001
Figure 2. Sensor fusion along with Kalman strategy architecture.
Figure 2. Sensor fusion along with Kalman strategy architecture.
Asi 08 00095 g002
Figure 3. Enhanced navigation through Kalman filtering.
Figure 3. Enhanced navigation through Kalman filtering.
Asi 08 00095 g003
Figure 4. Schematic diagram of multi-sensor fusion with EKF approach.
Figure 4. Schematic diagram of multi-sensor fusion with EKF approach.
Asi 08 00095 g004
Figure 5. Trajectory tracking structure of underactuated UAV.
Figure 5. Trajectory tracking structure of underactuated UAV.
Asi 08 00095 g005
Figure 6. Experimental environment.
Figure 6. Experimental environment.
Asi 08 00095 g006
Figure 7. Experimental linear positions x, y, and z in the case of a step trajectory.
Figure 7. Experimental linear positions x, y, and z in the case of a step trajectory.
Asi 08 00095 g007
Figure 8. Experimental Euler angles phi, theta, and psi in the case of a step trajectory.
Figure 8. Experimental Euler angles phi, theta, and psi in the case of a step trajectory.
Asi 08 00095 g008
Figure 9. Real time 3-D trajectory of dynamic behavior for an indoor test with fan.
Figure 9. Real time 3-D trajectory of dynamic behavior for an indoor test with fan.
Asi 08 00095 g009
Figure 10. Experimental linear positions x, y, and z in the case of an orbit motion.
Figure 10. Experimental linear positions x, y, and z in the case of an orbit motion.
Asi 08 00095 g010
Figure 11. Experimental Euler angles phi, theta, and psi in the case of an orbit.
Figure 11. Experimental Euler angles phi, theta, and psi in the case of an orbit.
Asi 08 00095 g011
Figure 12. Real time 3-D orbit trajectory of dynamic behavior for an indoor test with fan.
Figure 12. Real time 3-D orbit trajectory of dynamic behavior for an indoor test with fan.
Asi 08 00095 g012
Figure 13. Time response of behavior of input control commands U1, U2, U3, and U4.
Figure 13. Time response of behavior of input control commands U1, U2, U3, and U4.
Asi 08 00095 g013
Figure 14. Experimental linear positions x, y, and z in the case of a waypoint following scenario.
Figure 14. Experimental linear positions x, y, and z in the case of a waypoint following scenario.
Asi 08 00095 g014
Figure 15. Experimental Euler angles phi, theta, and psi in the case of a waypoint-following scenario.
Figure 15. Experimental Euler angles phi, theta, and psi in the case of a waypoint-following scenario.
Asi 08 00095 g015
Figure 16. Real-time 3-D waypoint-following trajectory of the dynamic behavior for an indoor test with fan.
Figure 16. Real-time 3-D waypoint-following trajectory of the dynamic behavior for an indoor test with fan.
Asi 08 00095 g016
Figure 17. Time response of input control commands U1, U2, U3, and U4 in the case of a waypoint-following scenario.
Figure 17. Time response of input control commands U1, U2, U3, and U4 in the case of a waypoint-following scenario.
Asi 08 00095 g017
Table 1. Parrot Mambo model physical parameters.
Table 1. Parrot Mambo model physical parameters.
ParameterValue
m 0.0630   k g
l 0.0624   m
C d ( x , y , z ) 10 1   diag   6 . 2   4 . 5   6 . 9   N s / m
C a ( x , y , z ) 10 1   d i a g   1   1   1 . 1   N s / m
K b 0.0107   N s 2
K d 0 . 7826400   ×   10 3   N m s 2
I x 0 . 0582857   ×   10 3   k g m 2
I y 0 . 0716914   ×   10 3   k g m 2
I z 0 . 1   ×   10 3   k g m 2
J r 0   1021   ×   10 6   k g m 2
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Taame, A.; Lachkar, I.; Abouloifa, A.; Mouchrif, I.; Aroudi, A.E. Nonlinear Output Feedback Control for Parrot Mambo UAV: Robust Complex Structure Design and Experimental Validation. Appl. Syst. Innov. 2025, 8, 95. https://doi.org/10.3390/asi8040095

AMA Style

Taame A, Lachkar I, Abouloifa A, Mouchrif I, Aroudi AE. Nonlinear Output Feedback Control for Parrot Mambo UAV: Robust Complex Structure Design and Experimental Validation. Applied System Innovation. 2025; 8(4):95. https://doi.org/10.3390/asi8040095

Chicago/Turabian Style

Taame, Asmaa, Ibtissam Lachkar, Abdelmajid Abouloifa, Ismail Mouchrif, and Abdelali El Aroudi. 2025. "Nonlinear Output Feedback Control for Parrot Mambo UAV: Robust Complex Structure Design and Experimental Validation" Applied System Innovation 8, no. 4: 95. https://doi.org/10.3390/asi8040095

APA Style

Taame, A., Lachkar, I., Abouloifa, A., Mouchrif, I., & Aroudi, A. E. (2025). Nonlinear Output Feedback Control for Parrot Mambo UAV: Robust Complex Structure Design and Experimental Validation. Applied System Innovation, 8(4), 95. https://doi.org/10.3390/asi8040095

Article Metrics

Back to TopTop