Интервью с разработчиком марсианского вертолёта
– Что вы можете рассказать об оборудовании Ingenuity?
Так как Ingenuity классифицируется как технологическая демонстрация, JPL готова идти на больший риск. Основные проекты, такие как роверы и АМС – это так называемые миссии класса B, в которых многие люди работают над аппаратным и программным обеспечением на протяжении многих лет. С помощью технологической демонстрации, JPL готова протестировать новые решения. Поэтому мы могли использовать много готового потребительского оборудования.
Есть некоторые компоненты авионики, которые очень прочны и устойчивы к радиации, но большая часть технологий – коммерческого класса. Процессорная плата, которую мы использовали – это Snapdragon 801, которая производится компанией Qualcomm. По сути, это процессор класса сотовых телефонов, а плата очень маленькая. По иронии судьбы, так как это относительно современная технология, она намного мощнее, чем процессоры, которые стоят на Perseverance. На самом деле у нас на пару порядков больше вычислительной мощности, чем у марсохода. Наши контуры наведения работают на частоте 500 Гц для поддержания контроля атмосферы, в которой мы летаем. И вдобавок ко всему, мы захватываем изображения, анализируем возможности и отслеживаем их от кадра к кадру на частоте 30 Гц, так что для этого нужна довольно серьёзная вычислительная мощность. И ничего из того, с чем сейчас работает
НАСА , не обладает достаточной мощностью. В некоторых случаях мы буквально заказывали детали у SparkFun [Electronics]. Наша философия заключалась в том, что это коммерческое оборудование, но мы его протестируем, и если оно будет работать хорошо, мы его используем.
– Можете ли вы описать, какие сенсоры Ingenuity используют для навигации?
Мы используем IMU сотового телефона, лазерный высотомер (от SparkFun) и VGA камеру для отслеживания монокулярных особенностей. Несколько десятков функций сравнивают кадр с кадром для отслеживания относительного положения, чтобы определить направление и скорость движения вертолёта. Все это делается путём оценки положения, в отличие от запоминания функций или создания карты.
У нас также есть инклинометр, с помощью которого мы устанавливаем наклон земли непосредственно во время взлёта, а также 13-мегапиксельная цветная камера от телефона, которая не используется для навигации, но с её помощью мы попробуем сделать несколько красивых снимков во время полёта. Она называется RTE, потому что всё должно иметь аббревиатуру. Была идея поместить обнаружение опасностей в систему на ранней стадии, но у нас не было времени.
– Насколько вертолёт автономен?
В каком-то смысле о вертолёте можно думать как о традиционном космическом корабле JPL. На борту есть движок секвенирования, и мы пишем набор последовательностей, серию команд, мы загружаем этот файл в вертолёт, и он выполняет эти команды. Когда мы хотим, чтобы вертолёт летал, мы говорим ему, и программное обеспечение наведения берёт всё на себя и выполняет взлёты, переходы к различным путевым точкам, а затем посадку.
Это означает, что полёты заранее спланированы очень точно. Это не настоящая автономия, в том смысле, что мы не ставим перед ней целей и правил, и она не делает никаких рассуждений на борту на высоком уровне. Не было времени разработать детальную автономию на вертолёте, поэтому мы рассказываем ему план полёта заранее, и он выполняет заранее спланированную траекторию. Пока он летает, он самостоятельно пытается удостовериться, что он останется на этой траектории в присутствии порывов ветра или других вещей, которые могут произойти в этой среде. Но он действительно спроектирован так, чтобы следовать траектории, которую мы планируем на земле до того, как он полетит.
– Есть ли ситуация, когда что-то может заставить вертолёт принять решение отклониться от заранее запланированной траектории?
Программное обеспечение наведения всегда следит за тем, чтобы все датчики выдавали хорошие данные. Если сенсор выходит из строя, у вертолёта действительно есть одна реакция, которая заключается в том, чтобы взять последнее состояние и просто попытаться приземлиться, а затем рассказать нам, что случилось, и подождать, пока мы с этим разберёмся. Вертолёт не будет пытаться продолжать свой полёт, если сенсор выйдет из строя. Все три датчика, которые мы используем во время полёта, необходимы для его завершения из-за того, что эти данные сплавлены вместе.
– Сколько полётов вы надеетесь совершить?
Мы испытываем вертолёт впервые, у нас запланировано три основных рейса. Существует ограниченное 30-дневное окно, и если у нас будет время, то мы можем попробовать посадить его в другом месте, которое выглядит безопасным. Но первые три полёта – это взлёт, зависание, а затем возвращение и посадка в одном и том же месте.
– Что-нибудь ещё, что может быть особенно интересно инженерам?
В первый раз мы будем летать с Linux на Марсе. Программный фреймворк, который мы используем – это фреймворк, который мы разработали в JPL для кубсатов, мы открыли его исходный код несколько лет назад. Таким образом, вы можете получить программный фреймворк, который используется на марсианском вертолёте, и использовать его в своём собственном проекте. Это своего рода победа для опенсорса, потому что мы летаем на операционной системе с открытым исходным кодом и таком же фреймворке летного ПО, а также используем коммерческие запчасти, которые вы можете свободно купить, если когда-нибудь захотите сделать подобное сами.