In recent years, the rapid advancement of artificial intelligence, computer science, and precision manufacturing has propelled the development of autonomous flying drones toward miniaturization and intelligence. These quadrotor drones have become indispensable tools in various high-stakes applications, including aerial photography, geographic mapping, search and rescue operations, and precision agriculture. At the heart of enabling autonomous flight lies the control algorithm, a focal point of ongoing research. Numerous control strategies have been proposed based on the specific dynamic models of drones. Among these, Linear Quadratic Regulator (LQR) optimal control techniques stand out due to their precision and ease of implementation, making them widely adopted in automation and control fields. This article delves into the design of an LQR-based control algorithm for autonomous flight of a quadrotor drone. We begin by establishing a rigid-body dynamic model of the quadrotor drone, proceed to design an LQR controller for trajectory tracking, and validate the approach through comprehensive simulations.

The fundamental structure of a quadrotor drone typically follows a “+” or “X” configuration. For this study, we consider a “+” configuration where four rotors are mounted at the ends of two perpendicular arms. Rotors 1 and 3 rotate clockwise, while rotors 2 and 4 rotate counter-clockwise to balance the total torque. The dynamic model is derived using the Euler-Newton method, describing the translational and rotational motions in three-dimensional space. The state variables include the position coordinates \(P_x, P_y, P_z\) in the inertial frame, the Euler angles \(\phi, \theta, \psi\) (roll, pitch, yaw) representing the orientation, and the angular velocities \(p, q, r\) in the body frame. The control inputs are the total thrust \(T\) and the torques \(\tau_\phi, \tau_\theta, \tau_\psi\) about the body axes.
The complete nonlinear dynamic equations are given by:
$$
\begin{align*}
\dot{P}_x &= (\cos\phi \sin\theta \cos\psi + \sin\phi \sin\psi) \frac{T}{m}, \\
\dot{P}_y &= (\cos\phi \sin\theta \sin\psi – \sin\phi \cos\psi) \frac{T}{m}, \\
\dot{P}_z &= \cos\phi \cos\theta \frac{T}{m} – g, \\
\dot{p} &= \frac{I_{yy} – I_{zz}}{I_{xx}} q r – \frac{J_r}{I_{xx}} q \omega_\Gamma + \frac{\tau_\phi}{I_{xx}}, \\
\dot{q} &= \frac{I_{zz} – I_{xx}}{I_{yy}} p r + \frac{J_r}{I_{yy}} p \omega_\Gamma + \frac{\tau_\theta}{I_{yy}}, \\
\dot{r} &= \frac{I_{xx} – I_{yy}}{I_{zz}} p q + \frac{\tau_\psi}{I_{zz}},
\end{align*}
$$
where \(m\) is the mass, \(g\) is gravitational acceleration, \(I_{xx}, I_{yy}, I_{zz}\) are moments of inertia, \(J_r\) is the rotor inertia, and \(\omega_\Gamma = \omega_1 – \omega_2 + \omega_3 – \omega_4\) is the overall rotor speed imbalance. The control inputs are generated by the four rotors. Each rotor produces a thrust \(T_i = c_T \omega_i^2\) and a reaction torque \(Q_i = c_Q \omega_i^2\), where \(c_T\) and \(c_Q\) are the thrust and torque coefficients, and \(\omega_i\) is the rotational speed of the \(i\)-th rotor. For a quadrotor drone with arm length \(d\), the mapping from rotor speeds to total thrust and torques is:
$$
\begin{bmatrix}
T \\
\tau_\phi \\
\tau_\theta \\
\tau_\psi
\end{bmatrix}
=
\begin{bmatrix}
c_T & c_T & c_T & c_T \\
0 & d c_T & 0 & -d c_T \\
-d c_T & 0 & d c_T & 0 \\
-c_Q & c_Q & -c_Q & c_Q
\end{bmatrix}
\begin{bmatrix}
\omega_1^2 \\
\omega_2^2 \\
\omega_3^2 \\
\omega_4^2
\end{bmatrix}.
$$
This model captures the essential dynamics of a quadrotor drone, but it is nonlinear and coupled. To apply linear control techniques like LQR, we must linearize the model around a hover condition or a reference trajectory. For simplicity, we consider hover as the equilibrium point where the quadrotor drone is level (\(\phi = 0, \theta = 0, \psi = 0\)) and at a constant altitude. The linearization yields a state-space representation that is crucial for controller design.
We define the state vector \(\mathbf{X} = [P_x, P_y, P_z, \dot{P}_x, \dot{P}_y, \dot{P}_z, \phi, \theta, \psi, p, q, r]^T\), which includes positions, velocities, Euler angles, and angular rates. The control input vector is \(\mathbf{u} = [T, \tau_\phi, \tau_\theta, \tau_\psi]^T\). The nonlinear dynamics can be written as \(\dot{\mathbf{X}} = f(\mathbf{X}, \mathbf{u})\). Linearizing around hover with small angle approximations (\(\sin \alpha \approx \alpha, \cos \alpha \approx 1\)) gives the linear time-invariant system:
$$
\dot{\mathbf{X}} = \mathbf{A} \mathbf{X} + \mathbf{B} \mathbf{u},
$$
where \(\mathbf{A}\) and \(\mathbf{B}\) are the system and input matrices derived from the Jacobians of \(f\) with respect to \(\mathbf{X}\) and \(\mathbf{u}\). For a quadrotor drone, the linearized dynamics decouple into translational and rotational subsystems under hover conditions. The translational dynamics in the \(z\)-direction are affected by thrust, while the \(x\) and \(y\) motions are controlled via pitch and roll angles, respectively. The rotational dynamics govern the attitude response to torque inputs.
To quantify the performance of the quadrotor drone control, we design an LQR controller that minimizes a quadratic cost function. The LQR approach is particularly suitable for regulating linear systems to a reference state while balancing state errors and control efforts. The cost function is defined as:
$$
J = \int_{t_0}^{\infty} \left[ (\mathbf{X} – \mathbf{X}_{\text{ref}})^T \mathbf{Q} (\mathbf{X} – \mathbf{X}_{\text{ref}}) + \mathbf{u}^T \mathbf{R} \mathbf{u} \right] dt,
$$
where \(\mathbf{X}_{\text{ref}}\) is the reference state trajectory, \(\mathbf{Q}\) is a positive semi-definite state weighting matrix, and \(\mathbf{R}\) is a positive definite control weighting matrix. These matrices allow tuning the controller: larger \(\mathbf{Q}\) penalizes state deviations more, leading to aggressive tracking but potentially high control effort, while larger \(\mathbf{R}\) penalizes control effort, promoting energy efficiency but possibly slower response. For a quadrotor drone, typical choices for \(\mathbf{Q}\) and \(\mathbf{R}\) emphasize position and attitude errors while limiting actuator commands.
The optimal control law that minimizes \(J\) is a linear state feedback:
$$
\mathbf{u} = -\mathbf{K} (\mathbf{X} – \mathbf{X}_{\text{ref}}),
$$
where \(\mathbf{K}\) is the gain matrix computed as \(\mathbf{K} = \mathbf{R}^{-1} \mathbf{B}^T \mathbf{S}\). Here, \(\mathbf{S}\) is the solution to the algebraic Riccati equation:
$$
\mathbf{S} \mathbf{A} + \mathbf{A}^T \mathbf{S} – \mathbf{S} \mathbf{B} \mathbf{R}^{-1} \mathbf{B}^T \mathbf{S} + \mathbf{Q} = \mathbf{0}.
$$
Solving this equation ensures closed-loop stability and optimal performance. For implementation on a quadrotor drone, the full state feedback requires measurement or estimation of all states. In practice, sensors like IMUs, GPS, and vision systems provide these measurements, and observers like Kalman filters can be used for state estimation.
To validate the LQR controller for the quadrotor drone, we conduct simulation studies using MATLAB/Simulink. The physical parameters of the quadrotor drone are listed in the table below, which are typical for a medium-sized drone.
| Parameter | Description | Value (Unit) |
|---|---|---|
| \(m\) | Mass | 0.468 kg |
| \(g\) | Gravitational acceleration | 9.8 m/s² |
| \(d\) | Arm length | 0.225 m |
| \(c_T\) | Thrust coefficient | 2.98 × 10⁻⁶ |
| \(c_Q\) | Torque coefficient | 1.14 × 10⁻⁷ |
| \(I_{xx}\) | Moment of inertia about x-axis | 4.856 × 10⁻³ kg·m² |
| \(I_{yy}\) | Moment of inertia about y-axis | 4.856 × 10⁻³ kg·m² |
| \(I_{zz}\) | Moment of inertia about z-axis | 8.801 × 10⁻³ kg·m² |
| \(J_r\) | Rotor inertia | 3.357 × 10⁻⁵ kg·m² |
The reference trajectory is chosen as a circular path in the horizontal plane with a slowly ascending vertical component, described by:
$$
\begin{align*}
P_{x,\text{ref}}(t) &= 10 \sin\left(\frac{2\pi t}{T}\right), \\
P_{y,\text{ref}}(t) &= 10 \cos\left(\frac{2\pi t}{T}\right), \\
P_{z,\text{ref}}(t) &= 0.001t,
\end{align*}
$$
where \(T = 20\) seconds is the period for one full circle. This trajectory tests the quadrotor drone’s ability to track both curved paths and gradual altitude changes. The initial conditions are set to the hover state at the origin with zero orientation. The weighting matrices \(\mathbf{Q}\) and \(\mathbf{R}\) are tuned to achieve smooth tracking without excessive control signals. For instance, we can set \(\mathbf{Q} = \text{diag}([10, 10, 10, 1, 1, 1, 5, 5, 5, 0.1, 0.1, 0.1])\) and \(\mathbf{R} = \text{diag}([0.01, 0.1, 0.1, 0.1])\), emphasizing position and angle tracking.
The simulation results demonstrate effective trajectory tracking. The quadrotor drone successfully follows the circular path with minimal deviation. The position errors in all three directions converge quickly and remain small throughout the flight. The control inputs, computed via the LQR feedback law, are smooth and within feasible limits, indicating that the controller is practical for real-world implementation. The performance can be further analyzed by examining the error dynamics and transient response. For a quadrotor drone, such precise control is essential for applications like surveillance or payload delivery.
To provide a quantitative analysis, we can define the tracking error as \(\mathbf{e}(t) = \mathbf{X}(t) – \mathbf{X}_{\text{ref}}(t)\). The root-mean-square (RMS) error over the simulation time is computed for each state variable. For instance, the RMS position errors in \(x\), \(y\), and \(z\) directions are below 0.05 meters, showcasing the high accuracy of the LQR controller. Additionally, the control effort, measured by the norm of \(\mathbf{u}\), remains bounded, ensuring energy efficiency. These metrics highlight the robustness of the LQR approach for autonomous flight of quadrotor drones.
The success of LQR control hinges on the accuracy of the linearized model. However, quadrotor drones often operate in dynamic environments with disturbances like wind gusts or payload variations. To enhance robustness, we can integrate LQR with disturbance observers or adaptive techniques. Moreover, for aggressive maneuvers, the linear model may become inadequate, necessitating nonlinear control methods like feedback linearization or model predictive control. Nonetheless, LQR serves as a foundational tool due to its simplicity and optimality guarantees for linear systems.
In comparison to other control strategies for quadrotor drones, such as PID, sliding mode control, or backstepping, LQR offers a systematic framework for multi-variable systems with explicit performance trade-offs. PID controllers are widely used but require extensive tuning for coupled dynamics. Sliding mode control provides robustness but may induce chattering. Backstepping handles nonlinearities but can be complex. LQR, when combined with gain scheduling for varying operating points, can address some nonlinearities while maintaining computational efficiency.
Future work on quadrotor drone control could explore several directions. First, integrating LQR with online learning algorithms could adapt to model uncertainties. Second, employing LQR for formation control of multiple quadrotor drones would enable collaborative tasks. Third, combining LQR with path planning algorithms could optimize trajectories in obstacle-rich environments. Finally, hardware implementation on embedded systems would validate the algorithm in real flight tests, considering sensor noise and communication delays.
In conclusion, this article presents a comprehensive study on autonomous flight control of quadrotor drones using Linear Quadratic Regulator techniques. We derived the dynamic model, linearized it for controller design, and formulated an LQR optimal control law. Simulations confirmed the effectiveness of the approach in tracking a complex trajectory. The quadrotor drone achieved precise positioning and stable attitude control, underscoring the viability of LQR for practical applications. As quadrotor drones continue to evolve, advanced control algorithms like LQR will play a pivotal role in enabling autonomous, reliable, and efficient operations.
