Специалисты Европейского космического агентства (ЕКА) после тщательного анализа телеметрии спуска модуля Schiaparelli, российско-европейской миссии «ЭкзоМарс», обнаружили причину падения устройства. Как оказалось, авария произошла из-за ошибки в работе инерциального измерительного блока. Аппарат должен был опуститься на поверхность Марса 19 октября этого года. Сначала все шло по плану: «Скиапарелли» вошел в атмосферу Марса на расчетной скорости 21 000 км/ч и начал снижать скорость за счет аэродинамического торможения.

Уже на высоте 11 км скорость аппарата снизилась до 1700 км/ч. В это время над «Скиапарелли» развернулся парашют, и через 40 секунд зонд сбросил фронтальную часть защитного кожуха с оплавившимся теплозащитным экраном. Все время спуска устройство отправляло на Землю всю необходимую телеметрию. К сожалению, за 50 секунд до посадки аппарат перестал подавать признаки жизни: сигнал пропал.

Спустя пару дней устройство было признано ЕКА утерянным, через некоторое время ученые обнаружили предполагаемое место падения зонда. Насколько можно понять,
Schiaparelli на большой скорости врезался в поверхность, и, вероятно, взорвался.

Европейские ученые говорят, что во время входа зонда в атмосферу блок, который измеряет угловые скорости, дал основной системе управления неправильные данные о высоте, на которой в то время аппарат находился. Высоту измерительный модуль выдал со знаком «минус», как будто устройство находится ниже поверхности Марса. Управляющий блок среагировал, отстрелив парашют, включив тормозные двигатели и активировав систему посадки. Сразу же включились и приборы, которые должны были работать уже на поверхности Марса.

«Мы знаем, что после того, как сработал парашют, двигатели включились лишь на несколько секунд, после чего Schiaparelli упал с высоты от двух до четырех километров, врезавшись в поверхность Марса на скорости около 300 километров в час», — заявил Маркус Бауэр, представитель ЕКА.

Причины случившегося будут выяснять и дальше — окончательный отчет об аварии будет представлен ЕКА не ранее 2017 года.

В то же время, 19 октября на орбиту Марса успешно вышел еще один аппарат от ЕКА, Trace Gas Orbiter. Это орбитальная система, цель которой — изучение природы возникновения в атмосфере Марса таких компонентов, как метан, водяной пар и другие компоненты. Об их наличии в атмосфере красной планеты известно с 2003 года. Метан вызывает особенный интерес ученых, поскольку этот газ быстро разлагается под воздействием ультрафиолетового излучения (на Марсе довольно сильный уровень УФ-излучения). Таким образом, поскольку метан в атмосфере сохраняется, то он должен постоянно поступать из какого-то источника. Таким источником могут быть либо геологическая активность, либо биохимические процессы биосферы — то есть, живые организмы.



Если Trace Gas Orbiter обнаружит, что метану сопутствуют пропан или этан, это будет косвенным указанием на биологические процессы. Если же в атмосфере красной планете будет обнаружен диоксид серы, то ученые получат косвенное подтверждение генерации метана какими-то геологическими процессами.

Орбитальный зонд поможет также определить регионы Марса, где выделяется метан. Данные необходимы для того, чтобы спускаемый космический аппарат «Экзомарс» совершил в одном из таких мест посадку, где он будет проводить поиск возможной жизни.

На орбитальном аппарате установлены такие научные инструменты:

  • NOMAD (Nadir and Occultation for MArs Discovery) — инфракрасные и ультрафиолетовый спектрометры;
  • ACS (Atmospheric Chemistry Suite) — набор из трёх инфракрасных спектрометров для изучения химии и структуры атмосферы Марса;
  • CaSSIS (Colour and Stereo Surface Imaging System) — камера высокого разрешения (4,5 м на пиксель), способная получать цветные и стереофотографии;
  • FREND (Fine Resolution Epithermal Neutron Detector) — этот детектор нейтронов определит присутствие водорода от поверхности до глубины 1 метр, и таким образом обнаружит места залегания водного льда вблизи поверхности.

Trace Gas Orbiter — часть программы «Экзомарс». В космос аппарат был запущен при помощи ракеты-носителя Протон-М.
Поделиться с друзьями
-->

