Продолжая тему ответов команды SpaceX на вопросы подписчиков 6 июня 2020 года, нелишне было бы отметить, что подписчики пытались задавать вопросы об амбициозном проекте Илона Маска -- межпланетном корабле Starship SN4. Сотрудники отвечали уклончиво и вскользь, чаще всего игнорируя прямые вопросы о самом корабле.
Вопросы о Starship
1. Не могли бы вы рассказать о том, как сенсорные экраны Crew Dragon использовали Chromium и какие проблемы это создавало? Какие отказоустойчивые меры были предприняты (когда такой большой базовый код обеспечивает питание) и какие усилия были предприняты для усиления защиты? Был ли это хороший выбор в ретроспективе, и будет ли тот же веб-подход использоваться в Starship в будущем? Каков был процесс пользовательского опыта (UX) при проектировании и тестировании пользователей?
Ответ
Использование Chromium и Javascript в критически важных средах является популярным вопросом. Чтобы я мог четко ответить на этот вопрос, мы должны понимать, что Chromium в этом контексте используется только как движок рендеринга пользовательского интерфейса. Уровень взаимодействия программного обеспечения с дисплеями и отказоустойчивостью четко определен и находится за пределами границ дисплеев. Тем не менее, мы следуем одному и тому же процессу разработки для всего кода транспортного средства независимо от технологического стека. Мы перекрестно обучаем наших разработчиков писать код на C ++ и придерживаться того же подхода к написанию надежного программного обеспечения. Мы очень серьезно относимся к надежности и производительности, и, как и другое программное обеспечение для транспортных средств, мы проводим всесторонние испытания в различных условиях, чтобы понять все виды отказов. У нас есть предупреждения и процедуры для устранения этих сбоев в случае их возникновения. Все это добавило сотни часов симуляций, которые мы используем на оборудовании для обучения экипажа.
Несмотря на то, что на этом пути мы столкнулись со многими проблемами, мы очень довольны нашими дисплеями, и, что важнее всего, нашими 2 клиентами (пока). Наземное программное обеспечение Starship уже использует технический стек дисплеев экипажа, и скоро мы начнем разрабатывать человеческие интерфейсы для Starship. – Софиан
Вы также заметите, что на некоторых изображениях все еще существуют некоторые аппаратные кнопки в капсуле прямо под дисплеями; это также гарантирует, что в случае непригодности дисплеев по какой-либо причине астронавты могут по-прежнему использовать аппаратные кнопки для инициирования критических действий, таких как реагирование на пожар в кабине. – Венди
2. Какой (ие) язык(и) наиболее часто используется при создании различных программ полета для Dragon и F9? Это в основном C++?
Ответ
Мы используем C++ для всех систем управления транспортными средствами, Python для инструментов, тестирования и автоматизации, а также Javascript/HTML/CSS для наших дисплеев. Текущие наземные дисплеи, которые вы видите в системе управления полетами для Falcon и Dragon, основаны на LabVIEW, но наши дисплеи Crew и будущие наземные дисплеи для Starship основаны на веб-стеке. Наши летные системы используют собственное ядро Linux с патчем PREEMPT_RT. – Джефф
3. Была ли уже какая-либо разработка программного обеспечения для Starship/Super heavy?
Ответ
Один из моих фаворитов – это вот этот (он прост, но завораживает): –Мэтт