In this comprehensive study, I investigate the design and implementation of a Fuzzy Model Reference Learning Control (FMRLC) scheme for attitude control in quadrotor drones. The motivation stems from the increasing demand for stable and autonomous flight in applications such as precision agriculture, search and rescue, and infrastructure inspection. Quadrotor drones, with their simple mechanical structure and vertical take-off and landing capabilities, have become a focal point in unmanned aerial vehicle research. However, their underactuated and highly nonlinear dynamics pose significant challenges for control systems, especially in the presence of external disturbances like wind gusts and payload variations. My research aims to address these challenges by developing an adaptive control strategy that outperforms conventional methods.
The core of quadrotor drone control lies in the attitude stabilization, which directly affects flight stability and maneuverability. Traditional Proportional-Integral-Derivative (PID) controllers are widely used due to their simplicity, but they require manual tuning of parameters and often lack adaptability to changing conditions. Fuzzy PID control has emerged as an alternative, allowing for automatic parameter adjustment based on heuristic rules. However, the performance of fuzzy PID controllers heavily depends on the predefined rule base and membership functions, which are typically derived from expert knowledge and may not be optimal. To overcome this limitation, I propose integrating FMRLC with fuzzy PID control, creating a self-learning system that refines the fuzzy rules and membership functions in real-time based on the quadrotor drone’s actual performance compared to an ideal reference model. This approach enhances the robustness and adaptability of the attitude control system.

