«Скиапарелли» сгубила тригонометрия

Мнение редакции может не совпадать с мнением автора

Сегодня ESA объявило о завершении расследования крушения космического зонда «Скиапарелли». Из отчета комиссии наконец стало совершенно ясно, почему аппарат решил отбросить парашют раньше времени и отключить посадочные двигатели всего через три секунды после начала их работы. Как оказалось, все дело в тригонометрии, бортовом компьютере и слегка сбоившем датчике. Но обо всем по порядку.

Самая интересная часть отчета — последовательность событий, произошедших при спуске аппарата. Главными действующими лицами этого крушения станут:

  • «Скиапарелли»
  • Система ориентационной навигации и контроля (GNC)
  • Блок инерциальных датчиков (IMU)
  • Радарный высотомер, работающий на эффекте Доплера (RDA)
  • Марс

Посадка «Скиапарелли» началась 16 октября, когда аппарат отсоединился от Trace Gas Orbiter, доставившего его в рамках миссии «Экзомарс». После трех дней полета в состоянии гибернации спускаемый модуль включил и откалибровал все свои системы — в частности, приборы для определения положения в пространстве. 

13:29:48 Пробуждение «Скиапарелли». Начиная примерно с этого момента мы вели онлайн-трансляцию посадки.

14:42:22 Акселерометры обнаруживают, что аппарат вошел в атмосферу. Инженеры отмечают непредвиденные изменения в скорости вращения аппарата.

14:45:23 Запускается раскрытие парашюта. Угол атаки оценивается в 6,5 градуса, скорость вращения аппарата около трех градусов в секунду

14:45:24 Парашют раскрылся, «Скиапарелли» начинает покачиваться (2,5 покачивания в секунду). 

14:45:24.2 Инерциальные датчики IMU измеряют скорость «тангажа» «Скиапарелли» — скорость, с которой аппарат заваливается относительно горизонта. Она оказывается больше, чем ожидалось и датчики показывают «зашкаливание» — некую константу.

14:45:24.2 В этот момент система ориентационной навигации и контроля пытается определить положение «Скиапарелли» в пространстве — итоговый угол заваливания относительно горизонта. Для этого ей нужно, в частности, проинтегрировать скорость тангажа по времени (сложить все углы, на которые аппарат заваливался). 

Так как датчики IMU показывают постоянную величину, все углы, которые суммирует GNC, положительны. В реальности же аппарат покачивается (то есть скорость тангажа становится то положительной, то отрицательной). Поэтому GNC допускает серьезную ошибку в положении — на целых 165 градусов. Системы аппарата «думают», что он перевернулся и теперь его тепловой щит обращен к небу, а не к Марсу.

Купол парашюта тем временем полностью наполняется, и покачивание «Скиапарелли» останавливается. Теперь снижение идет как и ожидалось, а амплитуда колебаний аппарата составляет около трех градусов. 

14:46:03 Отстреливается передний (тепловой) щит аппарата.

14:46:19 Как и ожидалось, включается доплеровский радар — в его показаниях нет ни следа аномалий. Система сверяет данные радара и данные инерциальных датчиков — изменения скорости и изменения высоты. 

Высота в системе определяется как проекция показаний радара на вертикальную ось: если аппарат расположен под углом к горизонту, то радар будет «смотреть» не прямо под собой, а под углом, и сообщать завышенные значения. Как известно из школьного курса геометрии, чтобы узнать катет в прямоугольном треугольнике, образованном линией радара и ее проекцией на вертикальную ось, надо гипотенузу (показания радара) умножить на косинус угла между вертикалью и направлением, куда «смотрит» радар. 

Напомним, что GNC «думает», будто аппарат перевернулся на 165 градусов. В отчете комиссии следующая фраза подчеркнута: «Косинус углов больше 90 градусов отрицателен». В результате «Скиапарелли» считает, что его высота относительно поверхности Марса меньше нуля. В системе возникает несоответствие, программа не подвергает сомнению данные о положении аппарата относительно горизонта.

14:46:46 Примерно в этот момент GNC включает заключительную стадию снижения.

14:46:49 Отбрасывается задняя крышка аппарата.

14:46:51 Включение двигателей для торможения — маневр уклонения от задней крышки игнорируется системой.

14:46:54 Отключение двигателей для торможения на высоте около 3,7 километра над поверхностью Марса.

14:47:28 После 34 секунд свободного падения «Скиапарелли» набирает скорость примерно 540 километров в час и врезается в поверхность Красной планеты на 37 секунд раньше, чем ожидалось.

Случившееся потом хорошо известно. Через два дня на Землю пришли первые снимки места крушения аппарата, а через неделю те же фотографии с деталями следов взрыва баков с неотработанным топливом можно было наблюдать в цвете. Надеемся, что рекомендации (которым посвящена треть отчета) помогут Европейскому космическому агентству все-таки посадить второй спускаемый модуль программы «Экзомарс», который может направиться к планете уже в 2020 году. А пока Марс ведет в матче против человеческих попыток посадить на него очередной аппарат со счетом 9:8.

Это отнюдь не первый пример, когда ошибка в обработке данных приводит к печальным последствиям. Еще больше драмы вы найдете в нашем материале «#titanic {float: none;}» — он посвящен случаям, когда программные ошибки в буквальном смысле убивали людей и угрожали человечеству. 

Нашли опечатку? Выделите фрагмент и нажмите Ctrl+Enter.