Антон, у тебя необычная должность — программист-баллистик. Расскажи, пожалуйста, поподробнее, чем занимаются программисты-баллистики? Над какими проектами ты сейчас работаешь?
Честно говоря, я не знаю больше людей, у которых должность называется именно так :) В основном, я сейчас занимаюсь программированием бортового ПО для нашего следующего спутника. Помимо этого, иногда решаю баллистические задачи, когда они появляются, но только, так скажем, малой и средней сложности, потому что основная моя задача — это программирование.
Ты работаешь в частной космической компании Dauria Aerospace. Как ты туда попал? Как в Dauria Aerospace все устроено? Как организована твоя работа?
Не поверите, я отправил резюме и прошёл собеседование! К тому моменту я уже знал из компании пару человек по проекту лунного спутника, в котором я занимаюсь как раз баллистикой. Там моей задачей было рассчитать стабильную низкую орбиту у Луны.
По сравнению с другими предприятиями космической отрасли у нас довольно молодая команда. Костяк команды был сформирован 6-7 лет назад из специалистов отрасли. Что касается моей работы, то задачи, конечно, ставятся весьма чётко, но есть большой простор для проявления инициативы и расширения области ответственности, что мне тут очень нравится. Компания всё ещё небольшая, и этим выгодно отличается от закостенелых предприятий нашей космической отрасли.
Какие технологии использует Dauria Aerospace? Какой стек? Какие особые инструменты используете?
О, тут технологий и инструментов на порядок больше, чем в IT, откуда я родом. На спутнике надо рассчитать конструкцию, электрическую схему, прочность, магнетизм, температурные взаимодействия, баллистику, радио, оптику. Для всего этого, понятное дело, свои инструменты. Что касается чисто программирования бортового ПО, мы ограничиваемся C + C POSIX library + gcc. Для баллистики я в основном использую Python, иногда в сочетании со скриптовым языком NASA-вского пакета GMAT.
Бывают ли в космонавтике баги «в продакшене»? Если нет, то как добиваетесь такого качества? Если бывают, то что потом происходит?
Везде бывают баги в продакшене :( Один из известных примеров — первый пуск европейской ракеты Ariane 5. Она использовала часть системы управления с предыдущей ракеты Ariane 4. В одном месте переменная, отвечающая за горизонтальное ускорение, переводилась из double (64 bit) в short int (16 bit). На Ariane 4 горизонтальное ускорение укладывалось в рамки обоих типов, поэтому там не было проверок диапазона при приведении типов.
Надо сказать, что это была не забывчивость или безалаберность разработчиков, а оптимизация эффективности кода, которому в космической технике приходится работать на гораздо более медленном железе. Но Ariane 5 была спроектирована иначе, ускорение у неё было больше, и на 39-й секунде полёта оно уже не уложилось в 16 целочисленных бит. Возникло исключение, которое не было адекватно обработано, ракета стала резко менять ориентацию и была уничтожена аэродинамическими силами. По каким-то причинам испытания этой части системы управления не проводились в сочетании с остальными системами, иначе ошибка была бы выявлена заранее.
Ещё одним, наверное, более знаменитым примером стал недавний пуск с Восточного. В заголовках пестрело «перепутали космодромы», но на самом деле, если я правильно понял, в коде системы управления просто не было проверки того, в какую сторону крутиться (вместо поворота на 2 градуса стал выполняться поворот на 362). На других космодромах это вращение работало как надо, а перед пуском с Восточного, опять-таки, не провели комплексные испытания всех систем вместе, проверяли только отдельные системы или отдельные связки.
Кроме того, два года назад японцы потеряли крутой орбитальный телескоп из-за программной ошибки, и, конечно, этот список можно продолжать. Это не совсем программирование, но нельзя не упомянуть потерю американского марсианского спутника Mars Climate Orbiter из-за того, что Lockheed Martin передавала данные для управления им в футах и дюймах, тогда как NASA давно использовало метрическую систему.
Одним словом, в подавляющем большинстве случаев проблемы возникают именно на стыке разных областей ответственности. А в рамках одной системы интенсивные испытания позволяют избежать ошибок.
Если не секрет, то какие зарплаты у программистов в космической сфере?
Разные. В среднем по больнице, наверное, поменьше чем в IT, и фриланса тут особо нет.
Какая работа для программистов есть в космонавтике? Какие вообще специалисты сейчас нужны космической отрасли?
Если речь про Россию, помимо нашей компании, сейчас у нас делают новый пилотируемый корабль, новые ракеты (Ангара и Союз 5), новые спутники, лунные посадочные станции, марсианскую посадочную платформу для ЭкзоМарса. Для всех этих систем нужно и бортовое ПО и наземное, так что в целом есть, что попрограммировать. Кроме того, есть нужда в тестировщиках, знакомых со спецификой космического ПО, потому что зачастую испытаниями занимаются те же команды, которые и пишут код.
Вы сконструировали, собрали и запустили на орбиту три частных спутника. Ты принимал участие в их разработке? Расскажи поподробнее про это?
Нет, я в Даурии всего полгода, но активно перенимаю опыт, накопленный компанией в этих проектах. К сожалению, последние два аппарата не удалось испытать в полёте из-за нештатной ситуации при выведении его на орбиту. Тем не менее, во время разработки и создания аппарата, разумеется, проделали большую работу, результаты и опыт из которой можно использовать и дальше.
Со стороны кажется, что российской частной космонавтике довольно сложно развиваться. Это так? На твой взгляд, что мешает развитию частной космонавтики в России? Будет ли у нас свой SpaceX?
Бывает сложно, да. Тут я лучше просто дам вам прочитать статью «Роскосмос» против частников: куда улетели 300 миллионов», из неё в целом всё ясно. Основная проблема в том, что почти любая частная космическая компания воспринимается конкурентом Роскосмосу, у которого уже и без неё есть все необходимые компетенции.
Что касается SpaceX: в этом США наоборот сделали ставку на частников, подстегнув таким образом рынок и дав ему развиваться. Первые шаги и первые значительные инвестиции в SpaceX делали всё равно частные лица, и когда они на свои деньги показали NASA, что могут, им дали контракт.
Что ждать от частных космических компаний в ближайшем будущем? Какие проекты вы планируете запустить?
На этот год мы планируем запуск нашего спутника Аурига, он будет фотографировать Землю в разрешении до 2,8 метра на пиксель. Это очень хороший показатель для таких размеров и массы: спутник примерно с микроволновку. Это будет демонстрационная миссия, после которой можно будет создавать уже целую группировку таких аппаратов. Кроме того, у нас активно ведётся работа по проекту геостационарной платформы Атом.
Если про другие компании, то в России есть пара-тройка стартапов с целью построить лёгкую ракету для международного рынка. Пока они на относительно ранних стадиях, но, надеюсь, будут развиваться.
На западе же частная космонавтика на огромном подъёме. Помимо нескольких ракетных стартапов со значительными успехами, есть множество исключительно спутникостроительных компаний, включая Planet, которая недавно объявила о том, что фотографирует всю поверхность суши каждый день. Есть OneWeb и SpaceX, которые на пару хотят запустить 15000 спутников орбитального интернета, и многие другие.
Ты один из популяризаторов космонавтики в России. Как и почему ты начал этим заниматься?
Потому что я люблю космос и люблю про него рассказывать, тут всё довольно просто. Я занялся баллистикой лунного спутника, потом сделал лекцию про баллистику, потом ещё несколько лекций. В конце 2015-го года стал вести трансляции пусков ракет Falcon 9. Как раз моя первая трансляция пришлась на первую в истории успешную посадку ступени. Было много людей, которых вдохновляли успехи SpaceX, а английский из них знают далеко не все, так что эти трансляции я веду до сих пор. А летом 2017 начал познавательный канал «Море Ясности» на ютюбе, это сейчас мой основной популяризаторский проект. К сожалению, на него удаётся выделять не так много времени, как хотелось бы, но есть большие планы.
Расскажи, пожалуйста, поподробнее про свои проекты? Чувствуешь ли ты, что интерес к этой теме растет?
Помимо работы в Даурии я делаю уже упомянутый канал на ютюбе, веду уже упомянутые русскоязычные трансляции запусков SpaceX, периодически читаю лекции, заведую баллистикой в проекте лунного спутника, о котором тоже уже говорил. Кстати, сейчас мы как раз завершаем очередную итерацию аванпроекта. Ещё пара проектов пока только в планах или на стадии оценки идеи.
Возможно, аудитории Хабра будет интересен ещё один мой проект — точная модель/симулятор Солнечной системы на JS. В нём скоро станут доступны все когда-либо запущенные аппараты (больше 40000), можно будет всё это просматривать, создавать свои траектории, играться с ними, и ещё очень много планов. Проект делается исключительно на волонтёрских началах, и сейчас всё ещё даже не дошёл до стадии альфа-версии, но доступен по адресу urbain.ru. Если кому-то интересно помочь, тут можно изучить список планов, а мне можно написать в телеграм.
Что касается интереса общества к теме космоса, мне его оценивать довольно сложно, потому что моя жизнь вся состоит только из него. Радует, что космические проекты на краудфандинге собирают нормальные суммы (последний на данный момент проект завершается 29 марта).
На днях ехал в космическом вагоне в московской подземке, а через месяц должен открыться знаменитый павильон Космос на ВДНХ. В Петербурге открылся новый большой планетарий, в регионах тоже потихоньку развивают продвижение космоса в массы, это радует.
13 апреля в Екатеринбурге Антон выступит на конференции DUMP в секции Science. Антон расскажет, какие спутники будут запускаться в ближайшем будущем, кто будет их производить и какие ракеты и технологии разрабатываются для их запуска на орбиту.
Спасибо нашим партнёрам, которые делают конференцию возможной: генеральному партнёру — компании Сбербанк-Технологии, партнёрам конференции: СКБ Контур, Naumen, Tinkoff.ru, ProSoft Sistems, Очень Интересно, Skb_Lab.
Комментарии (8)
potan
27.03.2018 19:36Бортовой компьютер космического корабля — очень ответственная система. Используются ли какие-либо методы формальной верификации, что бы доказать что все будет работать правильно?
shulyndina Автор
28.03.2018 15:56Передаю слова Антона, т.к. у него нет аккаунта на Хабре: «Помимо интенсивных испытаний штатного и нештатного функционирования всех возможных модулей и код-ревью, мы используем статический анализ кода и внедряем динамический».
potan
28.03.2018 16:33А какие инструменты для этого используются? Верификация — интересная, но мало освещенная тема.
malishich
28.03.2018 09:19Интересно было бы более подробное рассмотрение подходов и методов работы со стеком разработки для борта, даже coding guidelines было бы не плохо посмотреть.
shulyndina Автор
28.03.2018 15:57Антон ответил, что это предмет отдельной статьи пока написание таких материалов не в приоритете :)
kaplson
28.03.2018 11:13С радостью бы пришел на конференцию в Екатеринбурге, но цена билета — 5500 ^^
Forget
Какое-то сильно уж скупое описание стека разработки для борта… Не секрет под какой операционкой все вертится? Какой процессор?
shulyndina Автор
Передаю слова Антона, т.к. у него нет аккаунта на Хабре: «В компании разработана своя ОС реального времени, но с последними аппаратами мы перешли на Linux с патчем реального времени (для небольших спутников ДЗЗ вполне хватает)».