Обсуждение космических программ
9,294,698 41,663
 

  thend ( Слушатель )
26 май 2017 07:08:56

Lithobraking, или Высота под уровнем моря

новая дискуссия Дискуссия  801

честно стырено отсюда

Эпиграф.
- Как правильно тормозить двигателем?
- Сначала нужно тормозить бампером, затем радиатором и только после этого - двигателем.
(с) анекдот


На днях выложен официальный отчет о причинах жесткой посадки спускаемого аппарата "Скиапарелли" Европейского космического агентства на Марс.
Подобные отчеты хороши тем, что доступны публично - и дают редкую возможность заглянуть в поведение и причины отказов сложных систем автоматики.
И в большинстве случаев убедиться, из-за какой же ерунды оно не работает.


Фото отсюда. Все фото крупно по клику



Нельзя не отметить, что мягко приземлиться на Марсе (да и хотя бы просто долететь до Марса) - задача, мягко говоря, нетривиальная.
Исторически - примерно половина миссий вообще в район Марса не добралась.
инфографика отсюда



Итак, 16 октября 2016 года в 14:42:22 UTC спускаемый аппарат "Скиапарелли" (дальше - СА) вошел в марсианскую атмосферу.
Что было дальше - проще понять на картинке из вышеозначенного отчета.


Собственно, так оно все и сработало. За маленьким исключением:

Верхняя крышка вместе с парашютом отделилась намного раньше, чем нужно. А реактивный двигатель мягкой посадки был выключен через 3 секунды вместо расчетных 30. В результате "Скиапарелли" врубился в поверхность Марса на скорости примерно 150 метров в секунду.

Причины бОльшей части проваленных миссий к Марсу точно не установлены и поныне. Но в данном случае телеметрия со спускаемого аппарата была прямо в процессе спуска передана на спутник Trace Gas Orbiter - и оттуда в центр управления, что позволило произвести "разбор полетов".

Чтобы сложная цепочка событий выполнилась как нужно - СА должен знать, где он находится и далеко ли еще до земли (то бишь, до Марса).
Для этого на борту имеются инерциальная навигационная система (ИНС, суть гироскопы+акселерометры) и радарный высотомер.

ИНС рассчитана на определенный предел угловых скоростей. Если предел превышен - выдается сигнал "зашкал", данные соответственно недостоверны.
Чтобы нужный предел определить - провели некие расчеты по некой модели сверхзвукового парашюта и взяли предельный получившийся случай. На деле поведение парашюта оказалось несколько отличным от расчетного, а про неравномерное выгорание теплоизоляции вовсе забыли.
В результате ИНС первый раз ушла в "зашкал" еще при вводе парашюта. Проще говоря, СА как следует помотался на стропах, но затем стабилизировался.
Через небольшое время СА начал вращаться вокруг своей оси со скоростью, снова загнавшей ИНС в "зашкал".

Неправильно подобранные пределы измерения ИНС - это первая, но не последняя ошибка.
Когда при расследовании обратились к Jet Propulsion Laboratory - единственной в мире на сегодня конторе, умеющей сажать что-либо на Марс (и то не всегда) - ответ был прост и немного предсказуем:
"А чего вы хотели? Сверхзвуковой парашют в атмосфере Марса - штука плохо предсказуемая и на Земле толком не тестируемая, фиг смоделируешь. Посему рассчитывайте на все, что угодно, причем с запасом. Вон, у нас при посадке Opportunity та же фигня с закруткой была - и ничего, тринадцатый год по Марсу катается".

Надо было до старта спецов спрашивать, а не при разборе полетов, однако.

Кстати, мало кто знает, что обычный спускаемый на Землю аппарат корабля "Союз" при спуске так же закручивается со скоростью до 12 оборотов в минуту - и это считается штатным.

"Если предел превышен - выдается сигнал "зашкал", данные соответственно недостоверны"
Логика правильная, но вот уставка этого предела - оказалась неправильной. В результате некоторое время ИНС выдавала неправильные данные, не ставя флага переполнения.
В теории должно быть 15 мс. По факту все в эту цифру верили, но никто никогда не проверял.
(а будь там реально 15мс - при все при остальном посадка, вероятно, была бы мягкой).

Эти неправильные данные угловой скорости были успешно проинтегрированы бортовым компьютером при расчете угловых координат СА.
Результат интегрирования оказался настолько неправильным, что СА якобы "перевернут кверх ногами".
К сожалению, никому в голову не пришло подумать: а каким образом вообще аппарат, подвешенный под парашютом, может перевернуться кверх ногами и так лететь?

При дальнейшем расчете высоты (через угловые координаты = вектор направления движения и скорость) - рассчитанная высота оказалась отрицательной (косинус угла >90град отрицательный). То бишь - СА летит "где-то внутри Марса."
Никого из программистов не смутил ни сам факт отрицательной высоты летящего СА, ни мгновенное ее изменение на несколько километров.

