О первом марсианском вертолёте: интервью с разработчиком Ingenuity

Автор:Марк Романов 

Как уже большинство из вас уже наверняка знают, марсоход NASA Perseverance совершил успешную посадку на Марс. Но в этом материале мы поговорим не о самом марсоходе, а о небольшом попутчике, спрятавшемся в нижней его части. 

Конечно же, речь пойдёт об Ingenuity – небольшом винтокрылом аппарате, чей расположенный под парой 120-сантиметровых винтов корпус размером с коробку из под салфеток держится на четырёх тоненьких опорах. Ingenuity имеет массу всего 1,8 килограмма, но важность его миссии нельзя недооценивать, поскольку если всё пойдёт как задумано, то ему суждено стать первым летающим аппаратом на Марсе.

Инженеры NASA модифицируют лётную модель Ingenuity. Credit: Photo: NASA/JPL-Caltech

Как уже большинство из вас уже наверняка знают, марсоход NASA Perseverance совершил успешную посадку на Марс. Но в этом материале мы поговорим не о самом марсоходе, а о небольшом попутчике, спрятавшемся в нижней его части. 

Конечно же, речь пойдёт об Ingenuity – небольшом винтокрылом аппарате, чей расположенный под парой 120-сантиметровых винтов корпус размером с коробку из под салфеток держится на четырёх тоненьких опорах. Ingenuity имеет массу всего 1,8 килограмма, но важность его миссии нельзя недооценивать, поскольку если всё пойдёт как задумано, то ему суждено стать первым летающим аппаратом на Марсе.

https://www.youtube.com/watch?v=95hMM2u6Fgw
Наглядное представление о том, что представляет из себя аппарат Ingenuity

Ingenuity не предназначен для решения сложных задач – аппарат сложный сам по себе. Отправиться в управляемый полёт на Марсе невероятно тяжело по целому ряду причин, среди которых очень тонкая атмосфера (около 1% от плотности земной), жёсткие требования к мощности и ограничения в связи.

По словам операционного руководителя миссии Mars Helicopter из Лаборатории реактивного движения (JPL) Тима Кэнхэма, доставка Ingenuity на Красную планету в целости и сохранности, чтобы затем аппарат благополучно совершил первый марсианский полёт – настоящая победа для NASA. Кэнхэм участвовал в разработке программной архитектуры, на которой работает Ingenuity. Как операционный руководитель, Тим сосредоточен на планировании полётов аппарата и координации действий с командой марсохода Perseverance. Издание IEEE Spectrum поговорило с Кэнхэмом, чтобы лучше понять, как Ingenuity будет использовать свою автономность в предстоящих полётах.

Что вы можете рассказать об аппаратуре Ingenuity?

Поскольку Ingenuity входит в число демонстрационных миссий, JPL могла позволить себе рисковать по-крупному. Главные беспилотные миссии, вроде марсоходов или аппаратов, исследующих дальний космос, называются миссиями класса B. В таких миссиях множество людей работают над созданием надёжного оборудования и ПО в течение многих лет. Демонстрационная же миссия открывает JPL возможность попробовать вести дела по-новому. Фактически, мы взяли и использовали много готового потребительского оборудования.

В Ingenuity есть некоторые очень прочные и радиационно-устойчивые компоненты авионики, но большая часть аппаратуры – коммерческое оборудование. Например, мы использовали процессорную плату Snapdragon 801 от компании Qualcomm. По сути, это процессор для смартфонов с очень маленькой платой. Но поскольку это относительно современная технология, она намного мощнее аналогов, установленных на марсоходе. На самом деле у нас на пару порядков больше вычислительной мощности, чем у Perseverance. Нам она очень нужна. Чтобы поддерживать контроль полёта в атмосфере, наши контуры наведения работают с частотой 500 Гц. Кроме того, Ingenuity будет делать снимки, отслеживания изменения на них с частотой 30 Гц. Для такой задачи требуется серьёзная вычислительная мощность. И никакая используемая в данный момент NASA авионика не готова такую мощность предоставить. В некоторых случаях мы буквально заказывали компоненты у SparkFun Electronics. Мы думали об этом так: «Что-ж, это коммерческое оборудование. Но если мы его протестируем, и оно покажет себя хорошо, то мы будем его использовать».

Можете описать, какие датчики Ingenuity будет использовать для навигации?

