Skip to content

4 DoF Model

parafoil_4dof.pdf

The four degrees-of-freedom (4 DoF) parafoil model includes two body-frame velocities \(u,w\), forward and downward, and two inertial-frame euler angles \(\phi,\psi\), roll and yaw. This model is described in detail in Section 5.1.3 in Yakimenko 2015 and originally appeared in Jann 2001.

Aerodynamic forces are simplified to affine lift and drag equations dependent only on the symmetric actuator deflection of the parafoil. The rotational dynamics are vastly simplified, modeling the roll rate as a 1st-order lag with the asymmetric actuator deflection as its input. The yaw rate can then be determined from the roll angle.

The 4 DoF dynamics are then described by:

\[ \begin{align} \begin{bmatrix} \dot{u} \\ \dot{w} \\ \dot{\phi} \\ \dot{\psi} \end{bmatrix} &= \frac{1}{m} \underbrace{ \begin{bmatrix} L \sin\alpha - D\cos\alpha \\ -L \cos\alpha - D\sin\alpha \\ 0 \\ 0 \end{bmatrix} }_{\text{aerodynamic forces}} + \underbrace{ \begin{bmatrix} 0 \\ g\cos\phi \\ 0 \\ \frac{g}{u}\tan\phi \end{bmatrix} - \begin{bmatrix} w\dot{\psi}\sin\phi \\ -u\dot{\psi}\sin\phi \\ 0 \\ -\frac{\dot{\phi}w}{u\cos\phi} \end{bmatrix} }_{\text{gravity \& non-inertial effects}} + \underbrace{ \begin{bmatrix} 0 \\ 0 \\ (-\phi + K_\phi \delta_{\mathrm{a}})/T_\phi \\ 0 \end{bmatrix} }_{\text{1st-order lag}} \end{align} \]

or written more compactly:

\[ \begin{align} \begin{bmatrix} \dot{u} \\ \dot{w} \\ \dot{\phi} \\ \dot{\psi} \end{bmatrix} = \begin{bmatrix} \frac{1}{m}(L\sin\alpha-D\cos\alpha) - w\dot{\psi}\sin\phi \\ \frac{1}{m}(-L\cos\alpha-D\sin\alpha) + g\cos\phi + u\dot{\psi}\sin\phi \\ (-\phi + K_\phi \delta_{\mathrm{a}})/T_\phi \\ \frac{g}{u}\tan\phi + \frac{w\dot{\phi}}{u\cos\phi} \end{bmatrix} \end{align} \]

The aerodynamic forces can be described by:

\[ \begin{align} L &= \textstyle\frac{1}{2}\rho V_{\mathrm{a}}^2 S_{\mathrm{ref}} \cdot (C_{\mathrm{L}0} + C_{\mathrm{L}\delta_s}\delta_{\mathrm{s}}) \\ D &= \textstyle\frac{1}{2}\rho V_{\mathrm{a}}^2 S_{\mathrm{ref}} \cdot (C_{\mathrm{D}0} + C_{\mathrm{D}\delta_s}\delta_{\mathrm{s}}) \end{align} \]

and the angle-of-attack \(\alpha\) is defined as

\[ \begin{align} \alpha &= \tan^{-1}(w/u) \end{align} \]

Here \(C_{\mathrm{L}0}\), \(C_{\mathrm{L}\delta_s}\), \(C_{\mathrm{D}0}\), and \(C_{\mathrm{D}\delta_s}\) refer to the aerodynamic coefficients, \(\delta_{\mathrm{s}}\) is the symmetric actuator deflection, \(\rho\) is the atmospheric density, \(V_\mathrm{a}\) the relative motion through the air, and \(S_{\mathrm{ref}}\) the reference wing area. The 1st-order lag is parameterized by the gain \(K_\phi\) and time parameter \(T_\phi\), while \(\delta_{\mathrm{a}}\) represents the asymmetric deflection.

Notes

Fidelity

While this formulation disregards some of the effects contained in higher dimensional models, this allows for a significant reduction in model complexity.

Additional States

In addition to the 4 degrees-of-freedom of the model itself, the implemented model tracks the inertial (north-east-down) position \(p_x,p_y,p_z\). This both eases model evaluation and plotting for simulations, and eases the inclusion of GPS data. We have also included the lateral velocity \(v\) and pitch angle \(\theta\) which were both assumed \(\approx 0\). This allows for easier integration with generic parafoil sensors / messages which do not make any assumptions on \(v, \theta\) and allow us to add noise to these states to simulate model inaccuracies.

Example Configuration

# type describes what type of model we want to use / should be loaded
type: "parafoil_4dof_discrete"

# Q (process noise covariance matrix)
Q:
  value:
    [
      [0.01, 0, 0, 0, 0, 0, 0, 0, 0],
      [0, 0.01, 0, 0, 0, 0, 0, 0, 0],
      [0, 0, 0.01, 0, 0, 0, 0, 0, 0],
      [0, 0, 0, 0.0001, 0, 0, 0, 0, 0],
      [0, 0, 0, 0, 0.0001, 0, 0, 0, 0],
      [0, 0, 0, 0, 0, 0.0001, 0, 0, 0],
      [0, 0, 0, 0, 0, 0, 0.1, 0, 0],
      [0, 0, 0, 0, 0, 0, 0, 0.1, 0],
      [0, 0, 0, 0, 0, 0, 0, 0, 0.1],
    ] 
  is_diag: false

model_params:
  # world params
  rho: 1.000

  # physical params
  m: 122.0
  S: 23.36

  # aero params
  C_L0: 0.502
  C_Ldelta_s: 0.892
  C_D0: 0.173
  C_Ddelta_s: 1.086

  # modeling params
  T_phi: 0.994
  K_phi: 0.504

  # actuator params
  deflection_symmetric_max: 0.5
  deflectino_asymmetric_max: 2.0