De missieketen
Adviserende software, geen gecertificeerde navigatieapparatuur. Alleen openbare bronnen; niet verbonden aan of onderschreven door enig agentschap, en niets hier beweert conformiteit met de eisen van enig programma.
kind = "mission-thread" koppelt fasen van een missie aan elkaar, elk een van acht geregistreerde soorten met eigen sensoren en filter, en rapporteert het foutenbudget voor navigatie en tijdsynchronisatie van de hele keten: voor elke fase de 1-sigma van positie, snelheid en klokbias bij binnenkomst, op het hoogtepunt en bij uitgang; elke bijdrage daaraan, met zijn eenheid; de marge ten opzichte van een eis die u vermeldt; de zwakste schakel; de gedateerde gebeurtenissen; en een tijdlijnfiguur. Elk getal is MODELLED: een vermelde invoer of een model daarvan. De enige rijen met een externe onafhankelijke referentie staan in xval/mission-thread/ en zeggen wat ze testen.
Voer het voorbeeld uit vanuit een checkout (het leest een vastgelegde snede van een maankernel):
kshana scenarios/mission-thread-artemis-class.toml
Het document#
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
Een document wordt geweigerd, niet geraden, wanneer een fase-id zich herhaalt, een lijst nav leeg is, een naam onbekend is, een modelsleutel er een is die de soort niet kent, een lengtesleutel afwijkt van duration_s, of een fase een bron vermeldt waarvoor haar model geen getallen geeft.
Wat een overdracht doet#
De doorgegeven toestand is de volledige 6x6-covariantie van [x, y, z, vx, vy, vz] in SI-eenheden, de klok (bias, drift en hun covariantie, met een tijdschaal gemarkeerd), het referentiestelsel, de missietijd en een bewijslabel. Een overdracht reset nooit een covariantie.
| Regel | Wat het doet |
|---|---|
carry |
geeft de toestand ongewijzigd door |
inflate |
witte versnellingsruis met PSD q_acc over gap_s op een model met rechte lijn; de rij vermeldt beide |
reacquire |
koppelnavigatie gedurende acquire_s, daarna wordt een as alleen op de bronvloer gezet waar de vloer kleiner is; nooit eronder, nooit een reset |
Referentiestelsels en tijdschalen#
De keten zet bij de overdracht om, nooit binnen een fase, en elke omzetting is een eigen budgetrij. Referentiestelsels: GCRF, MCI, MCMF (ITRF en LVLH worden met de reden geweigerd). Gcrf <-> Mci verschuift de oorsprong met de geocentrische toestand van de maan: de toestand van DE440-klasse uit de kernel waar die de epoche dekt (plaatsvervanger 5 m en 1 mm/s; gemeten slechtste 2,6 m tegen vastgezette JPL Horizons), anders de analytische reeks met zijn gemeten 195,7 km RMS, die de rij vermeldt; een maanvoorbeeld moet dus een kernel bevatten die zijn epoche dekt. Mci <-> Mcmf is de gemiddelde siderische rotatie met de assen op de epoche uitgelijnd en zonder libratie. Tijdschalen lopen via TT: Utc <-> Tt exact, Tdb <-> Tt voegt 14 us toe, Tt <-> Ltc gebruikt de seculiere snelheid van lunar_time met zijn band van 56 tot 59 us/dag als onzekerheid van de snelheid.
De acht fasesoorten#
| Soort | Segment | Wat het doet | Parameters |
|---|---|---|---|
launch-ascent |
Aarde | aangedreven opstijging naar een parkeerbaan: covariantie bij constante snelheid met witte versnellingsruis, GNSS-acquisitie en signaalverlies, klokholdover | [phase.model]-sleutels in src/mission_thread/earth/launch.rs |
leo-rendezvous |
Aarde | relatieve navigatie over sensortrajecten: Clohessy-Wiltshire-overgang in LVLH, 6x6-Kalman-covariantie, koppelvenster | hieronder |
tli-and-cruise |
Aarde | TLI-brand en cislunaire vlucht: Cowell-voortplanting, toestandsovergangsmatrix met eindige differenties, gnss-ssv- en grondtrackingupdates | hieronder |
entry |
Aarde | terugvlucht naar het terugkeerinterface; sigma van de baanhoek, corridorkans, piekvertraging, voetafdruk | hieronder |
lunar-orbit-rendezvous |
maan | relatieve navigatie tot koppeling in een maanbaan | mission-thread/lunar-phases.md |
lunar-descent |
maan | budget voor landingsspreiding bij een poollocatie | idem |
lunar-surface |
maan | beschikbaarheid van PNT en tijdsynchronisatie op het oppervlak per locatie en seizoen | idem |
lunar-ascent |
maan | aangedreven opstijging naar een insertiebaan | idem |
De maansoorten zijn ook zelfstandige scenariosoorten; het ontwerp en het bewijs staan in MISSION-THREAD-LUNAR.md.
leo-rendezvous#
Het budget draagt de relatieve sigma's; de absolute covariantie van de achtervolger wordt ongewijzigd doorgegeven en een rij zegt dat, omdat deze fase de voertuigen ten opzichte van elkaar meet, niet ten opzichte van de aarde. De relatieve startcovariantie is de absolute covariantie van de achtervolger plus de vermelde sigma's van het doel, opgeteld alsof ze onafhankelijk zijn (conservatief). Sleutels: target_alt_m, target_abs_sigma_pos_m, target_abs_sigma_vel_mps, capture_pos_m, capture_vel_mps, optioneel process_q_acc en min_window_s, en een of meer [[phase.model.legs]] met range_m, end_range_m, duration_s, sensor (optical-camera, lidar of rf-ranging, ILLUSTRATIVE parameters in src/mission_thread/sensors.rs) en interval_s; de duren van de trajecten tellen op tot die van de fase. Het koppelvenster is de tijd vanaf het moment waarop de relatieve sigma binnen de vangenvelop blijft tot het einde van de fase. Herhalingen zijn afzonderlijke fasen met eigen id's.
tli-and-cruise#
De gemiddelde toestand is de Cowell-propagator van de engine met aardzwaartekracht en J2 en zon en maan als derde lichamen. De covariantie gaat door elk segment van step_s met een toestandsovergangsmatrix met voorwaartse differenties (de nominale run en zes verstoorde runs) en een witte versnellingsruis. De brand ligt langs de binnenkomstsnelheid met een vermelde grootte-fractie en richtingsfout. Genoemde beperking: de vastgelegde maankernelsneden bevatten de maan maar niet de zon, dus de propagator neemt de maan uit de kernel en de zon uit de analytische reeks (de term van de zon als derde lichaam is ongevoelig voor de fout van die reeks); de fase zegt in een gebeurtenis welke ze heeft gebruikt, en waar geen kernel een segment dekt gebruikt ze de analytische reeks voor beide. De brand is niet gericht: de nominale toestand is waar de vermelde brand ook heen gaat, en de maanfasen nemen alleen de covariantie over.
Updates, alleen gebruikt wanneer het document de bron vermeldt: gnss-ssv (positiebepalingen met beschikbaarheid en PDOP uit de sweep van het ruimteservicevolume van de engine langs een osculerende baan om de aarde die de boog vervangt, een sweep per ssv_window_s; sigma van de positiebepaling = mediaan van PDOP maal ssv_uere_m; de vorm met verwachte informatie houdt de run deterministisch) en ground-tracking (afstand en afstandssnelheid langs de geocentrische richting, dus het hemelvlak wordt niet waargenomen; de variantie van de update wordt gedeeld door de trackingbezetting). Sleutels: tli_dv_mps, tli_dv_sigma_fraction, tli_pointing_sigma_rad, step_s, clock_q_f, clock_q_d, optioneel 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#
De vlucht is de vlucht van tli-and-cruise zonder brand, eindigend bij het terugkeerinterface; de sleutels ervan zijn de vluchtsleutels hierboven. Bij het interface leest de fase de baanhoek en zijn sigma uit de volledige covariantie, de kans dat de hoek binnen een vermelde corridor ligt, de piekvertraging bij de nominale hoek en bij beide corridorranden (de vlakke ballistische terugkeer van de engine naast de gesloten vorm van Allen-Eggers) tegen een optionele limiet, en de voetafdruk: afstand in vliegrichting uit een vermelde gevoeligheid, dwarsafstand uit de covariantie bij het interface dwars op het baanvlak. Sleutels: interface_alt_m, ballistic_coeff_kg_m2, corridor_min_deg, corridor_max_deg, downrange_sensitivity_km_per_deg, flight_time_s, optioneel max_decel_g, scale_height_m en start_state_gcrf (de nominale terugkeertoestand, zes getallen, wanneer de keten geen brand naar de aarde heeft om er een te maken). Niets hier modelleert de lift, geleiding of verhitting van een capsule.
De overlay van het grondnetwerk#
Een optionele tabel [ground_network] geeft stations en de laagste trackingelevatie; voor elke fase die ze noemt berekent de keten het deel van de fase dat een station kan volgen en geeft dat aan de fase door als de bezetting die de updatefrequentie van haar grondtracking schaalt. Geometrieën: entry-orbit (de binnenkomsttoestand tweelichamen gevlogen met J2, voor fasen in een lage baan), moon-direction (het voertuig op de positie van de maan, voor de cislunaire vlucht) en stated (een bezetting die u opgeeft). Een stationswissel verliest handover_gap_s; het budget van de fase krijgt het langste interval zonder station in zicht en een gebeurtenis geeft de bezetting. Niets modelleert de antennes of schema's van een netwerk.
Het rapport#
kshana-mission-thread/1: phases[] (index, id, soort, tijden, label, navigatie- en tijdbronnen, beperkende bron, sigma's bij binnenkomst, piek en uitgang, eis, marge, budget_rows[] met een eenheid per rij, events[]), de weakest_link (kleinste marge ten opzichte van een vermelde eis, anders de grootste piekpositie), de timeline[], het label van de keten (het label van de zwakste fase) en een blok units. De figuur is de 1-sigma van positie en klokbias tegen de missietijd, een band per fase.
Wat het bewijs is#
Het label van de keten is het label van de zwakste fase, en elke fase is MODELLED. De maanpropagator wordt vergeleken met LRO en CAPSTONE (xval/mission-thread-lunar/); de cislunaire boog wordt vergeleken met een openbaar Horizons-traject (xval/mission-thread/). Een rij haalt een drempel die vóór de run in een vastgelegd bestand is vastgezet, of mist hem, en een misser wordt als misser vastgelegd. Niets is VALIDATED tenzij het register dat zegt.