Missionstråden
Vejledende software, ikke certificeret navigationsudstyr. Kun offentlige kilder; ikke tilknyttet eller støttet af nogen rumfartsorganisation, og intet her hævder overensstemmelse med noget programs krav.
kind = "mission-thread" kæder faser af en mission sammen, hver en af otte registrerede typer med sine egne sensorer og sit eget filter, og rapporterer fejlbudgettet for navigation og tidssynkronisering for hele kæden: for hver fase 1-sigma for position, hastighed og urbias ved indgang, ved spidsen og ved udgang; hvert bidrag hertil med sin enhed; marginen mod et krav, du angiver; det svageste led; de daterede hændelser; og en tidslinjefigur. Hvert tal er MODELLED: et angivet input eller en model af et. De eneste rækker med ekstern uafhængig reference findes i xval/mission-thread/ og siger, hvad de afprøver.
Kør eksemplet fra et checkout (det læser et indlagt udsnit af Månens kerne):
kshana scenarios/mission-thread-artemis-class.toml
Dokumentet#
kind = "mission-thread"
title = "..." # optional
seed = 20261024 # each phase's seed comes from it and the phase id
epoch_utc = "2028-01-01T00:00:00Z" # mission elapsed time counts from here
moon_kernel_path = "..." # optional JPL SPK cut with the Moon and the Earth (a file: refused by the MCP server)
[entry] # the first phase's entry state
frame = "gcrf"; x = [...] # six numbers, metres and metres per second
sigma_pos_m = 10.0; sigma_vel_mps = 0.01
timescale = "utc"; sigma_time_s = 1e-7; sigma_drift_s_per_s = 1e-12
[[phase]]
id = "ascent" # unique; names the phase in the report and seeds its noise
kind = "launch-ascent"
duration_s = 540.0
nav = ["gnss", "inertial"] # gnss | gnss-ssv | ground-tracking | lunanet | trn | inertial | relative-optical
time = "gnss" # gnss | ground-clock | lunar-time | onboard-holdover
frame = "mci" # optional: the frame this phase needs its entry in
timescale = "ltc" # optional: the clock timescale it needs
[phase.handover] # how this phase hands over to the next (default carry)
rule = "inflate"; q_acc = 1e-9; gap_s = 172800.0
[phase.requirement] # optional limits; the margin is the smallest limit over peak
max_pos_m = 50.0
[phase.model] # the kind's own parameters
Et dokument afvises, der gættes ikke, når et fase-id gentages, en liste nav er tom, et navn er ukendt, en modelnøgle ikke er en, typen kender, en længdenøgle er uenig med duration_s, eller en fase angiver en kilde, dens model ikke giver tal for.
Hvad en overdragelse gør#
Den tilstand, der gives videre, er den fulde 6x6-kovarians af [x, y, z, vx, vy, vz] i SI-enheder, uret (bias, drift og deres kovarians, mærket med en tidsskala), referencesystemet, missionstiden og en evidensetiket. En overdragelse nulstiller aldrig en kovarians.
| Regel | Hvad det gør |
|---|---|
carry |
giver tilstanden videre uændret |
inflate |
hvid accelerationsstøj med PSD q_acc over gap_s på en retlinet model; rækken angiver begge |
reacquire |
dødregning i acquire_s, derefter sættes en akse til kildens gulv kun, hvor gulvet er mindre; aldrig under gulvet, aldrig en nulstilling |
Referencesystemer og tidsskalaer#
Tråden konverterer ved overdragelsen, aldrig inde i en fase, og hver konvertering er sin egen budgetrække. Referencesystemer: GCRF, MCI, MCMF (ITRF og LVLH afvises med begrundelsen). Gcrf <-> Mci flytter origo med Månens geocentriske tilstand: tilstanden i DE440-klassen fra kernen, hvor den dækker epoken (stand-in 5 m og 1 mm/s; målt værst 2,6 m mod fastlåst JPL Horizons), ellers den analytiske serie med dens målte 195,7 km RMS, som rækken angiver; et månemæssigt eksempel skal derfor bære en kerne, der dækker dets epoke. Mci <-> Mcmf er den gennemsnitlige sideriske rotation med akserne rettet ind ved epoken og ingen libration. Tidsskalaer går gennem TT: Utc <-> Tt eksakt, Tdb <-> Tt tilføjer 14 us, Tt <-> Ltc bruger den sekulære rate fra lunar_time med dens bånd på 56 til 59 us/døgn som ratens usikkerhed.
De otte fasetyper#
| Type | Segment | Hvad det gør | Parametre |
|---|---|---|---|
launch-ascent |
Jorden | drevet opstigning til en parkeringsbane: kovarians med konstant hastighed og hvid accelerationsstøj, GNSS-erhvervelse og fading, ur-holdover | Nøgler i [phase.model] i src/mission_thread/earth/launch.rs |
leo-rendezvous |
Jorden | relativ navigation over sensorstrækninger: Clohessy-Wiltshire-overgang i LVLH, 6x6 Kalman-kovarians, dockingvindue | nedenfor |
tli-and-cruise |
Jorden | TLI-brænding og cislunart krydstogt: Cowell-propagering, tilstandsovergangsmatrix med endelig differens, opdateringer fra gnss-ssv og jordsporing | nedenfor |
entry |
Jorden | returkyst til indflyvningsgrænsefladen; sigma for flyvebanevinklen, korridorsandsynlighed, maksimal deceleration, fodaftryk | nedenfor |
lunar-orbit-rendezvous |
måne | relativ navigation til docking i en månebane | mission-thread/lunar-phases.md |
lunar-descent |
måne | budget for landingsspredning ved et polart sted | samme |
lunar-surface |
måne | tilgængelighed af PNT og tidssynkronisering på overfladen efter sted og årstid | samme |
lunar-ascent |
måne | drevet opstigning til en indsætningsbane | samme |
Månetyperne er også selvstændige scenarietyper; udformningen og evidensen findes i MISSION-THREAD-LUNAR.md.
leo-rendezvous#
Budgettet bærer de relative sigmaer; jagerens absolutte kovarians gives videre uændret, og en række siger det, fordi denne fase måler køretøjerne mod hinanden og ikke mod Jorden. Den relative begyndelseskovarians er jagerens absolutte plus målets angivne sigmaer, lagt sammen, som om de var uafhængige (konservativt). Nøgler: target_alt_m, target_abs_sigma_pos_m, target_abs_sigma_vel_mps, capture_pos_m, capture_vel_mps, valgfrit process_q_acc og min_window_s og en eller flere [[phase.model.legs]] med range_m, end_range_m, duration_s, sensor (optical-camera, lidar eller rf-ranging, ILLUSTRATIVE parametre i src/mission_thread/sensors.rs) og interval_s; strækningernes varigheder lægges sammen til fasens. Dockingvinduet er tiden fra det tidspunkt, hvor den relative sigma holder sig inden for indfangningsomhyllingen, til fasens slutning. Gentagelser er særskilte faser med deres egne id'er.
tli-and-cruise#
Middeltilstanden er motorens Cowell-propagator med jordtyngde og J2 og Solen og Månen som tredjelegemer. Kovariansen går gennem hvert segment af step_s med en fremadrettet differens-tilstandsovergangsmatrix (den nominelle kørsel og seks forstyrrede kørsler) og en hvid accelerationsstøj. Brændingen er langs indflyvningshastigheden med en angivet størrelsesandel og retningsfejl. Angivet begrænsning: de indlagte udsnit af Månens kerne rummer Månen, men ikke Solen, så propagatoren tager Månen fra kernen og Solen fra den analytiske serie (Solens tredjelegemeled er ufølsomt over for den series fejl); fasen siger i en hændelse, hvad den brugte, og hvor ingen kerne dækker et segment, bruger den den analytiske serie til begge. Brændingen er ikke målrettet: den nominelle tilstand er, hvor den angivne brænding fører hen, og månefaserne tager kun kovariansen.
Opdateringer, kun brugt når dokumentet angiver kilden: gnss-ssv (positionsbestemmelser med tilgængelighed og PDOP fra motorens gennemløb af rumservicevolumen langs en oskulerende jordbane, der står i for buen, ét gennemløb pr. ssv_window_s; sigma for positionsbestemmelsen = median-PDOP gange ssv_uere_m; formen med forventet information holder kørslen deterministisk) og ground-tracking (afstand og afstandshastighed langs den geocentriske retning, så himmelplanet ikke observeres; opdateringsvariansen divideres med sporingsandelen). Nøgler: tli_dv_mps, tli_dv_sigma_fraction, tli_pointing_sigma_rad, step_s, clock_q_f, clock_q_d, valgfrit process_q_acc, ssv_uere_m, ssv_window_s, ssv_step_min, ssv_cn0_min_dbhz, ground_range_sigma_m, ground_range_rate_sigma_mps, ground_interval_s, ground_duty.
entry#
Kysten er kysten for tli-and-cruise uden brænding, der ender ved indflyvningsgrænsefladen; dens nøgler er kystnøglerne ovenfor. Ved grænsefladen aflæser fasen flyvebanevinklen og dens sigma fra den fulde kovarians, sandsynligheden for, at vinklen ligger inden for en angivet korridor, den maksimale deceleration ved den nominelle vinkel og ved begge korridorkanter (motorens plane ballistiske indflyvning ved siden af den lukkede Allen-Eggers-form) mod en valgfri grænse og fodaftrykket: nedrækkevidde ud fra en angivet følsomhed, tværrækkevidde fra grænsefladekovariansen på tværs af banens plan. Nøgler: interface_alt_m, ballistic_coeff_kg_m2, corridor_min_deg, corridor_max_deg, downrange_sensitivity_km_per_deg, flight_time_s, valgfrit max_decel_g, scale_height_m og start_state_gcrf (den nominelle returtilstand, seks tal, når kæden ikke har nogen trans-jord-brænding til at frembringe en). Intet her modellerer en kapsels løft, styring eller opvarmning.
Overlayet af jordnetværk#
En valgfri tabel [ground_network] angiver stationer og den laveste sporingselevation; for hver fase, den nævner, beregner tråden den andel af fasen, en station kan spore, og giver den videre til fasen som den andel, der skalerer opdateringsraten for jordsporing. Geometrier: entry-orbit (indflyvningstilstanden fløjet to-legemer med J2, til faser i lav bane), moon-direction (køretøjet ved Månens position, til det cislunare krydstogt) og stated (en andel, du angiver). Et stationsskift taber handover_gap_s; fasens budget får det længste interval uden station i sigte, og en hændelse angiver andelen. Intet modellerer et netværks antenner eller tidsplaner.
Rapporten#
kshana-mission-thread/1: phases[] (indeks, id, type, tider, etiket, navigations- og tidskilder, begrænsende kilde, sigmaer ved indgang, spids og udgang, krav, margin, budget_rows[] med en enhed pr. række, events[]), weakest_link (mindste margin mod et angivet krav, ellers den største positionsspids), timeline[], trådens label (den svageste fases etiket) og en blok units. Figuren er 1-sigma for position og urbias mod missionstid, ét bånd pr. fase.
Hvad evidensen er#
Trådens etiket er den svageste fases etiket, og hver fase er MODELLED. Månepropagatoren sammenlignes med LRO og CAPSTONE (xval/mission-thread-lunar/); den cislunare bue sammenlignes med en offentlig Horizons-bane (xval/mission-thread/). En række når eller misser en tærskel, der er fastsat i en indlagt fil før kørslen, og en miss registreres som en miss. Intet er VALIDATED, medmindre registeret siger det.