*Editor’s Note: This article deals with complex mathematics and requires background knowledge to understand fully. As prior reading, the following articles and videos are recommended:*

- Khan Academy: Introduction to Reference Frames
- Wikipedia: Rotation of Axes in Two Dimensions
- Khan Academy: Dot Product
- Khan Academy: Dot vs. Cross Products
- Khan Academy: Dot and Cross Products Using Unit Vector Notation

## Introduction

The objective of the Attitude Determination and Control System (ADCS) is to maintain the spacecraft’s orientation within the desired limit with respect to a reference frame. To design a control system for a satellite, we need to understand the satellite’s dynamics. This article will introduce Hughes’s Vectrix notation, which is widely used in dynamic systems design.

Vectrix notation was invented by Professor Peter Carlisle Hughes (1940-2023) at the University of Toronto Institute of Aerospace Studies (UTIAS). Initially published in 1986 in the reference book ”Spacecraft Attitude Dynamics” [1], vectrix notation has been continuously taught in university courses and used by many professionals in the field.

In astrodynamics, we have to deal with physical phenomena in multiple reference frames. For example, the sun vector can be located in the Earth-Centered Inertial frame (ECI), but for ADCS, the sun vector must be converted into the satellite body frame, which is a non-inertial frame. Dealing with complex dynamic systems across multiple reference frames can be challenging. Vectrix notations offer a superior approach to representing diverse dynamic phenomena in a specific reference frame, which can enable us to demonstrate how changes in satellite motion can be represented in multiple frames [2].

## What is a vectrix?

A vector is a useful way to define a quantity having direction as well as magnitude, this is why vectors are used widely in many branches of physics and engineering. Let us consider a vector \underrightarrow{v} in three-dimensional space. In order to give this vector a magnitude and direction, we must define a reference frame.

We can denote by \mathcal{F}_a a reference frame having basis vector \{\underrightarrow{a_1},\underrightarrow{a_2},\underrightarrow{a_3}\} of unit length. Note that only dextral orthonormal sets of basis vectors – that is, right-handed, orthogonal and normalized as the Cartesian coordinate system – can be used. Using this notation, we can express \underrightarrow{v} as:

\begin{equation} \underrightarrow{v} = \underrightarrow{\mathcal{F}_a^T} \bold{v} = v_{1} \underrightarrow{a_{1}} + v_{2} \underrightarrow{a_{2}} + v_{3} \underrightarrow{a_{3}} \end{equation}

where

\begin{equation} \bold{v} \triangleq \begin{bmatrix} v_{1} \\ v_{2} \\ v_{3} \end{bmatrix} \end{equation}

is the column matrix containing the components of vector \underrightarrow{v} as resolved in \mathcal{F}. Therefore, \underrightarrow{\mathcal{F}} is the vectrix associate with \mathcal{F} and defined as

\begin{equation} \underrightarrow{\mathcal{F}} \triangleq \begin{bmatrix} \underrightarrow{a_1} \\ \underrightarrow{a_2} \\ \underrightarrow{a_3} \end{bmatrix} \end{equation}

Note that the result may seem like a 1 \times 1 matrix because of the multiplication of a 1 \times 3 matrix with a 3 \times 1 matrix, but the result is a vector because \{\underrightarrow{a_1}, \underrightarrow{a_2}, \underrightarrow{a_3}\} are basis vectors so a vectrix is a 3 \times 3 matrix.

Therefore, we can also see the following result using the Vectrix notation.

\begin{equation} \underrightarrow{v} = \underrightarrow{\mathcal{F}_a^T} \bold{v} = \bold{v^{T}}\underrightarrow{\mathcal{F}_a} \end{equation}

We note that the representation of \underrightarrow{v} in a given reference frame makes the vector a 3 \times 1 form that we are all familiar with. Vectrix notation explicitly separates reference frame and vector representation.

## Dot Products and Cross Products

This section includes an overview of how the dot and cross products are calculated using vectrix notation.

### Dot Product

Let us consider two vectors \underrightarrow{u} and \underrightarrow{v} expressed in the same reference frame \mathcal{F}.

\begin{equation} \underrightarrow{u} = \underrightarrow{\mathcal{F}^T} \bold{u} = \bold{u^T} \underrightarrow{\mathcal{F}} \end{equation}

\begin{equation} \underrightarrow{v} = \underrightarrow{\mathcal{F}^T} \bold{v} \end{equation}

The dot product (inner product) of \underrightarrow{u} and \underrightarrow{v} is denoted by

