In recent years, quadcopter unmanned aerial vehicles (UAVs) have gained significant attention due to their versatility in applications such as power inspection, agricultural monitoring, and surveillance. However, a critical limitation of quadcopters is their limited flight endurance, primarily constrained by battery capacity. Optimizing energy consumption during trajectory planning is essential to extend operational time and enhance practicality. This paper addresses this challenge by proposing a segmented Gaussian pseudospectral method (SGPM) for energy-efficient trajectory planning of quadcopters. The approach integrates a comprehensive kinematics-energy consumption model, transforming the trajectory optimization problem into a constrained continuous-time optimization framework. By employing a sliding sub-interval selection strategy, the method reduces computational time in complex missions with numerous waypoints while improving trajectory smoothness and waypoint tracking accuracy. Simulation and experimental results demonstrate the effectiveness of the proposed algorithm in minimizing energy consumption compared to conventional methods.

The kinematics of a quadcopter are described by a nonlinear system with six degrees of freedom, including roll, pitch, yaw angles, and spatial positions. The dynamics can be represented by the following equations:
$$ \ddot{x} = (\sin \phi \sin \psi + \cos \phi \sin \theta \cos \psi) \frac{F_b}{m_u} – \frac{D_X}{m_u} \dot{x} $$
$$ \ddot{y} = (-\sin \phi \cos \psi + \cos \phi \sin \theta \sin \psi) \frac{F_b}{m_u} – \frac{D_Y}{m_u} \dot{y} $$
$$ \ddot{z} = g – \cos \phi \cos \theta \frac{F_b}{m_u} – \frac{D_Z}{m_u} \dot{z} $$
$$ \ddot{\phi} = \frac{M_{b1}}{I_X} – \frac{(I_Z – I_Y) \dot{\theta} \dot{\psi}}{I_X} $$
$$ \ddot{\theta} = \frac{M_{b2}}{I_Y} – \frac{(I_X – I_Z) \dot{\phi} \dot{\psi}}{I_Y} $$
$$ \ddot{\psi} = \frac{M_{b3}}{I_Z} – \frac{(I_Y – I_X) \dot{\phi} \dot{\theta}}{I_Z} $$
where $m_u$ is the total mass of the quadcopter, $I_X$, $I_Y$, $I_Z$ are the moments of inertia, $F_b$ is the thrust generated by the propellers, $D_X$, $D_Y$, $D_Z$ are air damping coefficients, and $g$ is gravitational acceleration. The forces and moments are related to the propeller angular velocities $\omega_i$ (for $i=1$ to $4$) as:
$$ \begin{bmatrix} F_b \\ M_{b1} \\ M_{b2} \\ M_{b3} \end{bmatrix} = \begin{bmatrix} -C_t & -C_t & -C_t & -C_t \\ 0 & R C_t & 0 & -R C_t \\ R C_t & 0 & -R C_t & 0 \\ -C_m & C_m & -C_m & C_m \end{bmatrix} \begin{bmatrix} \omega_1^2 \\ \omega_2^2 \\ \omega_3^2 \\ \omega_4^2 \end{bmatrix} $$
Here, $C_t$ and $C_m$ are the thrust and torque coefficients, and $R$ is the distance from the propeller to the quadcopter’s center. The energy consumption model for the quadcopter combines flight power and energy losses. The flight power $P_L$ is derived from the energy required to accelerate air, expressed as:
$$ P_L = \sum_{i=1}^{4} \frac{T_i^{3/2}}{\sqrt{0.5 \rho \pi D_p^2}} $$
where $T_i = C_t \omega_i^2$ is the thrust of the $i$-th propeller, $\rho$ is air density, and $D_p$ is the propeller diameter. Energy losses include thermal losses in electronic speed controllers, motor losses, and aerodynamic drag losses, modeled as:
$$ P_{\text{loss}} = \sum_{i=1}^{4} \left( C_0 + C_1 \omega_i + C_2 \tau_i^2 + C_3 \omega_i^3 \right) $$
with $\tau_i = C_m \rho D_p^5 \omega_i^2$ representing the motor torque. The total power consumption $P_m$ is then:
$$ P_m = P_{\text{loss}} + P_L = \sum_{i=1}^{4} \left( C_0 + C_1 \omega_i + \left( C_3 + \frac{C_t^{3/2}}{\sqrt{0.5 \rho \pi D_p^2}} \right) \omega_i^3 + C_2 C_m^2 \rho^2 D_p^{10} \omega_i^4 \right) $$
The integrated kinematics-energy model is defined with state vector $x’ \in \mathbb{R}^{13}$, control input $u \in \mathbb{R}^4$, and outputs $y’ \in \mathbb{R}^6$ and $z’ \in \mathbb{R}$ as follows:
$$ x’ = [X, Y, Z, \dot{x}, \dot{y}, \dot{z}, \phi, \theta, \psi, \dot{\phi}, \dot{\theta}, \dot{\psi}, \int_0^t P_m \, dt]^T $$
$$ u = [\omega_1, \omega_2, \omega_3, \omega_4]^T $$
$$ y’ = [X, Y, Z, \phi, \theta, \psi]^T $$
$$ z’ = \left[ \int_0^{t_f} P_m \, dt \right] $$
The state-space representation is:
$$ \dot{x}’ = f(x’, u) $$
$$ y’ = C x’ $$
$$ z’ = D x’ $$
where $f(\cdot)$ encapsulates the dynamics, and $C$ and $D$ are output matrices. The trajectory planning problem aims to minimize energy consumption $J_m = z'(t_f) – z'(t_0)$ subject to constraints on velocity, attitude, and waypoint tracking. For a quadcopter, the constraints include:
$$ |\dot{x}| \leq v_{X_{\text{max}}}, \quad |\dot{y}| \leq v_{Y_{\text{max}}}, \quad |\dot{z}| \leq v_{Z_{\text{max}}} $$
$$ |\phi| \leq \phi_{\text{max}}, \quad |\theta| \leq \theta_{\text{max}}, \quad 0 \leq u \leq \omega_{\text{max}} \mathbf{1}_4 $$
$$ \| y_1(t_k) – y_1^{P_r} \| \leq \xi $$
where $y_1 = [X, Y, Z]^T$, $P_r$ is the $r$-th waypoint, and $\xi$ is a tolerance threshold. The optimization problem is formulated as:
$$ \min J_m = z'(t_f) – z'(t_0) $$
$$ \text{subject to:} \quad \dot{x}’ = f(x’, u), \quad y’ = C x’, \quad z’ = D x’ $$
$$ \text{and the above constraints.} $$
To solve this, the segmented Gaussian pseudospectral method (SGPM) is employed. The time domain is divided into $N_w$ segments based on waypoints, and $n_p$ segments are滑动ly selected to form optimization sub-intervals. For each sub-interval $k$, the time $\Delta t_k \in [t_k, t_{k+n_p-1}]$ is transformed to $\tau_k \in [-1,1]$ using:
$$ \tau_k = \frac{2 \Delta t_k – (t_k + t_{k+n_p-1})}{t_{k+n_p-1} – t_k} $$
The optimization problem for sub-interval $k$ becomes:
$$ \min J = \frac{\Delta t_k}{2} \int_{-1}^{1} \dot{z}(u(\tau_k), \tau_k) \, d\tau_k $$
$$ \text{subject to:} \quad \frac{dx’}{d\tau_k} = \frac{\Delta t_k}{2} f(x'(\tau_k), u(\tau_k)) $$
$$ C(x'(\tau_k), u(\tau_k), \tau_k) \leq 0 $$
Discretization is performed using Legendre-Gauss-Lobatto (LGL) points. For a sub-interval with $N_k$ LGL points $\tau_k^j$ ($j=0,1,\ldots,N_k$), the state and control variables are approximated via Lagrange interpolation:
$$ x'(\tau_k) \approx X^k = \sum_{j=0}^{N_k} L_j^k(\tau_k) X_j^k $$
$$ u(\tau_k) \approx U^k = \sum_{j=0}^{N_k} \tilde{L}_j^k(\tau_k) U_j^k $$
The differential constraints are converted to algebraic constraints using the differentiation matrix $D_{m,j}^k = \dot{L}_j^k(\tau_m)$:
$$ \sum_{j=0}^{N_k} D_{m,j}^k X_j^k – \frac{\Delta t_k}{2} f(X_m^k, U_m^k) = 0 $$
Continuity between sub-intervals is enforced by:
$$ X_{N_{k+1}}^k – X_1^k – \sum_{m=1}^{N_k} X_m^k \sum_{n=1}^{N_k} w_n^k D_{n,m}^k = 0 $$
where $w_n^k$ are Gaussian weights. The discrete optimization problem is:
$$ \min J = \sum_{k=1}^{N_w – n_p} \frac{\Delta t_k}{2} \sum_{m=1}^{N_k} w_m^k E(U_m^k) $$
$$ \text{subject to the discretized constraints.} $$
This nonlinear programming problem is solved using sequential quadratic programming (SQP). The sliding sub-interval approach reduces computational complexity while maintaining solution quality. For simulation, the quadcopter parameters are listed in Table 1.
| Parameter | Value |
|---|---|
| Total mass $m_u$ (kg) | 1.5 |
| Body radius $R$ (m) | 0.225 |
| Propeller diameter $D_p$ (mm) | 254 |
| Air density $\rho$ (kg/m³) | 1.205 |
| Damping coefficients $D_X, D_Y, D_Z$ (N·s/m) | 0.073 |
| Gravity $g$ (m/s²) | 9.81 |
| Moments of inertia $I_X, I_Y$ (kg·m²) | 0.021 |
| Moment of inertia $I_Z$ (kg·m²) | 0.036 |
| Thrust coefficient $C_t$ | 0.01 |
| Torque coefficient $C_m$ | 0.005 |
The energy model parameters, identified experimentally, are $C_0 = 4.887$, $C_1 = 2.141 \times 10^{-3}$, $C_2 = 66.71$, and $C_3 = 3.234 \times 10^{-10}$. Simulations compare SGPM with the multiple shooting method (MSM) and spot flight (SF) for 10 and 12 waypoints. The results, summarized in Table 2, show that SGPM reduces energy consumption and computation time while improving waypoint tracking accuracy.
| Metric | SF | MSM | SGPM |
|---|---|---|---|
| Energy (J) for 10 waypoints | 825.6 | 763.5 | 737.9 |
| Energy (J) for 12 waypoints | 991.6 | 935.3 | 901.4 |
| Computation time (s) for 10 waypoints | N/A | 234.8 | 47.4 |
| Computation time (s) for 12 waypoints | N/A | 319.7 | 63.4 |
| Waypoint tracking error (m²) for 10 waypoints | N/A | 4×10⁻² | 8×10⁻³ |
| Waypoint tracking error (m²) for 12 waypoints | N/A | 8×10⁻² | 9×10⁻³ |
For experimental validation, a quadcopter platform equipped with UWB positioning and power monitoring modules was used. The quadcopter followed a trajectory from (2 m, 1 m, 0.1 m) to (0.5 m, 2.5 m, 0.2 m), then to (4 m, 2.5 m, 0.1 m), and back to the start. The optimized trajectory generated by SGPM showed smooth velocity transitions and reduced energy consumption compared to non-optimized paths. The real-time power data confirmed the efficiency of the approach, with the quadcopter achieving lower overall energy use while accurately tracking waypoints.
In conclusion, the segmented Gaussian pseudospectral method effectively addresses energy optimization in quadcopter trajectory planning. By integrating a comprehensive kinematics-energy model and employing a sliding sub-interval strategy, the method achieves significant reductions in energy consumption and computation time. The algorithm’s performance is validated through simulations and experiments, demonstrating its practicality for complex missions with multiple waypoints. Future work could explore adaptive sub-interval sizing and real-time implementation for dynamic environments.
