Войти

Модуль Schiaparelli упал на Марс из-за грубой программной ошибки

5033
13
0
Миссия "ЭкзоМарс"
Марсоход и посадочная платформа европейско-российской миссии "ЭкзоМарс".
Источник изображения: ESA / Medialab

Официальное расследование Европейского космического агентства (ЕКА) показало, что марсианский лендер Schiaparelli упал из-за грубой ошибки в программном обеспечении. Некорректная обработка неверных показаний датчика вращения заставила аппарат считать, что он находится под поверхностью Марса, сообщил сайт космического агентства.

В среду, 19 октября, совместная российско-европейская миссия «ЭкзоМарс-TGO» прибыла к красной планете и попыталась решить две критически важных задачи – выход зонда TGO на стабильную орбиту у Марса и посадка демонстрационного посадочного модуля «Скиапарелли» на плато Меридиан у экватора красной планеты.

Посадка лендера прошла неудачно – его ПО решило, что модуль уже приземлился. Это заставило «Скиапарелли» отключить двигатели всего через 3-4 секунды после их включения. В результате он рухнул с высоты в 3-4 км ровно в ту точку, где он должен был сесть на Марс. Предположительной причиной был назван сбой в радаре-высотомере.


Посадка модуля "Скиапарелли" на Марс
Источник: Инфографика: Александр Смирнов / Наталья Ячменникова

Инженеры ЕКА проанализировали часть данных телеметрии и выяснили, что история была несколько сложнее.

Приземление, установили ученые, проходило нормально на первых стадиях - «Скиапарелли» корректно провел аэродинамическое торможение и затем выбросил тормозные парашюты. На высоте в 7,8 км был корректно сброшен тепловой экран. Через некоторое время после этого произошло то, что погубило зонд.

Оказалось, что фатальная ошибка в работе ПО «Скиапарелли» произошла не из-за сбоя высотометра, а из-за проблем в работе другого навигационного прибора – так называемого «измерителя инерции» (IMU), устройства, измеряющего скорость вращения модуля вокруг своей оси.

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

Но в данном случае IMU передавал данные на главный компьютер «Скиапарелли» неожиданно долго, на протяжении секунды, что «обмануло» ПО модуля и заставило его считать эти измерения реальными данными, а не аномалией. Неправильные значения были учтены при расчете высоты модуля, в результате чего бортовой компьютер «Скиапарелли» получил отрицательные значения высоты.

Модуль посчитал, что он находится даже не на поверхности Марса, а под ней, что заставило его на высоте 3,7 км инициировать финальную стадию процедуры посадки, отделить парашюты и выключить двигатели.

Эта ошибка, как отмечают ученые, носит чисто программный характер и легко воспроизводится в компьютерных симуляциях приземления «Скиапарелли». Как отметил Дэвид Паркер, руководитель отдела пилотируемых полетов и роботизированного изучения космоса в ЕКА, эти данные и ошибка будут учтены при проектировании ПО для посадочной платформы марсохода «Пастер», которая разрабатывается в НПО Лавочкина.

Права на данный материал принадлежат
Материал размещён правообладателем в открытом доступе
  • В новости упоминаются
13 комментариев
№1
25.11.2016 04:41
Так кто всё таки виноват? Кто писал ПО, мы или европейцы???
+2
Сообщить
№2
25.11.2016 05:07
Страна тут не имеет значения. Это сегодняшний мировой тренд.
Писали "поколение пепси".
Тестировали они же.
Не удивлюсь, если при найме требования к программистам были в знании платформ разработки и библиотек, а не в умении думать и сосредотачиваться.

Искренне сочувствую людям, которые работали над проектом как надо и прогорели из-за тупых косячников.
+6
Сообщить
№3
25.11.2016 08:39
Хватит позориться,  на себя надо рассчитывать,
а не на европейцев или китайцев.
Возрождать надо свою отрасль.
НПО Лавочкина в своё время решало сложнейшие задачи.
Мы скатились в статус извозчиков. Позорище.
+4
Сообщить
№4
25.11.2016 08:41
Цитата, Павел 1978 сообщ. №3
Мы скатились в статус извозчиков. Позорище.

Павел, у меня дежавю? :)
0
Сообщить
№5
25.11.2016 09:36
да, согласен...
я последовательно против такой "международной кооперации"
Так конечно деньги экономят, но это кривая экономия.

Это приводит к деградации собственной промышленности.
В эти кооперации мы вкладываем то, что уже давно освоено
и работает...  - ракету например,  + пара приборов.

