Найти в Дзене
Математика не для всех

Типичная ошибка, которая обошлась французcкому космическому агенству в 370 миллионов $

Приветствую Вас, уважаемые Читатели! Сегодня я хочу рассказать Вам историю, которая стоила французскому аналогу Роскосмоса - CNES - огромных репутационных и финансовых издержек. Речь пойдет о знаменитой ракете Ariane 5 и её неудачной истории.

Источник: https://www.esa.int/var/esa/storage/images/esa_multimedia/images/2009/02/cnes_logo/9496749-4-eng-GB/CNES_Logo_pillars.jpg
Источник: https://www.esa.int/var/esa/storage/images/esa_multimedia/images/2009/02/cnes_logo/9496749-4-eng-GB/CNES_Logo_pillars.jpg

4 Июня 1996 года ракета Ariane 5 стартовала с побережья французской Гвианы. 37 секунд спустя ракета повернула на 90 градусов в неправильном направлении, а менее чем через две секунды аэродинамические силы оторвали ускорители от основной ступени на высоте 4 км. Это привело к срабатыванию механизма самоуничтожения, и космический корабль сгорел в своём же топливе.

Неудачный запуск обошелся примерно в 370 миллионов долларов, привел к общественному расследованию и из-за уничтожения полезной нагрузки ракеты задержал научные исследования в области магнитосферы Земли почти на 4 года. Запуск Ariane 5 признан одним из самых "дорогостоящих" программных сбоев в истории.

Что пошло не так?

Ошибка была быстро идентифицирована как ошибка программного обеспечения в системе ориентации ракеты, а именно в блоке, отвечающем за горизонтальное смещение, где за его величину отвечала 64-разрядная переменная BH.

Источник: https://www.arianespace.com/wp-content/uploads/2020/08/VA253-LIFTOFF_1-HR-1.jpg
Источник: https://www.arianespace.com/wp-content/uploads/2020/08/VA253-LIFTOFF_1-HR-1.jpg

Ariane 5 в отличие от предшественника Ariane 4 обладал гораздо более высокими значениями горизонтальной скорости на начальном этапе траектории, но (!!!) использовал во многом всё то же программное обеспечение. Система ориентации адекватно работала в течение приблизительно 40 секунд полета - стандартного времени для стартовой динамики Ariane 4.

Однако затем, значение BH стало неожиданно высоким.

По мере увеличения скорости ракеты в 64-разрядную переменную записалось значение, большее, чем 65536, а алгоритм не смог перевести его в 16-битный вид, заполнив переменную BH диагностическим значением.

Источник: https://s1.slide-share.ru/s_slide/3de605bf2697f85e8d38f37f0a029e33/e82e52ce-3b22-4bce-994c-aefbf00afe09.jpeg
Источник: https://s1.slide-share.ru/s_slide/3de605bf2697f85e8d38f37f0a029e33/e82e52ce-3b22-4bce-994c-aefbf00afe09.jpeg
Это можно рассматривать как попытку "впихнуть невпихуемое".

Процессор Ariane 5 ошибочно истолковано значение BH как фактические полетные данные и подал команду двигателям. Угол атаки более 20 градусов привел к отделению ускорителей от основной ступени и срабатыванию системы самоуничтожения

Источник: https://wiki.warthunder.ru/images/b/bc/Угол_атаки.jpg
Источник: https://wiki.warthunder.ru/images/b/bc/Угол_атаки.jpg

Во-первых, самое поразительное, что переменная BH вообще не использовалась в фазе старта, а просто была оставлена от предшественника четвертого поколения!

Во-вторых, код, который мог бы перехватить и обработать эти ошибки преобразования, был отключен для переменной BH из-за ограничений производительности на оборудовании Ariane 4, которые не применялись к Ariane 5.

  • Спасибо за внимание!
  • TELEGRAM и Вконтакте- там я публикую не только интересные статьи, но и математический юмор и многое другое.
Наука
7 млн интересуются