In recent years, quadrotor unmanned aerial vehicles (UAVs) have gained significant attention due to their vertical take-off and landing capabilities, high hover efficiency, and low environmental requirements for operation. These quadrotor systems are widely used in aerial photography, equipment inspection, and military reconnaissance. However, the inherent underactuation, strong coupling, and nonlinearity of quadrotor dynamics pose challenges for traditional linear control methods. To address these issues, we propose an Auto-Coupling Proportional-Differential (ACPD) control method, which effectively handles the complex dynamics and external disturbances in quadrotor systems. This method maps the nonlinear quadrotor system into a linear disturbance system, defining internal dynamics and uncertainties as total disturbances, and designs an ACPD controller based on an adaptive speed factor. The ACPD control system exhibits critical damping characteristics, ensuring robust performance against model uncertainties and disturbances. Simulation results demonstrate that the ACPD method offers fast response, high control accuracy, and strong anti-interference capabilities, making it highly suitable for quadrotor applications.

The dynamics of a quadrotor are highly nonlinear and coupled, involving six degrees of freedom: position (x, y, z) and orientation (roll φ, pitch θ, yaw ψ). The mathematical model of a quadrotor can be derived using Newton-Euler equations, considering the forces and moments generated by the four rotors. The equations of motion are as follows:
$$ \ddot{x} = (\cos\phi \sin\theta \cos\psi + \sin\phi \sin\psi) \frac{\tau_1}{m} + d_x $$
$$ \ddot{y} = (\cos\phi \sin\theta \sin\psi – \sin\phi \cos\psi) \frac{\tau_1}{m} + d_y $$
$$ \ddot{z} = (\cos\phi \cos\theta) \frac{\tau_1}{m} – g + d_z $$
$$ \ddot{\phi} = \frac{(I_y – I_z) \dot{\theta} \dot{\psi}}{I_x} + \frac{\tau_2}{I_x} + d_\phi $$
$$ \ddot{\theta} = \frac{(I_z – I_x) \dot{\phi} \dot{\psi}}{I_y} + \frac{\tau_3}{I_y} + d_\theta $$
$$ \ddot{\psi} = \frac{(I_x – I_y) \dot{\phi} \dot{\theta}}{I_z} + \frac{\tau_4}{I_z} + d_\psi $$
Here, m is the mass of the quadrotor, g is the gravitational acceleration, I_x, I_y, I_z are the moments of inertia, τ₁ to τ₄ are the control inputs, and d_x to d_ψ represent external disturbances. To simplify the control design, we define the total disturbances for each channel, which include internal dynamics and external disturbances, as follows:
$$ w_1 = d_x $$
$$ w_2 = d_y $$
$$ w_3 = -g + d_z $$
$$ w_4 = \frac{(I_y – I_z) \dot{\theta} \dot{\psi}}{I_x} + d_\phi $$
$$ w_5 = \frac{(I_z – I_x) \dot{\phi} \dot{\psi}}{I_y} + d_\theta $$
$$ w_6 = \frac{(I_x – I_y) \dot{\phi} \dot{\theta}}{I_z} + d_\psi $$
By introducing virtual control inputs u₁ to u₆, the system can be transformed into a virtual fully-actuated system:
$$ \ddot{x} = u_1 + w_1 $$
$$ \ddot{y} = u_2 + w_2 $$
$$ \ddot{z} = u_3 + w_3 $$
$$ \ddot{\phi} = u_4 + w_4 $$
$$ \ddot{\theta} = u_5 + w_5 $$
$$ \ddot{\psi} = u_6 + w_6 $$
The virtual control inputs are related to the actual control inputs through the following equations:
$$ u_1 = (\cos\phi \sin\theta \cos\psi + \sin\phi \sin\psi) \frac{\tau_1}{m} $$
$$ u_2 = (\cos\phi \sin\theta \sin\psi – \sin\phi \cos\psi) \frac{\tau_1}{m} $$
$$ u_3 = (\cos\phi \cos\theta) \frac{\tau_1}{m} $$
$$ u_4 = \frac{\tau_2}{I_x} $$
$$ u_5 = \frac{\tau_3}{I_y} $$
$$ u_6 = \frac{\tau_4}{I_z} $$
Given a desired yaw angle ψ*, the actual control inputs and virtual pitch and roll commands can be computed as:
$$ \tau_1 = m \sqrt{u_1^2 + u_2^2 + u_3^2} $$
$$ \tau_2 = u_4 I_x $$
$$ \tau_3 = u_5 I_y $$
$$ \tau_4 = u_6 I_z $$
$$ \theta^* = \arctan\left( \frac{u_1 \cos\psi^* + u_2 \sin\psi^*}{u_3} \right) $$
$$ \phi^* = \arcsin\left( \frac{m(u_1 \sin\psi^* – u_2 \cos\psi^*)}{\tau_1} \right) $$
The ACPD controller is designed for each channel based on the error dynamics. Let e₁₁ = x* – x, e₁₂ = ė₁₁ for the x-channel, and similarly for other channels. The controlled error system for the x-channel is:
$$ \dot{e}_{11} = e_{12} $$
$$ \dot{e}_{12} = \hat{w}_1 – u_1 $$
where \hat{w}_1 = \ddot{x}^* – w_1 is the composite total disturbance. The ACPD control law for the x-channel is:
$$ u_1 = z_{1c}^2 e_{11} + 2 z_{1c} e_{12} $$
Here, z_{1c} > 0 is the speed factor for the x-channel ACPD controller. Similarly, control laws for other channels are derived. The adaptive speed factor is tuned based on the transition time t_r to balance response speed and overshoot. For position channels, z_{1c} = z_{2c} = z_{3c} = z_{cm}(1 – \exp(-t/t_r)), and for attitude channels, z_{4c} = z_{5c} = z_{6c} = (2 \text{ to } 10) z_{1c}, with z_{cm} = 20α / t_r and 1 < α ≤ 10.
The ACPD control system is robustly stable when |\hat{w}_i| < ε_i and z_{ic} > 0, with steady-state error bounded by |e_{i1}(∞)| ≤ ε_i / z_{ic}^2. This ensures high precision and disturbance rejection for the quadrotor system.
To validate the ACPD method, simulation experiments were conducted using MATLAB/Simulink. The quadrotor parameters are listed in Table 1.
| Parameter | Value | Parameter | Value |
|---|---|---|---|
| I_x (kg·m²) | 1.22 | g (m/s²) | 9.8 |
| I_y (kg·m²) | 1.21 | m (kg) | 3 |
| I_z (kg·m²) | 2.2 |
The desired trajectory for the quadrotor is set as x_d = 0.5 + 2\sin t, y_d = 0.5 + 2\cos t, z_d = 2t, and ψ_d = 0 for t < 5 and ψ_d = 2t – 10 for t ≥ 5, with ψ_d ≤ 30. External disturbances are d_{x,y,z} = 0.5\sin(0.6t) and d_{φ,θ,ψ} = 0.5\sin t. The initial conditions are [x, y, z] = [0, 0, 0] and [φ, θ, ψ] = [0, 0, 0]. Simulation duration is 20 s with a step size of 0.001 s.
The ACPD controllers use adaptive speed factors: z_{1c} = z_{2c} = z_{3c} = 80(1 – e^{-2t}) for position channels and z_{4c} = z_{5c} = z_{6c} = 400(1 – e^{-2t}) for attitude channels. The performance of the ACPD method is compared with a dynamic sliding mode control approach from literature. Results show that the ACPD method achieves faster response, with position tracking errors converging to zero in approximately 0.5 s for x and y channels, and 0.6 s for z channel, with negligible overshoot and steady-state error below 0.05. In contrast, the comparative method requires 1 s to 1.5 s for tracking, with significant overshoot and steady-state error up to 0.2. Attitude tracking with ACPD is also superior, with roll and pitch angles tracking desired commands in 0.02 s and 0.03 s, respectively, and errors recovering to steady-state in 0.04 s.
The ACPD control method effectively handles the nonlinearities and disturbances in quadrotor systems. By mapping the system to a linear disturbance model and using adaptive speed factors, the controller ensures critical damping and robustness. The steady-state error is inversely proportional to the square of the speed factor, allowing for high precision by tuning this parameter. The ACPD structure is simple, requiring only one speed factor per channel, which reduces computational load and facilitates practical implementation. Future work will focus on real-world experiments and extensions to multi-quadrotor systems.
In summary, the ACPD method offers a promising solution for quadrotor trajectory tracking, combining rapid dynamics with strong disturbance rejection. This approach is highly applicable in various quadrotor-based applications, enhancing performance in challenging environments. The quadrotor’s versatility makes it ideal for tasks requiring precise control, and the ACPD method significantly improves its reliability and efficiency.