To lay the foundation, I first review the dynamics of a quadrotor drone. A quadrotor drone consists of four rotors arranged in a square configuration, with opposing rotors rotating in opposite directions to balance torque. The motion is controlled by varying the speeds of these rotors. Let the body-fixed frame have axes \(x\), \(y\), and \(z\), and the inertial frame have axes \(X\), \(Y\), and \(Z\). The attitude of the quadrotor drone is described by the Euler angles: roll (\(\phi\)), pitch (\(\theta\)), and yaw (\(\psi\)). The position is given by \((x, y, z)\). The equations of motion can be derived using Newton-Euler formalism. The translational dynamics are:
$$ \ddot{x} = \frac{U_1}{m} (\cos\phi \sin\theta \cos\psi + \sin\phi \sin\psi) $$
$$ \ddot{y} = \frac{U_1}{m} (\cos\phi \sin\theta \sin\psi – \sin\phi \cos\psi) $$
$$ \ddot{z} = \frac{U_1}{m} \cos\phi \cos\theta – g $$
where \(m\) is the mass of the quadrotor drone, \(g\) is the gravitational acceleration, and \(U_1\) is the total thrust force. The rotational dynamics are:
$$ \ddot{\phi} = \frac{U_2 l}{I_{xx}} + \dot{\theta} \dot{\psi} \frac{I_{yy} – I_{zz}}{I_{xx}} $$
$$ \ddot{\theta} = \frac{U_3 l}{I_{yy}} + \dot{\phi} \dot{\psi} \frac{I_{zz} – I_{xx}}{I_{yy}} $$
$$ \ddot{\psi} = \frac{U_4}{I_{zz}} + \dot{\phi} \dot{\theta} \frac{I_{xx} – I_{yy}}{I_{zz}} $$
Here, \(l\) is the arm length from the center to each rotor, \(I_{xx}\), \(I_{yy}\), and \(I_{zz}\) are the moments of inertia, and \(U_2\), \(U_3\), \(U_4\) are the control inputs for roll, pitch, and yaw, respectively. These inputs are related to the rotor speeds \(\omega_i\) as follows:
$$ U_1 = b (\omega_1^2 + \omega_2^2 + \omega_3^2 + \omega_4^2) $$
$$ U_2 = b (\omega_4^2 – \omega_2^2) $$
$$ U_3 = b (\omega_3^2 – \omega_1^2) $$
$$ U_4 = d (\omega_2^2 + \omega_4^2 – \omega_1^2 – \omega_3^2) $$
where \(b\) is the thrust coefficient and \(d\) is the drag coefficient. These equations highlight the nonlinear and coupled nature of the quadrotor drone dynamics, necessitating advanced control strategies.
Traditional PID control for a quadrotor drone involves setting fixed gains for each attitude channel. The control law for, say, the roll angle is:
$$ U_2 = K_p e_\phi + K_i \int e_\phi dt + K_d \dot{e}_\phi $$
where \(e_\phi = \phi_d – \phi\) is the roll angle error, with \(\phi_d\) being the desired roll. While PID control can stabilize the quadrotor drone under nominal conditions, it suffers from several drawbacks: the gains must be tuned manually, which is time-consuming; it cannot adapt to model uncertainties or external disturbances; and it may lead to poor performance in dynamic environments. To address these issues, fuzzy PID control has been adopted. In fuzzy PID control, the gains \(K_p\), \(K_i\), and \(K_d\) are adjusted online based on fuzzy rules that map the error \(e\) and error change \(\Delta e\) to gain adjustments \(\Delta K_p\), \(\Delta K_i\), and \(\Delta K_d\). The fuzzy controller typically uses membership functions and a rule base like the one shown in Table 1.
| \(\Delta e\) \ \(e\) | NB | NM | NS | ZO | PS | PM | PB |
|---|---|---|---|---|---|---|---|
| NB | PB | PB | PM | PM | PS | ZO | ZO |
| NM | PB | PB | PM | PS | PS | ZO | NS |
| NS | PM | PM | PM | PS | ZO | NS | NS |
| ZO | PM | PM | PS | ZO | NS | NM | NM |
| PS | PS | PS | ZO | NS | NS | NM | NM |
| PM | PS | ZO | NS | NM | NM | NM | NB |
| PB | ZO | ZO | NM | NM | NM | NB | NB |
Here, NB, NM, NS, ZO, PS, PM, PB represent negative big, negative medium, negative small, zero, positive small, positive medium, and positive big, respectively. Similar tables are used for \(\Delta K_i\) and \(\Delta K_d\). The membership functions for inputs and outputs are typically triangular or Gaussian shapes defined on normalized universes of discourse. While this approach improves adaptability, the rule base and membership functions are static and may not be optimal for all operating conditions of the quadrotor drone. This is where FMRLC comes into play.
Fuzzy Model Reference Learning Control (FMRLC) is an adaptive control technique that combines fuzzy logic with a reference model to online tune the fuzzy controller’s parameters. The core idea is to use a reference model that defines the desired closed-loop behavior of the quadrotor drone. The actual output is compared to the reference model output, generating a generalized error \(y_e\) and its change \(y_{ec}\). These signals are fed into a fuzzy inverse controller, which produces corrections to the fuzzy PID controller’s rule base or membership functions. The structure of the FMRLC system for quadrotor drone attitude control is illustrated in Figure 1 (note: figure not shown, but described). In my implementation, the reference model is chosen as a first-order transfer function:
$$ G_m(s) = \frac{1}{\tau s + 1} $$
where \(\tau\) is the time constant, selected to achieve a fast and smooth response with minimal overshoot. This model represents the ideal disturbance response for the quadrotor drone’s attitude angles. For instance, for the roll channel, the reference model output \(\phi_m\) is compared to the actual roll angle \(\phi\), yielding the generalized error \(y_e = \phi_m – \phi\) and \(y_{ec} = \Delta y_e\). These are inputs to the fuzzy inverse controller.
The fuzzy inverse controller has the same structure as the fuzzy PID controller. Its inputs are \(y_e\) and \(y_{ec}\), and its output is a correction factor \(p\) that adjusts the membership functions of the fuzzy PID controller’s outputs. Specifically, the output membership functions for \(\Delta K_p\), \(\Delta K_i\), and \(\Delta K_d\) are shifted along the universe of discourse by an amount proportional to \(p\). This shifting is performed online, allowing the fuzzy PID controller to adapt its behavior based on the quadrotor drone’s performance. The fuzzy sets for the inverse controller are also NB, NM, NS, ZO, PS, PM, PB. The rule base for the inverse controller is designed to reduce the generalized error. For example, if \(y_e\) is PB and \(y_{ec}\) is NB, the output \(p\) might be NB to decrease the gains. A sample rule base is given in Table 2.
| \(y_{ec}\) \ \(y_e\) | NB | NM | NS | ZO | PS | PM | PB |
|---|---|---|---|---|---|---|---|
| NB | PB | PM | PS | ZO | NS | NM | NB |
| NM | PM | PM | PS | ZO | NS | NM | NM |
| NS | PS | PS | PS | ZO | NS | NS | NS |
| ZO | ZO | ZO | ZO | ZO | ZO | ZO | ZO |
| PS | NS | NS | NS | ZO | PS | PS | PS |
| PM | NM | NM | NS | ZO | PS | PM | PM |
| PB | NB | NM | NS | ZO | PS | PM | PB |
The learning mechanism works as follows: at each control interval, the fuzzy inverse controller computes \(p\), which is then used to modify the output membership functions of the fuzzy PID controller. For example, if the current membership function for \(\Delta K_p\) is a triangular function centered at \(c\), it is shifted to \(c + \alpha p\), where \(\alpha\) is a learning rate gain. This adaptive adjustment ensures that the fuzzy PID controller evolves to minimize the difference between the quadrotor drone’s response and the reference model, leading to improved stability and performance.
To validate the proposed FMRLC-based fuzzy adaptive PID controller, I conducted both simulations and real-world experiments. The quadrotor drone platform used in experiments is based on a X450 frame with brushless motors, electronic speed controllers, and a flight control board equipped with an STM32 microcontroller and an MPU-6050 inertial measurement unit. The control algorithms were implemented in C and embedded into the flight controller. For simulation, I developed a nonlinear dynamic model of the quadrotor drone in MATLAB/Simulink, incorporating actuator dynamics and sensor noise. The parameters of the quadrotor drone are listed in Table 3.
| Parameter | Symbol | Value | Unit |
|---|---|---|---|
| Mass | \(m\) | 1.2 | kg |
| Arm Length | \(l\) | 0.25 | m |
| Moment of Inertia (x-axis) | \(I_{xx}\) | 0.015 | kg·m² |
| Moment of Inertia (y-axis) | \(I_{yy}\) | 0.015 | kg·m² |
| Moment of Inertia (z-axis) | \(I_{zz}\) | 0.025 | kg·m² |
| Thrust Coefficient | \(b\) | 3.13e-5 | N·s² |
| Drag Coefficient | \(d\) | 7.5e-7 | N·m·s² |
The control performance was evaluated for attitude stabilization under disturbances. I compared three controllers: conventional PID, fuzzy PID, and the proposed FMRLC-based fuzzy adaptive PID. The evaluation metrics include settling time, overshoot, and integral absolute error (IAE). For the roll and pitch channels, step responses were analyzed. The IAE is defined as:
$$ \text{IAE} = \int_0^T |e(t)| dt $$
where \(e(t)\) is the attitude angle error and \(T\) is the simulation time. The results from simulation are summarized in Table 4.
| Controller | Settling Time (s) | Overshoot (%) | IAE (deg·s) |
|---|---|---|---|
| Conventional PID | 2.5 | 15.2 | 3.8 |
| Fuzzy PID | 1.8 | 8.7 | 2.1 |
| FMRLC-Based Fuzzy PID | 1.2 | 3.5 | 1.0 |
The FMRLC-based controller shows significant improvement, with faster settling, reduced overshoot, and lower error. This demonstrates the effectiveness of the learning mechanism in adapting to the quadrotor drone’s dynamics. Additionally, I tested the controllers under wind disturbances modeled as random forces applied to the quadrotor drone’s center of mass. The FMRLC-based controller maintained stability with smaller deviations, as shown in Figure 2 (note: figure not shown).
For experimental validation, I performed hover tests with a center-of-gravity offset by attaching a battery to one side of the quadrotor drone. This creates an inherent imbalance, challenging the attitude controller. The motor speeds were monitored via PWM signals, as they are linearly related to thrust. Stable PWM outputs indicate minimal quadrotor drone抖动 and good self-stabilization. The PWM waveforms for traditional fuzzy PID and FMRLC-based fuzzy adaptive PID are compared in Figure 3 (note: figure not shown). The FMRLC-based controller produced smoother and less variable PWM signals, confirming better stability. Quantitative data from experiments are given in Table 5.
| Controller | PWM Standard Deviation (us) | Max Attitude Error (deg) | Hover Duration (min) |
|---|---|---|---|
| Traditional Fuzzy PID | 45.3 | 5.2 | 8.5 |
| FMRLC-Based Fuzzy PID | 22.1 | 2.8 | 12.0 |
The FMRLC-based controller reduced PWM variation by over 50% and extended stable hover time, highlighting its robustness. These results align with simulations and validate the practical benefits of integrating FMRLC into quadrotor drone attitude control.
Further analysis involves the tuning of the learning rate \(\alpha\) and reference model time constant \(\tau\). I conducted a parameter sensitivity study to optimize these for the quadrotor drone. The learning rate affects how aggressively the membership functions are adjusted. Too high a value can lead to instability, while too low slows adaptation. Through trial and error, I found \(\alpha = 0.1\) to be suitable. The time constant \(\tau\) dictates the desired response speed; I selected \(\tau = 0.2\) s for a balance between speed and overshoot. The adaptation process can be described by the following update law for the output membership function centers:
$$ c_k(t+1) = c_k(t) + \alpha p(t) $$
where \(c_k\) is the center for the \(k\)-th fuzzy set. This simple yet effective learning rule enables continuous improvement of the quadrotor drone’s control performance.
In terms of computational complexity, the FMRLC scheme adds minimal overhead to the fuzzy PID controller. The fuzzy inverse controller requires additional rules and calculations, but modern microcontrollers like the STM32 can handle this in real-time. The sampling frequency for attitude control was set to 200 Hz, ensuring timely updates. Memory usage is also manageable, as only the membership function parameters need storage. Thus, the proposed method is feasible for embedded implementation on quadrotor drones.
Beyond attitude control, the FMRLC approach can be extended to other aspects of quadrotor drone autonomy, such as trajectory tracking or payload handling. The learning capability allows the quadrotor drone to adapt to varying payloads or aerodynamic changes. For instance, if the quadrotor drone carries a slung load, the dynamics alter, and FMRLC can help maintain stability. Future work will explore multi-objective optimization of the reference model and rule bases using genetic algorithms or reinforcement learning. Additionally, integrating sensor fusion techniques like Kalman filtering could further enhance the accuracy of attitude estimation for the quadrotor drone.
In conclusion, my research demonstrates that FMRLC-based fuzzy adaptive PID control significantly improves the attitude stability of quadrotor drones compared to traditional methods. By online tuning the fuzzy controller’s membership functions based on a reference model, the system achieves better adaptability to disturbances and model uncertainties. Both simulation and experimental results confirm reduced errors, faster response, and enhanced hover performance. This approach offers a promising direction for developing intelligent and robust flight control systems for quadrotor drones, paving the way for more reliable autonomous operations in complex environments. The continuous learning aspect ensures that the quadrotor drone can maintain optimal performance over time, making it suitable for long-duration missions. As quadrotor drones continue to evolve, adaptive control strategies like FMRLC will play a crucial role in unlocking their full potential.