Мы используем обычный гиростабилизатор для смартфона, лазерный высотомер от SparkFun, и направленную вниз VGA-камеру для отслеживания особенностей поверхности в монокулярном режиме. Определение относительного положения будет осуществляться за счёт покадрового сравнения нескольких десятков объектов на поверхности – это поможет определить направление и скорость с которыми движется аппарат. Всё это делается путём оценки местоположения на ходу, а не путём запоминания объектов или составления карты.

Винтокрылый аппарат NASA Ingenuity. Вид снизу на лазерный высотомер и навигационную камеру. Credit: NASA/JPL-Caltech

Ещё на борту имеется инклинометр, который будет использоваться для оценки наклона относительно поверхности во время взлёта, а также 13-мегапиксельная цветная камера, какую можно встретить в каком-нибудь смартфоне. Она не будет использоваться для навигации, но с её помощью мы попытаемся сделать несколько классных снимков в ходе полёта. Она называется RTE. Потому что вся аппаратура должна иметь аббревиатуру. На ранних этапах разработки у нас также была идея включить в аппаратную часть систему обнаружения опасностей, но времени на это не хватило.

Ingenuity будет работать автономно. В каком смысле?

В некотором смысле вы можете думать об Ingenuity как о традиционном космическом аппарате от JPL. У него есть бортовой компьютер, для которого мы пишем серию команд. Загружаем файл с этой последовательностью в аппарат, а он её выполняет. Навигационную часть полёта мы планируем в ходе моделирования здесь, на Земле, в виде серии путевых точек, представляющих собой последовательность команд, отправляемых нами навигационному ПО. Когда мы захотим, чтобы аппарат взлетел, мы приказываем ему лететь. Навигационное ПО берёт на себя управление и выполняет взлёт, переход к различным путевым точкам и следующую за этим посадку.

Это значит, что полёты очень точно спланированы заранее. Это не настоящая автономия. В том смысле, что мы не ограничиваем Ingenuity какими-то целями и правилами, и аппарат не делает никаких бортовых вычислений на высоком уровне. Это своего рода автономия наполовину. Противоположность – это человек, сидящий и управляющий аппаратом с помощью джойстиков. На Марсе мы, очевидно, не можем сделать подобного. В рамках проекта не было времени на разработку действительно автономной системы, поэтому мы заранее сообщаем Ingenuity план полёта, и он выполняет задуманную для него траекторию. Во время полёта он самостоятельно будет пытаться убедиться, что остаётся на заданной траектории с учётом наличия порывов ветра или иных факторов, которые могут возникнуть в окружающей среде. Но аппарат изначально разрабатывался таким образом, чтобы следовать по спланированной на Земле траектории.

В некотором смысле вы можете думать об Ingenuity как о традиционном космическом аппарате от JPL. У него есть бортовой компьютер, для которого мы пишем серию команд. Загружаем файл с этой последовательностью в аппарат, а он её выполняет. Навигационную часть полёта мы планируем в ходе моделирования здесь, на Земле, в виде серии путевых точек, представляющих собой последовательность команд, отправляемых нами навигационному ПО. Когда мы захотим, чтобы аппарат взлетел, мы приказываем ему лететь. Навигационное ПО берёт на себя управление и выполняет взлёт, переход к различным путевым точкам и следующую за этим посадку.

Это значит, что полёты очень точно спланированы заранее. Это не настоящая автономия. В том смысле, что мы не ограничиваем Ingenuity какими-то целями и правилами, и аппарат не делает никаких бортовых вычислений на высоком уровне. Это своего рода автономия наполовину. Противоположность – это человек, сидящий и управляющий аппаратом с помощью джойстиков. На Марсе мы, очевидно, не можем сделать подобного. В рамках проекта не было времени на разработку действительно автономной системы, поэтому мы заранее сообщаем Ingenuity план полёта, и он выполняет задуманную для него траекторию. Во время полёта он самостоятельно будет пытаться убедиться, что остаётся на заданной траектории с учётом наличия порывов ветра или иных факторов, которые могут возникнуть в окружающей среде. Но аппарат изначально разрабатывался таким образом, чтобы следовать по спланированной на Земле траектории.

Однако Ingenuity не обязан доказывать концепцию продвинутой автономности. На мой взгляд, если бы мы говорили ему что-нибудь вроде «иди и сфотографируй тот камень», то это делало бы аппарат гораздо более автономным. Основная цель Ingenuity – доказать, что мы можем летать на Марсе. Нами сейчас разрабатываются концепции будущих миссий, подразумевающих отправку на Марс более крупного вертолёта с гораздо большей автономностью. Но вспомните миссию Mars Pathfinder, в рамках которой по Красной планете прокатился самый первый марсоход. У него была очень простая миссия: объехать посадочную платформу, попытаться сделать несколько снимков и взять образцы каких-то камней. Поэтому, когда речь заходит о демонстрационной миссии, мы стараемся скромно относиться к тому, что пытаемся сделать.

