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

Primeiros passosEditar no GitHubFonte: docs/examples/multi-tool-pipeline.md

Exemplo prático — o Kshana como camada de integração para análise de missão com várias ferramentas

Este exemplo percorre uma trajetória pelos tipos de cenário de interoperabilidade baseada em padrões e de análise de missão, de ponta a ponta, mostrando como o Kshana se situa entre as ferramentas de alta fidelidade que um programa já usa, em vez de concorrer com elas: GMAT (General Mission Analysis Tool), Orekit e STK (Systems Tool Kit) para projeto de trajetória, e Basilisk ou 42 para simulação do sistema de controle de atitude e órbita (AOCS). Cada etapa é um tipo de cenário executável, e cada resultado traz um label que declara seu escopo e seu nível de evidência.

Nota de honestidade: este é um pipeline geométrico/analítico no nível pré-Fase A / estudo de compromisso (antes da primeira fase formal de projeto de uma missão). Não é uma certificação de dinâmica de voo; veja o campo label de cada tipo de cenário.

Outras abreviações usadas abaixo: FDS (sistema de dinâmica de voo), CCSDS (Consultative Committee for Space Data Systems), OEM (Orbit Ephemeris Message), SGP4 (Simplified General Perturbations 4, o propagador de elementos de duas linhas), TOML (o formato do arquivo de cenário) e CLI (interface de linha de comando).

O pipeline#

external FDS (GMAT/Orekit/STK)            Kshana open core
        │  CCSDS OEM ephemeris                 │
        ▼                                      ▼
  [oem-interop]  ──ingest──▶  [passes]  ──▶  [link-budget]   (when does the
   import the orbit the        when is it      does the         contact close?)
   designer produced           visible?        downlink close?
                                  │
                                  ▼
                            [space-weather]   (how fast does drag
                             activity-driven    decay the orbit?)
                             density

As etapas são execuções separadas: cada uma toma suas entradas de seu próprio arquivo de cenário, de modo que você leva um número de uma para a seguinte (uma distância oblíqua de passes para link-budget, por exemplo) editando o arquivo seguinte. O tipo de cenário campaign pode reunir vários tipos de cenário em uma única execução sob condições compartilhadas; veja CAMPAIGNS.md.

Cada comando abaixo é executado a partir da raiz do repositório, e o resumo sob ele é a primeira linha que o kshana 0.40.0 imprime para o cenário distribuído.

1. Ingerir a trajetória produzida por um projetista (oem-interop)#

GMAT, Orekit e STK exportam todos Orbit Ephemeris Messages do CCSDS. O Kshana os importa (o outro sentido da ponte), de modo que uma análise do Kshana pode partir da órbita exata que o projetista da trajetória aprovou, e não de uma aproximação rederivada:

kshana scenarios/oem-interop.toml          # round-trips a reference orbit (self-test)
# or, to ingest a real file, set oem_text in the scenario to the external OEM
oem-interop: round-tripped 2 segment(s), 12 states; max round-trip error 4.88e-7 km / 4.61e-10 km/s (MODELLED interop)

Ele informa os segmentos, objetos, referenciais e o intervalo de épocas, além de uma verificação de consistência de velocidade, mostrando que as efemérides foram ingeridas fielmente (erro de ida e volta abaixo de 1×10⁻⁶ km). Dado um arquivo externo em oem_text, ele informa o que interpretou: alimentado com o OEM que kshana scenarios/orbit-sgp4-gps.toml --export-oem gps.oem grava, imprime oem-interop: ingested 30 segment(s), 10830 states from external OEM (originator KSHANA) (MODELLED interop). O label é explícito ao dizer que esta é uma verificação estrutural e física da ingestão, não uma validação da exatidão orbital da fonte.

2. Quando ele é visível de uma estação terrena? (passes)#

kshana scenarios/passes.toml
passes: 5 pass(es) of a 550 km / 97.6° orbit over (52.2°, 4.4°) > 10° in 24 h; 1659 s total access (MODELLED)

