# Optimized Trajectory Correction Burn Placement for the NASA Artemis II Mission **Woffinden, D., Eckman, R., and Robinson, S.** AAS 23-062, 2023. NASA JSC, GN&C Autonomous Flight Systems Branch / Flight Mechanics and Trajectory Design Branch. ## Overview The only published paper specifically addressing the Artemis II trajectory. Uses linear covariance analysis (LinCov) embedded in a genetic algorithm to optimize the timing of outbound trajectory correction (OTC) and return trajectory correction (RTC) burns. Accounts for crew schedule, navigation system selection (DSN, OpNav, or perfect nav), sensor noise, thruster errors, disturbance accelerations from life support venting, and the entry interface corridor. This is the single most important source for the kinematics analysis because it exposes the complete GN&C chain for Artemis II. Every input is a position, velocity, angle, or time. Every output is a position or velocity dispersion. The optimization operates exclusively on burn timing. Gravity is never measured by any onboard instrument. It is computed from kinematics. --- ## Page 1, Introduction ![[Woffinden2023_ArtemisII-01.png]] > "The selected free return cislunar trajectory profile for Artemis II is reminiscent of the Apollo 8 mission that **nominally requires no additional translational burns following the translunar injection (TLI) burn**." The paper identifies the reasons correction burns are needed despite the free return baseline: "crew activity, maneuver execution errors, navigation uncertainty, orbit insertion errors, disturbance accelerations acting on the spacecraft, and other system limitations." > [!note] > The free return trajectory works without any intervention, the TLI velocity is set kinematically so that Earth-Moon geometry returns the spacecraft. Correction burns exist only because the real world introduces kinematic noise: the engine doesn't fire exactly right (velocity error), navigation isn't perfect (position error), and life support venting pushes the hull (acceleration perturbation). The "dynamics" requiring correction are engineering noise, not gravitational physics. The optimization uses: - **Linear covariance analysis (LinCov)**, propagates uncertainty through the trajectory - **Genetic algorithm (GA)**, searches over burn timing - **Objective**: minimize total 3-sigma Δv while constraining entry interface dispersions --- ## Page 2, Trajectory and Performance Metrics ![[Woffinden2023_ArtemisII-02.png]] ### Figure 1: Artemis II Free-Return Trajectory The figure eight trajectory with all burns labeled: PRB (Perigee Raise Burn), TLI, OTC-1/2/3, FLYBY, RTC-1/2/3. The return leg mirrors the outbound leg, no propulsive manoeuvre needed at the Moon. > [!critical] > "Nominally requires no additional translational burns following TLI." The trajectory is fully determined by the TLI velocity vector. Everything after, the coast to the Moon, the flyby, the return, is a kinematic consequence of that single velocity, propagated through: > > $\ddot{r} = -\frac{GM}{r^3}\mathbf{r} = -\frac{4\pi^2 a^3}{T^2 r^3}\mathbf{r}$ > > This is a differential equation (a rule for updating position from its own rate of change) with $m$ cancelled from both sides of $F = ma$. What's left relates position to acceleration, no force, no mass. $GM$ is Kepler's ratio $4\pi^2 a^3/T^2$ from satellite orbit tracking. The corrections are perturbations to this kinematic baseline. ### Performance Metrics (Eqs. 1-4) The GN&C performance is quantified through four state vector dispersions: **True trajectory dispersion**, how far the actual trajectory deviates from the nominal: $\delta\mathbf{x} \triangleq \mathbf{x} - \bar{\mathbf{x}} \qquad \mathbf{D} = E[\delta\mathbf{x}\,\delta\mathbf{x}^T] \tag{1}$ where $\mathbf{x}$ is the true state (position and velocity) and $\bar{\mathbf{x}}$ is the nominal state. > [!note] > $\delta\mathbf{x}$ is a position/velocity difference. $\mathbf{D}$ is a covariance matrix in position/velocity space. The first metric is: "how far from the planned path are we, and how fast are we drifting?" Kinematics. --- ## Page 3, Performance Metrics continued ![[Woffinden2023_ArtemisII-03.png]] ### Figure 2: GN&C Performance Metric Variables Four trajectories plotted against time: $\bar{\mathbf{x}}$ (nominal), $\mathbf{x}$ (true), $\hat{\mathbf{x}}$ (navigation estimate), and the design state. All are curves of position plotted against time. **Navigation dispersion**, how far the nav estimate deviates from nominal: $\delta\hat{\mathbf{x}} \triangleq \hat{\mathbf{x}} - \mathbf{M}_x\bar{\mathbf{x}} \qquad \hat{\mathbf{D}} = E[\delta\hat{\mathbf{x}}\,\delta\hat{\mathbf{x}}^T] \tag{2}$ where $\mathbf{M}_x$ is an $(\hat{n} \times n)$ matrix mapping the true state to the estimated state space. > [!note] > $\mathbf{M}_x$ is a linear map between state vectors, positions and velocities in, positions and velocities out. The navigation system estimates where the spacecraft is and how fast it's moving. That's all. **True navigation error**, the difference between what the nav system thinks and reality: $\delta\mathbf{e} \triangleq \mathbf{M}_x\mathbf{x} - \hat{\mathbf{x}} = \mathbf{M}_x\delta\mathbf{x} - \delta\hat{\mathbf{x}} \qquad \mathbf{P} = E[\delta\mathbf{e}\,\delta\mathbf{e}^T] \tag{3}$ **Onboard navigation error**, what the flight software thinks its error is: $\delta\hat{\mathbf{e}} \triangleq \mathbf{x} - \hat{\mathbf{x}} \qquad \hat{\mathbf{P}} = E[\delta\hat{\mathbf{e}}\,\delta\hat{\mathbf{e}}^T] \tag{4}$ > [!critical] > Every performance metric, $\delta\mathbf{x}$, $\delta\hat{\mathbf{x}}$, $\delta\mathbf{e}$, $\delta\hat{\mathbf{e}}$, is a **position or velocity difference**. The covariance matrices $\mathbf{D}$, $\hat{\mathbf{D}}$, $\mathbf{P}$, $\hat{\mathbf{P}}$ are all in state vector space. The entire GN&C performance framework lives in kinematic space. No mass, force, or field strength appears in any metric. --- ## Page 4, Monte Carlo / LinCov Framework ![[Woffinden2023_ArtemisII-04.png]] ### Monte Carlo covariance computation (Eq. 5) $\mathbf{D} = \frac{1}{N-1}\sum\delta\mathbf{x}\,\delta\mathbf{x}^T \qquad \hat{\mathbf{D}} = \frac{1}{N-1}\sum\delta\hat{\mathbf{x}}\,\delta\hat{\mathbf{x}}^T \qquad \mathbf{P} = \frac{1}{N-1}\sum\delta\mathbf{e}\,\delta\mathbf{e}^T \tag{5}$ Sample statistics over $N$ Monte Carlo runs. Each run propagates a perturbed state vector and computes position/velocity dispersions. ### Figure 3: Monte Carlo Simulation Flow The flowchart has two sides: **Truth Models** (left): - White Noise Processes → - Actuators (Forces and Torques) → - Environment (Forces and Torques) → - Vehicle Dynamics (Translation and Rotation) → - Sensors (Discrete and Continuous) **GN&C Algorithms** (right): - Navigation (Kalman Filter) - Guidance (Targeting/Pointing) - Control (Trans/Rot) The output flowing from left to right is the state vector $\mathbf{x}$ and the dispersions $\delta\mathbf{x}$, $\delta\hat{\mathbf{x}}$, $\delta\mathbf{e}$. > [!note] > The box labeled "Environment (Forces and Torques)" is where gravity lives. But gravity enters as $\ddot{r} = -GM\mathbf{r}/r^3 = -(4\pi^2 a^3/T^2)\mathbf{r}/r^3$, a differential equation relating position to acceleration, with $m$ cancelled from both sides, and $GM$ replaced by Kepler's ratio from satellite orbit tracking. > > The left side of the flowchart (labeled "Truth Models" in the paper, simulation jargon for the idealized reference that the simulation treats as "reality") generates the state vector $\mathbf{x}$: position and velocity. The right side (GN&C algorithms) tries to estimate that from noisy sensor data. The Kalman filter estimates position and velocity. Guidance computes velocity changes. Control executes thrust direction and duration. Kinematics flows left to right through the entire diagram. ### LinCov augmented covariance (Eq. 6) $\mathbf{C} = E[\delta\mathbf{X}\,\delta\mathbf{X}^T] \tag{6}$ where $\delta\mathbf{X}^T = [\delta\mathbf{x}^T\ \delta\hat{\mathbf{x}}^T]$ is the augmented state combining true and navigation dispersions. The mapping equations (Eq. 7): $\mathbf{D} = [\mathbf{I}_{n \times n},\ \mathbf{0}_{n \times \hat{n}}]\ \mathbf{C}\ [\mathbf{I}_{n \times n},\ \mathbf{0}_{n \times \hat{n}}]^T$ $\hat{\mathbf{D}} = [\mathbf{0}_{\hat{n} \times n},\ \mathbf{I}_{\hat{n} \times \hat{n}}]\ \mathbf{C}\ [\mathbf{0}_{\hat{n} \times n},\ \mathbf{I}_{\hat{n} \times \hat{n}}]^T$ $\mathbf{P} = [\mathbf{I}_{\hat{n} \times n},\ -\mathbf{I}_{\hat{n} \times \hat{n}}]\ \mathbf{C}\ [\mathbf{I}_{\hat{n} \times n},\ -\mathbf{I}_{\hat{n} \times \hat{n}}]^T$ > [!note] > These are projection operators extracting position/velocity covariances from the augmented state. Linear algebra operating on kinematic quantities. --- ## Page 5, LinCov Propagation and Optimization ![[Woffinden2023_ArtemisII-05.png]] ### State transition (Eqs. 8-9) $\mathbf{C}(t_{k+1}) = \mathbf{\Phi}(t_{k+1}, t_k)\,\mathbf{C}(t_k)\,\mathbf{\Phi}^T(t_{k+1}, t_k) + \mathbf{G}\mathbf{Q}\mathbf{G}^T \tag{8}$ $\hat{\mathbf{P}}(t_{k+1}) = \hat{\mathbf{\Phi}}(t_{k+1}, t_k)\,\hat{\mathbf{P}}(t_k)\,\hat{\mathbf{\Phi}}^T(t_{k+1}, t_k) + \hat{\mathbf{G}}\hat{\mathbf{Q}}\hat{\mathbf{G}}^T \tag{9}$ > [!note] > $\mathbf{\Phi}$ is the **state transition matrix**, it maps a state vector at time $t_k$ to time $t_{k+1}$. It is the linearization of $\ddot{r} = -(4\pi^2 a^3/T^2)\mathbf{r}/r^3$ around the reference trajectory, a differential equation that updates position from position, with $m$ cancelled and $GM$ replaced by Kepler's ratio from orbit tracking. $\mathbf{Q}$ is the process noise covariance (disturbance accelerations from venting, solar pressure, etc.). The propagation takes position/velocity at one time and gives position/velocity at the next time plus accumulated noise. Kinematics plus noise. ### Measurement update (Eqs. 10-12) $\mathbf{C}^+(t_i) = \mathbf{A}\mathbf{C}^-(t_i)\mathbf{A}^T + \mathbf{B}\mathbf{R}^j(t_i)\mathbf{B}^T \tag{10}$ $\hat{\mathbf{P}}^+(t_i) = [\hat{\mathbf{I}} - \hat{\mathbf{K}}^j(t_i)\hat{\mathbf{H}}^j]\,\hat{\mathbf{P}}^-(t_i)\,[\hat{\mathbf{I}} - \hat{\mathbf{K}}^j(t_i)\hat{\mathbf{H}}^j]^T + \hat{\mathbf{K}}^j(t_i)\hat{\mathbf{R}}^j(t_i)\hat{\mathbf{K}}^j(t_i)^T \tag{11}$ **Kalman gain:** $\hat{\mathbf{K}}^j(t_i) = \hat{\mathbf{P}}(t_i)(\hat{\mathbf{H}}^j)^T\left[\hat{\mathbf{H}}^j\hat{\mathbf{P}}^-(t_i)(\hat{\mathbf{H}}^j)^T + \hat{\mathbf{R}}^j(t_i)\right]^{-1} \tag{12}$ > [!note] > The Kalman filter is a state estimator. $\hat{\mathbf{H}}$ is the measurement sensitivity matrix, how measurements (range, Doppler, angles) relate to the state vector (position, velocity). $\hat{\mathbf{R}}$ is measurement noise. $\hat{\mathbf{K}}$ is the Kalman gain, how much to trust new measurements vs the current estimate. The entire update cycle is: take a measurement (kinematic), compare it to the predicted state (kinematic), compute a correction (kinematic), update the state (kinematic). ### Manoeuvre correction (Eqs. 13-14) $\mathbf{C}^+(t_m) = \mathbf{M}\mathbf{C}^-(t_m)\mathbf{M}^T + \mathbf{N}\mathbf{Q}_w^{act}\mathbf{N}^T \tag{13}$ $\hat{\mathbf{P}}^+(t_m) = [\hat{\mathbf{I}} + \hat{\mathbf{M}}]\,\hat{\mathbf{P}}^-(t_m)\,[\hat{\mathbf{I}} + \hat{\mathbf{M}}]^T + \hat{\mathbf{N}}\hat{\mathbf{Q}}_w^{act}\hat{\mathbf{N}}^T \tag{14}$ > [!note] > $\mathbf{M}$ and $\hat{\mathbf{M}}$ contain the "control partials" from a linearized two impulse targeter, how much the state changes per unit velocity change. $\mathbf{Q}_w^{act}$ is actuator noise (thruster uncertainty). A manoeuvre update is: apply a velocity change, update the state, add noise from imperfect execution. Input: velocity. Output: position/velocity. Kinematics. --- ## Page 6, Optimization Problem Formulation ![[Woffinden2023_ArtemisII-06.png]] ### Figure 4: Artemis II Constraints Six subplots showing the top level performance requirements: | Constraint | Value | Type | |-----------|-------|------| | Minimum lunar altitude (3σ) | > 100 km | Position | | Total Δv (OTC2-RTC3) | < 20 m/s | Velocity | | Downrange position 3σ | 25.6 km | Position | | Velocity magnitude 3σ | 5.3 m/s | Velocity | | Flight path angle 3σ | 0.12 deg | Angle | | Crosstrack position 3σ | 7.0 km | Position | | Crosstrack velocity 3σ | 8.2 m/s | Velocity | > [!critical] > Every constraint that determines whether the crew lives or dies is a **position, velocity, or angle**: > - "Will we hit the Moon?" → position > - "Do we have enough fuel?" → velocity budget > - "Will we hit the entry corridor?" → position/velocity/angle dispersions > > Not a single constraint involves a mass, force, or field strength. The optimization problem is: **choose burn times to minimize velocity dispersions subject to position constraints.** Pure kinematics. ### Problem #1: Minimize total Δv (Eq. 15) $\text{minimize}\quad (\Delta v_{total} + \kappa_{ei} + \kappa_{alt} + \kappa_{crew}) \tag{15}$ --- ## Page 7, Problem Formulations continued ![[Woffinden2023_ArtemisII-07.png]] ### Total Δv definition $\Delta v_{total} = \sum_{m=OTC2}^{RTC3} [\Delta\bar{v}(t_m) + 3\sigma_{\Delta v}(t_m)]$ The total Δv sums the nominal velocity change plus 3-sigma uncertainty at each burn. The penalty functions are: $\kappa_{ei} = \begin{cases} (1 \times 10^6) + \sigma_{ei}, & \text{if any } \sigma_{\delta ei} > \sigma_{\delta ei}^{req} \\ 0, & \text{otherwise} \end{cases}$ $\kappa_{alt} = \begin{cases} (1 \times 10^6) + \sigma_{alt}, & \text{if } \sigma_{alt} > \sigma_{alt}^{req} \\ 0, & \text{otherwise} \end{cases}$ $\kappa_{crew} = \begin{cases} (1 \times 10^6), & \text{if activated and any burn during crew sleep} \\ 0, & \text{otherwise} \end{cases}$ > [!note] > The penalty functions enforce position/velocity constraints by adding $10^6$ to the cost if violated. The EI dispersion penalty checks whether the spacecraft's position and velocity uncertainties at entry exceed requirements. The altitude penalty checks whether the flyby distance is too close. The crew penalty checks whether a burn falls during a sleep period, a scheduling constraint. All kinematic or operational. ### Problem #2: Minimize EI dispersions (Eq. 16) $\text{minimize}\quad (\sigma_{\delta ei} + \kappa_{ei} + \kappa_{\Delta v} + \kappa_{alt} + \kappa_{crew}) \tag{16}$ where $\kappa_{\Delta v}$ penalizes exceeding the Δv budget: $\kappa_{\Delta v} = \begin{cases} (1 \times 10^6) + \Delta v_{total}, & \text{if } \Delta v_{total} > 3\sigma_{\Delta v}^{req} \\ 0, & \text{otherwise} \end{cases}$ ### Problem #3: Minimize both simultaneously (Eq. 17) $\text{minimize}\quad (w_{\Delta v}\sigma_{\Delta v} + w_{ei}\sigma_{ei} + \kappa_{ei} + \kappa_{\Delta v} + \kappa_{alt} + \kappa_{crew}) \tag{17}$ with $w_{\Delta v} = 100 \times 0.75 = 75$ and $w_{\delta r} = 100 \times 0.25 = 25$. Δv weighted 3x heavier than EI dispersion. > [!note] > All three problem formulations minimize and constrain exclusively positions, velocities, angles, and times. The weighting factors $w$ are dimensionless scalars. The penalties $\kappa$ trigger on position/velocity/time thresholds. No mass, force, or field strength enters the objective function or any constraint. --- ## Page 8, Genetic Algorithm + GN&C Modeling ![[Woffinden2023_ArtemisII-08.png]] ### Figure 5: GA-LinCov Interface **GA inputs to LinCov:** - Maneuver times - OpNav times & targets - DSN times **LinCov outputs to GA:** - Δv dispersion - Final position dispersion > [!critical] > The optimizer's inputs are **times**. Its outputs are **velocity and position dispersions**. The genetic algorithm (population 60, max 15 generations) searches over **when to burn**, not how much force to apply or what mass to assume. The "dynamics" are inside LinCov's state transition matrices (Eq. 8), which propagate position/velocity using $\ddot{r} = -(4\pi^2 a^3/T^2)\mathbf{r}/r^3$, a rule that turns position into acceleration with $m$ cancelled. The optimization wrapper sees none of this. It sees times in, positions and velocities out. ### Nominal Artemis II Trajectory Profile > "TLI places Orion on a free return trajectory that does a flyby of the moon about 4 days later and ultimately returning back to earth approximately 8 days following TLI." > "Following the translunar injection (TLI) burn, the subsequent outbound trajectory correction (OTC) burns and the return trajectory correction (RTC) burns are **nominally zero** for the Artemis II free return profile, regardless of when they are executed." > [!critical] > The correction burns are **nominally zero**. On a perfect trajectory with perfect navigation, you fire TLI and coast all the way to entry. The corrections exist only to compensate for kinematic noise (execution errors, navigation uncertainty, venting perturbations). The optimization is about **where in time to apply corrections to kinematic drift**, not about modelling gravitational dynamics. --- ## Page 9, Artemis II Timeline ![[Woffinden2023_ArtemisII-09.png]] ### Table 1: Baseline Artemis II Time Line, Targeting, and Sensor Utilization | Event | Description | MET | Targeting | Sensors | |-------|------------|-----|-----------|---------| | START | Post Apogee Raise Burn | 0:00:00:00 |, | IMU, Startracker, DSN, GPS | | USS1 | Upper Stage Separation | 0:01:55:34 | TLT | IMU, Startracker, DSN | | PRB | Perigee Raise Burn | 0:10:41:34 | TLT | IMU, Startracker, DSN | | TLI | Trans-Lunar Injection | 0:22:42:09 | TLT | IMU, Startracker, DSN, GPS | | OTC1 | Outbound Correction #1 | 1:01:44:50 | TLT | IMU, Startracker, DSN, GPS | | OTC2 | Outbound Correction #2 | 1:22:44:50 | TLT | IMU, Startracker, DSN (or OPNAV) | | OTC3 | Outbound Correction #3 | 4:00:50:43 | TLT | IMU, Startracker, DSN (or OPNAV) | | FLYBY | Lunar Flyby | 5:00:50:43 | TLT | IMU, Startracker, DSN (or OPNAV) | | RTC1 | Return Correction #1 | 6:00:50:43 | TLT | IMU, Startracker, DSN (or OPNAV) | | RTC2 | Return Correction #2 | 8:00:42:56 | TLT | IMU, Startracker, DSN (or OPNAV) | | RTC3 | Return Correction #3 | 8:16:42:56 | TLT | IMU, Startracker, DSN (or OPNAV) | | EI | Entry Interface | 8:21:42:56 |, | IMU, Startracker, DSN, GPS | Total mission duration: ~8 days 22 hours. > [!note] > Every targeting method is **TLT** (Two-Level Targeter), which targets position and velocity at patch points. Every sensor measures a kinematic quantity: > - **IMU**: acceleration and angular rate ($d^2\mathbf{r}/dt^2$, $d\boldsymbol{\theta}/dt$), kinematic derivatives > - **Startracker**: attitude angles relative to star field, geometry > - **DSN**: range and range rate (Doppler), distance and velocity > - **GPS**: position via satellite triangulation > - **OpNav**: bearing angles to celestial bodies, geometry > > No sensor measures mass or force. --- ## Page 10, Trajectory and Altitude Profile ![[Woffinden2023_ArtemisII-10.png]] ### Figure 6a: Artemis II Trajectory (Earth-Moon Rotating Frame) The figure eight free return trajectory with all burns marked (red dots). The Moon is at right. The trajectory extends to ~4.5 × 10⁵ km on the x-axis. ### Figure 6b: Altitude Profile and Sensor Utilization Altitude (km) vs time (days) showing: - GPS available below 20,200 km (GPS constellation altitude) - DSN ground tracking primary throughout - OpNav secondary backup (available beyond GPS range) - Crew sleep periods marked with thick black bars - Peak altitude ~5.5 × 10⁵ km near OTC3/RTC1 > [!note] > Sensor scheduling is driven by geometry: GPS works when Orion is inside the GPS constellation, OpNav works when celestial bodies fit in the camera FOV (< 20 degrees apparent diameter). What determines navigation capability is where the spacecraft is relative to other objects, positions and angles. Geometry determines navigation. Navigation determines burn timing. Burn timing determines trajectory correction. The chain is geometric/kinematic at every link. --- ## Page 11, Navigation System Modeling: DSN and OpNav ![[Woffinden2023_ArtemisII-11.png]] ### DSN Ground Update (Eqs. 18-19) Range measurement: $\tilde{\rho} = \left|\mathbf{r}_l^i + \mathbf{T}_b^i\mathbf{r}_a^b - \mathbf{T}_p^i\mathbf{r}_{gs}^p\right| + b_\rho + \boldsymbol{\nu}_\rho \tag{18}$ Range rate (Doppler): $\tilde{\dot{\rho}} = \frac{\left[\mathbf{v}_l^i + \mathbf{T}_b^i(\boldsymbol{\omega}_l^b \times \mathbf{r}_a^b) - \mathbf{T}_p^i(\boldsymbol{\omega}_e^p \times \mathbf{r}_{gs}^p)\right]^T\left[\mathbf{r}^i + \mathbf{T}_b^i\mathbf{r}_a^b - \mathbf{T}_p^i\mathbf{r}_{gs}^p\right]}{\left|\mathbf{r}^i + \mathbf{T}_b^i\mathbf{r}_a^b - \mathbf{T}_p^i\mathbf{r}_{gs}^p\right|} + b_{\dot{\rho}} + \boldsymbol{\nu}_{\dot{\rho}} \tag{19}$ where: - $\mathbf{r}_l^i$ = spacecraft inertial position - $\mathbf{r}_a^b$ = antenna location in body frame - $\mathbf{r}_{gs}^p$ = ground station location in planet frame - $\mathbf{T}_b^i$, $\mathbf{T}_p^i$ = rotation matrices (body to inertial, planet to inertial) - $b_\rho$, $b_{\dot{\rho}}$ = biases - $\boldsymbol{\nu}_\rho$, $\boldsymbol{\nu}_{\dot{\rho}}$ = noise > [!critical] > DSN measures two things: **how far away** (range, Eq. 18) and **how fast it's moving** (Doppler, Eq. 19). Distance and velocity, the two fundamental kinematic quantities. The transformation matrices $\mathbf{T}$ are rotations (geometry). The measurement model is built from positions ($\mathbf{r}$), velocities ($\mathbf{v}$), angular rates ($\boldsymbol{\omega}$), and geometric transformations. No mass or force appears. ### OpNav (Eqs. 20-22) $\tilde{y}_h = \tan(\alpha_h) + b_h + \eta_h = x/z + b_h + \eta_h \tag{20}$ $\tilde{y}_v = \tan(\alpha_v) + b_v + \eta_v = y/z + b_v + \eta_v \tag{21}$ $\tilde{\rho} = \rho + b_\rho + \eta_\rho = \sqrt{x^2 + y^2 + z^2} + b_\rho + \eta_\rho \tag{22}$ where $\boldsymbol{\rho}^T = (\mathbf{r}_o - \mathbf{r}_p)^T = [x, y, z]$ is the position vector from the spacecraft to the observed body. > [!note] > OpNav measures **angles** ($\alpha_h$, $\alpha_v$, bearing to a celestial body) and **range** ($\rho$, distance from apparent angular diameter). Angles and distances. Geometry. The camera sees where the Moon or Earth is in its field of view and how big it looks. No mass or force. --- ## Page 12, IMU Sensors: Accelerometer, Gyro, Star Tracker ![[Woffinden2023_ArtemisII-12.png]] ### Accelerometer (Eq. 23) > "The accelerometer measures the **nongravitational acceleration** in the IMU case frame $\tilde{\mathbf{a}}^{imu}$." $\tilde{\mathbf{a}}^{imu} = (\mathbf{I} + [(\mathbf{s}_a + \boldsymbol{\sigma}_a)\diagdown])\left[(\mathbf{I} + [\boldsymbol{\mu}_a \times])(\mathbf{I} + [\boldsymbol{\gamma}_a *])\,\bar{\mathbf{T}}_b^{imu}\,(\mathbf{I} + [\boldsymbol{\theta} \times])\,\bar{\mathbf{T}}_i^b\,\mathbf{a}^i + \mathbf{b}_a + \boldsymbol{\beta}_a + \boldsymbol{\nu}_a\right] \tag{23}$ The terms: - $\mathbf{a}^i$ = true nongravitational acceleration in inertial frame - $\bar{\mathbf{T}}_i^b$ = inertial to body transformation - $\bar{\mathbf{T}}_b^{imu}$ = body to IMU transformation - $\boldsymbol{\theta}$ = attitude dispersion - $\mathbf{s}_a$ = constant scale factor - $\boldsymbol{\sigma}_a$ = Markov scale factor - $\boldsymbol{\mu}_a$ = misalignment - $\boldsymbol{\gamma}_a$ = nonorthogonality - $\mathbf{b}_a$ = constant bias - $\boldsymbol{\beta}_a$ = Markov bias - $\boldsymbol{\nu}_a$ = velocity random walk (noise) > [!critical] > The accelerometer physically cannot detect gravity. It works by measuring the displacement of a proof mass relative to its housing. In freefall, gravity accelerates the proof mass and the housing identically, zero relative displacement, zero reading. This is the equivalence principle: freefall in a gravitational field is locally indistinguishable from floating in empty space. > > The only things that register are forces acting on the hull but not on the proof mass equally: thruster firings, venting gases, solar photon pressure. Those produce differential displacement. Gravity does not. > > During the lunar flyby, the most dramatic "gravitational" event of the mission, the accelerometer reads **zero**. The trajectory bends 180 degrees, the velocity changes by kilometres per second in Earth's frame, and the instrument detects nothing. The crew feels nothing. Every atom in their bodies and every atom in the spacecraft are accelerated identically by the Moon's field. There is no differential force to measure or to feel. The "slingshot" velocity gain exists only as a kinematic effect that depends on which reference frame you measure from: Orion enters and exits the Moon's sphere of influence at the same speed relative to the Moon, but the Moon's own orbital velocity donates momentum in the Earth frame. > > The gravitational acceleration is added computationally after the fact, from $\ddot{r} = -(4\pi^2 a^3/T^2)\mathbf{r}/r^3$, a differential equation that updates position from position, with $m$ cancelled and $GM$ written as Kepler's ratio from GRACE/GRAIL orbit tracking. The process is: > 1. Accelerometer measures nongravitational accelerations (thrusts, vents, pressure) > 2. Software adds gravity from $GM = 4\pi^2a^3/T^2$ > 3. Total acceleration = computed gravity + measured nongravitational acceleration > 4. Integrate forward to predict position and velocity > > The most important "force" in the entire trajectory, the one that governs every coast arc, bends the path around the Moon, and returns the crew to Earth, is never measured by any instrument on the spacecraft and never felt by any human on board. It is inserted by software from a kinematic model calibrated by other satellites' positions and velocities. Gravity is not a measurement. It is a computation. And the computation uses kinematics. ### Gyroscope (Eq. 24) $\tilde{\boldsymbol{\omega}}^{imu} = (\mathbf{I} + [(\mathbf{s}_\omega + \boldsymbol{\sigma}_\omega)\diagdown])\left[(\mathbf{I} + [\boldsymbol{\mu}_\omega \times])(\mathbf{I} + [\boldsymbol{\gamma}_\omega *])\,\bar{\mathbf{T}}_b^{imu}\,\boldsymbol{\omega}^b + \mathbf{b}_\omega + \boldsymbol{\beta}_\omega + \boldsymbol{\nu}_\omega\right] \tag{24}$ > [!note] > The gyroscope measures **angular rate** $\boldsymbol{\omega}^b$, how fast the spacecraft is rotating. This is a kinematic derivative: $d\boldsymbol{\theta}/dt$. Same error model as the accelerometer (scale factor, bias, misalignment, noise) but measuring rotation instead of translation. ### Star Tracker (Eq. 25) $\tilde{\mathbf{q}}_{st}^i = \mathbf{q}(\boldsymbol{\eta}_{st}) \otimes \mathbf{q}(\mathbf{b}_{st}) \otimes \mathbf{q}(\boldsymbol{\eta}_{st}) \otimes \mathbf{q}_b^{st} \otimes \mathbf{q}_i^b \tag{25}$ > [!note] > The star tracker measures the spacecraft's **attitude quaternion**, its orientation relative to the star field. This is pure geometry: which stars are where in the camera's field of view. The quaternion $\mathbf{q}_i^b$ maps inertial frame to body frame via four rotation parameters. ### Sensor Uncertainty Tables (Tables 2-7) | Sensor | Parameter | 3σ | |--------|-----------|----| | **DSN** | Range noise | 25 m | | | Range rate noise | 1.5 cm/s | | | Range bias | 25 m | | | Range rate bias | 1.5 cm/s | | **Accelerometer** | Bias | 84 μg | | | Scale factor | 450 ppm | | | VRW noise | 0.3 mm/s/√s | | **Gyro** | ARW noise | 0.015 deg/√hr | | | Bias | 0.036 deg/hr | | **Star Tracker** | Boresight noise | 72 arcsec | | | Cross boresight bias | 24 arcsec | | **OpNav** | FOV | 20 deg | | | Body (NAIF ID) | 301/399 (Moon/Earth) | > [!note] > Every sensor uncertainty is in kinematic or geometric units: metres, cm/s, degrees, arcseconds, ppm. No mass or force uncertainty appears in any table. The navigation system's error budget is entirely kinematic. --- ## Page 13, Initial Dispersions, Burns, and Disturbances ![[Woffinden2023_ArtemisII-13.png]] ### Table 8: Initial Dispersions (3σ) | Parameter | 3σ | |-----------|----| | Position | 2 km | | Velocity | 20 cm/s | | Attitude | 0.5 deg | | Attitude-Rate | 0.01 deg/s | ### Table 9: Initial Navigation (3σ) | Parameter | 3σ | |-----------|----| | Position | 2 km | | Velocity | 2 cm/s | | Attitude | 0.05 deg | | Attitude-Rate | 0.01 deg/s | > [!note] > The initial state uncertainty: positions (km), velocities (cm/s), angles (deg), angular rates (deg/s). All kinematic. The navigation system starts with a kinematic estimate and refines it using kinematic measurements. ### Table 10: Thrusters (3σ) | Parameter | 3σ | |-----------|----| | Bias | 8 cm/s | | Noise | 8 cm/s | | Scale Factor | 7000 ppm | | Misalignment | 0.1 deg | > [!note] > Thruster error is specified as velocity error (cm/s), scale error (ppm), and pointing error (deg). These are the uncertainties in the velocity change that the burn produces. The thruster's job is to produce a velocity change at a specified angle. Kinematics. ### Table 11: Disturbance Accelerations | Event | Process Noise Q (ft²/s³) | Duration | |-------|--------------------------|----------| | ECLSS Pressure Swing (Sleep) | 2.9859 × 10⁻⁸ | Sleep periods | | ECLSS Pressure Swing (Awake) | 9.4313 × 10⁻⁸ | Nonexercise awake | | ECLSS Pressure Swing (Active) | 6.4741 × 10⁻⁷ | Exercise periods | | Waste Water Vents | 4.9546 × 10⁻⁷ | 8.6 min, 4x/day | | Ammonia Boiler | 8.5488 × 10⁻⁵ | 45 min, 1 hr before EI | | Attitude Dead banding | 3.4319 × 10⁻¹³ | Entire on orbit | | Attitude Slew Maneuvers | 1.2122 × 10⁻¹⁰ | Entire on orbit | | Solar Radiation Pressure | 8.9704 × 10⁻¹⁴ | Entire on orbit | > [!critical] > These are the "disturbance accelerations", the things that actually perturb the trajectory and require correction burns. They are: **toilet flushing** (waste water vents), **air conditioning** (ECLSS pressure swings), **coolant** (ammonia boiler), **attitude thruster farts** (dead banding), **sunlight** (solar radiation pressure). The largest disturbance by far is the ammonia boiler ($8.5 \times 10^{-5}$ ft²/s³), the air conditioning system, not gravity. > > The correction burn budget exists to compensate for **life support plumbing and sunlight**, not gravitational physics. The gravitational trajectory is the kinematic baseline that works without intervention. The "dynamics" requiring active management are engineering artefacts. ### Translational Burn Modeling (p.13) > "All the major translational burns and the correction burns are assumed to be impulsive and are executed using a two level targeter (TLT) that **targets the EI parameters and lunar radius of periapses**." > [!note] > The TLT targets: Entry Interface parameters (position, velocity, flight path angle) and lunar periapsis (closest approach distance). All positions and angles. The targeter divides the trajectory into segments, first achieving position continuity (level I), then velocity continuity (level II) by adjusting the patch states in space and time. It targets positions and velocities. Nothing else. --- ## Page 14, Venting Model ![[Woffinden2023_ArtemisII-14.png]] ### Figure 7: Artemis II Venting Modeling Approaches Two approaches shown: 1. **Generic 3-Axis Venting Direction**: acceleration magnitude applied equally in all axes regardless of attitude. "Independent of Orion's attitude." 2. **Specific Venting Direction**: acceleration aligned with actual vent direction. "Dependent on Orion's attitude." The paper uses approach 2 for ECLSS modeling. > [!note] > The venting perturbation model is about which direction the waste products push the spacecraft. This is the largest contributor to the correction burn budget, crew life support venting perturbs the trajectory more than any other nongravitational effect. The "dynamics" that drive the operational trajectory correction are, quite literally, where the toilet exhaust points. --- ## Page 15, DSN Baseline Results ![[Woffinden2023_ArtemisII-15.png]] ### Figure 8: DSN Baseline Results **Figure 8a, Trajectory Performance:** - Total Δv (99.73 percentile): **41.2 m/s** (bar chart shows individual burns) - EI inertial position nav error RSS 3σ: **3.8 km** - EI inertial velocity nav error RSS 3σ: **0.3 m/s** - EI inertial position dispersion RSS 3σ: **98.3 km** - EI inertial velocity dispersion RSS 3σ: **5.1 m/s** **Figure 8b, Compliance:** - Lunar altitude margin: **8,456%** (closest approach ~8,500 km vs 100 km requirement) - Total Δv: **3.63 m/s** (well within 20 m/s budget) - EI margins: 56-88% across four dispersion metrics > [!note] > The navigation achieves 3.8 km position accuracy and 0.3 m/s velocity accuracy at entry. The trajectory dispersions (what actually matters for survival) are 98.3 km position and 5.1 m/s velocity. All performance numbers are positions and velocities. The total correction Δv of 3.63 m/s is tiny, confirming that the free return baseline is kinematically stable and only small velocity adjustments are needed. --- ## Pages 16-17, Non-Optimized and Problem #1 Results ![[Woffinden2023_ArtemisII-16.png]] ![[Woffinden2023_ArtemisII-17.png]] ### Figure 9: Baseline performance across navigation modes Three rows: Perfect Nav, DSN, OpNav. Left column: trajectory summary with burn placement. Right column: EI dispersion ellipses against requirement ellipses. - Perfect Nav: DV = 3.53 m/s, EI margins 58-89% - DSN: DV = 3.63 m/s, EI margins 56-88% - OpNav: DV = 12.31 m/s, EI margins 39-76% > [!note] > Navigation mode affects Δv because worse position/velocity knowledge requires larger corrections. OpNav (the camera backup system) needs 3.5x more Δv than DSN (the primary radio system) because its position measurements are less precise. The trajectory is identical, only the uncertainty differs. More kinematic uncertainty → more kinematic correction. ### Figure 10: Problem #1, Minimize Dv Six subplots showing optimized burn placement for each nav mode, with and without crew schedule constraints. Key result: the optimizer reduces total Δv by repositioning burns in time. For Perfect Nav and DSN, shifting RTC3 earlier and RTC1 later drops Δv from ~3.5 m/s to ~2.1 m/s, a 40% reduction from **timing alone**. > [!critical] > A 40% fuel saving from changing **when** the burns happen, not what forces are modeled. The optimizer found that placing burns at specific points on the trajectory exploits the kinematic geometry, corrections applied at certain positions are more efficient because the trajectory's sensitivity to velocity changes varies with position. This is the kinematic equivalent of "when to steer" vs "how hard to push." The geometry of the path determines the answer. --- ## Pages 18-19, Problems #2 and #3 Results ![[Woffinden2023_ArtemisII-18.png]] ![[Woffinden2023_ArtemisII-19.png]] ### Figure 11: Problem #2, Minimize EI Dispersions > "Regardless of the navigation system utilized, the common trend to minimize EI dispersions is to perform RTC3 as late as possible." The optimizer pushes the last correction burn to 3 hours before entry (the minimum allowed). Later corrections have less time for uncertainty to grow between the burn and entry. > [!note] > The strategy is geometrically obvious: correct later so there's less coast time for errors to grow. This is kinematics, position uncertainty grows with time during uncontrolled coast. The optimizer discovered what any navigator would intuit: correct as late as safely possible. ### Figure 12: Problem #3, Minimize Both With $w_{\Delta v} = 75$ and $w_{ei} = 25$, the solutions resemble Problem #1, Δv dominates when weighted 3x heavier. > "Ultimately, the priorities of the program will determine the proper weighting factors and placement selection for the trajectory correction burns." --- ## Pages 20-21, Conclusion ![[Woffinden2023_ArtemisII-20.png]] ![[Woffinden2023_ArtemisII-21.png]] > "This work attempts to provide preliminary performance results that identify optimized trajectory correction burn placement using nontraditional robust trajectory optimization techniques for the upcoming NASA Artemis II mission." > "By combining linear covariance analysis and a genetic algorithm, uncertainty in the system can be accommodated and trajectory correction burns which are **nominally zero**, can be strategically placed to reduce total Δv (nominal + 3-sigma dispersions) while ensuring the vehicle satisfies entry interface dispersion requirements and does not violate lunar altitude flyby constraints." > "Arbitrarily selecting the number and placement of the trajectory correction burns following the translunar injection burn can lead to a significant increase of Δv and violation of entry interface requirements." > [!critical] > The conclusion confirms: the correction burns are **nominally zero**, the free return trajectory works without them. The optimization is about where to place corrections to kinematic drift. The constraints are position and velocity dispersions. The search space is burn timing. The conclusion does not mention gravity, mass, force, or any dynamical quantity. It discusses Δv (velocity), dispersions (position/velocity), constraints (position/velocity), and timing. The paper begins with kinematics, operates in kinematics, and concludes in kinematics. --- ## Pages 22-23, References ![[Woffinden2023_ArtemisII-22.png]] ![[Woffinden2023_ArtemisII-23.png]] 28 references spanning GN&C analysis, trajectory optimization, and navigation design. Notable: the journal "Guidance, Control, and Dynamics", the field's own name tells you what the variables are: pointing directions (angles), actuation (velocity changes), and trajectory propagation (position/velocity vs time). --- ## Summary: Spot the Kinematics This paper exposes the complete Artemis II GN&C chain from sensor to splashdown. Here is what exists at each stage: | Stage | What is used | Type | |-------|-------------|------| | **Sensors** | Range, Doppler, angles, attitude quaternion | Distance, velocity, angles | | **Navigation** | Kalman filter on state vectors $(\mathbf{r}, \mathbf{v})$ | Position, velocity estimation | | **Uncertainty** | Covariance matrices $\mathbf{D}$, $\mathbf{P}$ in state space | Position/velocity dispersions | | **Gravity** | $\ddot{r} = -(4\pi^2 a^3/T^2)\mathbf{r}/r^3$, $m$ cancelled, $GM$ = Kepler's ratio | Differential equation: position in, acceleration out | | **Accelerometer** | Detects nongravitational acceleration only | Cannot detect gravity | | **Constraints** | Altitude > 100 km, Δv < 20 m/s, EI corridor | Position, velocity, angle | | **Optimization vars** | Burn times | Times | | **Optimization outputs** | Δv dispersion, position dispersion | Velocity, position | | **Disturbances** | Venting, solar pressure, attitude manoeuvres | Engineering perturbations | | **Correction burns** | Nominally zero; compensate kinematic drift | Velocity adjustments | At no point in this 23-page paper does an independent dynamical variable, a mass, a force constant, a field strength, enter the computation as either an input, an optimization variable, a constraint, or an output. The gravitational "force" is never measured by any instrument. It is computed from a kinematic model. The trajectory is determined by a single velocity vector (TLI). The corrections compensate for plumbing and sunlight. The optimization searches over timing. The constraints bound positions and velocities. The performance metrics are position and velocity dispersions. NASA's own GN&C engineers, writing the only published paper on the Artemis II trajectory, produced 23 pages of positions, velocities, angles, times, and covariance matrices. They called it dynamics. It is kinematics. H₀ not refuted. --- ## Citation Woffinden, D., Eckman, R., and Robinson, S. (2023). "Optimized Trajectory Correction Burn Placement for the NASA Artemis II Mission." AAS 23-062. NASA Johnson Space Center. See also: - [[Artemis_II_Trajectory]] - [[2020_Batcha_Artemis_I_Trajectory_Design]] - [[2023_Eckman_Artemis_I_Trajectory_Operations]] - [[Cosmological_Dynamics_Null]]