\begin{equation} \underrightarrow{u} \cdot \underrightarrow{v} = \bold{u^T} \underrightarrow{\mathcal{F}} \cdot \underrightarrow{\mathcal{F}^T} \bold{v} \end{equation}

We can see that by matrix multiplication and distributing the dot product operator to the elements of \underrightarrow{\mathcal{F}} \cdot \underrightarrow{\mathcal{F}^T} and invoke the dot products for a pair of basis vectors, we get the identity matrix \bold{I}.

\begin{equation} \underrightarrow{\mathcal{F}} \cdot \underrightarrow{\mathcal{F}^T} = \bold{I} \end{equation}

This also further serves as a formal statement of orthonormality. Finally, we can find the dot product for two vectors.

\begin{equation} \underrightarrow{u} \cdot \underrightarrow{v} = \bold{u^T}\bold{v} = u_{1}v_{1} + u_{2}v_{2} + u_{3}v_{3} \end{equation}

Therefore, we can see the result of the dot product is a scalar.

### Cross Product

Let us also consider the cross product of two vectors \underrightarrow{u} and \underrightarrow{v}.

\begin{equation} \underrightarrow{u} \times \underrightarrow{v} = \bold{u^T} \underrightarrow{\mathcal{F}} \times \underrightarrow{\mathcal{F}^T} \bold{v} \end{equation}

To avoid going into lengthy proof, we will define the cross operator (\cdot)^{\times}. We can apply this operator on a 3 \times 1 \bold{u} as:

\begin{equation} \bold{u}^{\times} = \begin{bmatrix} 0 & - u_{3} & u_{2} \\ u_{3} & 0 & -u_{1} \\ -u_{2} & u_{1} & 0 \end{bmatrix} \end{equation}

This gives us the cross product of \underrightarrow{u} and \underrightarrow{v} as follows:

\begin{equation} \underrightarrow{u} \times \underrightarrow{v} = \underrightarrow{\mathcal{F^{T}}} \bold{u}^{\times} \bold{v} =\underrightarrow{\mathcal{F^{T}}} \begin{bmatrix} u_{2}v_{3} - v_{2}u_3\\ u_{3}v_{1} - v_{3} u_{1}\\ u_{1}v_{2} - v_{1}u_{2} \end{bmatrix} \end{equation}

The cross-product gives us a vector in the \underrightarrow{\mathcal{F}} reference frame.

## Rotation Matrices

The vector \underrightarrow{v} can have many equivalent expressions in different reference frames.

\begin{equation} \underrightarrow{v} = \underrightarrow{\mathcal{F}_a^T} \bold{v_a} = \underrightarrow{\mathcal{F}_b^T} \bold{v_b} \end{equation}

We can find \bold{v_a}from \bold{v_b} by changing \bold{v_b} from frame \underrightarrow{\mathcal{F}_b} to frame \underrightarrow{\mathcal{F}_a}.

\begin{equation} \bold{v_a} = \underrightarrow{\mathcal{F}_a} \cdot \underrightarrow{\mathcal{F}_b^{T}} \bold{v_b} \end{equation}

We can define \bold{C_{ab}}, the rotation matrix from frame \underrightarrow{\mathcal{F}_b} to frame \underrightarrow{\mathcal{F}_a}, as:

\begin{equation} \bold{C_{ab}} \equiv \underrightarrow{\mathcal{F}_a} \cdot \underrightarrow{\mathcal{F}_b^{T}} \end{equation}

Therefore,

\begin{equation} \bold{v_a} = \bold{C_{ab}} \bold{v_{b}} \end{equation}

We can say that \bold{C_{ab}} describes the orientation or attitude of \mathcal{F}_a with respect to \mathcal{F}_b. We can expand equation 15 to obtain equation 17, in which \theta_{ij} is the angle between \underrightarrow{a_{i}} and \underrightarrow{b_{j}}.

\begin{equation} C_{ab} \equiv \begin{bmatrix} a_{1} \cdot b_{1} & a_{1} \cdot b_{2} & a_{1} \cdot b_{3} \\ a_{2} \cdot b_{1} & a_{2} \cdot b_{2} & a_{2} \cdot b_{3} \\ a_{3} \cdot b_{1} & a_{3} \cdot b_{2} & a_{3} \cdot b_{3} \end{bmatrix} \equiv \begin{bmatrix} \cos{\theta_{11}} & \cos{\theta_{12}} & \cos{\theta_{13}} \\ \cos{\theta_{21}} & \cos{\theta_{22}} & \cos{\theta_{23}} \\ \cos{\theta_{31}} & \cos{\theta_{32}} & \cos{\theta_{33}} \end{bmatrix} \end{equation}