Существуют ли ситуации, в которых Ingenuity может по каким-то причинам отклониться от заданной траектории?

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

Полёт Ingenuity в представлении художника. Credit: NASA/JPL-Caltech

Как вы будете решать, куда лететь?

Мы будем делать то, что называем процессом выбора места. Процесс стартовал ещё до прибытия Perseverance с осмотра полученных с орбиты изображений потенциального места посадки. Снимки с орбиты – довольно грубый и неточный способ определения потенциальных участков высадки. Уточнение данных произойдёт тогда, когда марсоход сделает обширное исследование местности. Мы выберем место для работы Ingenuity исходя из каменистости, уклона и некоторых других свойств поверхности. Тут есть некоторые компромиссы, поскольку самая безопасная поверхность – это поверхность без каких-либо особенностей, без камней. Но это же и худший вариант с точки зрения навигации. Поэтому мы должны найти золотую середину: участок с множеством маленьких камней, по которым можно ориентироваться, но без больших камней, усложняющих посадку. 

Какого рода полёты выполнит аппарат?

Так как это первый в своём роде эксперимент, мы запланировали три экспериментальных полёта, в каждом из которых Ingenuity сядет на то же место, откуда он стартовал – так безопаснее. Для полётов у нас ограниченное 30-дневное окно. Если мы успеем, то попробуем совершить посадку в каком-нибудь месте, отличном от стартового. Но первые три полёта точно окончатся посадкой на том же самом месте, откуда аппарат взлетел.

JPL имеет опыт создания аппаратов, способных оставаться в работе долгое время после выполнения своей основной миссии. Значит ли это, что (если не произойдёт чего-нибудь плохого) по окончанию 30-дневной миссии Ingenuity, аппарат Perseverance в конечном итоге попросту уедет от идеально работающего марсианского вертолёта?

Да. Таков план, поскольку марсоходу необходимо выполнять свои основные задачи. А поддержание миссии Mars Helicopter требует ресурсов. Нам предоставили 30-дневное окно для испытаний, за что мы очень благодарны. Но марсоход двинется дальше независимо от того, в каком состоянии будет пребывать Ingenuity. Какие бы невероятные и сумасшедшие вещи мы не хотели сделать, мы должны уложиться в 30 дней. На самом деле, два последних полёта у нас ещё не запланированы. В зависимости от того, как быстро пройдут первые три полёта, у нас может остаться неделя или около того, чтобы попробовать что-нибудь более экзотическое. Но первые три попытки у нас в приоритете.

Наш окончательный критерий успеха – совершить один полёт. Будем вне себя от радости, если нам это удастся. Следующие два полёта дадут нам возможность действовать смелее. В конце концов мы можем прийти к чему-то совсем уж приключенческому. Вроде того, чтобы сделать большой круг или отлететь на сотню метров. Всё дело в том, чтобы понять, как аппарат летает. Вот как в первый раз полетит – тогда и поговорим.

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

Это хороший вопрос, и нам нужно ещё подумать над этим. Если у нас осталась одна попытка, а марсоход всё равно оставит нас, то, может, мы попробуем что-нибудь смелое. Но пока мы далеки от этого. Наши основные усилия сосредоточены на первых трёх полётах, всё остальное – это бонус.

Есть ли что-нибудь ещё, чем вы можете с нами поделиться, что могло бы заинтересовать инженеров?

Это будет первый раз, когда на Марсе будет запущена Linux. Да, мы на самом деле работаем на Linux. Фреймворк, который мы используем, был разработан нами в JPL для кубсатов и научных приборов – мы открыли его исходный код несколько лет назад. Так что вы можете взять фреймворк, который летает на марсианском вертолёте, и использовать его в своём собственном проекте. Это своего рода победа открытого исходного кода: мы используем операционную систему с открытым исходным кодом и платформу программного обеспечения для полётов с открытым исходным кодом, а также коммерческие компоненты, которые можно купить в готовом виде (если когда-нибудь захотите сделать что-то самостоятельно). Для JPL такое в новинку, потому что обычно нам нравится то, что безопасно и проверено. Но многие люди очень рады новому подходу, и мы с нетерпением ждём, когда всё это заработает.

Источник


Больше на Granite of science

Subscribe to get the latest posts sent to your email.

Добавить комментарий