ЕКА же учатся и создают Модули. Мы - почти нет.
Они ошибаются. Миссия провалена.
В сухом остатке: Мы ничему новому не научились.
Мы инфы о Марсе не получили. Деньги потрачены.
Результата НИ-КА-КО-ГО.

Они тоже не получили инфы, но чему-то научились,
т.е. они потратили деньги на учёбу - это рационально.

При этом если бы мы потратили немного больше, то восстановили бы
свою промышленность в секторе роверов, посадки и платформ...
сделали бы шаг в развитии...

Получается мы выкидываем деньги на ветер...
+5
Сообщить
№6
25.11.2016 11:13
"Так кто всё таки виноват? Кто писал ПО, мы или европейцы???"

Не понял, почему говорят об ощибке ПО, когда тут комплексная ошибка! Почему датчик выдал неверную информацию, да и ту с секундной задержкой?
А программа, независимо от разработчика, разрабатывается согласно заданному алгоритму и если в алгоритме предписано, что если датчик выдает нулевой сигнал, что равносильно его отсутствию в течение заданного времени, то это означает, что аппарат уже сел! Поэтому и сброс парашютов, и отключение двигателя.
Это не ошибка программиста, это неправильно заданный алгоритм приземления аппарата. На а кто задает алгоритм, это вопрос другой.
Да и с датчиком следовало бы разобраться как следует.
+5
Сообщить
№7
25.11.2016 11:35
По комментарию klezka №1

"Так кто всё таки виноват? Кто писал ПО, мы или европейцы???"

ПО, а точнее, программисты, разрабатывающие ПО, ни при чем.

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

Виноват Главный конструктор, который должен был еще на эскизно-техническом (системотехническом и схемотехническом) этапе разработки (если уж "подобные сбои являются нормой в работе инерциальных датчиков") предусмотреть подобную ситуацию, задублировать (или даже замажорировать) датчики или более правильно выбрать постоянную времени сглаживающего фильтра. Можно было ее либо уточнить, либо выбрать адаптивной к ситуации.
+4
Сообщить
№8
25.11.2016 14:01
Цитата, q
Так кто всё таки виноват? Кто писал ПО, мы или европейцы???

Мы к Schiaparelli никакого отношения не имеем. Частично наше оборудование стоит только на TGO.

Цитата, Валентин1947 сообщ. №7
Виноват Главный конструктор

Нет в европейских компаниях и организациях должности главного конструктора.
0
Сообщить
№9
25.11.2016 16:14
Цитата, Валентин1947 сообщ. №7
Виноват Главный конструктор, который должен был еще на эскизно-техническом (системотехническом и схемотехническом) этапе разработки (если уж "подобные сбои являются нормой в работе инерциальных датчиков") предусмотреть подобную ситуацию, задублировать (или даже замажорировать) датчики или более правильно выбрать постоянную времени сглаживающего фильтра. Можно было ее либо уточнить, либо выбрать адаптивной к ситуации.

Валентин, нормальный программист должен спросить "а что софт должен делать если....?". Потому что если строго классически подходит к вопросу обработки данных, то должен предвидеть любой бред на входе своего чёрного ящика и понимать, что с теми или иными сортами этого бреда ему делать.

Сколько вирусов работает на неустойчивости кода к данным?
Да почти все, это основной тип уязвимости после человеческого фактора.

Проблемы устойчивости и безопасности, не связанные с ошибочными решениями на правах администратора, все существуют только по причине невнимательности или слабоумия разработчиков.

Есть масса решений вопроса - положиться на другие данные, положиться на предыдущие данные, прошедшие фильтр достоверности, положиться на косвенные данные. Все эти решения будут неидеальны и потребуют задействования дополнительных алгоритмов, но само их наличие уже значительно снижает риски и повышает жизнеспособность системы. Упомянутое вами резервирование - тоже одно из решений. И, в конце концов, КАКОЕ такое из ряда вон событие они ожидали в хлипкой атмосмферочке Марса, что алгоритм мог пропустить на фильтр явно зашкаливающие данные от датчика?
+1
Сообщить
№10
25.11.2016 18:00
По комментарию Викторович №9:

"Валентин, нормальный программист должен спросить "а что софт должен делать если....?".

