Quadcopter Attitude Tracking Control with Virtual Control Law Saturation

In this article, I address the challenge of attitude tracking control for a quadcopter system subjected to external disturbances. Traditional full-state constraint methods often struggle with signal overshoot and stability issues. To overcome these limitations, I propose a novel virtual control law saturation scheme that not only mitigates overshoot but also enhances system stability and control performance. Additionally, I incorporate finite-time control to improve response speed and introduce a new command filter to resolve “differential explosion” and non-differentiability issues at saturation boundaries. Furthermore, I design an improved disturbance observer to accurately estimate external disturbances affecting the quadcopter. Through numerical simulations and experimental validation on a quadcopter platform, I demonstrate the effectiveness and practicality of this approach.

The quadcopter, as a typical nonlinear system, is widely used in applications such as aerospace and logistics due to its simple structure and ease of operation. However, external disturbances like wind gusts can significantly impact its flight stability. Moreover, input saturation arising from physical limitations of motors poses a critical control challenge. My approach focuses on virtual control law saturation, which constrains virtual control signals to reduce amplitude and suppress overshoot, thereby improving transient performance. Unlike prior work, this method offers greater flexibility and integrates seamlessly with finite-time control and disturbance observation techniques.

To model the quadcopter dynamics, I consider the following equations derived from Euler-Lagrange formulations. The attitude dynamics are described by:

$$ \dot{\Theta} = W(\Theta) \omega $$

$$ J \dot{\omega} = -\omega \times J \omega + \text{sat}(\tau) + d_{\tau} $$

where $\Theta = [\phi, \theta, \psi]^T$ represents the Euler angles (roll, pitch, yaw), $\omega = [p, q, r]^T$ is the angular velocity vector, $J = \text{diag}(J_{xx}, J_{yy}, J_{zz})$ is the inertia matrix, $\tau$ is the control input torque, and $d_{\tau}$ denotes external disturbances. The saturation function $\text{sat}(\tau)$ is defined as:

$$ \text{sat}(\tau) = \begin{cases}
\tau_{\text{max}} \cdot \text{sign}(\tau) & \text{if } |\tau| \geq \tau_{\text{max}} \\
\tau & \text{otherwise}
\end{cases} $$

This saturation can be linearized as $\text{sat}(\tau) = \tau + \Delta \tau$, where $\Delta \tau$ is bounded. For the quadcopter system, I assume that the reference signals and their derivatives are bounded, and the matrix $W(\Theta)$ satisfies certain smoothness conditions to facilitate control design.

To handle external disturbances, I develop an improved disturbance observer that estimates $d_{\tau}$ accurately. The observer dynamics are given by:

$$ \dot{z} = J^{-1} \left( -\omega \times J \omega + \text{sat}(\tau) \right) + \epsilon_1 (a – z) $$

$$ \hat{d}_{\tau} = z + \epsilon_2 (a – z) $$

where $z$ is an auxiliary state, $a$ is a designed signal, and $\epsilon_1, \epsilon_2 > 0$ are tuning parameters. This observer simplifies traditional designs by avoiding complex assumptions and algebraic loops, providing precise disturbance estimates that enhance control robustness.

For the controller design, I employ a backstepping approach integrated with virtual control law saturation. The key innovation lies in saturating the virtual control signals to prevent excessive magnitudes. The coordinate transformations are defined as:

$$ z_1 = \Theta – \Theta_d $$

$$ z_2 = \omega – \alpha_2 $$

where $\Theta_d$ is the desired trajectory, and $\alpha_2$ is the virtual control law subject to saturation. The saturated virtual control law is designed as:

$$ \alpha_{2,d} = W^{-1}(\Theta) \left( -k_1 z_1^{2p-1} – m_1 z_1 + \dot{\Theta}_d \right) $$

where $k_1, m_1 > 0$ are control gains, and $0.5 < p < 1$ ensures finite-time convergence. The saturation limits are chosen based on system constraints to avoid overshoot. A finite-time command filter is used to compute derivatives without explosion:

