Machinevertaling, niet beoordeeld door een moedertaalspreker. Engels is de referentie.

BanenBewerken op GitHubBron: docs/SOLAR-SYSTEM.md

Zonnestelsel en positiebepaling rond andere lichamen

Twee scenariosoorten werken buiten het systeem aarde-maan:

  • solar-system rapporteert elk lichaam van de catalogus op één epoch: positie en snelheid, fysische constanten, lichttijd en afstand vanaf een waarnemerslichaam, en een baanspoor.
  • body-pnt plaatst een navigatiegebruiker (een orbiter of een lander op het oppervlak) rond elk lichaam uit de catalogus behalve de zon en de aarde, met een lokale navigatieconstellatie en een optionele afstandsmeting in de diepe ruimte vanaf de aarde.

De soort constellation-design gebruikt dezelfde catalogus om constellaties te bouwen rond elk van deze lichamen (CONSTELLATION-DESIGN.md).

Code: src/body.rs (de catalogus en zijn constanten), src/ephem.rs (de analytische efemeriden), src/ephem_provider.rs (AnalyticSolarSystem, de provider die beide soorten lezen), src/solar_system.rs en src/body_pnt.rs (de soorten) en src/radiometric.rs (lichttijd, tweewegafstand en de Shapiro-vertraging). Tests: tests/solar_system_horizons_reference.rs en de unittests van elke module.

De catalogus#

Achttien lichamen: de zon, de acht planeten, Pluto, de maan, Phobos, Deimos, de vier Galileïsche manen (Io, Europa, Ganymedes, Callisto) en Titan. Namen worden hoofdletteronafhankelijk herkend. Voor elk draagt src/body.rs de gravitatieparameter GM, de equatoriale en volumetrisch gemiddelde stralen, de tweede zonale harmonische J2 en haar referentiestraal waar die is gepubliceerd, en het model van de pool en de nulmeridiaan van de International Astronomical Union (IAU) (siderische rotatieperiode, negatief voor een retrograde roteerder). Elke waarde noemt haar bron in de code.

Waar de posities vandaan komen#

Hemellichamen Model Label
Mercurius tot Saturnus en de aarde, uit Tabel 1 (1800 AD tot 2050 AD) Kepler-elementen van het Jet Propulsion Laboratory (JPL) van Standish en Williams, https://ssd.jpl.nasa.gov/planets/approx_pos.html VALIDATED
Alle acht planeten uit Tabellen 2a/2b (3000 BC tot 3000 AD) de elementen voor lange tijdspannen van dezelfde pagina VALIDATED
Uranus en Neptunus uit Tabel 1 zoals hierboven MODELLED
Pluto de rij van Tabel 1 uit 1992 (alleen 1800 AD tot 2050 AD; de huidige pagina heeft haar verwijderd en vermeldt geen fout) MODELLED
De maan de maanreeks van Montenbruck en Gill, met splitsing van het zwaartepunt aarde-maan MODELLED
Phobos, Deimos, de Galileïsche manen, Titan gemiddelde JPL-elementen met het IAU-rotatiemodel MODELLED

table = "auto" (de standaard) neemt Tabel 1 binnen 1800 AD tot 2050 AD en Tabellen 2a/2b daarbuiten; table1 en table2 dwingen er één af. Pluto buiten zijn tabel is een fout, geen extrapolatie. Het epoch is een ISO 8601-datum en -tijd in Coordinated Universal Time (UTC), omgerekend via Terrestrial Time (TT) met de schrikkelseconden naar Barycentric Dynamical Time (TDB), of een TDB-juliaanse datum die rechtstreeks met epoch_jd_tdb wordt opgegeven.

