Tradução automática, não revista por um falante nativo. O inglês é a referência.

ÓrbitasEditar no GitHubFonte: docs/SOLAR-SYSTEM.md

Sistema solar e posicionamento em torno de outros corpos

Dois tipos de cenário funcionam além do sistema Terra-Lua:

  • solar-system relata todos os corpos do catálogo em uma época: posição e velocidade, constantes físicas, tempo de luz e distância a partir de um corpo observador, e uma trilha de órbita.
  • body-pnt coloca um usuário de navegação (um orbitador ou uma sonda pousada na superfície) em torno de qualquer corpo do catálogo que não seja o Sol e a Terra, com uma constelação de navegação local e uma distância opcional de espaço profundo a partir da Terra.

O tipo constellation-design usa o mesmo catálogo para construir constelações em torno de qualquer um desses corpos (CONSTELLATION-DESIGN.md).

Código: src/body.rs (o catálogo e suas constantes), src/ephem.rs (as efemérides analíticas), src/ephem_provider.rs (AnalyticSolarSystem, o provedor que ambos os tipos leem), src/solar_system.rs e src/body_pnt.rs (os tipos) e src/radiometric.rs (tempo de luz, distância de ida e volta e o atraso de Shapiro). Testes: tests/solar_system_horizons_reference.rs e os testes unitários de cada módulo.

O catálogo#

Dezoito corpos: o Sol, os oito planetas, Plutão, a Lua, Fobos, Deimos, as quatro luas galileanas (Io, Europa, Ganimedes, Calisto) e Titã. Os nomes são comparados sem distinção entre maiúsculas e minúsculas. Para cada um, src/body.rs traz o parâmetro gravitacional GM, os raios médios equatorial e volumétrico, o segundo harmônico zonal J2 e seu raio de referência, quando um é publicado, e o modelo de polo e meridiano primário da União Astronômica Internacional (IAU) (período de rotação sideral, negativo para um rotador retrógrado). Cada valor cita sua fonte no código.

De onde vêm as posições#

Corpos Modelo Rótulo
De Mercúrio a Saturno e a Terra, a partir da Tabela 1 (1800 d.C. a 2050 d.C.) Elementos keplerianos do Jet Propulsion Laboratory (JPL) de Standish e Williams, https://ssd.jpl.nasa.gov/planets/approx_pos.html VALIDATED
Todos os oito planetas a partir das Tabelas 2a/2b (3000 a.C. a 3000 d.C.) os elementos de longo intervalo da mesma página VALIDATED
Urano e Netuno a partir da Tabela 1 como acima MODELLED
Plutão a linha da Tabela 1 de 1992 (1800 d.C. a 2050 d.C. apenas; a página atual a removeu e não declara erro) MODELLED
A Lua as séries lunares de Montenbruck e Gill, separando o baricentro Terra-Lua MODELLED
Fobos, Deimos, as luas galileanas, Titã elementos médios do JPL com o modelo de rotação da IAU MODELLED

table = "auto" (o padrão) usa a Tabela 1 entre 1800 d.C. e 2050 d.C. e as Tabelas 2a/2b fora desse intervalo; table1 e table2 forçam uma delas. Plutão fora da sua tabela é um erro, não uma extrapolação. A época é uma data e hora ISO 8601 em Tempo Universal Coordenado (UTC), convertida por meio do Tempo Terrestre (TT) com os segundos intercalares para o Tempo Dinâmico Baricêntrico (TDB), ou uma data juliana TDB dada diretamente com epoch_jd_tdb.

