Я не знаю, будет ли это общедоступным, но какие ЦП / микроконтроллеры используются и какое программное обеспечение они запускают на Falcon 9? Используют ли они ОС или это просто программирование на «голом железе»?
Я нашел несколько летных компьютеров для моделей ракет, которые можно купить, и просто хотел узнать, какой подход к этому применила SpaceX.
В этом AMA команда разработчиков программного обеспечения SpaceX написала:
Мы получаем много вопросов о том, как C#/MVC/и т. д. связаны с ракетами. Они не делают.
О своих разработках они говорили:
Команда Flight Software составляет около 35 человек. Мы пишем весь код для приложений Falcon 9, Grasshopper и Dragon; и выполнять основную работу платформы, в том числе и на этих транспортных средствах; мы также пишем программное обеспечение для моделирования; проверить код полета; написать программное обеспечение для связи и анализа, развернутое на наших наземных станциях. Мы также работаем в Центре управления полетами, чтобы поддерживать активные миссии.
Команда Ground Software составляет около 9 человек. В основном мы программируем в LabVIEW . Мы разрабатываем графические интерфейсы, используемые в управлении полетом и запуском, чтобы инженеры и операторы могли отслеживать телеметрию транспортного средства и управлять ракетой, космическим кораблем и вспомогательным оборудованием. Мы передаем данные с высокой пропускной способностью через сильно распределенную систему и реализуем сложные пользовательские интерфейсы со строгими требованиями, чтобы операторы могли своевременно контролировать и оценивать космический корабль.
Они также сказали:
Dragon и Falcon 9 используют версию Linux .
К сожалению, они ответили на этот вопрос:
К какой вычислительной мощности (ЦП, ОЗУ, памяти и т. д.) у вас есть доступ на борту самих ракет и капсул? Что «умнее», Falcon 9 или Dragon?
с:
100 соколов размером с дракона или 1 дракон обычного размера
Так что я предполагаю, что любая дополнительная информация строго засекречена :)
SpaceX использует систему «актор-судья», чтобы обеспечить тройное резервирование своих ракет и космических кораблей. Falcon 9 имеет 3 двухъядерных процессора x86, на каждом ядре которых работает экземпляр Linux. Программное обеспечение для полета написано на C/C++ и работает в среде x86. Для каждого расчета/решения «строка полетов» сравнивает результаты обоих ядер. Если есть несоответствие, строка неверна и не отправляет никаких команд. Если оба ядра возвращают один и тот же ответ, строка отправляет команду различным микроконтроллерам на ракете, которые управляют такими вещами, как двигатели и решетчатые стабилизаторы.
Микроконтроллеры, работающие на процессорах PowerPC, получали три команды от трех строк полета. Они действуют как судьи, чтобы выбрать правильный курс действий. Если все три строки согласуются, микроконтроллер выполняет команду, но если 1 из 3 неверна, она будет работать со строками, которые ранее были правильными. Falcon 9 может успешно выполнить свою миссию за один полет.
Тройное резервирование обеспечивает радиационную устойчивость системы без необходимости использования дорогих радиационно-стойких компонентов. SpaceX тестирует все программное обеспечение для полетов на так называемой настольной ракете. Они раскладывают все компьютеры и полетные контроллеры Falcon 9 на столе и соединяют их, как на настоящей ракете. Затем они запускают полный смоделированный полет компонентов, отслеживая производительность и возможные сбои.
Инженеры SpaceX выполняют то, что они называют «обрезанием струн», когда они случайным образом отключают бортовой компьютер во время моделирования, чтобы посмотреть, как он отреагирует.
Dragon использует аналогичную систему с тройным резервированием для своих бортовых компьютеров.
Бонус: панели управления Dragon V2 представляют собой модифицированные 17-дюймовые сенсорные экраны Tesla Model S и включают те же SoC Nvidia Tegra. Они не являются частью аппаратного обеспечения полета и используются только для отображения графического интерфейса. После разговора с командой Dragon на GDC2016 выяснилось, Аппаратное обеспечение Tesla не используется.Они используют интересное программное обеспечение на Dragon 2. Они используют Chromium и JavaScript для интерфейса полета Dragon 2. Фактические бортовые компьютеры все еще работают на C++.
Источник: обсуждение с различными инженерами SpaceX на GDC 2015/2016.
Обновление: спустя четыре года инженеры-программисты SpaceX подтвердили, что дисплеи Crew Dragon на базе Chromium и JS находятся на орбите во время Reddit AMA.
Ведант Чандра
пользователь
Джерард Пакетт