Отчёт о причинах потери зонда “Скиапарелли”

На сайте ESA опубликован отчёт по результатам анализа причин потери аппарата “Скиапарелли” на Марсе. Аппарат, напомню, разбился, так как не выполнил программу торможения и посадки. Отчёт довольно подробный, но некоторых технических деталей всё же не хватает (нет подробного описания архитектуры программного обеспечения и средств разработки, например; нет описания моделей движения и пр.). Авария произошла из-за того, что аппарат преждевременно перешёл в конфигурацию завершающего спуска, отстрелив парашют и проведя минимальное (3 секунды) “окончательное торможение” реактивными двигателями на высоте около 3,7 км. Последовавшее свободное падение завершилось ударом о поверхность Марса с предполагаемой скоростью около 150 м/сек.

Основной результат расследования такой. Причин у нештатного падения аппарата несколько: во-первых, использовавшиеся при разработке модели динамики парашютной системы не обладали достаточной точностью; во-вторых, логика системы управления, – по большей части, это логика в программном коде, – не учитывала возможных “экстремальных” или ошибочных данных, которые могли поступать с различных датчиков (прежде всего, инерциальная навигационная система); в-третьих – при проектировании даже не попытались заложить в систему какую-то устойчивость, а просто рассчитывали на то, что работа всех частей не выйдет за пределы некоторой упрощённой модели, которую сочли эквивалентной штатному снижению (и даже тут ошиблись).

Почему-то в СМИ пишут, что причиной падения “Скиапарелли” стала “тригонометрическая ошибка”, типа, неверно учли “знак значения синуса”. Из отчёта такой вывод не следует. Ошибка с расчётом угла положения (по одной из осей аппарата), приведшая в итоге к “отрицательной высоте” (расчётной) и преждевременному включению последовательности приземления, действительно упоминается, но причина её в том, что сигнальный флаг модуля инерциальной системы навигации, сообщавший о запредельных измеряемых параметрах, действовал слишком долгое время – это не было учтено в логике работы, так как разработчики почему-то рассчитывали на максимальную продолжительность такого режима в 15 мс. А главное, что ключевой дефект совершенно не в этом: так, если бы система управления была спроектирована должным образом, то она могла бы легко компенсировать и ошибку в определении угла, и даже вычисленную “отрицательную высоту”; последняя, впрочем, тогда и не возникла бы. Для компенсации не требовалось даже резервировать системы, достаточно было грамотно сверять имеющиеся данные от нескольких сенсоров (инерциальная система, таймер, радиовысотомер) между собой и с моделью движения. Более того, точное моделирование могло ещё на Земле показать, что возможны ситуации с запредельными угловыми скоростями, соответственно, их необходимо учитывать в логике системы управления. Именно об этом и сказано в отчёте.

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

Адрес записки: https://dxdt.ru/2017/05/30/8357/

Похожие записки:



Далее - мнения и дискуссии

(Сообщения ниже добавляются читателями сайта, через форму, расположенную в конце страницы.)

Комментарии читателей блога: 2

  • 1 <t> // 4th June 2017, 19:34 // Читатель Vitalie написал:

    Возможно, старое поколение программистов сменилось новым, неподготовленным поколением. Налицо человеческая ошибка. Я бы даже сказал – ошибка всей команды.

  • 2 <t> // 7th June 2017, 17:17 // Читатель Сергей Виноградов написал:

    Что-то мне подсказывает, что парни просто объэкономились до чёртиков и поназначали руководителей, как сейчас принято, которые окончили MBA, но не имеют высшего технического.