We can see that the rotation matrix is composed of the directional cosines between the two sets of basis vectors.

### Principal Rotations

We can consider a few special cases of \underrightarrow{\mathcal{F}_a} being displaced from \underrightarrow{\mathcal{F}_b} by a rotation through an angle $\theta$ (using the right-hand rule) about one of the principal axes. This is referred to as a principal rotation.

First let’s consider the rotation about \underrightarrow{b_1}. This will keep \underrightarrow{b_1} parallel to \underrightarrow{a_1} and the rotation matrix reduces to:

\begin{equation} C_{ab} = \begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos{\theta} & \cos{(\frac{\pi}{2}-\theta)} \\ 0 & \cos{(\frac{\pi}{2}+ \theta)} & \cos{(\theta)} \end{bmatrix} \equiv \begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos{(\theta)} & \sin{(\theta)} \\ 0 & -\sin{(\theta)} & \cos{(\theta)} \end{bmatrix} \equiv C_1 \end{equation}

This defines a principal rotation and, since it is a rotation about the 1-axis, we can denote it by C_1. The other principal rotations about the 2-axis (\underrightarrow{b_2}) and 3-axis (\underrightarrow{b_3}) can likewise be written as:

\begin{equation} C_{2} \equiv \begin{bmatrix} \cos{(\theta)} & 0 & -\sin{(\theta)} \\ 0 & 1 & 0 \\ \sin{(\theta)} & 0 & \cos{(\theta)} \end{bmatrix}, \: \: C_{3} \equiv \begin{bmatrix} \cos{(\theta)} & \sin{(\theta)} & 0 \\ -\sin{(\theta)} & \cos{(\theta)} & 0 \\ 0 & 0 & 1 \end{bmatrix} \end{equation}

These are the three principal rotation matrices.

### Euler Rotation

Euler’s Theorem provides a way to represent multiple rotational transformations as a single rotation about a unique axis passing through a fixed point, offering a concise and widely used framework for describing rotations in three-dimensional space. Specifically, it states that any general displacement of a rigid body with one point fixed can be represented as a rotation about an axis through that point.

Directional cosine matrices can be expressed as Euler-axis rotations about a unit-normal axis \underrightarrow{a} and a rotation angle \phi.

\begin{equation} C(a,\phi) = \cos\phi \bold{I} + (1-\cos \phi)aa^{T} - sin\phi \; a^{\times} \end{equation}

The rotation axis \underrightarrow{a} can be expressed in either the initial or final frame of the transformation.

### Other Properties of Rotation Matrices

The inverse transformation is physically a rotation through the same angle in the opposite direction. The inverse of a rotation matrix is also its transpose, therefore, we can transfer from \underrightarrow{\mathcal{F}_a} back to \underrightarrow{\mathcal{F}_b} by taking the transpose of the rotation matrix.

\begin{equation} C_{ab}^{-1} \equiv C_{ba} \equiv C_{ab}^{T} \end{equation}

If we introduce another reference frame \underrightarrow{\mathcal{F}_c} obtained from \underrightarrow{\mathcal{F}_b} via another rotation, then the components of \underrightarrow{v} in this new frame in terms of its components in \underrightarrow{\mathcal{F}_a} are given by:

\begin{equation} \bold{v_{c}} = C_{cb}v_{b} = C_{cb}C_{ba}v_{a} = C_{ca}v_{a} \end{equation}

Where C_{ca} = C_{cb}C_{ba} is the rotation from \underrightarrow{\mathcal{F}_a} to \underrightarrow{\mathcal{F}_c}. Note that the order of rotation is important.

In conclusion, vectrix notation provides a means of representing a vector within a specific reference frame, and through the application of linear algebra, we can define dot and cross products within that same reference frame. Moving forward, the application of vectrix notation is especially valuable when working with dynamic systems in multiple reference frames, such as satellites or spacecraft orbiting Earth or another celestial body.

## References

- P. C. Hughes, “Spacecraft Attitude Dynamics,” Wiley, New York, 1986.
- G. M. T. D’Eleuterio and G. R. Heppler, Newton’s Second Law And All That. Toronto, Ontario: University of Toronto, 2019.

Was this helpful?

0 / 0

- Vectrix Dynamic Notation - July 12, 2023
- Introduction to Attitude Determination and Control (ADCS) - May 31, 2023