In recent years, unmanned aerial vehicles (UAVs), particularly quadrotor drones, have gained widespread adoption in various civilian domains such as environmental protection, power grid inspection, transportation, surveying, security, and agriculture. With advancements in modern technology, especially the rapid development of artificial intelligence, the future of “quadrotor drone + industry application” models holds immense potential. However, the current intelligence level of quadrotor drones remains limited, often requiring human operators for control. To enhance automation and intelligence, significant research is needed, with autonomous landing being a critical technological challenge for smart applications. Compared to aspects like path planning and navigation, autonomous landing for quadrotor drones has received relatively less attention. This paper addresses this gap by designing a landing control algorithm based on proportional-derivative (PD) control, leveraging its simplicity and effectiveness for nonlinear systems. We focus on the quadrotor drone due to its vertical take-off and landing capabilities and hovering features, which are highly attractive for monitoring tasks.
The autonomous landing problem for quadrotor drones involves guiding the vehicle to a designated landing point while maintaining stability and precision. Existing research has explored various control strategies, but many rely on GPS or inertial navigation systems, which have limitations such as signal loss or inaccuracies. Vision-based methods have emerged as alternatives, but they often require complex image processing. In contrast, PD control offers a straightforward and robust approach, widely used in industrial robotics for handling nonlinearities and couplings. We propose a dual-loop PD control framework for quadrotor drone landing, where the outer loop manages position and the inner loop controls attitude. This structure ensures stability by adjusting gain coefficients to make the inner loop converge faster than the outer loop. Our work contributes to practical engineering applications by providing an easily implementable solution for real-time scenarios.
The dynamics of a quadrotor drone are inherently nonlinear and coupled, making control design challenging. The system is underactuated, with four control inputs (motor thrusts) governing six degrees of freedom (position and orientation). We derive the dynamical model based on Newton-Euler principles, considering forces and moments. The equations of motion are expressed in an inertial frame, with positions $(x, y, z)$ and Euler angles $(\phi, \theta, \psi)$ representing roll, pitch, and yaw, respectively. The model includes aerodynamic drag effects and gravitational acceleration. For clarity, we present the complete dynamical equations below.
The dynamics of the quadrotor drone can be described as follows:
$$ \ddot{x} = u_1 (\cos\phi \sin\theta \cos\psi + \sin\phi \sin\psi) – \frac{K_1}{m} \dot{x} $$
$$ \ddot{y} = u_1 (\sin\phi \sin\theta \cos\psi – \cos\phi \sin\psi) – \frac{K_2}{m} \dot{y} $$
$$ \ddot{z} = u_1 \cos\phi \cos\psi – g – \frac{K_3}{m} \dot{z} $$
$$ \ddot{\theta} = u_2 – \frac{l K_4}{I_1} \dot{\theta} $$
$$ \ddot{\psi} = u_3 – \frac{l K_5}{I_2} \dot{\psi} $$
$$ \ddot{\phi} = u_4 – \frac{l K_6}{I_3} \dot{\phi} $$
Here, $(x, y, z)$ denote the position of the quadrotor drone’s center of mass in the inertial frame, $(\theta, \psi, \phi)$ are the pitch, yaw, and roll angles, $g$ is gravitational acceleration, $l$ is the radius of the quadrotor drone, $m$ is the total mass including payload, $I_i$ are moments of inertia about each axis, and $K_i$ are drag coefficients. The control inputs are defined as $u_1$ for total thrust and $u_2, u_3, u_4$ for moments related to pitch, yaw, and roll. The landing control objective is to achieve $x \rightarrow x_d$, $y \rightarrow y_d$, $z \rightarrow 0$, and $\phi \rightarrow 0$, where $(x_d, y_d)$ is the desired landing position on the ground.
To illustrate the structure of a typical quadrotor drone, we include an image below. This visual aids in understanding the geometry and control aspects discussed in this paper.

