Машинный перевод, не проверенный носителем языка. Эталоном служит английская версия.

Начало работыПравить на GitHubИсточник: docs/examples/multi-tool-pipeline.md

Рабочий пример: Kshana как связующий слой для анализа миссии из нескольких инструментов

Здесь одна траектория проходит от начала до конца через сценарии стандартного взаимодействия и анализа миссии; видно, как Kshana располагается между высокоточными инструментами, которыми программа уже пользуется, а не конкурирует с ними: GMAT (General Mission Analysis Tool), Orekit и STK (Systems Tool Kit) для проектирования траектории, Basilisk или 42 для моделирования системы управления ориентацией и орбитой (AOCS). Каждый шаг — это запускаемый вид сценария, и каждый результат несёт label с указанием своей области применения и уровня доказательств.

Честное замечание: это конвейер геометрического и аналитического уровня, соответствующий стадии до фазы A и сравнительным исследованиям (до первой формальной фазы проектирования миссии). Это не сертификация динамики полёта; см. поле label каждого вида.

Прочие сокращения, используемые ниже: FDS (система динамики полёта), CCSDS (Консультативный комитет по космическим системам передачи данных), OEM (Orbit Ephemeris Message, сообщение с эфемеридами орбиты), SGP4 (Simplified General Perturbations 4, распространитель по двухстрочным элементам орбиты), TOML (формат файла сценария) и CLI (интерфейс командной строки).

Конвейер#

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

Шаги — это отдельные прогоны: каждый берёт входные данные из собственного файла сценария, поэтому число переносится от одного шага к следующему правкой следующего файла (например, наклонная дальность из passes в link-budget). Вид campaign может объединять несколько видов в одном прогоне при общих условиях; см. CAMPAIGNS.md.

Каждая команда ниже запускается из корня репозитория, а сводка под ней — это первая строка, которую kshana 0.40.0 выводит для поставляемого сценария.

1. Загрузка траектории, созданной проектировщиком (oem-interop)#

GMAT, Orekit и STK умеют экспортировать сообщения CCSDS Orbit Ephemeris Message. Kshana их импортирует (обратное направление моста), поэтому анализ в Kshana может начинаться с той самой орбиты, которую утвердил проектировщик траектории, а не с заново выведенного приближения:

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)

Она сообщает сегменты, объекты, системы отсчёта и интервал эпох, а также проверку согласованности скоростей, показывающую, что эфемериды загружены верно (ошибка кругового преобразования ниже 1×10⁻⁶ км). Если вместо этого дан внешний файл в oem_text, она сообщает, что разобрала: для OEM, который записывает kshana scenarios/orbit-sgp4-gps.toml --export-oem gps.oem, она выводит oem-interop: ingested 30 segment(s), 10830 states from external OEM (originator KSHANA) (MODELLED interop). label прямо указывает, что это структурная и физическая проверка загрузки, а не проверка точности орбиты источника.

2. Когда спутник виден с наземной станции? (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)

Предсказывает проходы (восход и заход) над станцией выше маски возвышения: приём сигнала (AOS), момент наибольшего сближения (TCA), потеря сигнала (LOS), максимальное возвышение и длительность, а также суммарное время доступа. Это запрос на планирование наземного сегмента. Орбита задана набором элементов SGP4, приведённым к связанной с Землёй системе по цепочке IAU 2006/2000A, а возвышения кажущиеся: рефракция по ITU-R P.834-9 и время распространения света на нисходящей линии, каждое из которых можно включать и отключать (refraction, light_time).

Для прохода подставьте наклонную дальность и параметры терминала в уравнение линии связи CCSDS 401 / DSN 810-005 (Сеть дальней космической связи 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)

Сообщает потери в свободном пространстве (FSPL), отношение несущей к спектральной плотности шума (C/N₀), энергию на бит к спектральной плотности шума (Eb/N₀), запас и то, замыкается ли линия относительно требуемого Eb/N₀: это проверка осуществимости связи, превращающая «спутник виден» в «мы действительно можем скачать данные». Числа прямо следуют из входных данных файла (здесь ЭИИМ (эквивалентная изотропно излучаемая мощность) 55 дБВт при добротности приёма G/T (отношение коэффициента усиления к шумовой температуре) 53 дБ/К); перед тем как читать запас, подставьте параметры своего терминала. Это детерминированный расчёт, а не откалиброванный паспорт терминала.

4. Как быстро среда её затормаживает? (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)

Определяет плотность нейтральной термосферы по солнечной (F10.7 — радиоизлучение на 10,7 см — и его 81-суточное среднее F10.7a) и геомагнитной (индексы Kp и ap) активности через экзосферную температуру Jacchia-71. Это передаёт колебание плотности в ~5–10 раз за солнечный цикл, которое статическая атмосфера опускает, так что оценка времени жизни орбиты или торможения отражает режим космической погоды, а не фиксированную атмосферу. Начиная с 0,30 плотность — это плотность термосферы Jacchia 1971, охарактеризованная относительно NRLMSISE-00 (Naval Research Laboratory, масс-спектрометр и некогерентное рассеяние), но не является атмосферой NRLMSISE-00, проверенной по данным.

5. Передача результата дальше (экспорт)#

Тот же CLI записывает стандартные файлы для следующего инструмента. Для сценария orbit параметр --export-oem <file> записывает эфемериды CCSDS OEM 2,0 со скоростью (файл, который читают GMAT, Orekit и STK), --export-sp3 <file> — точные эфемериды SP3 (Standard Product 3), а --export-omm <file> — каталог сообщений CCSDS Orbit Mean-Elements Message. --export <czml|kml|geojson|stk|sigmf|all|list> охватывает средства просмотра: CZML (Cesium Language), KML (Keyhole Markup Language, для Google Earth), GeoJSON, файлы эфемерид STK (.e, по одному на спутник плюс пользователь) и записи SigMF (Signal Metadata Format) от вида spectrum. --export list показывает, что применимо к сценарию. Для Луны вид lunar-interop-export выдаёт лунную систему отсчёта, шкалу времени и эфемериды в виде CCSDS OEM с проверкой соответствия. См. INTEROP.md.

Почему это связующий слой, а не конкурент#

Каждый шаг — это небольшой, поддающийся аудиту, воспроизводимый сценарий с явной пометкой области применения. Высокоточные инструменты отвечают за оптимизацию траекторий, шестистепенное (6-DoF) моделирование AOCS и аэротермику входа, спуска и посадки (EDL); Kshana отвечает за открытую, цитируемую, запускаемую соединительную ткань: загрузку стандартных форматов, ответы на сквозные вопросы геометрии и осуществимости и передачу результата дальше на уровне, который любой партнёр может запустить без лицензии. См. также сопутствующие виды анализа миссии launch-window, reentry, eo-coverage, space-packet и attitude-budget.