Understanding Quadrotor Dynamics and Control

dynamical systems
control theory
quadrotor
geometric control
modeling
A practical overview of modeling, coordinate frames, and control-relevant dynamics of the quadrotor UAV.
Author

Evanns Morales-Cuadrado

Published

September 29, 2025

I’ll make this more in-depth and polished later, but here is a start.

Introduction

Quadrotors are among the most common UAV platforms in research thanks to their simple mechanical design and vertical takeoff and landing (VTOL) ability [1]. However, their control is fundamentally challenging because the system is nonlinear and underactuated—it moves in six degrees of freedom but only has four independent control inputs [2].

To control such a system, we first need a clear mathematical model of its motion. This model is typically derived from Newton–Euler mechanics, describing the evolution of position and orientation in three dimensions [2]. Ordinary differential equations (ODEs) provide the foundation for expressing these dynamics [3].


Coordinate Frames and Configuration

Modeling a quadrotor begins with defining coordinate frames that describe how it moves and rotates [2].

  • Inertial Frame (World Frame, W):
    A fixed reference frame where Newton’s laws apply. The position of the quadrotor’s center of mass, \(r \in \mathbb{R}^3\), is defined here [4].

  • Body Frame (B):
    Attached to the quadrotor’s center of mass and aligned with its principal axes. The \(z^B\)-axis is normal to the rotor plane, usually pointing downward (opposite to thrust) [5].

  • Configuration on SE(3):
    The full configuration is given by position \(r\) and orientation \(R\). Together they define a point on the Special Euclidean group \(\text{SE}(3) = \mathbb{R}^3 \times \text{SO}(3)\) [5].
    While Euler angles (\(\phi, \theta, \psi\)) are often used, geometric control instead operates directly on \(\text{SE}(3)\) to avoid coordinate singularities [5].


Dynamic Model

The quadrotor is often represented by a 12-dimensional state vector containing position, velocity, orientation, and angular velocity [2].

Translational Dynamics

Forces on the center of mass determine the linear motion:

\[ m\ddot{r} = mg\mathbf{e}_3 - f_t R\mathbf{e}_3 \]

where \(f_t\) is the total thrust along the body \(z^B\)-axis and \(R\) transforms it to the inertial frame.

Rotational Dynamics

Rotation about the center of mass follows Euler’s rotational equation:

\[ I\dot{\omega}_B + \omega_B \times (I\omega_B) = \tau_B \]

where \(I\) is the inertia matrix and \(\tau_B\) the total torque in the body frame [2].

Control Inputs

The four control inputs are:

\[ u = [f_t, \tau_x, \tau_y, \tau_z]^T \]

These are generated by the squared rotor speeds:

\[ \begin{cases} f_t = b(\Omega_1^2 + \Omega_2^2 + \Omega_3^2 + \Omega_4^2) \\ \tau_x = bl(\Omega_3^2 - \Omega_1^2) \\ \tau_y = bl(\Omega_4^2 - \Omega_2^2) \\ \tau_z = d(\Omega_2^2 + \Omega_4^2 - \Omega_1^2 - \Omega_3^2) \end{cases} \]

where \(b\) and \(d\) are thrust and drag constants, and \(l\) is the arm length.

Geometric Foundations

The dynamics of a quadrotor evolve on a smooth manifold, meaning the system’s state lives in a space that locally resembles \(\mathbb{R}^n\) but may have a more complex global structure [3].
The time evolution of the system can be described by vector fields defined on this manifold, each assigning a tangent direction to every point in the state space.

A control system can thus be viewed as a family of vector fields parameterized by control inputs: for every fixed input \(u\), the system follows a distinct vector field \(f_u(x)\).
This geometric formulation underpins nonlinear control, offering a natural language for describing motion, constraints, and feedback on curved spaces such as \(SO(3)\) and \(SE(3)\).


Differential Flatness

An important structural property of the quadrotor system is differential flatness [4].
This property implies that all states and inputs can be expressed as algebraic functions of a smaller set of flat outputs and their derivatives.
A common choice of flat outputs is:

\[ \mathbf{y} = [x, y, z, \psi]^T \]

representing the vehicle’s position and yaw.

From these outputs and their derivatives, one can reconstruct the full state and input:

  1. Thrust Direction:
    \[ \mathbf{z}^B = \frac{[\ddot{x}, \ddot{y}, \ddot{z} + g]^T}{\|[\ddot{x}, \ddot{y}, \ddot{z} + g]\|} \]

  2. Thrust Magnitude:
    \[ u_1 = m \|[\ddot{x}, \ddot{y}, \ddot{z} + g]\| \]

  3. Orientation:
    The rotation matrix \(R = [\mathbf{x}^B, \mathbf{y}^B, \mathbf{z}^B]\) is constructed from the thrust direction and desired yaw.

  4. Moments:
    Once \(R\) and its derivatives are known, the required control torques follow from Euler’s equations.

This framework enables the generation of smooth, dynamically feasible trajectories by working directly in the space of flat outputs, simplifying both trajectory design and tracking control.

References

[1]
G. M. Hoffmann, H. Huang, S. L. Waslander, and C. J. Tomlin, “Quadrotor helicopter flight dynamics and control: Theory and experiment,” in Proceedings of the AIAA guidance, navigation and control conference and exhibit, Hilton Head, South Carolina, 2007.
[2]
F. Sabatino, “Quadrotor control: Modeling, nonlinear control design, and simulation,” PhD thesis, KTH Royal Institute of Technology, Stockholm, Sweden, 2015.
[3]
V. I. Arnold, Ordinary differential equations. Cambridge, Massachusetts,; London, England: The MIT Press, 1973.
[4]
D. W. Mellinger, “Trajectory generation and control for quadrotors,” PhD thesis, University of Pennsylvania, 2012.
[5]
T. Lee, M. Leok, and N. H. McClamroch, “Geometric tracking control of a quadrotor UAV on SE(3),” 2010.