De onafhankelijke referentie is JPL Horizons (https://ssd.jpl.nasa.gov/horizons/, Development Ephemeris DE441), met de opgevraagde vectoren vastgelegd onder tests/fixtures/solar_system/. Een planeetrij is VALIDATED waar zij binnen tweemaal de eigen nominale fout van de Standish-pagina blijft. Gemeten door cargo test --test solar_system_horizons_reference -- --nocapture:

  • Tabel 1, Mercurius tot Saturnus en het zwaartepunt aarde-maan, 12 epochs van 1800 tot 2049: ongunstigste 1,87 maal de nominale fout (afstand van Saturnus).
  • Tabellen 2a/2b, alle acht planeten, 15 epochs van ongeveer 1000 BC tot 2500 AD: ongunstigste 1,71 maal (afstand van Mars).
  • Tabel 1 Uranus en Neptunus overschrijden de cijfers van de pagina tegen DE441: 2,04 en 5,16 maal de nominale lengtefout. Ze zijn vastgepind onder zes maal en blijven MODELLED.
  • Pluto: binnen 39,2 boogseconden in lengte en 1.14e9 m in afstand.
  • Manen, ongunstigste hoek gezien vanaf de planeet over 2000 tot 2040: Phobos 5,65 graden, Deimos 0,38, Io 0,40, Europa 1,63, Ganymedes 0,22, Callisto 0,27, Titan 3,31. De geocentrische maan: 0,046 graden.
  • Planeetsnelheden: ongunstigste relatieve fout 3.72e-3 van de snelheid (MODELLED).

De maan en de zeven manen zijn gemeten met vastgepinde drempels, maar er bestaat geen gepubliceerde grens om ze aan te toetsen, dus ze zijn MODELLED.

De analytische efemeriden hebben geen kernelbestand nodig. Een Development Ephemeris-kernel van JPL (posities van DE-kwaliteit) wordt alleen gelezen door de afzonderlijke kruisvalidatiecrates onder xval/, via dezelfde trait EphemerisProvider; de hoofdcrate hangt er niet van af.

solar-system#

kind = "solar-system"
epoch = "2030-01-01T00:00:00"
bodies = ["Earth", "Moon", "Mars", "Jupiter", "Europa"]
observer = "Mars"

[[links]]
from = "Europa"
to = "Earth"
Solar system at 2030-01-01T00:00:00 (JD 2462502.50080 TDB), 5 bodies, observer Mars
  Standish Table 1 (1800 AD to 2050 AD)
  Earth       0.9833 au  lon  100.18 deg  light time    1038.1 s  [VALIDATED]
  Moon        0.9815 au  lon  100.28 deg  light time    1037.8 s  [MODELLED]
  Mars        1.3814 au  lon  337.83 deg  observer  [VALIDATED]
  Jupiter     5.4235 au  lon  222.19 deg  light time    3068.4 s  [VALIDATED]
  Europa      5.4194 au  lon  222.17 deg  light time    3066.6 s  [MODELLED]
  link Europa -> Earth: one-way 2993.281 s, two-way 5986.612 s, Shapiro 33.7 us, Sun 50.0 deg

Invoer: epoch (standaard 2026-01-01T00:00:00) of epoch_jd_tdb; bodies (standaard alle achttien); observer (standaard de aarde); track_points per baan (8 tot 2000, standaard 120); table; en een willekeurig aantal [[links]], elk ontvangen op het epoch.

Per lichaam geeft het resultaat zijn klasse en ouder, de identificatie van de NASA Navigation and Ancillary Information Facility (NAIF), de heliocentrische positie en snelheid in het International Celestial Reference Frame (ICRF, equatoriaal J2000) in meter en meter per seconde, de ecliptische lengte, breedte en afstand, de positie ten opzichte van zijn ouder, de omloopperiode, de bovenstaande constanten, de pool en de nulmeridiaan op het epoch, de nominale fout van Standish waar die bestaat, zijn label en methodestring, en een baanspoor over één omloop (heliocentrisch voor een planeet, gecentreerd op de ouder voor een maan; één punt voor de zon). De verbinding vanaf de waarnemer, en elke extra verbinding, geeft:

  • de newtoniaanse enkele-weg-lichttijd, opgelost met de radiometrische vastepuntsoplosser voor lichttijd met de zender op zijn vertraagde positie, en de bijbehorende enkele-wegafstand;
  • de tweewegslichttijd en -afstand;
  • de Shapiro-vertraging van de zon, afzonderlijk gerapporteerd en niet opgeteld;
  • de hoek tot de zon.

De lichttijd is VALIDATED tegen de enkele-weg-lichttijd die Horizons rapporteert: Mars en Jupiter tot het middelpunt van de aarde op vier epochs van 2000 tot 2040, ongunstigste fout 0,070 s voor Mars tegen een drempel van 0,207 s en 1,31 s voor Jupiter tegen 4,04 s. De drempel is tweemaal de som van de afstandsfouten van Standish voor het doel en het zwaartepunt aarde-maan, gedeeld door de lichtsnelheid: de lichttijd kan niet beter zijn dan de posities. Het is de newtoniaanse geometrische lichttijd, geen relativistisch of voor plasma gecorrigeerde waarneembare grootheid.

De meegeleverde scenarios/solar-system-tour.toml rapporteert alle achttien lichamen op 2026-09-28T00:00:00 met sporen van 180 punten, en voegt de verbindingen Mars-Jupiter (enkele weg 2193,539 s), Saturnus-aarde (4212,176 s) en Europa-Jupiter (2,218 s) toe.

body-pnt#

Een gebruiker navigeert rond een lichaam dat bij naam is gekozen (elk lichaam uit de catalogus behalve de zon en de aarde, die de soort weigert) met twee soorten metingen:

  • pseudoranges via enkele weg van een Walker-delta-navigatieconstellatie rond het lichaam (planes bij sats_per_plane, fasering tussen vlakken phasing_f), gevlogen als tweelichamenbanen met de seculiere drift J2 van het lichaam zelf; de gebruikersklok is onbekend, dus deze rijen dragen een kolom voor klokbias;
  • optioneel een tweewegafstand vanaf het middelpunt van de aarde ([earth_link]), die geen gebruikersklok nodig heeft en wordt gerapporteerd als een enkele-wegafstand met eigen ruis. De richting en afstand van de aarde komen op elk epoch uit de analytische efemeride.

Een zichtlijn is geblokkeerd wanneer zij binnen de gemiddelde straal van het lichaam loopt (de koordetest van de soort mars-pnt), en een gebruiker op het oppervlak heeft ook het elevatiemasker nodig. Op elk epoch vormt de run de geometrische en positionele dilution of precision (GDOP, PDOP) van de constellatie alleen, de formele positieonzekerheid van één sigma met en zonder de aarderij, en een met seed bepaalde Gauss-Newton-kleinstekwadratenpositiebepaling in beide gevallen, zodat het rapport toont wat de verbinding in de diepe ruimte toevoegt.

Tabel Veld Standaard
hoogste niveau body Mars
epoch / epoch_jd_tdb 2027-02-19T00:00:00, een Marsoppositie
duration_s, step_s 86.400 s, 600 s
seed 1
table auto
[user] kind orbiter (of surface)
orbiter: altitude_km, inclination_deg, raan_deg, u0_deg, eccentricity 400 km, 75 graden, 0, 0, 0
oppervlak: lat_deg, lon_deg, height_m 0, 0, 0
[constellation] planes, sats_per_plane, phasing_f 3, 4, 1
altitude_km drie gemiddelde stralen
inclination_deg 60 graden
sigma_range_m 1 m
mask_deg (gebruiker op het oppervlak) 10 graden
[earth_link] enabled, sigma_range_m waar, 1 m

raan_deg is de rechte klimming van de stijgende knoop in het equatoriale stelsel van het lichaam en u0_deg het argument van de breedte op het epoch.

De twee meegeleverde scenario's, zoals ze draaien met kshana 0,36 (draagbare wiskunde, op elk platform dezelfde):

scenarios/mars-orbit-pnt.toml scenarios/europa-surface-pnt.toml
Gebruiker orbiter, 300 km, 93 graden oppervlak, 20 graden N, 60 graden E
Relays 12 op 10.000 km, 60 graden 12 op 4500 km, 55 graden, masker van 10 graden
Duur één sol, 296 epochs 306.822 s, 171 epochs
Lichttijd naar de aarde, enkele weg / heen en terug 338,3 s / 676,6 s 2182,9 s / 4365,8 s
Aarde in zicht 0,811 van de epochs 0.439
Beschikbaarheid, alleen relays / met de afstand tot de aarde 1.000 / 1.000 0.480 / 0.713
Mediane PDOP 1.375 5.360
RMS-fout van de positiebepaling, alleen relays / met de afstand tot de aarde 1,883 m / 1,629 m 112,742 m / 86,499 m
Mediane formele sigma, alleen relays / met de afstand tot de aarde 1,375 m / 1,304 m 5,360 m / 4,239 m

(RMS: root mean square.) Eén Europa-epoch (t = 16.200 s) ligt op de rand van de beschikbaarheid, waar het laatste bit van een berekende straal bepaalt of zijn positiebepaling met de afstand tot de aarde tot stand komt. Vóór 0,36 besliste de wiskundebibliotheek van de host dat, dus hetzelfde scenario toonde 0,719 en 86,147 m op Linux x86-64 en 0,725 en 85,800 m op macOS arm64 voor de twee cijfers "met de afstand tot de aarde". Sinds 0,36 wordt elke transcendente functie berekend door de draagbare wiskundebibliotheek, dus het epoch wordt op elk platform op dezelfde manier beslist (native en WebAssembly geven dezelfde bytes), en de cijfers zijn 0,713 en 86,499 m (docs/revisions/STUDIO15-portable-math-rebaseline.md). Rond Europa tilt de afstand tot de aarde de beschikbaarheid van 0,480 naar 0,713 van de epochs. Waar de aarde nooit boven de rand uitkomt, voegt de verbinding niets toe: een lander op 89,5 graden Z op de maan onder een relayschil van 12 satellieten en 5000 km heeft de aarde op 0 van 145 epochs in zicht, en zijn fouten zijn met en zonder de verbinding gelijk.

MODELLED. De relaybanen negeren derde lichamen (de aantrekking van Jupiter op relays rond Europa is niet gemodelleerd), de ruis is Gauss op de vermelde niveaus en het meetmodel is instantaan, niet vertraagd met de lichttijd. Wat wordt gecontroleerd: de relayperiode tegen de derde wet van Kepler voor het lichaam, een orbiter die zijn straal behoudt en een lander op het oppervlak, de afstand tot de aarde die de formele onzekerheid nooit verslechtert, de met seed bepaalde positiebepalingsfouten die overeenstemmen met de formele sigma (effectieve waarde van fout gedeeld door sigma in [0,6, 1,5]), en een deterministische run. Niets hiervan zijn navigatiegegevens van een missie.

De soort ephemeris#

Ondanks de naam is ephemeris een soort voor aardsatellieten: één satelliet, uit een two-line element set (TLE) via de propagator Simplified General Perturbations 4 (SGP4) of uit een analytische baan, over een tijdraster. Bij elke stap geeft hij de inertiale toestand (positie en snelheid) in het stelsel true equator, mean equinox (TEME) en in het Geocentric Celestial Reference System (GCRS), de aardvaste positie, het subsatellietpunt in het World Geodetic System 1984 (WGS 84) en, voor een optioneel grondstation, azimut, elevatie, afstand en afstandssnelheid. eop_finals2000a neemt de tekst aan van een finals2000A-bestand van de International Earth Rotation and Reference Systems Service (IERS) voor UT1−UTC en poolbeweging per epoch. Code: src/ephemeris.rs.

$ kshana scenarios/ephemeris.toml
scenario 0d4dd01b3160 | sgp4 (TLE) | 559 samples | alt 419–434 km | |lat| ≤ 51.8° | speed 7653–7661 m/s | max el 25.7° peak Doppler 34.3 kHz

Niet gemodelleerd#

  • Relativistische lichttijdtermen buiten de afzonderlijk gerapporteerde Shapiro-vertraging, en de zonneplasmavertraging.
  • Posities die beter zijn dan de hierboven vermelde nauwkeurigheid van Standish en van de gemiddelde elementen; de hoofdcrate heeft geen kernelreader.
  • Verstoringen door derde lichamen op relays van body-pnt en op banen van constellation-design.
  • Terrein op een willekeurig lichaam: een lichaam is zijn gemiddelde bol.
  • Interoperabiliteitsexports: CZML, KML en GeoJSON beschrijven posities rond de aarde, dus de scenario's solar-system en body-pnt exporteren er geen (INTEROP.md).

Referenties#

  • E. M. Standish en J. G. Williams, "Keplerian Elements for Approximate Positions of the Major Planets," JPL Solar System Dynamics, https://ssd.jpl.nasa.gov/planets/approx_pos.html.
  • O. Montenbruck en E. Gill, Satellite Orbits: Models, Methods and Applications, Springer, 2000, §3.3.2.
  • B. A. Archinal et al., "Report of the IAU Working Group on Cartographic Coordinates and Rotational Elements: 2015," Celestial Mechanics and Dynamical Astronomy 130, 2018.
  • JPL Horizons, https://ssd.jpl.nasa.gov/horizons/.