Комментарии (53)


  1. anticyclope
    24.11.2016 15:39
    +1

    if( altitude < 0.0f )
    {
        jettisonParachute();
        engageLandingEngines();
    }
    


    1. azsx
      24.11.2016 15:42
      -1

      Это шутка?


    1. Oberon812
      24.11.2016 15:47
      +9

      Если высота меньше 0, то там и без дополнительных программ и парашют отстрелит, и двигатели запустит. На пару сотен метров запустит, в разные стороны.


      1. Grox
        24.11.2016 23:55

        Ну ведь аппарат может быть ниже уровня моря, но выше уровня поверхности. Есть старая история про истребитель, у которого ПО заглючило в районе Мёртвого моря.
        PS вот тут ниже


        1. brzsmg
          25.11.2016 08:07

          Какое еще море? Насколько сегодня известно, если оно там и есть, то подземное (Море Южное не считается).
          А значит: «ниже уровня моря» = «ниже уровня поверхности». =)


        1. Oberon812
          25.11.2016 10:06
          +1

          А где сказано, что в расчётах использовался «уровень моря»? Насколько я понял, речь идёт о радиовысотомере, дающем абсолютное значение до препятствия (поверхности) и гироскопе, дающем угловое отклонение.


    1. black_semargl
      24.11.2016 16:55

      if( altitude < 10.0f )
      

      Отстрел предполагался на высоте несколько метров.


      1. anticyclope
        24.11.2016 17:02

        я вот надеялся на такое:

        if( altitude < 0.0f )
        {
            applyFilterToIMUData();
            recalculateAltitude();
        }
        


        1. Rumlin
          24.11.2016 18:28
          +2

          There's No Time To Calculate!


        1. black_semargl
          25.11.2016 01:05
          +1

          altitude = RadarDistance*cos(AngleToNormal)

          Именно последний зашкалил. И его что фильтруй, что не фильтруй — ориентация всё рано утеряна.


  1. diller61
    24.11.2016 15:51
    +2

    переполнение знаковой переменной?


    1. Tujh
      24.11.2016 16:06
      +1

      Было же уже на F-16, опять на те же грабли?


      1. Shadow_Runner
        24.11.2016 17:55

        Извиняюсь за оффтоп, а можно ссылку на статью о F-16? Не один раз слышал эту историю, но поиск нормальных источников не выдает, только упоминания на всякий ресурсах в комментариях.


        1. yosemity
          24.11.2016 19:55
          +3

          http://www.orator.ru/stories_istorii_o.html
          Об ошибках деления на ноль

          Фирма Motorola испытывала новый процессор для автопилота на истребителе в Израиле. Всё было отлажено. Пилоты на испытаниях отправились «огибать рельеф» с севера до юга Израиля. Истребитель прекрасно пролетел на автопилоте над равнинной частью, над горной частью, над долиной реки Иордан и приближался к Мёртвому морю. Однако при подлете к нему неожиданно происходит общий сброс процессора, автопилот выключается на полном ходу, пилоты переходят на ручное управление и сажают истребитель.

          Процессор отправили на доработку и тестирование. Все тесты прошли снова без сбоев. Снова начали реальную проверку. Истребитель пролетел над всеми территориями, но при подлете к Мёртвому морю ситуация повторилась: общий сброс, выключение автопилота, ручная посадка.

          Длительные тесты не могли выявить никаких изъянов. После продолжительных попыток было найдено, что программы автопилота при вычислении параметров управления по глубоко научным секретным формулам производили деление на значение текущей высоты истребителя над уровнем океана. При подлете к Мёртвому морю высота над уровнем океана становилась нулевой (Мёртвое море расположено ниже уровня океана), и процессор при делении на ноль давал общий сброс. До этого случая никому не приходило в голову, что самолеты могут летать ниже уровня океана…


    1. Varkus
      24.11.2016 16:57
      -2

      Кому в голову пришло измерять высоту знаковой переменной?
      Вариант падения в расщелину или глубокий кратер?


      1. Linder666
        24.11.2016 17:02

        В кратер или расщелину, а не проще ли тогда датчик до поверхности поставить, а не до условного уровня моря?


      1. Calc
        24.11.2016 18:59

        есть байка про полет самолете ниже уровня моря. Когда самолет автоматом делает полубочку при пересечении нулевой отметки.


        1. hdfan2
          25.11.2016 07:32
          +1

          При пересечении экватора это было (по ссылке ещё несколько забавных багов).


    1. propell-ant
      24.11.2016 17:01
      +3

      из статьи — оригинала(по ссылке от автора ни слова об отрицательном значении я не нашел, зато она ссылается на эту статью)

      However, saturation – maximum measurement – of the Inertial Measurement Unit (IMU) had occurred shortly after the parachute deployment. The IMU measures the rotation rates of the vehicle. Its output was generally as predicted except for this event, which persisted for about one second – longer than would be expected.

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

      Но переполнение — это да, опять как на F16


      1. anticyclope
        24.11.2016 17:12
        +2

        Судя по всему, предполагалось, что такие всплески могут быть, но ожидалось, что они будут по продолжительности менее секунды.


        1. Rumlin
          24.11.2016 18:33
          +1

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


          1. propell-ant
            25.11.2016 12:07

            Я эту мысль сначала удалил из своего комментария, но сейчас я соглашусь с вами.

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


            1. Rumlin
              25.11.2016 12:35

              По идее закрутка должна была бы быть прекращена.
              По крайней мере так я видел в описании советских посадочных аппаратов.(в видео показано с 2 минут).


  1. Linder666
    24.11.2016 16:59

    Высоту измерительный модуль выдал со знаком «минус», как будто устройство находится ниже поверхности Марса.

    Такие исключения надо проверять. Да и смысл отстреливать парашюты и включать посадочные двигатели, если ты уже «в планете»?


    1. azsx
      24.11.2016 17:17

      Да и смысл отстреливать парашюты и включать посадочные двигатели, если ты уже «в планете»?

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


      1. anticyclope
        24.11.2016 17:24
        +4

        Открыть парашют и отстрелить его — диаметрально противоположные ситуации


    1. horror_x
      25.11.2016 05:28
      +1

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


  1. SpaceEngineer
    24.11.2016 17:34
    +2

    Че-то я не понял, как это он гироскопом измерял высоту?


    1. kgbplus
      24.11.2016 18:22

      В Википедии об этом есть статья «Инерциальная навигация»


    1. SHVV
      25.11.2016 00:41
      +1

      На сколько я понял, гироскопом он измерял угол, под которым смотрит в поверхность, а альтиметром расстояние до неё.

      Как-то так


      1. SpaceEngineer
        26.11.2016 23:02
        -1

        Типа программисты накапливали угол так:

        fi += delta_fi;
        

        а не так:
        fi = fract((fi + delta_fi) / 360.0f) * 360.0f;
        

        Но это ж как должно было закрутить, чтобы float переполнился или тригонометрические функции стали выдавать результат с существенной ошибкой…


        1. SHVV
          26.11.2016 23:42

          Нигде вроде не написано было, что ошибка программная.
          Например, при раскрытии парашюта могло тряхнуть так, что дельта как раз и упёрлась в ограничение и суммарная ошибка быстро накопилась в интеграторе. Без деталей можно ещё долго гадать. Скорее всего, позже более подробный отчёт опубликуют. Сейчас это вроде как предварительное заключение.


        1. SHVV
          26.11.2016 23:48
          +1

          Кстати, да:

          “This is still a very preliminary conclusion of our technical investigations,” says David Parker, ESA’s Director of Human Spaceflight and Robotic Exploration. “The full picture will be provided in early 2017 by the future report of an external independent inquiry board, which is now being set up, as requested by ESA’s Director General, under the chairmanship of ESA’s Inspector General.


        1. black_semargl
          27.11.2016 02:58

          Сильно не уверен, что в контроллере аппарата есть float
          Скорей отмасштабированное целое…


          1. lingvo
            27.11.2016 11:05

            Не знаю насчет того компьютера, что управлял спуском(RTPU), но в другом компьютере(CTPU) стоял процессор LEON на базе SPARC, такой же стоял и в высотном радаре. У них есть FPU, поэтому я удивлюсь, если в 2-ух из трех компьютеров есть float, а в третьем нет.
            http://spaceflight101.com/exomars/schiaparelli-edm/


  1. perfect_genius
    24.11.2016 20:13
    -5

    Для бортовых самописцев там места обычно не хватает?


    1. tangro
      24.11.2016 22:36
      +5

      Эм… да, так-то следующий марсоход мог бы сгонять к этому и забрать самописец.


      1. Pakos
        25.11.2016 11:13

        Или блинчик из самописца (сувенир). Тут как повезёт.


    1. LoadRunner
      25.11.2016 16:40

      Если Вы под бортовыми самописцами понимаете всевозможную телеметрию, то её там полно.


  1. Valerij56
    24.11.2016 23:00

    Да, абсолютно не понятно, почему на посадочном модуле тупо не поставили радиовысотомер…

    Надеюсь, в будущем эту ошибку учтут.


    1. SHVV
      24.11.2016 23:48

      Радиовысотомер там тупо был:

      As Schiaparelli descended under its parachute, its radar Doppler altimeter functioned correctly...

      Но, на сколько я понимаю, сам высотомер может намерить что угодно, если аппарат кувыркается, по-этому его дополняли инерциальной системой, которая быстро зашкалила из-за слишком долгого вращения и высота посчиталась неверно. Но всё равно до конца не понятно.


  1. ababich
    24.11.2016 23:45
    +3

    блок, который измеряет угловые скорости, дал основной системе управления неправильные данные о высоте,

    Странно, Муму написал Тургенев, а памятник поставили Пушкину.


  1. DROS
    25.11.2016 11:03

    А мне вот интересно, что потом происходит с тем человеком, кто допустил подобный баг? Это же определенный участок кода, а не какой-то электронный блок, который делала куча народа. Ну ладно, пусть не 1 человек, двое скажем.


    1. Pakos
      25.11.2016 11:17
      +1

      Он больше его не допускает. Если там были тесты, которые по ТЗ говорили «блок должен определять угол к поверхности после окончания вращения зонда», а зонд вращался, то формально ТЗ соблюдено и код написан верно. Если условия не соблюдены, то должен был сработать assert и… программа упасть? Так она и упала, прямо на Марс. Ну разве что лог на Землю отправить — «я не знаю где я, я не знаю кто я», но судя по результатам что-то такое и пришло.


    1. Alexeyslav
      25.11.2016 11:28

      Тут вобщем-то вся команда ответственна. Не в конкретном баге дело, а в допущениях которые как оказалось в реальности были превышены. В следующем ТЗ это учтут.
      А собственно и электроника и код отработали как надо(в пределах заранее оговоренных возможностей) — а их просматривали и утверждали сотни человек а не два.
      Собственно, потерять аппарат могли и из-за пробившего его метеора…
      Интересное тут то что выяснили причину и постараются в будущем её избежать. Потеря аппарата конечно печальна но это не конец всей миссии, а только небольшой её части.


    1. hdfan2
      25.11.2016 12:14
      +2

      Читал байку про одного программиста, который сделал баг, стоивший конторе (условно) миллион долларов. Его позвали к начальству, и он уже решил, что его в лучшем случае уволят, а то и расстреляют. Но начальник просто попросил его быть аккуратней. Удивлённый программист спросил:
      — А вы что, не уволите меня?
      — С чего это вдруг?! Мы же только что потратили на твоё обучение миллион долларов!


      1. Jeka_M3
        26.11.2016 01:18
        -1

        Была здесь статья про сотрудника Google — https://geektimes.ru/post/252718/


  1. ittakir
    25.11.2016 17:21
    +1

    Детский сад какой-то.
    Время падения аппарата более-менее точно известно.
    И если он должен падать, например, 5 минут, а высотомер (вся система в совокупности, радар, инерциалка) на первой минуте выдает отрицательную высоту, то нужно просто игнорировать его показания. Спокойно продолжать отсчитывать положенные 5 минут. Если высотомер заработает — прекрасно, все идет по плану. Если нет, то через 5 минут раскрываем парашют и ждем удара.

    Ну не должен парашют еще в космосе раскрываться, не должен, не при каких обстоятельствах!


    1. Jeka_M3
      26.11.2016 01:17

      del


    1. black_semargl
      26.11.2016 18:09

      Парашут уже сбросили, дальнейший спуск на движках.
      Если игнорировать показания — то всё равно разобьётся, потому как не будет знать свою ориентацию.


  1. Rumlin
    25.11.2016 18:28
    +1

    Schiaparelli создавался Итальянским космическим агентством, а ответственным за его испытания перед запуском выступала компания Arca Space, которая не провела воздушное тестирование. Итальянцы после крушения аппарата обвинили румынов в ненадлежащей проверке Schiaparelli. На это в Arca Space им ответили, что Европейское космическое агентство само рекомендовало им ограничиться компьютерной симуляцией вхождения аппарата в марсианскую атмосферу и не проводить опыты с прототипом Schiaparelli. Между тем изначально тестировать десантный модуль планировалось в Швеции, однако из экономии испытания доверили малоизвестной Arca Space.

    https://lenta.ru/news/2016/11/25/exomars/


    1. hdfan2
      26.11.2016 04:29

      Самая мякотка из статьи по ссылке:

      Румынская компания Arca Space обвинила Россию в невозможности проведения испытаний в атмосфере Земли десантного модуля Schiaparelli перед его запуском к Марсу, который состоялся весной 2016 года. Об этом сообщает Румынское национальное агентство новостей Agerpres.

      «Мы сделали все возможное, и тот тест, о котором они (Итальянское космическое агенство — прим. «Ленты.ру») говорят, заставил бы нас совершить полет вблизи российской военной базы в Севастополе. В то время Россия только что аннексировала Крым, и мы могли бы спровоцировать конфликт между Россией и НАТО», — ответил Думитру Попеску, руководитель Arca Space, на претензии со стороны Итальянского космического агентства.

      Россиянка гадит.


      1. Rumlin
        26.11.2016 07:50

        Я б еще поверил, например, про шведов, у которых не получилось испытать по некой причине на Балтике, но если это итальянцы и румыны, то я больше поверю, что они хотели друг друга… ать. И приведенные в статье «а мы сказали, а они сказали, а эти помешали» идеально подходят под это гипотезу.