The control system employs a dual-loop architecture, as shown in the block diagram. The outer loop generates position control signals, which produce intermediate command signals $\theta_d$ and $\psi_d$ for the inner loop. The inner loop then tracks these commands to adjust attitude. This separation allows for decoupled control design, with PD controllers in both loops ensuring stability and performance. We now detail the design of the position and attitude control laws.
For position control, we define auxiliary control variables based on the thrust components:
$$ u_{1x} = u_1 (\cos\phi \sin\theta \cos\psi + \sin\phi \sin\psi) $$
$$ u_{1y} = u_1 (\sin\phi \sin\theta \cos\psi – \cos\phi \sin\psi) $$
$$ u_{1z} = u_1 \cos\phi \cos\psi $$
The goal is to design $u_1$ such that $x \rightarrow x_d$, $y \rightarrow y_d$, and $z \rightarrow z_d$ (with $z_d = 0$ for landing). We use PD control with feedforward compensation for each position subsystem. For the $x$-subsystem, let $x_e = x – x_d$. The control law is:
$$ u_{1x} = -k_{p1} x_e – k_{d1} \dot{x}_e + \ddot{x}_d + \frac{K_1}{m} \dot{x}_d $$
This leads to the error dynamics: $\ddot{x}_e + \left( k_{d1} + \frac{K_1}{m} \right) \dot{x}_e + k_{p1} x_e = 0$. For stability, we require $k_{p1} > 0$ and $k_{d1} + \frac{K_1}{m} > 0$. Similarly, for the $y$-subsystem with $y_e = y – y_d$:
$$ u_{1y} = -k_{p2} y_e – k_{d2} \dot{y}_e + \ddot{y}_d + \frac{K_2}{m} \dot{y}_d $$
And for the $z$-subsystem with $z_e = z – z_d$, including gravity compensation:
$$ u_{1z} = -k_{p3} z_e – k_{d3} \dot{z}_e + g + \ddot{z}_d + \frac{K_3}{m} \dot{z}_d $$
The error dynamics become $\ddot{z}_e + \left( k_{d3} + \frac{K_3}{m} \right) \dot{z}_e + k_{p3} z_e = 0$. We select gain coefficients to ensure fast convergence without overshoot. Typical values are $k_{p1} = k_{p2} = k_{p3} = 4.0$ and $k_{d1} = k_{d2} = k_{d3} = 4.0$, but these can be tuned based on simulation results.
To achieve tracking of the desired attitudes $\theta_d$ and $\psi_d$, we solve for these intermediate commands from the auxiliary controls. From the definitions, we have:
$$ \begin{bmatrix} u_{1x} \\ u_{1y} \end{bmatrix} = \begin{bmatrix} \cos\phi & \sin\phi \\ \sin\phi & -\cos\phi \end{bmatrix} \begin{bmatrix} \sin\theta_d \cos\psi_d \\ \sin\psi_d \end{bmatrix} u_1 $$
Given $u_{1z} = u_1 \cos\phi \cos\psi_d$, we express $u_1 = \frac{u_{1z}}{\cos\phi \cos\psi_d}$. Substituting and solving yields:
$$ \psi_d = \arctan\left( \frac{\sin\phi \cos\phi \cdot u_{1x} – \cos^2\phi \cdot u_{1y}}{u_{1z}} \right) $$
$$ \theta_d = \arcsin(X), \quad \text{where } X = \frac{\cos\phi (\cos\phi \cdot u_{1x} + \sin\phi \cdot u_{1y})}{u_{1z}} $$
If $X > 1$, we set $\theta_d = \pi/2$; if $X < -1$, we set $\theta_d = -\pi/2$. This ensures bounded commands for the inner loop.
For attitude control, we design PD laws to track $\theta_d$, $\psi_d$, and $\phi_d$ (with $\phi_d = 0$ for landing). Define errors $\theta_e = \theta – \theta_d$, $\psi_e = \psi – \psi_d$, and $\phi_e = \phi – \phi_d$. The control laws with feedforward compensation are:
$$ u_2 = -k_{p4} \theta_e – k_{d4} \dot{\theta}_e + \ddot{\theta}_d + \frac{l K_4}{I_1} \dot{\theta}_d $$
$$ u_3 = -k_{p5} \psi_e – k_{d5} \dot{\psi}_e + \ddot{\psi}_d + \frac{l K_5}{I_2} \dot{\psi}_d $$
$$ u_4 = -k_{p6} \phi_e – k_{d6} \dot{\phi}_e + \ddot{\phi}_d + \frac{l K_6}{I_3} \dot{\phi}_d $$
The error dynamics become $\ddot{\theta}_e + \left( k_{d4} + \frac{l K_4}{I_1} \right) \dot{\theta}_e + k_{p4} \theta_e = 0$, and similarly for $\psi_e$ and $\phi_e$. For stability, we choose $k_{p4} = k_{p5} = k_{p6} = 16$ and $k_{d4} = k_{d5} = k_{d6} = 16$, ensuring faster inner-loop convergence. The derivatives $\dot{\theta}_d$, $\ddot{\theta}_d$, $\dot{\psi}_d$, $\ddot{\psi}_d$ are obtained using a finite-time convergent third-order differentiator to handle command signals smoothly.
To summarize the control parameters, we provide a table below. This includes gains for both position and attitude loops, derived from stability analysis and simulation tuning.
| Control Loop | Parameter | Value | Description |
|---|---|---|---|
| Position Control | $k_{p1}$ | 4.0 | Proportional gain for x |
| $k_{d1}$ | 4.0 | Derivative gain for x | |
| $k_{p2}$ | 4.0 | Proportional gain for y | |
| $k_{d2}$ | 4.0 | Derivative gain for y | |
| $k_{p3}$ | 4.0 | Proportional gain for z | |
| $k_{d3}$ | 4.0 | Derivative gain for z | |
| Attitude Control | $k_{p4}$ | 16 | Proportional gain for pitch |
| $k_{d4}$ | 16 | Derivative gain for pitch | |
| $k_{p5}$ | 16 | Proportional gain for yaw | |
| $k_{d5}$ | 16 | Derivative gain for yaw | |
| $k_{p6}$ | 16 | Proportional gain for roll | |
| $k_{d6}$ | 16 | Derivative gain for roll |
Simulations are conducted in MATLAB R2017a to validate the proposed PD control for quadrotor drone landing. The parameters of the quadrotor drone model are listed in the following table, based on typical small-scale UAV specifications.
| Parameter | Value | Description |
|---|---|---|
| $m$ | 2 kg | Total mass of quadrotor drone |
| $l$ | 0.2 m | Radius of quadrotor drone |
| $g$ | 9.8 m/s² | Gravitational acceleration |
| $K_1, K_2, K_3$ | 0.01 N·s/m | Drag coefficients for translation |
| $K_4, K_5, K_6$ | 0.012 N·m·s/rad | Drag coefficients for rotation |
| $I_1, I_2$ | 1.25 kg·m² | Moments of inertia for pitch and yaw |
| $I_3$ | 2.5 kg·m² | Moment of inertia for roll |
The initial conditions are set as: position $[3, 0, 2]$ meters, velocity $[0, 10, 0]$ m/s (to simulate horizontal motion), and attitude $[0, 0, \pi/6]$ radians with zero angular rates. The desired landing point is $(x_d, y_d, z_d) = (10, 8, 0)$ meters, with $\phi_d = 0$. We first simulate the ideal case without disturbances. The convergence curves for position and attitude are analyzed.
In the ideal scenario, the quadrotor drone successfully lands at $(10, 8, 0)$. The position states $x$, $y$, and $z$ converge smoothly to their desired values without overshoot, as shown by the error dynamics. The $z$-position decreases steadily to zero, indicating a controlled descent. The attitude angles $\theta$, $\psi$, and $\phi$ also converge, with $\phi$ approaching zero to maintain level orientation during landing. The inner-loop convergence is faster than the outer-loop, confirming stability. The simulation time is set to 20 seconds, with the quadrotor drone achieving landing within this period.
To quantify performance, we define key metrics: settling time (time to reach within 2% of desired value), overshoot percentage, and steady-state error. For the ideal case, settling times are approximately 5 seconds for position and 2 seconds for attitude, with zero overshoot and negligible steady-state error. This demonstrates the effectiveness of PD control for quadrotor drone landing under nominal conditions.
We further test robustness by introducing disturbances. A limited-bandwidth white noise is added to the control inputs to simulate sensor noise and environmental uncertainties. The position convergence curves show that the quadrotor drone still lands near $(10, 8, 0)$, but with minor oscillations and slight overshoot. The attitude control remains stable, damping out disturbances quickly. This highlights the PD controller’s robustness for practical applications where quadrotor drones face real-world noise.
A comparative analysis with other control methods, such as sliding mode control or adaptive control, is beneficial. PD control offers simplicity in implementation and tuning, making it suitable for resource-constrained quadrotor drone systems. However, it may require gain scheduling for varying conditions. We plan to explore hybrid approaches in future work. The table below summarizes simulation results under different conditions.
| Condition | Settling Time (Position) | Settling Time (Attitude) | Overshoot | Steady-State Error |
|---|---|---|---|---|
| Ideal (No Noise) | 5.0 s | 2.0 s | 0% | < 0.01 m |
| With White Noise | 5.5 s | 2.2 s | 5% | < 0.05 m |
| Increased Mass (10%) | 5.8 s | 2.1 s | 3% | < 0.03 m |
The quadrotor drone’s performance degrades slightly under disturbances but remains acceptable for landing tasks. This robustness stems from the derivative terms in PD control, which provide damping against noise. We also vary model parameters, such as increasing mass by 10%, to test parameter sensitivity. The controller adapts well, with only minor changes in convergence, indicating that PD control is resilient to model uncertainties for quadrotor drones.
To enhance the analysis, we derive stability criteria using Lyapunov methods. Consider the closed-loop error dynamics for position and attitude. For the $x$-subsystem, the error equation is $\ddot{x}_e + a_1 \dot{x}_e + b_1 x_e = 0$, where $a_1 = k_{d1} + \frac{K_1}{m}$ and $b_1 = k_{p1}$. A Lyapunov function $V = \frac{1}{2} \dot{x}_e^2 + \frac{b_1}{2} x_e^2$ yields $\dot{V} = -a_1 \dot{x}_e^2 \leq 0$, proving global asymptotic stability for positive gains. Similarly, for attitude, we have $\ddot{\theta}_e + a_2 \dot{\theta}_e + b_2 \theta_e = 0$, with $a_2 = k_{d4} + \frac{l K_4}{I_1}$ and $b_2 = k_{p4}$. The same approach shows stability, ensuring the overall quadrotor drone system converges.
The dual-loop structure introduces coupling between loops, but by ensuring inner-loop dynamics are faster, we decouple the system practically. This is achieved by selecting higher gains for attitude control, as seen in the parameter table. The separation principle holds approximately, allowing independent design. We validate this through eigenvalue analysis of the linearized system. The eigenvalues for the inner loop have larger negative real parts than those for the outer loop, confirming faster convergence.
For implementation on actual quadrotor drones, computational efficiency is crucial. PD control requires only basic arithmetic operations, making it feasible for onboard microcontrollers. We estimate the computational load: each loop involves error calculation, derivative estimation, and gain multiplication. For a typical 100 Hz control frequency, this is well within the capabilities of modern drone processors. Additionally, the control laws can be discretized using Tustin’s method for digital implementation.
Future work will focus on integrating sensor feedback, such as GPS or vision, for autonomous landing in dynamic environments. We plan to extend the PD controller to handle external disturbances like wind gusts using adaptive techniques. Collaboration with industry partners will facilitate real-world testing on quadrotor drone platforms. The goal is to develop a comprehensive landing system that combines control theory with practical engineering.
In conclusion, this paper presents a PD control-based approach for autonomous landing of quadrotor drones. The dual-loop design effectively manages position and attitude, with stability ensured by gain tuning. Simulations under ideal and noisy conditions demonstrate feasibility and robustness. The quadrotor drone achieves precise landing with minimal error, highlighting PD control’s suitability for real-time applications. As quadrotor drones continue to evolve, simple yet effective control strategies like this will play a key role in advancing autonomous capabilities.
