Launch-Site Initialization and Frame Chain

Frame Chain Overview

The launch configuration uses the following frame chain:

\[W \rightarrow E \rightarrow U \rightarrow R \rightarrow B\]

where

  • \(W\): ECI/inertial frame,

  • \(E\): ECEF frame,

  • \(U\): local NEU frame,

  • \(R\): launch rail frame,

  • \(B\): rocket body frame.

A schematic of this frame chain is:

Frame chain for launch-site initialization

Frame chain ECI (\(W\)) → ECEF (\(E\)) → NEU (\(U\)) → rail (\(R\)) → body (\(B\)).

WGS–84 Geodetic Coordinates to ECEF

For geodetic latitude \(\varphi\), longitude \(\lambda\), and height \(h\) (WGS–84), the prime vertical radius of curvature is

\[N(\varphi) = \frac{a}{\sqrt{1 - e^2 \sin^2\varphi}},\]

where \(a\) is the semi-major axis and \(e\) is the first eccentricity of WGS–84.

The ECEF coordinates of the launch site:

\[\begin{split}\begin{aligned} x_E &= (N(\varphi) + h)\cos\varphi \cos\lambda, \\ y_E &= (N(\varphi) + h)\cos\varphi \sin\lambda, \\ z_E &= \bigl((1-e^2)N(\varphi) + h\bigr)\sin\varphi. \end{aligned}\end{split}\]

Thus,

\[\begin{split}{}^{E}\mathbf{r}_{\text{site}} = \begin{bmatrix} x_E \\ y_E \\ z_E \end{bmatrix}.\end{split}\]

Local NEU Frame at the Launch Site

The rotation from ECEF to local NEU is

\[\begin{split}{}^{U}\!R_{E} = \begin{bmatrix} -\sin\varphi \cos\lambda & -\sin\varphi \sin\lambda & \cos\varphi \\ -\sin\lambda & \cos\lambda & 0 \\ \cos\varphi \cos\lambda & \cos\varphi \sin\lambda & \sin\varphi \end{bmatrix}.\end{split}\]

Each row is a NEU unit vector expressed in ECEF:

\[\hat{n}_U = {}^{U}\!R_{E}(1,:),\quad \hat{e}_U = {}^{U}\!R_{E}(2,:),\quad \hat{u}_U = {}^{U}\!R_{E}(3,:).\]

The inverse (NEU → ECEF) is

\[{}^{E}\!R_{U} = ({}^{U}\!R_{E})^{\mathsf{T}}.\]

ECEF to ECI Transformation

Let \(\theta_g(t)\) be the Greenwich sidereal angle at time \(t\). The ECEF → ECI rotation is

\[\begin{split}{}^{W}\!R_{E}(t) = \begin{bmatrix} \cos\theta_g(t) & -\sin\theta_g(t) & 0 \\ \sin\theta_g(t) & \cos\theta_g(t) & 0 \\ 0 & 0 & 1 \end{bmatrix}.\end{split}\]

The NEU frame in ECI coordinates is

\[{}^{W}\!R_{U}(t) = {}^{W}\!R_{E}(t)\; {}^{E}\!R_{U},\]

and the corresponding quaternion is

\[{}^{W}\!q_{U}(t) = \mathrm{quat}\bigl( {}^{W}\!R_{U}(t) \bigr).\]

Position mapping:

\[\begin{split}\mathbf{p}_E = \begin{bmatrix} x_E \\ y_E \\ z_E \end{bmatrix}, \qquad \mathbf{p}_W(t) = {}^{W}\!R_{E}(t)\,\mathbf{p}_E.\end{split}\]

Position and Velocity in the ECI Frame

Position in ECEF (from WGS–84) is \(\mathbf{p}_E\) as above.

Position in ECI:

\[\mathbf{p}_W(t) = {}^{W}\!R_{E}(t)\,\mathbf{p}_E.\]

Earth’s rotation vector (in ECI):

\[\begin{split}\boldsymbol{\omega}_\oplus = \begin{bmatrix} 0 \\ 0 \\ \omega_\oplus \end{bmatrix}, \qquad \omega_\oplus \approx 7.2921159\times 10^{-5}\ \mathrm{rad/s}.\end{split}\]

Velocity in ECI (for a fixed site on rotating Earth, no motion in ECEF):

\[\mathbf{v}_W(t) = \boldsymbol{\omega}_\oplus \times \mathbf{p}_W(t).\]

Explicitly,

\[\begin{split}\mathbf{v}_W(t) = \begin{bmatrix} -\omega_\oplus\, y_W(t) \\ \omega_\oplus\, x_W(t) \\ 0 \end{bmatrix}, \quad \mathbf{p}_W(t) = \begin{bmatrix} x_W(t) \\ y_W(t) \\ z_W(t) \end{bmatrix}.\end{split}\]

Rail Direction from Azimuth and Elevation

Let \(\psi\) be the rail azimuth (from North toward East) and \(\theta\) be the rail elevation (from the horizontal plane).

Rail direction in NEU:

\[\begin{split}\hat{d}_{R,U} = \begin{bmatrix} \cos\theta \cos\psi \\ \cos\theta \sin\psi \\ \sin\theta \end{bmatrix}.\end{split}\]

Transform to ECEF and ECI:

\[\hat{d}_{R,E} = {}^{E}\!R_{U}\,\hat{d}_{R,U}, \qquad \hat{d}_{R,W}(t) = {}^{W}\!R_{E}(t)\,\hat{d}_{R,E}.\]

Set the rail frame \(R\) axis:

\[\hat{z}_R = \hat{d}_{R,W}.\]

Construction of the Rail Frame

Let \(\hat{e}_U = [0,1,0]^\mathsf{T}\) be East in NEU. Push it to ECI:

\[\hat{e}_W(t) = {}^{W}\!R_{E}(t)\;{}^{E}\!R_{U}\;\hat{e}_U.\]

Compute rail \(x\)-axis:

\[\hat{x}_R = \frac{ \hat{e}_W(t) - (\hat{e}_W(t)\cdot \hat{z}_R)\,\hat{z}_R }{ \left\|\hat{e}_W(t) - (\hat{e}_W(t)\cdot \hat{z}_R)\,\hat{z}_R\right\| }.\]

Then

\[\hat{y}_R = \hat{z}_R \times \hat{x}_R.\]

Finally,

\[{}^{W}\!R_{R} = \begin{bmatrix} \hat{x}_R & \hat{y}_R & \hat{z}_R \end{bmatrix}, \qquad {}^{W}\!q_{R} = \mathrm{quat}({}^{W}\!R_{R}).\]

Body Orientation on the Launch Rail

Let \(\phi_0\) be the body roll about the rail axis. The rotation from rail frame \(R\) to body frame \(B\) is

\[\begin{split}{}^{R}\!q_{B} = \begin{bmatrix} \cos(\phi_0/2) \\ \hat{z}_R \,\sin(\phi_0/2) \end{bmatrix}.\end{split}\]

Final Quaternion Mapping (ECI → Body)

The final ECI-to-body quaternion is

\[\boxed{ {}^{W}\!q_{B} = {}^{W}\!q_{U}(t_0) \otimes {}^{U}\!q_{R} \otimes {}^{R}\!q_{B}. }\]

Equivalently, in rotation matrices:

\[{}^{W}\!R_{B} = {}^{W}\!R_{U}(t_0)\; {}^{U}\!R_{R}\; {}^{R}\!R_{B}.\]