Но не стОит считать программистов миссии "Экзомарс" совсем тупыми. Разумеется, там предусмотрена проверка: если ИНС выдает сигнал "зашкал" 5 секунд и дольше - он считается неисправным и управление передается радиовысотомеру (работавшему штатно).
Все замечательно. Но есть нюанс! Там не просто радиовысотомер, а допплеровский. Что означает: высотомер выдает не абсолютное значение высоты, а ее изменение.
Соответственно, чтобы работать по высотомеру - нужно знать "точку отсчета".
В качестве которой было взято... правильно, вышеупомянутое отрицательное значение высоты. Полученное о неисправной ИНС.
Которое теперь еще и уходило дальше "в минус" по мере реального снижения над Марсом!

Логика управления парашютом, получив информацию "СА находится под поверхностью Марса" - решила "парашют под землей не нужен" и отстрелила его нафих. И включила посадочный двигатель (он, судя по логике, и под землей нужен).

Расчет времени отключения посадочного двигателя - это отдельный алгоритм. Выключение происходит, когда и кинетическая энергия летящего СА, и потенциальная энергия его в гравитационном поле Марса - равны нулю. Что есть совершенно корректное терминальное условие мягкой посадки.
Как его проверить? Сложили оба значения и проверили сумму на ноль.
Кинетическая энергия была посчитана правильно и была положительной. А вот потенциальная "под поверхностью Марса" оказалась настолько отрицательной, что условие отключения двигателя было выполнено еще до того, как он включился. В результате двигатель отключился так быстро, как только мог - через 3 секунды.

Отделение парашюта и отключение двигателя произошли в нескольких километрах над поверхностью Марса и на сверхзвуковой скорости.
Через несколько секунд высота СА - реально стала отрицательной!
Потому что от "торможения о поверхность" (lithobraking, ага) образовался кратер диаметром 2,4м и глубиной 0,5м.
Который нужно заслуженно назвать в честь главного программиста проекта.
(В отчете фамилии не упоминаются. А жаль! страна должна знать своих героев в лицо).


Фото со спутника Mars Recoinassance Orbiter

Кусочек выводов комиссии о непосредственных причинах аварии я позволю себе перевести дословно.
Всем коллегам рекомендуется распечатать и повесить рядом с монитором.

"Рекомендация 5:
Бортовое программное обеспечение должно содержать адекватные и достоверные проверки разумности всех входных данных и результатов расчетов.
Включая, но не ограничиваясь:
Проверка ориентации (не может быть кверх ногами под парашютом)
Проверка высоты (не может быть отрицательной)
Проверка ускорения падения (не может превышать ускорения свободного падения)
Проверка производной высоты (не может уходить в минус от 3,7км за 1 секунду)
Сравнение актуального профиля высоты и ускорения с расчетным, чтобы заранее понять недостоверность измерений.

А я бы добавил от себя к отчету еще одну рекомендацию:
Установить высотомер, который выдает абсолютное значение высоты. А не производную.

P.S. Следующий раздел отчета заставил меня криво улыбнуться.

После двух неудачных попыток мягкой посадки на Марс (первой был Бигль-2) Европейское космическое агентство сделало жест "лапки кверху", отказалось от дальнейших разработок СА... и подрядило для создания СА для своего марсохода - российское НПО им.Лавочкина. Которое тоже на сей день не добилось ни одной успешной посадки на Марс Но за европейские деньги попытаться еще разок - да пожалуйста.

Так вот, раздел 8 я бы назвал так:
Рекомендации от одной конторы, не умеющей мягкую посадку на Марс - другой конторе, не умеющей мягкую посадку на Марс: "Как надо делать мягкую посадку на Марс".
Сдается мне, что году так в 2021, а то и в 2023 - будем примерно так же разбирать официальный доклад "О причинах появления очередного российско-европейского рукотворного кратера на Марсе", ага.

Отредактировано: thend - 26 май 2017 07:15:36
  • +0.10 / 8
  • АУ
ОТВЕТЫ (5)
 
 
  Alexxey ( Слушатель )
26 май 2017 11:15:51