Если программист, выполняющий по выданному ему заданию чисто технологическую операцию, будет по любому алгоритмическому решению Главного конструктора спрашивать, "а что софт должен делать если....?", и, тем более, знать, что при этом делать, то такой программист - готовый Главный конструктор. И хотя я, как Главный конструктор изделий "Дельта", довольно слаб в программировании (в основном алгоритмы отлаживаю в архаичном Exel), а мои заместители, являясь отличными программистами, не раз при ознакомлении с алгоритмикой находили красивое ее воплощение при программировании, в целом, почти всю громадную массу алгоритмов аппаратуры "Дельта" "рождали" не программисты, а мы с братом (научным руководителем). Повторяю, Вы говорите о способном программисте - готовом Главном конструкторе. Я допускаю, что такой может быть (хотя и редко).
0
Сообщить
№11
25.11.2016 18:08
Цитата, Валентин1947 сообщ. №10
Повторяю, Вы говорите о способном программисте - готовом Главном конструкторе. Я допускаю, что такой может быть (хотя и редко).

Думаю, что на проектах такого уровня не должны работать люди слабее. А сильных не много в процентах, но и немало количественно. Только из Кишинёва в возрасте между 40 и 60 знаю таких человек 7. В первом приближении это 7 на миллион. Это немало.
0
Сообщить
№12
25.11.2016 22:13
Наверное, вы будете смеяться, но:

Румынская компания обвиняет Россию и Крым в падении "Скиапарелли"
Цитата
Румынская компания Arca Space, проверявшая посадочный модуль "Скиапарелли" перед его запуском к Марсу, обвиняет Россию и Крым в том, что его тесты в воздухе не удалось провести из-за опасений в "военной агрессии" со стороны РФ, сообщает Румынское национальное агентство новостей Agerpres.
...
Как с этим связана Румыния? Изначально ASI планировало провести окончательную проверку "Скиапарелли" в Швеции, силами инженеров Шведского космического агентства, однако проблемы с бюджетом заставили ЕКА поручить этот важный этап в разработке посадочного модуля малоизвестной румынской компании Arca Space, основанной Попеску в 1999 году и сейчас базирующейся в США. Это позволило ЕКА сэкономить порядка миллиона евро.

На этой неделе представители ASI обрушились с критикой на  Arca Space, заявив о том, что ее инженеры не провели критически важный тест – сброс копии "Скиапарелли" на воздушном шаре и проверку всех его бортовых систем, в том числе навигационного ПО,  в условиях, приближенных к "полевым".
...
0
Сообщить
№13
25.11.2016 23:22
Цитата, Peter Tsk сообщ. №12
Наверное, вы будете смеяться, но:

Румынская компания обвиняет Россию и Крым в падении "Скиапарелли"

Румыны идут лесом, с наихудшими пожеланиями..
0
Сообщить
Хотите оставить комментарий? Зарегистрируйтесь и/или Войдите и общайтесь!
ПОДПИСКА НА НОВОСТИ
Ежедневная рассылка новостей ВПК на электронный почтовый ящик
  • Разделы новостей
  • Обсуждаемое
    Обновить
  • 21.11 20:36
  • 5810
Без кнута и пряника. Россия лишила Америку привычных рычагов влияния
  • 21.11 20:03
  • 1
Аналитик Коротченко считает, что предупреждения об ответном ударе РФ не будет
  • 21.11 16:16
  • 136
В России запустили производство 20 самолетов Ту-214
  • 21.11 13:19
  • 16
МС-21 готовится к первому полету
  • 21.11 13:14
  • 39
Какое оружие может оказаться эффективным против боевых беспилотников
  • 21.11 12:38
  • 1
ВСУ получили от США усовершенствованные противорадиолокационные ракеты AGM-88E (AARGM) для ударов по российским средствам ПВО
  • 21.11 12:14
  • 0
Один – за всех и все – за одного!
  • 21.11 12:12
  • 0
Моделирование боевых действий – основа системы поддержки принятия решений
  • 21.11 11:52
  • 11
Почему переданные Украине ЗРС Patriot отнюдь не легкая мишень для ВКС России
  • 21.11 04:31
  • 0
О "мощнейшем корабле" ВМФ РФ - "Адмирале Нахимове"
  • 21.11 02:41
  • 1
Стало известно о выгоде США от модернизации мощнейшего корабля ВМФ России
  • 21.11 01:54
  • 1
Проблемы генеративного ИИ – версия IDC
  • 21.11 01:45
  • 1
«Тегеран считает Россию хрупкой и слабой»: иранский эксперт «объяснил» суть якобы возникших разногласий между РФ и Исламской Республикой
  • 21.11 01:26
  • 1
Пентагон не подтвердил сообщения о разрешении Украине наносить удары вглубь РФ американским оружием
  • 20.11 20:38
  • 0
Ответ на ""Сбивать российские ракеты": в 165 км от границы РФ открылась база ПРО США"