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 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}}.\]
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}.\]