Drone Physics

hazrmard1 pts0 comments

Ibrahim Ahmed: Drone physics≡

Ibrahim Ahmed

Home<br>About Me<br>Résumé<br>Posts<br>Notes<br>Projects

Drone physics<br>(Updated: Tuesday, Jun 16, 2026),<br>Jan 27, 2024<br>Section:<br>Home<br>/ Post<br>Categories:<br>Engineering,<br>Tags:<br>Simulation,<br>Uav,

Contents<br>This article describes drone physics. Audience should have familiarity with introductory linear algebra, introductory calculus, and introductory classical mechanics. This work was adapted from my research in adaptive control and publication at AIAA DASC 2023 about multirotor, a python simulation framework for drones. The notation here borrows heavily from the excellent work by Charles Tytler.<br>For more interactive explainers, see Poor Man&rsquo;s Autograd and Surprise! A Derivation of Entropy.

The following topics are covered, in order:<br>The coordinate systems used to describe the vehicle.<br>The state variables used to describe the vehicle.<br>The forces and torques acting on the body.<br>Equations of motion (linear and angular).<br>How motors and propellers generate forces and torques.<br>How control systems determine propeller speeds.<br>Describing the vehicle<br>A multi-rotor UAV is modeled with six degrees of freedom: the three linear axes for linear motion: $x, y, z$, and the three angular axes for rotational motion: $\phi, \theta, \psi$. To use coordinates, a coordinate system needs to be agreed upon. Typically the the North-East-Down (NED) system is used. The direction of the positive $x$ axis is considered &ldquo;forward&rdquo;/North orientation. The positive $y$ axis is &ldquo;right&rdquo;/East and the positive $z$ axis is &ldquo;down&rdquo;.This is a right-handed coordinate system; positive rotation about an axis in the direction of the thumb is in the direction of the curled fingers. For example, a positive z-rotation goes from +x to +y.<br>Two reference frames are used for representing the state of the body:<br>Inertial, nominal reference frame $n$ is the static frame of reference where the axes are aligned with arbitrary, global directions. They are represented as column vectors $\hat{n} = [\hat{x}^n, \hat{y}^n, \hat{z}^n]^T$.<br>Body-fixed reference frame $b$ has the axes aligned with respect to the center of gravity of the rigid body in motion. They are represented as column vectors $\hat{b} = [\hat{x}^b, \hat{y}^b, \hat{z}^b]^T$. The body frame moves and rotates with the vehicle. Consider the origin of the body frame attached to the center of mass of the drone.

Linear representation<br>The body-fixed reference frame $b$ is affixed to the center of mass of the vehicle. That is, the displacement of the vehicel from the body frame is always 0. The position of the vehicle is represented by the displacement of the body frame from the inertial frame, $\hat{r}^n$.<br>The velocity of the vehicle is the velocity of the body frame relative to the inertial frame. Here, we choose to represent velocity in coordinates of the body frame.<br>Angular representation<br>Orientation of a body in the inertial reference frame follows the Tait-Bryan angles convention. That is, orientation can be described by three sequential rotations: yaw ($\psi$), pitch ($\theta$), and roll ($\phi$) - in that order. The order of rotations matters. Starting from the inertial frame $\hat{n}$, yaw $\psi$ is rotation $R(\psi)$ of the body frame about the inertial $z$ axis. Starting from this yaw-ed frame $\hat{n}_\psi$, pitch $\theta$ is rotation $R(\theta)$ about the new $y$ axis. And starting from this yaw-ed and pitch-ed frame $\hat{n}_{\psi,\theta}$, roll $\phi$ is the final rotation $R(\phi)$ about the new $x$ axis. The final product, $\hat{n}_{\psi,\theta,\phi}$ is the body reference frame.

The angular velocity of the vehicle, $\hat{w}^T=[\omega_x,\omega_y,\omega_z]$, is the instantaneous rotational rate of the body frame about itself. Whereas each angle of orientation is defined in its own reference frame ($\hat{n}, \hat{n}_{\psi}, \hat{n}_{\psi,\theta}=\hat{b}$) during a sequence of ordered rotations from the inertial axes to the body frame (yaw, then pitch, then roll).<br>Roll rotation happens last and the result is the body frame. Therefore, $p$, the rate about the x-axis equals the roll rate, $\dot{\phi}$. Pitch happens after the initial yaw, but before roll. Therefore, $q$, the rate about the y-axis, is the pitch rate in the frame $\hat{n}_{\psi}$ rotated by roll $\phi$ to get the the body frame. Finally, yaw rotation happens first in the inertial frame. Therefore, $r$, the rate about the body frame&rsquo;s z-axis, is the yaw rate in the inertial frame rotated by pitch $\theta$ and roll $\phi$. This can be expressed as a matrix equation:<br>$$<br>\begin{bmatrix}<br>\omega_x \\<br>\omega_y \\<br>\omega_z<br>\end{bmatrix} = R(\phi)\cdot R(\theta) \begin{bmatrix}<br>0 \\ 0 \\ \dot{\psi}<br>\end{bmatrix} +<br>R(\phi) \begin{bmatrix}<br>0 \\ \dot{\theta} \\ 0<br>\end{bmatrix} +<br>\begin{bmatrix}<br>\dot{\phi} \\ 0 \\ 0<br>\end{bmatrix}<br>$$<br>$$<br>\begin{bmatrix}<br>\omega_x \\<br>\omega_y \\<br>\omega_z<br>\end{bmatrix} = \begin{bmatrix}<br>\dot{\phi} + \dot{\psi} \sin{\theta}\\<br>- \dot{\psi} \sin{\phi}...

frame body theta bmatrix axis from

Related Articles