Ask Me Anything: SpaceX Software Team | 08 июня 2020 года, 20:47

На Reddit прошла Ask me anything–сессия разработчиков ПО из SpaceX – https://www.reddit.com/r/spacex/comments/gxb7j1/we_are_the_spacex_software_team_ask_us_anything/

— Кодеры SpaceX подтвердили, что на мониторах в драконе крутится GUI на Chromium и Javacript. сначала они этот вариант сделали для презентации НАСА, а потом им самим понравилось

Crew Dragon

— Пока игр на Crew Dragon нет, но в будущем их скорее всего добавят

— Симулятор стыковки не имеет ничего общего с реальным софтом, его начали только как шуточный проект https://iss-sim.spacex.com/

— В “Драконах” не используются детали Tesla (дисплеи совершенно другие)

— Про алгоритмы посадки рассказывать не могут — секрет 🙂

— Управление Драконом создано исходя из принципа минимального взаимодействия с пилотом

SpaceX Starship:

— Наземное ПО для Старшипа основано на вебстеке и GUI Дракона, оно же будет использовано и в интерфейсах самого Старшипа.

“Старлинки” (это спутники для интернета SpaceX)

— Генерируют в районе 5 терабайт телеметрии сутки, миссия Dragon — сотни гигабайт

— Софт Starlink сейчас обновляют примерно раз в неделю. Получается, что ПО на выведенных спутниках новее, чем на тех, что находятся в процессе запуска

— Спутники Starlink это скорее датацентр с серверами, чем космический аппарат

— Каждый запуск 60–ти Starlink’ов — это вывод более 4000 компьютеров с линуксом. На данный момент в группировке на орбите более 30К компьютеров и 6К контроллеров

— Спутники Старлинк настроены переходить в режим высокого аэродинамического сопротивления при долгом отсутствии связи с землей для быстрого схода с орбиты.

Общее

— Много программистов пришли в SpaceX из геймдева, из–за похожей математики и умения решать проблемы с производительностью

Используемые языки программирования:

— основной С/С++, сторонние библиотеки используют по минимуму, предпочитая писать собственные для контроля качества кода, применяют в основном ООП, хотя любят также упрощать код;

вебстек для дисплеев — HTML / CSS / JS + веб–компоненты + собственный фреймворк;

— python для тестирования и автоматизации

— на бортовых компьютерах RTLinux (linux ядро с патчем PREEMPT_RT, превращающим ее в ОС реального времени), на контроллерах голый код;

— GUI в ЦУПе основаны на LabVIEW

— Качество кода обеспечивается модульными тестами и интеграционными тестами в том числе и на летных образцах

— В SpaceX есть мощный инструмент для сопоставления программы полета с симулятором. Можно полностью смоделировать миссию или любые сценарии сбоя даже на оборудовании, разложенном на столе.

— Возможно скоро поделятся скриншотами с дисплеев Дракона

— Система безопасности полета работает не на бортовом компьютере, а исключительно на контроллерах и сама взаимодействует с датчиками. Эта система отвечает за прекращение полета, к примеру когда ракета сходит с курса.

Там еще дофига

https://www.reddit.com/r/spacex/comments/gxb7j1/we_are_the_spacex_software_team_ask_us_anything/

Оставьте комментарий