Prevê as passagens de nascer/ocaso sobre uma estação acima de uma máscara de elevação: aquisição de sinal (AOS), instante de maior aproximação (TCA), perda de sinal (LOS), elevação máxima e duração, além do tempo total de acesso. Essa é a consulta de planejamento do segmento terrestre. A órbita é um conjunto de elementos SGP4 levado ao referencial fixo à Terra pela cadeia IAU 2006/2000A, e as elevações são aparentes: refração ITU-R P.834-9 e o tempo de luz do enlace de descida, cada um com chave própria (refraction, light_time).

Para uma passagem, coloque a distância oblíqua e os valores do terminal na equação de enlace CCSDS 401 / DSN 810-005 (Deep Space Network da NASA):

kshana scenarios/link-budget.toml
link-budget: x-band, 2000 km, 1000000 bit/s -> FSPL 177.0 dB, Eb/N0 96.6 dB, margin 92.1 dB (closes)

Informa a perda de percurso no espaço livre (FSPL), a densidade de portadora sobre ruído (C/N₀), a energia por bit sobre a densidade de ruído (Eb/N₀), a margem e se o enlace se fecha em relação a um Eb/N₀ exigido: a verificação de viabilidade de comunicações que transforma “ele é visível” em “podemos de fato baixar os dados”. Os números decorrem diretamente das entradas do arquivo (aqui uma EIRP de 55 dBW, potência isotrópica radiada efetiva, para um G/T de recepção de 53 dB/K, razão ganho sobre temperatura de ruído); coloque os valores do seu próprio terminal antes de ler a margem. É um cálculo determinístico, não uma folha de dados de terminal calibrada.

4. Com que rapidez o ambiente a faz decair? (space-weather)#

kshana scenarios/space-weather.toml
space-weather: F10.7=180 F10.7a=165 Kp=4.0 (ap=27) -> T_inf=1047 K; density x1.49 at 300 km (MODELLED)

Conduz a densidade neutra termosférica a partir da atividade solar (F10.7, o fluxo de rádio de 10,7 cm, e sua média de 81 dias F10.7a) e geomagnética (índices Kp e ap) por meio da temperatura exosférica de Jacchia-71. Isso captura a oscilação de densidade de ~5–10× do ciclo solar que uma atmosfera estática omite, de modo que uma estimativa de tempo de vida orbital ou de arrasto reflete o regime de clima espacial em vez de uma atmosfera fixa. Desde a 0,30, a densidade é a densidade termosférica de Jacchia 1971, caracterizada em relação ao NRLMSISE-00 (Naval Research Laboratory, espectrômetro de massa e espalhamento incoerente), mas não é uma atmosfera NRLMSISE-00 validada com dados.

5. Devolver o resultado (exportações)#

A mesma CLI grava arquivos padrão para a ferramenta seguinte. Em um cenário orbit, --export-oem <file> grava uma efeméride CCSDS OEM 2,0 com velocidade (o arquivo que GMAT, Orekit e STK leem), --export-sp3 <file> uma efeméride precisa SP3 (Standard Product 3) e --export-omm <file> um catálogo CCSDS Orbit Mean-Elements Message. --export <czml|kml|geojson|stk|sigmf|all|list> cobre os visualizadores: CZML (Cesium Language), KML (Keyhole Markup Language, para o Google Earth), GeoJSON, arquivos de efemérides do STK (.e, um por satélite mais o usuário) e gravações SigMF (Signal Metadata Format) do tipo de cenário spectrum. --export list informa quais se aplicam a um cenário. Para a Lua, o tipo de cenário lunar-interop-export emite o referencial lunar, a escala de tempo e as efemérides como um CCSDS OEM com uma verificação de aderência à norma. Veja INTEROP.md.

Por que isto é a camada de integração, e não um concorrente#

Cada etapa é um cenário pequeno, auditável e reproduzível, com um rótulo de escopo explícito. As ferramentas de alta fidelidade são donas da otimização de trajetória, do AOCS de seis graus de liberdade (6-DoF) e da entrada, descida e pouso aerotérmicos (EDL); o Kshana é dono do tecido conectivo aberto, citável e executável: ingerir os formatos padrão, responder às perguntas transversais de geometria e viabilidade e repassar o resultado, em um nível que qualquer parceiro pode executar sem licença. Veja também os tipos de cenário complementares de análise de missão launch-window, reentry, eo-coverage, space-packet e attitude-budget.