Пара уточнений.
1. Путаница по поводу того, что ушло в "зашкал".
Ещё до ввода парашюта было отмечено более быстрое, чем ожидалось, вращение вокруг оси X (т.е. вокруг направлении движения аппарата). После ввода парашюта это вращение успокоилось. Подобный эффект отмечался и при других посадках. Никакого "зашкала" в этом вращении не было, и комиссия пришла к выводу, что с дальнейшей аварией это никак не связано.
Переполнение (насыщение) данных произошло у датчика угловой скорости тангажа (вращения вокруг оси Z) при вводе и наполнении парашюта. Датчик выдавал флаг переполнения (saturation flag) некоторое время, в течении которого навигационная система интегрировала максимально возможное значение для этого датчика, вместо реальной угловой скорости. В результате ошибка составила 165°, т.е., по данным гироплатформы, дальше летели #опой куда-то в зенит. Интересно, что передний тепловой экран при этом отделился без лишних рефлексий, просто по таймеру через 40 секунд после ввода парашюта.
2. Путаница с радиовысотомером.
Он измеряет наклонную дальность и скорость. Для определения истинной высоты наклонная дальность пересчитывается с учётом угла отклонения от вертикали, — по данным ИНС. После начала работы радара производится проверка грубого соответствия его показаний и данных ИНС по изменениям скорости и высоты. При непрохождении проверки в течении 5 секунд (а она не прошла), радар всё равно считается работающим, по таймауту, — основываясь на логике, что "без радара нам один чёрт хана". Ну а как только радар был введён в работу, высота по его показаниям (пересчитанная из наклонной дальности с учётом ориентации по ИНС) стала меньше пороговой для перехода из режима снижения к режиму посадки, — отстрелу заднего теплового экрана с парашютом и включению двигателей мягкой посадки.
3. Ну и вот это: "После двух неудачных попыток мягкой посадки на Марс (первой был Бигль-2) Европейское космическое агентство сделало жест "лапки кверху", отказалось от дальнейших разработок СА... и подрядило для создания СА для своего марсохода - российское НПО им.Лавочкина. Которое тоже на сей день не добилось ни одной успешной посадки на Марс Но за европейские деньги попытаться еще разок - да пожалуйста."
Во-первых добилось. Марс-3 таки мягко сел. Во-вторых — ЕКА подрядило НПО им.Лавочкина ещё до полёта TGO и Скиапарелли.
  • +0.12 / 10
  • АУ
 
 
  Superwad ( Слушатель )
26 май 2017 12:16:31

Есть несколько соображений по данному материалу:
1) Еще на "Буране" все отработали. Язык Дракон хорошо это дело исправляет, но он тоже не панацея на все 100 %
2) Я так понимаю, что в программу было заложено всего два варианта события - хорошее и не очень. А вот самый хреновый вариант (хм, как того требует концепция Дракона, и чем пренебрегают иногда даже россияне) заложен не был.
Вот и весь разбор полетов. Не предусмотрели, что делать в случае полной жопы.
  • +0.07 / 5
  • АУ
 
  Murmur. ( Слушатель )
29 май 2017 20:04:49

судя по описанию, всю команду создававшую Скиапарелли можно смело пускать в расход. Деньги целее будут, а результат тот же.
  • -0.01 / 4
  • АУ
 
 
  Фёдор144 ( Слушатель )
29 май 2017 21:32:19

 
судя по всему вы нихрена не представляете, скольких усилий и денег стоит качественно выловить всех блох, отладить и испытать систему управления для такой сложной миссии. 
 
пускатель в расход нашелся. и хде вас берут таких резких ...
  • +0.18 / 13
  • АУ
 
 
  normalized_ ( Слушатель )
29 май 2017 21:38:25

И этого... Маска еще, за многочисленные аварии испытательных полетов Falcon 9. Сколько их там у него уже было вначале...
И за первые пуски Р7, Протон тоже найти виновных. Там столько "глупых" ошибок было...

Банальности (даже неловко писать все это):
Чтоб не было ошибок, нужно не в расход пускать а
- никакой коллективной ответственности. Ну, что за глупости... 
- расследовать, изучать, еще раз испытывать и проверять, что произошло.
- цель, не в том чтоб наказать виновных (стрелочников или, как другая крайность всех начальников начальника) и "расходами" только лишь успокоить "общественность". которая нихера, извиняюсь за выражения, не вникает в детали. Цель в том, чтоб ошибки не повторялись по вычисленным причинам (а ошибки всегда будут). Для этого принимаются меры не только наказания конкретных лиц, но и устранение недостатков в самой системе. Причем второе для цели "неповторения ошибок" важнее, чем наказание лиц.
- (банальность, никто не ошибается, кто ничего не делает)
- Опыт ценнее, чем "в расход". Деньги ради этого и тратятся в том числе.

"Судя по описанию... можно смело".
По описанию, в таких случаях не судят, тем более смело.
Проблема нашей отрасли еще и в том, что люди уже боятся, что-то делать из-за чудаков, скандалистов прессе которой только и надо жаренное, что над всеми участниками будут смеяться,  придумывать шутки про "Фобос-Тихий океан", упрекать и т.д. В таких условиях остаются только те, кто не боится лишь осваивать ресурсы и ни за что не отвечать (поэтому стараются еще и хапнуть побольше).
При таком подходе никакого желания, что-то делать не появится: зачем специалистам и разработчикам что-то делать с риском неизбежных ошибок.
  • +0.11 / 13
  • АУ