$$ \dot{\xi}_1 = \xi_2 $$

$$ \dot{\xi}_2 = – \beta_1 |\xi_1 – \text{sat}(\alpha_{2,d})|^{1/2} \text{sign}(\xi_1 – \text{sat}(\alpha_{2,d})) – \beta_2 \xi_2 $$

where $\beta_1, \beta_2 > 0$ are filter parameters, and $\xi_1$ outputs the filtered virtual control law. This filter ensures that signals remain smooth even at saturation boundaries.

The actual control law for the quadcopter is derived as:

$$ \tau = J \left( -k_2 z_2^{2p-1} – m_2 z_2 + \dot{\alpha}_2 – W^T(\Theta) z_1 \right) + \omega \times J \omega – \hat{d}_{\tau} $$

where $k_2, m_2 > 0$ are additional gains. This controller compensates for disturbances and enforces finite-time stability. To analyze stability, I consider the Lyapunov function:

$$ V = \frac{1}{2} z_1^T z_1 + \frac{1}{2} z_2^T z_2 + \frac{1}{2} \tilde{d}_{\tau}^T \tilde{d}_{\tau} $$

where $\tilde{d}_{\tau} = d_{\tau} – \hat{d}_{\tau}$ is the disturbance estimation error. Using inequalities from finite-time stability theory, I derive:

$$ \dot{V} \leq -A V^p – B V + C $$

where $A, B, C > 0$ are constants. This ensures that all signals converge to a bounded region in finite time, with the convergence time $T$ satisfying:

$$ T \leq \frac{1}{A(1-p)} \ln \left( 1 + \frac{A V^{1-p}(0)}{B} \right) $$

For the virtual control law saturation, the critical value is selected as:

$$ |\alpha_{2,d}| \geq \max \left\{ \max |W^{-1}(\Theta) \dot{\Theta}_d|, \frac{|e(0)|}{T} \right\} $$

where $e(0)$ is the initial tracking error. This guarantees that saturation does not hinder stability.

To validate the approach, I conduct numerical simulations and experiments on a quadcopter platform. The system parameters are summarized in Table 1.

Table 1: Quadcopter System Parameters
Parameter Value Description
$J_{xx}$ 0.021029 kg·m² Roll inertia
$J_{yy}$ 0.021633 kg·m² Pitch inertia
$J_{zz}$ 0.039424 kg·m² Yaw inertia
$l$ 0.225 m Arm length
$\tau_{\text{max}}$ 2.0 N·m Max torque

The control parameters are tuned as follows: $m_1 = 2.3746$, $m_2 = 0.6$, $k_1 = 15.6139$, $k_2 = 28.1301$, $p = 0.99$, $\epsilon_1 = 0.5$, $\epsilon_2 = 0.5$. The command filter uses $\beta_1 = 5.2404$, $\beta_2 = 2.1163$. In simulation, the desired trajectory is $\Theta_d = [0.2 \sin(\pi t/3), 0, 0]^T$. The results show that the proposed method reduces overshoot by 30% compared to conventional methods and achieves tracking within 1 second. The disturbance observer accurately estimates disturbances with less than 5% error, as shown in Table 2.

Table 2: Performance Comparison
Metric Proposed Method Conventional Method
Overshoot 5% 35%
Settling Time 1.0 s 1.5 s
Disturbance Error 4.8% 15.2%

Experimental results on a physical quadcopter platform confirm these findings. The control input $\tau$ remains within saturation limits, and the virtual control law $\alpha_2$ smoothly tracks the desired profile. The disturbance observer effectively rejects external perturbations, ensuring stable flight. The finite-time controller guarantees rapid convergence, making it suitable for real-time applications.

In conclusion, my approach integrating virtual control law saturation, finite-time control, and an improved disturbance observer significantly enhances quadcopter attitude tracking performance. The method suppresses overshoot, improves stability, and handles external disturbances robustly. Future work will explore extensions to fixed-time and preset-time control frameworks for broader applications. This research underscores the importance of advanced control strategies in modern quadcopter systems.

Scroll to Top