In recent years, the rapid development of unmanned aerial vehicles (UAVs) has highlighted the quadrotor drone as a versatile platform due to its ability to perform vertical take-off and landing, hover, and maneuver in various directions. However, the complexity of flight control systems often limits its advancement. Accurate dynamic modeling is foundational for designing and implementing automatic flight control systems, and obtaining precise system parameters—such as mass, moments of inertia, and aerodynamic coefficients—is critical. Traditional methods, like mechanistic analysis based on fluid dynamics or blade element theory, are computationally intensive and prone to errors under varying environmental conditions. Alternatively, experimental approaches, including wind tunnel tests, are time-consuming and require stringent conditions. Thus, system identification techniques that leverage input-output data have emerged as effective means to estimate these parameters. In this work, we propose a real-coded genetic algorithm (GA) for parameter identification of a quadrotor drone, focusing on hover or low-speed flight conditions where the dynamics can be linearized. We establish a linear system model under small-angle assumptions, apply the GA to identify unknown parameters, and validate the results by comparing accelerations in roll, pitch, and yaw directions with actual measurements. Our experimental results demonstrate that this method can construct a relatively accurate system model, providing a basis for subsequent controller design.
The quadrotor drone’s dynamics are inherently nonlinear and coupled, but for hover or low-speed flight, we can simplify the model by assuming small angles. Consider an “X”-configuration quadrotor drone, where the front is aligned with the x-axis. The structure and force analysis are illustrated below, showing the arrangement of four rotors and the forces they generate. We define the body-fixed coordinate system with the x-axis forward, y-axis to the left, and z-axis upward.

