Новые подробности о программной части Starlink от инженеров компании 🛰

Новые подробности о программной части Starlink от инженеров компании 🛰

t.me/spacex_rus

Инженеры SpaceX приняли участие в сессии вопросов/ответов на портале Reddit "Спроси меня о чём угодно" (AMA). Любители космоса имели возможность задать технические вопросы, связанные со спутниками, программным обеспечением и сетью SpaceX команде разработчиков ПО, и вот что интересного мы узнали.

— Чем отличается рабочая среда SpaceX от других мест, где вы работали? Что бы вы сделали, чтобы поощрить молодых девушек/женщин, интересующихся программированием и/или космосом?

— Мне нравится среда SpaceX, потому что мы можем работать над самыми сложными проблемами и изменять мир. Когда путешествие становится сложным, это означает, что вы попали в нужное место и можете расти. Никогда не поздно научиться программной инженерии. Это прежде всего логика, критическое мышление, а также творчество. Если вам это нравится, вы можете стать программистом, — написала в ответ инженер SpaceX Кристин Хуанг (Kristine Huang), руководитель отдела программного обеспечения для Starlink.

— Как сделать производство оборудования Starlink более масштабируемым?

 — Для того масштаба производства, которого мы хотим достичь с помощью Starlink, мы строили с нуля большую часть того, что мы здесь делаем, превращаясь в новую фабрику с новыми программными системами, которые были разработаны с учётом запланированного масштаба проекта Starlink. Производство Starlink находится в Редмонде, штат Вашингтон, и у компании есть планы по открытию нового предприятия в Остине, штат Техас. Команда разработчиков программного обеспечения находится на заводе вместе со всеми остальными людьми, кто работает над этой проблемой. Для завода, производящего конечный продукт с желаемой целевой скоростью, нам нужна высокоинтегрированная производственная система, в которой автоматизация, роботы, люди и программное обеспечение работают вместе. Руководящий принцип, как правило, состоит в том, что мы продолжаем искать пути упрощения того, что мы делаем.

— Какую работу проводят инженеры, чтобы превратить Starlink в сеть, способную обслуживать клиентов "в движении"?

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

Мы должны учитывать, сколько пользователей нуждаются в сервисе, чтобы понять пропускную способность сети, радиопомехи от других спутников (включая собственные) и ограничения поля действия спутников.

Движение обычно не усложняет систему. Это действительно создаёт некоторые интересные проблемы, когда, например, речь идёт о спутниках, которые не имеют прямого контакта с землёй на некоторых участках своей орбиты. Это означает, что наша телеметрическая система должна быть устойчивой к вышедшей из строя и/или поздно поступающей телеметрии. 

Движущиеся цели требуют от нас быстрого и непрерывного решения проблемы определения ориентации. Они также изменяют количество пользователей, находящихся в определённом месте одновременно, что влияет на то, какая пропускная способность сети требуется в тот или иной момент времени.

— Переход между спутниками Starlink настолько плавный, что он едва заметен. Как вам удалось это сделать?

 — Система построена таким образом, чтобы быть сверхдинамичной, поскольку наши спутники движутся быстро (> 7 км/с), пользователь не подключается к одному и тому же спутнику более чем на несколько минут, — говорит инженер SpaceX Жанетт Миранда (Jeanette Miranda), разрабатывающая ПО для лазерной связи между спутниками. 

Каждый пользовательский терминал может одновременно связываться только с одним спутником, поэтому наши пользовательские каналы спутниковой связи используют электрически управляемую систему для мгновенного переключения целей со спутника на спутник, и мы временно буферизуем трафик в ожидании этого перехода. В наших каналах связи между спутником и наземной станцией используется антенна с механическим управлением, поэтому мы должны учитывать время движения и следить за тем, чтобы мы не отпускали одно соединение до тех пор, пока не установим следующее. Чтобы это понять можно представить, как наши спутники проходят через свои наземные станции по земле, когда они пролетают над ними.

— Как управлять такой спутниковой группировкой?

— Чтобы управлять большой спутниковой группировкой, не прибегая к сотням операторов, мы полагаемся на автоматизацию программного обеспечения, работающую на земле и на спутниках. Чтобы полностью протестировать наши системы мы должны интегрировать сотни различных программных сервисов в среду разработки. Инженеры из команды Starlink создали имитацию наземных станций с фиксированной антенной, чтобы протестировать некоторые аспекты сети. Мы можем запустить тест, в котором мы имитируем прохождение спутника над такой станцией, но мы должны изменить программное обеспечение, чтобы оно считало, что всегда находится в контакте с нашей наземной антенной, — написала инженер SpaceX, Натали Моррис (Natalie Morris), возглавляющая тестирование программного обеспечения для спутников Starlink.

— Расскажите о программной среде корабля Dragon 2?

— Основной код для Dragon 2 написан на C++. При каждом полёте на Земле остается программно-аппаратная копия корабля, для обнаружения и устранения неисправностей. Данные телеметрии накапливаются кораблём для дальнейшей обработки после посадки. Экипаж корабля и ЦУП могут отменять решения компьютеров. Разные системы корабля работают изолированно друг от друга.

Код испытывается на специальной платформе тестирования и контроля, там используется Python и C / C ++. Python предназначен для выполнения бэкэнд-тестов. Все веб-серверы основаны на Python. 


Источник: tesmanian.com/blogs/tesmanian-blog/spacex-ama

Подробнее о ПО: telegra.ph/software-05-18

Полная сессия Reddit AMA (на английском): reddit.com/r/spacex/comments/ncj4vz/we_are_the_spacex_software_team_ask_us_anything

Report Page