A referência independente é o JPL Horizons (https://ssd.jpl.nasa.gov/horizons/, Development Ephemeris DE441), com os vetores consultados versionados em tests/fixtures/solar_system/. Uma linha de planeta é VALIDATED quando permanece dentro de duas vezes o erro nominal da própria página de Standish. Medido por cargo test --test solar_system_horizons_reference -- --nocapture:

  • Tabela 1, de Mercúrio a Saturno e o baricentro Terra-Lua, 12 épocas de 1800 a 2049: pior caso de 1,87 vez o erro nominal (a distância de Saturno).
  • Tabelas 2a/2b, todos os oito planetas, 15 épocas de cerca de 1000 a.C. a 2500 d.C.: pior caso de 1,71 vez (a distância de Marte).
  • Urano e Netuno da Tabela 1 excedem os valores da página contra o DE441: 2,04 e 5,16 vezes o erro nominal de longitude. Eles são fixados abaixo de seis vezes e permanecem MODELLED.
  • Plutão: dentro de 39,2 segundos de arco em longitude e 1.14e9 m em distância.
  • Luas, pior ângulo visto do planeta entre 2000 e 2040: Fobos 5,65 graus, Deimos 0,38, Io 0,40, Europa 1,63, Ganimedes 0,22, Calisto 0,27, Titã 3,31. A Lua geocêntrica: 0,046 graus.
  • Velocidades dos planetas: pior erro relativo de 3.72e-3 da velocidade (MODELLED).

A Lua e as sete luas são medidas com limiares fixados, mas não existe limite publicado em relação ao qual validá-las; por isso, são MODELLED.

As efemérides analíticas não precisam de arquivo de kernel. Um kernel de Development Ephemeris do JPL (posições de classe DE) é lido apenas pelos crates separados de validação cruzada em xval/, por meio do mesmo trait EphemerisProvider; o crate principal não depende deles.

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

Entradas: epoch (padrão 2026-01-01T00:00:00) ou epoch_jd_tdb; bodies (padrão todos os dezoito); observer (padrão a Terra); track_points por órbita (8 a 2000, padrão 120); table; e qualquer número de [[links]], cada um recebido na época.

Para cada corpo, o resultado traz sua classe e seu corpo pai, o identificador do NASA Navigation and Ancillary Information Facility (NAIF), a posição e a velocidade heliocêntricas no International Celestial Reference Frame (ICRF, equatorial J2000) em metros e metros por segundo, a longitude, a latitude e a distância eclípticas, a posição relativa ao seu corpo pai, o período orbital, as constantes acima, o polo e o meridiano primário na época, o erro nominal de Standish quando existe, seu rótulo e sua cadeia de método, e uma trilha de órbita ao longo de uma revolução (heliocêntrica para um planeta, centrada no corpo pai para uma lua; um único ponto para o Sol). O enlace a partir do observador, e cada enlace extra, fornece:

  • o tempo de luz newtoniano de ida, resolvido pelo solucionador de ponto fixo de tempo de luz radiométrico, com o transmissor em sua posição retardada, e a distância de ida correspondente;
  • o tempo de luz e a distância de ida e volta;
  • o atraso de Shapiro do Sol, informado separadamente e não somado;
  • o ângulo de separação do Sol.

O tempo de luz é VALIDATED em relação ao tempo de luz de ida que o Horizons informa: Marte e Júpiter até o centro da Terra em quatro épocas de 2000 a 2040, com pior erro de 0,070 s para Marte contra um limiar de 0,207 s e 1,31 s para Júpiter contra 4,04 s. O limiar é o dobro da soma dos erros de distância de Standish do alvo e do baricentro Terra-Lua, dividido pela velocidade da luz: o tempo de luz não pode ser melhor que as posições. É o tempo de luz geométrico newtoniano, não uma observável relativística ou corrigida por plasma.

O scenarios/solar-system-tour.toml incluído relata todos os dezoito corpos em 2026-09-28T00:00:00 com trilhas de 180 pontos e acrescenta os enlaces de Marte a Júpiter (ida 2193,539 s), de Saturno à Terra (4212,176 s) e de Europa a Júpiter (2,218 s).

body-pnt#

Um usuário navega em torno de um corpo escolhido pelo nome (qualquer corpo do catálogo exceto o Sol e a Terra, que o tipo de cenário recusa) com dois tipos de medição:

  • pseudodistâncias de ida de uma constelação de navegação Walker delta em torno do corpo (planes por sats_per_plane, defasagem entre planos phasing_f), em órbitas de dois corpos com a deriva secular de J2 do próprio corpo; o relógio do usuário é desconhecido, de modo que essas linhas trazem uma coluna de viés de relógio;
  • opcionalmente, uma distância de ida e volta a partir do centro da Terra ([earth_link]), que não precisa de relógio do usuário e é informada como uma distância de ida com ruído próprio. A direção e a distância da Terra vêm da efeméride analítica em cada época.

Uma linha de visada é bloqueada quando passa por dentro do raio médio do corpo (o teste de corda do tipo mars-pnt), e um usuário em superfície também precisa da máscara de elevação. Em cada época, a execução forma a diluição da precisão geométrica e de posição (GDOP, PDOP) da constelação sozinha, a incerteza formal de posição de um sigma com e sem a linha da Terra, e uma solução de mínimos quadrados de Gauss-Newton com semente fixa para cada caso, de modo que o relatório mostra o que o enlace de espaço profundo acrescenta.

Tabela Campo Padrão
nível superior body Mars
epoch / epoch_jd_tdb 2027-02-19T00:00:00, uma oposição de Marte
duration_s, step_s 86.400 s, 600 s
seed 1
table auto
[user] kind orbiter (ou surface)
orbitador: altitude_km, inclination_deg, raan_deg, u0_deg, eccentricity 400 km, 75 graus, 0, 0, 0
superfície: lat_deg, lon_deg, height_m 0, 0, 0
[constellation] planes, sats_per_plane, phasing_f 3, 4, 1
altitude_km três raios médios
inclination_deg 60 graus
sigma_range_m 1 m
mask_deg (usuário em superfície) 10 graus
[earth_link] enabled, sigma_range_m verdadeiro, 1 m

raan_deg é a ascensão reta do nó ascendente no referencial equatorial do corpo e u0_deg é o argumento de latitude na época.

Os dois cenários incluídos, como são executados com o kshana 0,36 (matemática portátil, a mesma em todas as plataformas):

scenarios/mars-orbit-pnt.toml scenarios/europa-surface-pnt.toml
Usuário orbitador, 300 km, 93 graus superfície, 20 graus N, 60 graus E
Relés 12 a 10.000 km, 60 graus 12 a 4500 km, 55 graus, máscara de 10 graus
Duração um sol, 296 épocas 306.822 s, 171 épocas
Tempo de luz até a Terra, ida / ida e volta 338,3 s / 676,6 s 2182,9 s / 4365,8 s
Terra em visada 0,811 das épocas 0.439
Disponibilidade, somente relés / com a distância da Terra 1.000 / 1.000 0.480 / 0.713
PDOP mediano 1.375 5.360
Erro RMS da solução, somente relés / com a distância da Terra 1,883 m / 1,629 m 112,742 m / 86,499 m
Sigma formal mediano, somente relés / com a distância da Terra 1,375 m / 1,304 m 5,360 m / 4,239 m

(RMS: raiz do valor quadrático médio.) Uma época de Europa (t = 16.200 s) fica no limite da disponibilidade, onde o último bit de um raio calculado decide se a sua solução com a distância da Terra é obtida. Antes da 0,36, a biblioteca matemática do hospedeiro decidia isso; assim, o mesmo cenário imprimia 0,719 e 86,147 m no Linux x86-64 e 0,725 e 85,800 m no macOS arm64 para os dois valores "com a distância da Terra". Desde a 0,36, toda função transcendente é calculada pela biblioteca matemática portátil, a época se resolve de uma única maneira em todas as plataformas (nativa e WebAssembly dão os mesmos bytes), e os valores são 0,713 e 86,499 m (docs/revisions/STUDIO15-portable-math-rebaseline.md). Em torno de Europa, a distância da Terra eleva a disponibilidade de 0,480 para 0,713 das épocas. Onde a Terra nunca se afasta do limbo, o enlace não acrescenta nada: um módulo de pouso a 89,5 graus S na Lua, sob uma casca de relés de 12 satélites a 5000 km, tem a Terra em visada em 0 de 145 épocas, e seus erros são os mesmos com e sem o enlace.

MODELLED. As órbitas dos relés ignoram terceiros corpos (a atração de Júpiter sobre relés em torno de Europa não é modelada), o ruído é gaussiano nos níveis declarados e o modelo de medição é instantâneo, não retardado pelo tempo de luz. O que é verificado: o período do relé em relação à terceira lei de Kepler para o corpo, um orbitador que mantém o seu raio e um módulo de pouso na superfície, a distância da Terra nunca piorando a incerteza formal, os erros da solução com semente fixa concordando com o sigma formal (raiz do valor quadrático médio do erro sobre o sigma em [0,6, 1,5]) e uma execução determinística. Nada disso são dados de navegação de uma missão.

O tipo ephemeris#

Apesar do nome, ephemeris é um tipo de satélite da Terra: um satélite, a partir de um conjunto de elementos de duas linhas (TLE) pelo propagador Simplified General Perturbations 4 (SGP4) ou a partir de uma órbita analítica, sobre uma grade de tempo. A cada passo, ele emite o estado inercial (posição e velocidade) no referencial true equator, mean equinox (TEME) e no Geocentric Celestial Reference System (GCRS), a posição fixa à Terra, o ponto subsatélite do World Geodetic System 1984 (WGS 84) e, para uma estação em solo opcional, azimute, elevação, distância e taxa de variação da distância. eop_finals2000a recebe o texto de um arquivo finals2000A do International Earth Rotation and Reference Systems Service (IERS) para UT1−UTC e movimento polar por época. Código: 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

Não modelado#

  • Termos relativísticos de tempo de luz além do atraso de Shapiro informado separadamente, e o atraso por plasma solar.
  • Posições melhores que a exatidão de Standish e de elementos médios declarada acima; não há leitor de kernel no crate principal.
  • Perturbações de terceiros corpos nos relés de body-pnt e nas órbitas de constellation-design.
  • Terreno em qualquer corpo: um corpo é a sua esfera média.
  • Exportações de interoperabilidade: CZML, KML e GeoJSON descrevem posições em torno da Terra; portanto, os cenários solar-system e body-pnt não exportam nenhum (INTEROP.md).

Referências#

  • E. M. Standish e 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 e 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/.