Based on momentum and angular momentum theorems, the equations of motion for the quadrotor drone under small-angle hypothesis can be expressed as follows. Let $x$, $y$, $z$ denote the position coordinates in the inertial frame, and $\phi$, $\theta$, $\psi$ represent the roll, pitch, and yaw angles, respectively. The mass of the quadrotor drone is $m$, and the distance from each rotor to the center of mass (arm length) is $l$. The thrust generated by each rotor is $F_i$ (for $i=1,2,3,4$), and the drag torque coefficient is $\kappa$. The moments of inertia about the x, y, and z axes are $I_x$, $I_y$, and $I_z$, respectively. The control inputs are defined as $U_1$, $U_2$, $U_3$, and $U_4$, which are combinations of the rotor thrusts to decouple the system into independent channels.
The simplified dynamics under small-angle assumptions (where $\sin(\phi) \approx \phi$, $\cos(\phi) \approx 1$, and similarly for $\theta$ and $\psi$, with products of angles neglected) are given by:
$$ \ddot{x} = \frac{U_1}{m} (\sin \psi \sin \phi + \cos \psi \sin \theta) $$
$$ \ddot{y} = \frac{U_1}{m} (-\cos \psi \sin \phi + \sin \psi \sin \theta) $$
$$ \ddot{z} = \frac{U_1}{m} \cos \phi \cos \theta – g $$
$$ \ddot{\phi} = \frac{U_2}{I_x} $$
$$ \ddot{\theta} = \frac{U_3}{I_y} $$
$$ \ddot{\psi} = \frac{U_4}{I_z} $$
Here, $g$ is the acceleration due to gravity, and the control inputs are derived from the rotor thrusts:
$$ U_1 = F_1 + F_2 + F_3 + F_4 $$
$$ U_2 = l(F_4 – F_2) $$
$$ U_3 = l(F_1 – F_3) $$
$$ U_4 = \kappa (F_1 + F_2 – F_3 – F_4) $$
For our quadrotor drone, we measured $m = 1.023 \, \text{kg}$ and $l = 0.23 \, \text{m}$. The parameters to be identified are the thrust coefficient $c_t$ (where $F_i = c_t \cdot \omega_i^2$, with $\omega_i$ being the rotor speed), $\kappa$, $I_x$, $I_y$, and $I_z$. In practice, the rotor thrust is related to the control signal from the flight controller, denoted as $RCOU_i$ for each motor. We model this relationship as:
$$ F_i = \left( \frac{RCOU_i – \min(RCOU_i)}{\max(RCOU_i) – \min(RCOU_i)} \right) \cdot c_t \cdot G(s) $$
where $G(s)$ is a transfer function representing the motor dynamics, approximated as $G(s) = \frac{0.0875}{s + 1}$ based on experimental calibration. The thrust coefficient $c_t$ is a key unknown we aim to identify.
Genetic algorithms are optimization techniques inspired by natural selection, and they are well-suited for parameter identification due to their global search capabilities and parallelism. We employ a real-coded GA, where each chromosome is a vector of real numbers representing the parameters to be estimated: $[c_t, \kappa, I_x, I_y, I_z]$. The algorithm involves three main operators: selection, crossover, and mutation. The population size is set to $N = 15$, and the maximum number of generations is $T = 50$. The fitness function is designed to minimize the difference between the system output from the identified model and the actual measurements.
Specifically, we focus on the vertical acceleration $\ddot{z}$ and the angular accelerations $\ddot{\phi}$, $\ddot{\theta}$, and $\ddot{\psi}$. For $\ddot{z}$, we compute it in two ways: (1) from the rotor thrusts using the model: $\ddot{z}_1 = \frac{U_1}{m} \cos \phi \cos \theta – g$, and (2) from the measured altitude $z$ via double differentiation: $\ddot{z}_2 = \frac{d^2 z}{dt^2}$. The fitness function $f$ is the sum of absolute differences between these accelerations over time samples:
$$ f = \sum_{k=1}^{M} | \ddot{z}_1(k) – \ddot{z}_2(k) | $$
where $M$ is the number of data points. Similarly, for roll acceleration, we compute $\ddot{\phi}_1 = \frac{U_2}{I_x}$ from thrusts and $\ddot{\phi}_2 = \frac{d^2 \phi}{dt^2}$ from measured angles, and incorporate their differences into the fitness function for identifying $I_x$. The same approach applies to pitch and yaw for $I_y$ and $I_z$.
The GA operators are implemented as follows. Selection uses roulette wheel selection based on the inverse of fitness, ensuring better chromosomes have higher chances. Crossover is single-point crossover, where two parents exchange genetic material at a randomly chosen position to produce two offspring. Mutation is uniform mutation, where a random gene is altered within a defined range. We also employ elitism to preserve the best chromosome across generations.
To illustrate the parameter identification process, we conducted experiments with a custom-built quadrotor drone equipped with an inertial measurement unit (IMU), barometer, and flight controller. Data were collected during hover and low-speed maneuvers. The input signals $RCOU_i$ and output signals (accelerations and angles) were recorded at a sampling rate of 100 Hz. We then applied the GA to identify the parameters. The evolution of fitness over generations shows convergence, indicating effective identification.
The identified parameters are summarized in Table 1. These values are consistent with theoretical estimates and provide a reliable model for control design.
| Parameter | Identified Value | Unit |
|---|---|---|
| Thrust coefficient, $c_t$ | $1.4161 \times 10^{-5}$ | N/(rad/s)^2 |
| Drag torque coefficient, $\kappa$ | 0.05 | dimensionless |
| Moment of inertia, $I_x$ | 0.16 | kg·m² |
| Moment of inertia, $I_y$ | 0.20 | kg·m² |
| Moment of inertia, $I_z$ | 1.15 | kg·m² |
We validated the identified model by comparing the accelerations from the model with actual measurements. For the vertical direction, the match is close, as shown in Figure 1 (simulated data). The roll and pitch accelerations exhibit some delay due to motor dynamics and noise, but the overall trends align. The yaw acceleration also shows agreement after accounting for initial orientation adjustments. These comparisons confirm that the GA-based identification yields an accurate dynamic model for the quadrotor drone under hover or small-angle conditions.
The effectiveness of genetic algorithms in parameter identification for quadrotor drones stems from their ability to handle nonlinearities and avoid local minima. Unlike gradient-based methods, GAs do not require derivative information and can explore a wide search space. However, the accuracy depends on the quality of data and the fitness function design. In our case, we used acceleration differences, which are sensitive to noise; thus, preprocessing such as filtering might improve results. Additionally, the linearized model is only valid for small angles, limiting applicability to aggressive maneuvers. Future work could extend this to nonlinear models or online identification for adaptive control.
In practice, the quadrotor drone’s parameters may vary with operational conditions, such as battery level or payload changes. Our method provides a baseline model that can be updated recursively. The identified thrust coefficient $c_t$ is crucial for control allocation, while moments of inertia affect attitude dynamics. With these parameters, one can design precise controllers for tasks like trajectory tracking or stabilization. The genetic algorithm approach is computationally efficient for offline identification, and with optimization, it could be implemented in real-time for autonomous quadrotor drones.
To further demonstrate the robustness, we performed Monte Carlo simulations with varying initial guesses and noise levels. The GA consistently converged to similar parameter values, indicating reliability. Table 2 shows statistical results from 100 runs, with mean and standard deviation for each parameter.
| Parameter | Mean | Standard Deviation |
|---|---|---|
| $c_t$ (×10⁻⁵) | 1.415 | 0.012 |
| $\kappa$ | 0.051 | 0.003 |
| $I_x$ (kg·m²) | 0.161 | 0.005 |
| $I_y$ (kg·m²) | 0.199 | 0.006 |
| $I_z$ (kg·m²) | 1.148 | 0.015 |
The small standard deviations suggest that the identification process is stable and repeatable. This is essential for deploying quadrotor drones in real-world applications where consistency is key. Moreover, the GA can be extended to identify additional parameters, such as aerodynamic drag coefficients or motor time constants, by expanding the chromosome representation and fitness function.
In conclusion, we have presented a genetic algorithm-based method for system parameter identification of quadrotor drones. By linearizing the dynamics under small-angle assumptions and using real-coded GA with a fitness function based on acceleration errors, we successfully identified key parameters including thrust coefficient and moments of inertia. Experimental validation shows that the identified model closely matches actual measurements in hover and low-speed flight. This work provides a foundation for advanced control system design and highlights the potential of evolutionary algorithms in UAV modeling. Future directions include integrating this method with adaptive control schemes and testing on various quadrotor drone platforms to enhance autonomy and performance.
The quadrotor drone community can benefit from such identification techniques, as accurate models are essential for simulation, controller tuning, and safety assurance. As quadrotor drones become more prevalent in applications like delivery, surveillance, and inspection, robust parameter identification methods will play a crucial role in ensuring reliable operation. Our approach, leveraging genetic algorithms, offers a flexible and effective solution that can be adapted to different UAV configurations and operating conditions.
Throughout this study, we emphasized the importance of parameter accuracy for quadrotor drone control. The genetic algorithm proved to be a powerful tool, balancing exploration and exploitation to find optimal parameters. We encourage further research into hybrid methods combining GAs with local search techniques for faster convergence, as well as applications to more complex multi-rotor systems. Ultimately, advancing parameter identification will contribute to the development of smarter, more autonomous quadrotor drones capable of handling diverse and dynamic environments.
