Vlákno mise
Software pouze poradního charakteru, nikoli certifikované navigační zařízení. Pouze veřejné zdroje; bez spojení s žádnou agenturou ani její podpory a nic zde netvrdí shodu s požadavky žádného programu.
kind = "mission-thread" řetězí fáze mise, z nichž každá je jedním z osmi registrovaných druhů s vlastními senzory a filtrem, a uvádí rozpočet chyb navigace a času celého řetězce: pro každou fázi 1sigma polohy, rychlosti a bias hodin při vstupu, ve špičce a při výstupu; každý příspěvek k ní s jednotkou; rezervu oproti požadavku, který uvedete; nejslabší článek; datované události; a obrázek časové osy. Každé číslo je MODELLED: uvedený vstup nebo model vstupu. Jediné řádky s vnějším orákulem jsou v xval/mission-thread/ a říkají, co testují.
Spusťte ukázku z checkoutu (čte zapsaný výřez jádra Měsíce):
kshana scenarios/mission-thread-artemis-class.toml
Dokument#
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
Dokument se odmítne, nehádá se, když se id fáze opakuje, seznam nav je prázdný, název je neznámý, klíč modelu není takový, který druh zná, klíč délky nesouhlasí s duration_s, nebo fáze uvádí zdroj, pro který její model nedává čísla.
Co dělá předání#
Předávaný stav je úplná kovariance 6x6 pro [x, y, z, vx, vy, vz] v jednotkách SI, hodiny (bias, drift a jejich kovariance, označené časovou škálou), rámec, čas mise a označení důkazu. Předání nikdy neresetuje kovarianci.
| Pravidlo | Co dělá |
|---|---|
carry |
předá stav beze změny |
inflate |
bílý šum zrychlení s PSD q_acc po dobu gap_s na modelu přímé dráhy; řádek uvádí obojí |
reacquire |
dead reckoning po dobu acquire_s, poté se osa nastaví na úroveň zdroje jen tam, kde je úroveň menší; nikdy pod úroveň, nikdy reset |
Rámce a časové škály#
Vlákno převádí při předání, nikdy uvnitř fáze, a každý převod je samostatný řádek rozpočtu. Rámce: GCRF, MCI, MCMF (ITRF a LVLH se odmítnou s uvedením důvodu). Gcrf <-> Mci posouvá počátek o geocentrický stav Měsíce: stav třídy DE440 z jádra tam, kde pokrývá epochu (zástupná hodnota 5 m a 1 mm/s; naměřené nejhorší 2,6 m proti připnutému JPL Horizons), jinak analytická řada s naměřeným RMS 195,7 km, které řádek uvádí; lunární příklad proto musí nést jádro pokrývající jeho epochu. Mci <-> Mcmf je průměrná siderická rotace s osami zarovnanými v epoše a bez librace. Časové škály procházejí přes TT: Utc <-> Tt přesně, Tdb <-> Tt přidává 14 us, Tt <-> Ltc používá sekulární rychlost z lunar_time s pásmem 56 až 59 us/den jako nejistotou rychlosti.
Osm druhů fází#
| Druh | Segment | Co dělá | Parametry |
|---|---|---|---|
launch-ascent |
Země | motorický výstup na parkovací dráhu: kovariance s konstantní rychlostí a bílým šumem zrychlení, akvizice a únik GNSS, holdover hodin | klíče [phase.model] v src/mission_thread/earth/launch.rs |
leo-rendezvous |
Země | relativní navigace přes úseky senzorů: přechod Clohessy–Wiltshire v LVLH, kovariance Kalmanova filtru 6x6, dokovací okno | níže |
tli-and-cruise |
Země | zážeh TLI a cislunární plavba: propagace Cowell, matice přechodu stavu konečnými diferencemi, aktualizace gnss-ssv a pozemního sledování | níže |
entry |
Země | návratový volný let na rozhraní vstupu; sigma úhlu dráhy letu, pravděpodobnost koridoru, špičkové zpomalení, stopa | níže |
lunar-orbit-rendezvous |
lunární | relativní navigace k dokování na lunární oběžné dráze | mission-thread/lunar-phases.md |
lunar-descent |
lunární | rozpočet rozptylu přistání na polárním místě | totéž |
lunar-surface |
lunární | povrchová dostupnost PNT a času podle místa a ročního období | totéž |
lunar-ascent |
lunární | motorický výstup na dráhu vložení | totéž |
Lunární druhy jsou také samostatnými druhy scénářů; návrh a důkazy jsou v MISSION-THREAD-LUNAR.md.
leo-rendezvous#
Rozpočet nese relativní sigma; absolutní kovariance chaseru se předává beze změny a řádek to uvádí, protože tato fáze měří vozidla vzájemně, nikoli vůči Zemi. Počáteční relativní kovariance je absolutní kovariance chaseru plus uvedená sigma cíle, sečtené jako nezávislé (konzervativně). Klíče: target_alt_m, target_abs_sigma_pos_m, target_abs_sigma_vel_mps, capture_pos_m, capture_vel_mps, volitelně process_q_acc a min_window_s a jedna či více [[phase.model.legs]] s range_m, end_range_m, duration_s, sensor (optical-camera, lidar nebo rf-ranging, ILLUSTRATIVE parametry v src/mission_thread/sensors.rs) a interval_s; délky úseků se sčítají na délku fáze. Dokovací okno je čas od okamžiku, kdy relativní sigma zůstává uvnitř záchytné obálky, do konce fáze. Opakování jsou samostatné fáze s vlastními id.
tli-and-cruise#
Střední stav je propagátor Cowell v enginu s gravitací Země a J2 a se Sluncem a Měsícem jako třetími tělesy. Kovariance prochází každým segmentem step_s s maticí přechodu stavu z diference vpřed (nominální běh a šest perturbovaných běhů) a bílým šumem zrychlení. Zážeh je podél vstupní rychlosti s uvedeným podílem velikosti a chybou namíření. Uvedené omezení: zapsané výřezy jádra Měsíce obsahují Měsíc, ale ne Slunce, takže propagátor bere Měsíc z jádra a Slunce z analytické řady (člen třetího tělesa Slunce je vůči chybě té řady necitlivý); fáze v události uvádí, co použila, a kde žádné jádro segment nepokrývá, použije analytickou řadu pro obě. Zážeh není cílený: nominální stav je tam, kam uvedený zážeh vede, a lunární fáze přebírají jen kovarianci.
Aktualizace, použité jen když dokument zdroj uvádí: gnss-ssv (polohová určení s dostupností a PDOP z prohledávání space-service-volume enginu podél oskulační dráhy Země, která zastupuje oblouk, jedno prohledání na ssv_window_s; sigma určení = střední PDOP krát ssv_uere_m; forma očekávané informace udržuje běh deterministický) a ground-tracking (vzdálenost a rychlost změny vzdálenosti podél geocentrického směru, takže rovina oblohy se nepozoruje; rozptyl aktualizace se dělí pracovním cyklem sledování). Klíče: tli_dv_mps, tli_dv_sigma_fraction, tli_pointing_sigma_rad, step_s, clock_q_f, clock_q_d, volitelně 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#
Volný let je volný let tli-and-cruise bez zážehu, končící na rozhraní vstupu; jeho klíče jsou klíče volného letu výše. Na rozhraní fáze čte úhel dráhy letu a jeho sigma z úplné kovariance, pravděpodobnost, že úhel leží uvnitř uvedeného koridoru, špičkové zpomalení při nominálním úhlu a na obou okrajích koridoru (rovinný balistický vstup enginu vedle uzavřeného tvaru Allen–Eggers) oproti volitelnému limitu a stopu: dosah z uvedené citlivosti, boční odchylku z kovariance rozhraní napříč rovinou dráhy. Klíče: interface_alt_m, ballistic_coeff_kg_m2, corridor_min_deg, corridor_max_deg, downrange_sensitivity_km_per_deg, flight_time_s, volitelně max_decel_g, scale_height_m a start_state_gcrf (nominální návratový stav, šest čísel, když řetězec nemá žádný zážeh trans-Earth, který by jej vytvořil). Nic zde nemodeluje vztlak, navádění ani ohřev kapsle.
Překrytí pozemní sítí#
Volitelná tabulka [ground_network] uvádí stanice a nejnižší elevaci sledování; pro každou fázi, kterou jmenuje, vlákno spočítá podíl fáze, který může stanice sledovat, a předá jej fázi jako pracovní cyklus, který škáluje frekvenci aktualizací pozemního sledování. Geometrie: entry-orbit (vstupní stav letěný jako dvoutělesový s J2, pro fáze na nízké dráze), moon-direction (vozidlo v poloze Měsíce, pro cislunární plavbu) a stated (pracovní cyklus, který zadáte). Změna stanice ztrácí handover_gap_s; rozpočet fáze získá nejdelší interval bez stanice ve výhledu a událost uvede pracovní cyklus. Nic nemodeluje antény ani rozvrhy sítě.
Zpráva#
kshana-mission-thread/1: phases[] (index, id, druh, časy, označení, zdroje navigace a času, limitující zdroj, sigma při vstupu, ve špičce a při výstupu, požadavek, rezerva, budget_rows[] s jednotkou pro každý řádek, events[]), weakest_link (nejmenší rezerva oproti uvedenému požadavku, jinak největší špičková poloha), timeline[], label vlákna (označení nejslabší fáze) a blok units. Obrázek je 1sigma polohy a bias hodin oproti času mise, jedno pásmo na fázi.
Co je důkazem#
Označení vlákna je označení nejslabší fáze a každá fáze je MODELLED. Lunární propagátor se porovnává s LRO a CAPSTONE (xval/mission-thread-lunar/); cislunární oblouk se porovnává s veřejnou trajektorií Horizons (xval/mission-thread/). Řádek práh stanovený v zapsaném souboru před během buď splní, nebo nesplní a nesplnění se zaznamenává jako nesplnění. Nic není VALIDATED, pokud to registr neuvádí.