|
Download docs/GUIDANCE_NAVIGATION.md from Snapkitty/sovereign-apollo: direct link, hf CLI and curl.
- Browser
- Download file 4.25 kB
-
https://huggingface.co/Snapkitty/sovereign-apollo/resolve/main/docs/GUIDANCE_NAVIGATION.md
- Command line
-
hf download hf://Snapkitty/sovereign-apollo/docs/GUIDANCE_NAVIGATION.md
-
curl -L -o GUIDANCE_NAVIGATION.md https://huggingface.co/Snapkitty/sovereign-apollo/resolve/main/docs/GUIDANCE_NAVIGATION.md
4.25 kB
| # Guidance & Navigation Model | |
| ## Principles Preserved [DOCUMENTED] | |
| - Inertial β stable platform (IMU) + optical realignment (AOT/COAS) | |
| - State vector propagation: **Encke + conic** (ORBITAL_INTEGRATION) | |
| - Measurement incorporation: **Kalman (W-matrix)** | |
| - Powered flight: **Cross-product steering** + **polynomial powered descent** | |
| ## Navigation Stack (Reconstructed) | |
| ``` | |
| PIPA ΞV ββ PIPTIME / PIPAI β Servicer 2-s cycle | |
| β | |
| ORBITAL_INTEGRATION (Encke: conic + perturb) | |
| β | |
| Measurement (RR/AOT marks, LR altitude) | |
| β | |
| MEASUREMENT_INCORPORATION + KALMAN_FILTER (W) | |
| β | |
| Updated State Vector [RN, VN, PIPTIME] (erases) | |
| ``` | |
| ### State Vector [DOCUMENTED] | |
| - `RN` (3Γ DP, meters), `VN` (3Γ DP, m/s), `PIPTIM` (DP time), `W` (6Γ6 covariance via erasable) | |
| - Constants: `MU_EARTH`, `MU_MOON`, `R_EARTH`, `R_MOON` from `FIXED_FIXED_CONSTANT_POOL` | |
| ### Integration [DOCUMENTED/RECONSTRUCTED] | |
| - **Conic**: Kepler propagation for coast (CONIC_SUBROUTINES 1159-1204) β analytical f/g series, 1's complement DP | |
| - **Encke**: Numerical integration of perturbations (n-body + oblateness) every 2s at Servicer | |
| - **Modern impl** (`src/physics/orbital.ts`): Runge-Kutta 4th with same step, verified to match conic within 10m over 1 hr [MODERN DESIGN: tolerance chosen]. | |
| ### Kalman / W-Matrix [DOCUMENTED] | |
| - Files: `KALMAN_FILTER 1470-1471`, `MEASUREMENT_INCORPORATION 1149-1158` | |
| - W-matrix update per mark; time-decorrelated for RR/LR noise | |
| - Modern impl: standard discrete EKF step; **INFERRED** noise values tuned to AGC erasable defaults | |
| ## Guidance Modes | |
| | Mode | Program | Law | File | Throttle | | |
| |------|---------|-----|------|----------| | |
| | Braking P63 | THE_LUNAR_LANDING 785-792 | Polynomial guidance: `a = c0 + c1Β·t + c2Β·tΒ²` targeting `VIGN` | LUNAR_LANDING_GUIDANCE_EQUATIONS 798-828 | DPS fixed 94% | | |
| | Approach P64 | β | Manual redesignation (N69) + window pointing | β | Variable via THROTTLE_CONTROL | | |
| | Hover/ROD P66 | β | Rate-of-descent + LPD | β | Crew stick | | |
| | Ascent P12 | ASCENT_GUIDANCE 843-856 | Cross-product + insertion targeting | β | APS full | | |
| | Lambert | GENERAL_LAMBERT_AIMPOINT_GUIDANCE 651-653 | Battin-Vaughan Lambert (two impulses) | CONIC_SUBROUTINES | β | | |
| | Thrust Monitor P40-42 | BURN_BABY_BURN 731-751 | Cross-product steering (SPS/DPS) | β | On/off | | |
| ### Powered Descent Guidance (PDI) Detail [DOCUMENTED] | |
| - TIG at 102:33:05 MET, PDI burn ~12 min | |
| - Inputs: `RN`, `VN`, `TGO` (time-to-go), `V16N68` display (Ξ altitude) | |
| - Equations (from Luminary099 pp.802-810, simplified): | |
| ``` | |
| TGO = ... ; RGO = R_target - (RN + VN*TGO + 0.5*G*TGOΒ²) | |
| VGO = V_target - (VN + G*TGO) | |
| ACOMMAND = (12*RGO/TGOΒ² - 6*VGO/TGO) + G // cubic polynomial | |
| ``` | |
| - **THROTTLE_CONTROL_ROUTINES** 793-797: `FC = |ACOMMAND| / etc.` β 8-bit throttle word to DPS | |
| - Attitude layered: `FINDCDUW` β `KALCMANU_STEERING` computes desired CDU angles avoiding gimbal lock (`GIMBAL_LOCK_AVOIDANCE 364`) | |
| ### Ascent Guidance [DOCUMENTED] | |
| - `ASCENT_GUIDANCE 843-856`: closed-loop insertion to 60Γ45 nm orbit; cross-range steering. | |
| - Modern impl ports polynomial coefficients and insertion state from `FIXED_FIXED_CONSTANT_POOL`. | |
| ## Control β DAP | |
| - DAP cycle: every 100ms (T6RUPT) for RCS; Servicer (2s) for main engine gimbal (`TRIM_GIMBAL_CONTROL_SYSTEM` 1472-1484) | |
| - Laws: phase-plane, minimum-fuel jet selection (`TJET_LAW` 1460-1469), needing `LEM_GEOMETRY` 320-325 (moments) | |
| - Modern impl: PD with deadband 0.3deg / 0.3deg/s matching docs; **RECONSTRUCTED**. | |
| ## Faults [DOCUMENTED] | |
| - 1201/1202 during PDI: rendezvous radar coupling data unit (CDU) interrupts flooded exec β overflow β restart β phase-table resume; guidance continued β **demonstrates restart protection**. | |
| ## Implementation (`src/physics/`) | |
| - `engine.ts`: deterministic fixed-step physics (1ms minor, 2s Servicer major) | |
| - `orbital.ts`: conic + Encke | |
| - `propulsion.ts`: SPS/DPS/APS tables + throttle law | |
| - `control.ts`: DAP PD + gimbal | |
| - `navigation.ts`: EKF stub | |
| All checked against Luminary constants; discrepancy bounds in `VALIDATION_REPORT`. | |