Introduction and Overview
Abstract
This document starts with a brief justification for the choice of spatial vector algebra (SVA) for flight simulation and GNC (guidance–navigation and control) applications. It then presents a complete, clean formulation of rigid-body flight dynamics using this formalism.
All equations are written in a global inertial frame \(W\). Therefore, Earth’s rotation influences only the atmospheric velocity, not the equations of motion themselves. This preserves the standard Featherstone free-body form.
The body frame is denoted \(B\), with its origin at the center-of-mass (CoM) of the flying body for convenience.
The state vector is
where
\(\mathbf{p}_W(t)\) is the position of the CoM in the inertial frame,
\(q_{WB}(t)\) is the orientation quaternion of the body frame with respect to the inertial frame,
\(\boldsymbol{\omega}_B(t)\) and \(\mathbf{v}_B(t)\) are angular and linear velocity vectors expressed in the body frame,
\(m(t)\) is the vehicle mass.
Nomenclature
Symbol |
Description |
|---|---|
\(W\) |
Inertial world frame (often chosen as ECI) |
\(B\) |
Body-fixed frame at the vehicle CoM |
\(I\) |
Earth–Centered Inertial (ECI) frame |
\(E\) |
Earth–fixed rotating frame (ECEF) |
\(t\) |
Time |
\(x(t)\) |
State vector \((\mathbf{p}_W,q_{WB},\boldsymbol{\omega}_B,\mathbf{v}_B,m)\) |
\(u(t)\) |
Control input (thrust magnitude, control torques) |
\(m(t)\) |
Vehicle mass |
\(\dot{m}_{flow}(t)\) |
Propellant mass flow rate |
\(T(t)\) |
Thrust magnitude |
\(\boldsymbol{\tau}_{ctrl,B}(t,x)\) |
Control torque in body frame |
\(\mathbf{p}_W\) |
Position of vehicle CoM in inertial frame \(W\) |
\(\mathbf{r}_W\) |
Generic position vector expressed in \(W\) |
\(q_{WB}\) |
Unit quaternion from body frame \(B\) to inertial frame \(W\) |
\(R_{WB}\) |
Rotation matrix corresponding to \(q_{WB}\) |
\(R_{BW}\) |
Rotation matrix from \(W\) to \(B\) (\(R_{BW}=R_{WB}^\top\)) |
\(\boldsymbol{\omega}_B\) |
Angular velocity expressed in \(B\) |
\(\boldsymbol{\omega}_W\) |
Angular velocity expressed in \(W\) |
\(\boldsymbol{\omega}_\oplus\) |
Earth rotation vector |
\(\mathbf{v}_B\) |
Linear velocity of CoM expressed in \(B\) |
\(\mathbf{v}_W\) |
Linear velocity of CoM expressed in \(W\) |
\(\mathbf{v}_{air,W}\) |
Atmospheric (wind-free) velocity in \(W\) |
\(\mathbf{v}_{wind,W}\) |
Wind velocity in \(W\) |
\(\mathbf{v}_{rel,W}\) |
Relative airspeed in \(W\) |
\(\mathbf{v}\) |
Spatial motion vector (twist) \([\boldsymbol{\omega}, \mathbf{v}]^\top\) |
\(\mathbf{a}\) |
Spatial acceleration |
\(\mathbf{f}\) |
Spatial force vector (wrench) \([\mathbf{n}, \mathbf{f}]^\top\) |
\(\mathbf{v}_B\) |
Vehicle twist expressed in \(B\) |
\(\mathbf{a}_B\) |
Vehicle spatial acceleration expressed in \(B\) |
\(\mathbf{f}_B\) |
Net spatial wrench acting on the body in \(B\) |
\(\mathbf{f}_{g,B}\) |
Spatial wrench due to gravity |
\(\mathbf{f}_{aero,B}\) |
Spatial wrench due to aerodynamic forces |
\(\mathbf{f}_{T,B}\) |
Spatial wrench due to thrust |
\(\mathbf{f}_{ctrl,B}\) |
Spatial wrench due to control torques |
\(\mathbf{g}_W(\mathbf{p}_W)\) |
Gravity vector expressed in \(W\) |
\(\mathbf{F}_{g,W}, \mathbf{F}_{g,B}\) |
Gravity force in \(W\) and \(B\) |
\(\mathbf{F}_{aero,W}, \mathbf{F}_{aero,B}\) |
Aerodynamic force in \(W\) and \(B\) |
\(\mathbf{F}_{T,B}\) |
Thrust force in \(B\) |
\(\hat{\mathbf{t}}_B\) |
Thrust unit direction in \(B\) |
\(\rho\) |
Atmospheric density |
\(C_D\) |
Aerodynamic drag coefficient |
\(A\) |
Reference area |
\(\mathbf{I}_B(m)\) |
Spatial inertia matrix in \(B\) (block form) |
\(\mathbf{J}_B(m)\) |
Rotational inertia matrix about the CoM in \(B\) |
\(\mathbb{I}_F\) |
General spatial inertia in frame \(F\) |
\(IC_F\) |
Rotational inertia at COM expressed in frame \(F\) |
\(c_F\) |
COM location in frame \(F\) |
\(I_3\) |
\(3\times 3\) identity matrix |
\([\cdot]_\times\) |
Skew-symmetric matrix for 3-D cross products |
\(\times, \times^*\) |
Spatial cross-product operator on twists and wrenches |
\({}_A X_B\) |
Spatial motion transform from frame \(B\) to \(A\) |
\({}_A X_B^*\) |
Dual force transform (co-adjoint action) |
\(\mathrm{ad}_{\mathbf{v}}\) |
Adjoint action associated with twist \(\mathbf{v}\) |
\(\mathfrak{se}(3)\) |
Lie algebra of \(SE(3)\) (space of twists) |
\(SE(3)\) |
Special Euclidean group (rigid-body motions) |
\(f(x,u)\) |
Nonlinear state propagation model |
\(h(x)\) |
Measurement model |
\(\mathbf{F}\) |
State-transition Jacobian \(\partial f/\partial x\) |
\(\mathbf{H}\) |
Measurement Jacobian \(\partial h/\partial x\) |
\(z\) |
Measurement vector |
\(v\) |
Measurement noise |
\(g_0\) |
Standard gravity |
\(I_{sp}\) |
Propellant specific impulse |
\(\omega_\oplus\) |
Earth rotation rate magnitude |
Abbreviations
Abbreviation |
Meaning |
|---|---|
AD |
Algorithmic Differentiation |
CoM |
Center of Mass |
DoF |
Degree of Freedom |
ECEF |
Earth-Centered Earth-Fixed (Frame \(E\)) |
ECI |
Earth-Centered Inertial (Frame \(I\)) |
EKF |
Extended Kalman Filter |
FDM |
Flight Dynamics Model |
FMU |
Functional Mock-up Unit |
GNC |
Guidance, Navigation, and Control |
GPS |
Global Positioning System |
IMU |
Inertial Measurement Unit |
ODE |
Ordinary Differential Equation |
SVA |
Spatial Vector Algebra |