3

I'm trying to compute the direction of the vector that extends perpendicularly up from the top of the aircraft's surface.

Is there a way to compute the vector's 3-dimensional parameters in Cartesian dimensions?

I have available the values of roll angle, pitch angle, and heading angle (relative to north).

Koyovis
  • 61,680
  • 11
  • 169
  • 289

2 Answers2

1

You cannot calculate the direction of the lift vector from roll, pitch and heading. The total aerodynamic force $\vec{F}$ is by convention split into lift $\vec{L}$ and drag $\vec{D}$ as follows:

Lift and Drag

  • drag is the force component parallel to the direction of relative motion,
  • lift is the force component perpendicular to the direction of relative motion.

(Wikipedia - Aerodynamic Force, Wikipedia: image)

In order to split the force, you need to know the direction of relative motion, i.e. the velocity vector $\vec{v}$. With this you can calculate lift and drag:

$$ \vec{D} = \frac{\vec{F} \cdot \vec{v}}{|\vec{v}|^2} \vec{v} \; , \qquad \vec{L} = \vec{F} - \vec{D} $$


If you are just interested in the unit $\vec{Z}$ vector of the aircraft in the world coordinate system, this is given by

$$ \vec{Z} = \left( \begin{matrix} \sin(\phi) \sin(\psi) + \cos(\phi) \sin(\theta) \cos(\psi) \\ \cos(\phi) \sin(\theta) \sin(\psi) - \sin(\phi) \cos(\psi) \\ \cos(\phi) \cos(\theta) \end{matrix} \right) $$

with $\phi$, $\theta$ and $\psi$ as roll, pitch and yaw respectively (see also Euler Angles and Rotation Matrices and What is the relation between roll angle and pitch angle?).

Bianfable
  • 55,697
  • 8
  • 195
  • 257
  • 1
    Thank you for the reply. I realized that the question is titled incorrectly. I meant to ask how to obtain the direction of a vector that is normal to the aircraft, not specifically the lift vector. – james_erikson Feb 22 '23 at 12:06
  • @james_erikson Ah, that has nothing to do with the lift vector. I added the vector calculation based on roll, pitch and yaw. – Bianfable Feb 22 '23 at 13:30
  • Thank you very much. If my coordinate system were: up (+z), north (+y) and east (+x), I would have to re-derive Z correct? – james_erikson Feb 22 '23 at 18:10
  • @james_erikson Have a look at the picture in this answer. In your coordinate system, you'd basically have to swap roll and pitch and then use -Z instead of Z. – Bianfable Feb 22 '23 at 18:16
  • I'm using a simplified dynamics model that doesn't take into account the aircraft's yaw in the body frame. I only have heading in the inertial frame. Would that mean I simply remove the rotation matrix around the Z axis? Or I'm thinking I would apply the yaw matrix before any other rotations? – james_erikson Feb 22 '23 at 18:49
  • @james_erikson Your heading is the yaw angle – Bianfable Feb 23 '23 at 07:06
  • @james_erikson - We use a down-pointing z-axis because we count headings clockwise. If you use a z-axis that points up, you get counterclockwise headings, i.e. west = 90°. That's inconsistent with standard aviation conventions. – Rainer P. Feb 23 '23 at 08:49
  • Mr. Erikson, WHY do you want to know the direction perpendicular to the surface of the airframe? That is of no use, for anything. It is certainly not in any way relevant to the *totally* arbitrary definition of the force vector we call LIFT. That is defined as the component of aerodynamic force that lies normal (perpindicular), to the aircrafts flight path, not to the aircraft itself. We define it that way to separate or isolate the effect of aerodynamic force on the direction of aircraft velocity from its effect on the magnitude of the velocity, (speed). – Charles Bretana Feb 23 '23 at 13:19
  • If your question is really about LIFT, then an approximate (ignoring slight lateral shifts due to yaw), answer is just to add 90 degrees to the aircrafts velocity vector, in the plane of defined by the aircrafts roll axis and yaw axis. – Charles Bretana Feb 23 '23 at 13:24
1

You can convert any vector between body coordinates (x=forward, y=right, z=belly) and navigation coordinates (x=north, y=east, z=down) by multiplying it with the rotation matrix. For the inverse conversion, multiply the vector with the transposed rotation matrix.

By your problem description, you have a vector that points "up" in body coordinates and you want it in navigation coordinates, like this:

\begin{align} \mathbf{v}_{body} &= \begin{bmatrix} 0\\ 0\\ -1\end{bmatrix} \\ \mathbf{v}_{navi} &= \mathbf{A} * \mathbf{v}_{body} \end{align}

Construct the rotation matrix from Tait-Bryan angles (ϕ=roll, θ=pitch, ψ=heading) using: \begin{align}\mathbf{A} = \mathbf{A}_Z\mathbf{A}_Y\mathbf{A}_X \end{align}

with:

\begin{align} \mathbf{A}_X &= \begin{bmatrix} 1 & 0 & 0\\ 0 & \cos\phi & -\sin\phi\\ 0 & \sin\phi & \cos\phi \end{bmatrix} \\[5px] \mathbf{A}_Y &= \begin{bmatrix} \cos\theta & 0 & \sin\theta\\ 0 & 1 & 0\\ -\sin\theta & 0 & \cos\theta \end{bmatrix} \\[5px] \mathbf{A}_Z &= \begin{bmatrix} \cos\psi & -\sin\psi & 0\\ \sin\psi & \cos\psi & 0\\ 0 & 0 & 1 \end{bmatrix} \end{align}

Rainer P.
  • 2,910
  • 12
  • 18