Missiooniahel
Nõuandev tarkvara, mitte kinnitatud navigatsiooniseade. Ainult avalikud allikad; ühegi agentuuriga seotud ega nende poolt heaks kiidetud ning siin ei väideta vastavust ühegi programmi nõuetele.
kind = "mission-thread" ahelab missiooni faase, millest iga on üks kaheksast registreeritud liigist oma andurite ja filtriga, ning esitab kogu ahela navigatsiooni- ja ajastusvea eelarve: iga faasi kohta 1-sigma asukoha, kiiruse ja kella nihke sisenemisel, tipus ja väljumisel; iga panuse sellesse koos ühikuga; varu sinu nimetatud nõude suhtes; nõrgima lüli; kuupäevastatud sündmused; ja ajajoone joonise. Iga arv on MODELLED: nimetatud sisend või selle mudel. Ainsad välised sõltumatu etaloni read on failis xval/mission-thread/ ja need ütlevad, mida nad testivad.
Käivita näide lähtekoodi koopiast (see loeb kinnitatud Kuu kerneli väljalõiget):
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 lükatakse tagasi, mitte ei arvata, kui faasi id kordub, loend nav on tühi, nimi on tundmatu, mudeli võti ei ole see, mida liik tunneb, pikkusevõti ei ühti suurusega duration_s või faas loetleb allika, mille kohta tema mudel arve ei anna.
Mida üleandmine teeb#
Edasi antav olek on [x, y, z, vx, vy, vz] täielik 6x6 kovariatsioon SI ühikutes, kell (nihe, triiv ja nende kovariatsioon, märgistatud ajaskaalaga), tugisüsteem, missiooniaeg ja tõendisilt. Üleandmine ei lähtesta kunagi kovariatsiooni.
| Reegel | Mida see teeb |
|---|---|
carry |
annab oleku edasi muutmata kujul |
inflate |
valge kiirendusmüra PSD-ga q_acc üle gap_s sirgjoonelisel mudelil; rida esitab mõlemad |
reacquire |
arvestusnavigatsioon ajaks acquire_s, seejärel seatakse telg allika põrandani ainult seal, kus põrand on väiksem; mitte kunagi alla põranda, mitte kunagi lähtestamine |
Tugisüsteemid ja ajaskaalad#
Ahel teisendab üleandmisel, mitte kunagi faasi sees, ja iga teisendus on eraldi eelarverida. Tugisüsteemid: GCRF, MCI, MCMF (ITRF ja LVLH lükatakse tagasi koos põhjusega). Gcrf <-> Mci nihutab alguspunkti Kuu geotsentrilise oleku võrra: DE440-klassi olek kernelist seal, kus see epohhi katab (asendus 5 m ja 1 mm/s; mõõdetud halvim 2,6 m kinnistatud JPL Horizonsi vastu), muidu analüütiline rida selle mõõdetud 195,7 km RMS-iga, mille rida esitab; Kuu näide peab seega kandma kernelit, mis katab selle epohhi. Mci <-> Mcmf on keskmine sideeriline pööre, mille teljed on epohhil joondatud ja libratsioonita. Ajaskaalad lähevad läbi TT: Utc <-> Tt täpne, Tdb <-> Tt lisab 14 us, Tt <-> Ltc kasutab liigi lunar_time ilmalikku kiirust selle 56 kuni 59 us/päevas ribaga kiiruse määramatusena.
Kaheksa faasiliiki#
| Liik | Lõik | Mida see teeb | Parameetrid |
|---|---|---|---|
launch-ascent |
Maa | mootoriga tõus parkimisorbiidile: konstantse kiirusega kovariatsioon valge kiirendusmüraga, GNSS-i omandamine ja signaalikadu, kella holdover | [phase.model] võtmed failis src/mission_thread/earth/launch.rs |
leo-rendezvous |
Maa | suhteline navigatsioon andurilõikude kaupa: Clohessy-Wiltshire'i siire LVLH-s, 6x6 Kalmani kovariatsioon, dokkimisaken | allpool |
tli-and-cruise |
Maa | TLI põletus ja tsislunaarne lend: Cowelli levitamine, lõplike vahedega olekusiirdemaatriks, gnss-ssv ja maajaama jälgimise uuendused | allpool |
entry |
Maa | tagasirand sisenemispiirini; trajektoori kaldenurga sigma, koridori tõenäosus, tipp-aeglustus, jalajälg | allpool |
lunar-orbit-rendezvous |
Kuu | suhteline navigatsioon dokkimiseni Kuu orbiidil | mission-thread/lunar-phases.md |
lunar-descent |
Kuu | maandumishajuvuse eelarve polaarpiirkonna kohas | sama |
lunar-surface |
Kuu | pinna PNT ja ajastuse kättesaadavus koha ja aastaaja kaupa | sama |
lunar-ascent |
Kuu | mootoriga tõus sisenemisorbiidile | sama |
Kuu liigid on ka eraldiseisvad stsenaariumi liigid; kavand ja tõendid on dokumendis MISSION-THREAD-LUNAR.md.
leo-rendezvous#
Eelarve kannab suhtelisi sigmasid; jälitaja absoluutne kovariatsioon antakse edasi muutmata kujul ja rida ütleb seda, sest see faas mõõdab sõidukeid üksteise, mitte Maa suhtes. Algne suhteline kovariatsioon on jälitaja absoluutne pluss sihtmärgi nimetatud sigmad, liidetud nagu oleksid need sõltumatud (konservatiivne). Võtmed: target_alt_m, target_abs_sigma_pos_m, target_abs_sigma_vel_mps, capture_pos_m, capture_vel_mps, valikuliselt process_q_acc ja min_window_s, ning üks või mitu [[phase.model.legs]] koos võtmetega range_m, end_range_m, duration_s, sensor (optical-camera, lidar või rf-ranging, ILLUSTRATIVE parameetrid failis src/mission_thread/sensors.rs) ja interval_s; lõikude kestused liidetakse faasi omaks. Dokkimisaken on aeg alates hetkest, millest suhteline sigma jääb püüdmisümbrisesse, kuni faasi lõpuni. Kordused on eraldi faasid oma id-dega.
tli-and-cruise#
Keskmine olek on mootori Cowelli levitaja Maa gravitatsiooni ja J2-ga ning Päikese ja Kuuga kolmanda kehana. Kovariatsioon läbib iga lõigu step_s lõplike vahedega olekusiirdemaatriksiga (nominaalne käivitus ja kuus häiritud käivitust) ja valge kiirendusmüraga. Põletus on mööda sisenemiskiirust nimetatud suuruse osa ja suunamisveaga. Nimetatud piirang: kinnitatud Kuu kerneli väljalõiked sisaldavad Kuud, kuid mitte Päikest, seega võtab levitaja Kuu kernelist ja Päikese analüütilisest reast (Päikese kolmanda keha liige ei ole selle rea suhtes tundlik); faas ütleb sündmuses, kumba ta kasutas, ja kus ükski kernel lõiku ei kata, kasutab ta mõlema jaoks analüütilist rida. Põletus ei ole sihitud: nominaalne olek on seal, kuhu nimetatud põletus viib, ja Kuu faasid võtavad ainult kovariatsiooni.
Uuendused, mida kasutatakse ainult siis, kui dokument loetleb allika: gnss-ssv (asukohafiksid kättesaadavuse ja PDOP-iga mootori space-service-volume pühkimisest mööda oskulatsioonilist Maa orbiiti, mis asendab kaart, üks pühkimine iga ssv_window_s kohta; fiksi sigma = mediaan-PDOP korrutatud suurusega ssv_uere_m; oodatud informatsiooni kuju hoiab käivituse deterministlikuna) ja ground-tracking (kaugus ja kauguse muutumise kiirus geotsentrilises suunas, seega taevatasandit ei vaadelda; uuenduse dispersioon jagatakse jälgimistööpõhimõttega). Võtmed: tli_dv_mps, tli_dv_sigma_fraction, tli_pointing_sigma_rad, step_s, clock_q_f, clock_q_d, valikuliselt 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#
Tagasirand on liigi tli-and-cruise tagasirand ilma põletuseta, lõppedes sisenemispiiril; selle võtmed on ülaltoodud tagasiranna võtmed. Piiril loeb faas trajektoori kaldenurga ja selle sigma täielikust kovariatsioonist, tõenäosuse, et nurk jääb nimetatud koridori sisse, tipp-aeglustuse nominaalnurga juures ja mõlemas koridori servas (mootori tasapinnaline ballistiline sisenemine kõrvuti Allen-Eggersi suletud kujuga) valikulise piiri suhtes ning jalajälje: allavoolu nimetatud tundlikkusest, ristsuunas piiri kovariatsioonist orbiiditasandi suhtes. Võtmed: interface_alt_m, ballistic_coeff_kg_m2, corridor_min_deg, corridor_max_deg, downrange_sensitivity_km_per_deg, flight_time_s, valikuliselt max_decel_g, scale_height_m ja start_state_gcrf (nominaalne tagasiolek, kuus arvu, kui ahelas ei ole Maa suunalist põletust, mis seda annaks). Siin ei modelleerita kapsli tõstejõudu, juhtimist ega kuumenemist.
Maajaamade võrgu kate#
Valikuline tabel [ground_network] annab jaamad ja madalaima jälgimise tõusunurga; iga nimetatud faasi kohta arvutab ahel faasi osa, mille jooksul jaam saab jälgida, ja annab selle faasile tööpõhimõttena, mis skaleerib selle maajaama jälgimise uuenduse sagedust. Geomeetriad: entry-orbit (sisenemisolek lennatud kahe keha ja J2-ga, madala orbiidi faaside jaoks), moon-direction (sõiduk Kuu asukohas, tsislunaarse lennu jaoks) ja stated (sinu antud tööpõhimõte). Jaama vahetus kaotab handover_gap_s; faasi eelarve saab pikima intervalli, mil ühtki jaama ei ole nähtaval, ja sündmus annab tööpõhimõtte. Võrgu antenne ega ajakavasid ei modelleerita.
Aruanne#
kshana-mission-thread/1: phases[] (indeks, id, liik, ajad, silt, navigatsiooni- ja ajaallikad, piirav allikas, sisenemise, tipu ja väljumise sigmad, nõue, varu, budget_rows[] koos rea ühikuga, events[]), weakest_link (väikseim varu nimetatud nõude suhtes, muidu suurim tipuasukoht), timeline[], ahela label (nõrgima faasi silt) ja plokk units. Joonis on 1-sigma asukoht ja kella nihe missiooniaja suhtes, üks riba iga faasi kohta.
Mis on tõendid#
Ahela silt on nõrgima faasi silt ning iga faas on MODELLED. Kuu levitajat võrreldakse LRO ja CAPSTONE'iga (xval/mission-thread-lunar/); tsislunaarset kaart võrreldakse avaliku Horizonsi trajektooriga (xval/mission-thread/). Rida täidab lävendi või jätab selle täitmata; lävend on fikseeritud kinnitatud failis enne käivitust ja möödalaskmine registreeritakse möödalaskmisena. Miski ei ole VALIDATED, kui register seda ei ütle.