Добавить в корзинуПозвонить
Найти в Дзене
Наука за 5 минут

Как NASA потеряло аппарат за $125 млн у Марса: ошибка была в единицах измерения

Спутник за 125 миллионов долларов летел к Марсу почти десять месяцев. А потом исчез. Не из-за астероида, не из-за марсиан и даже не из-за того, что космос снова показал характер. История Mars Climate Orbiter куда обиднее: аппарат погубила ошибка в единицах измерения, а точнее целая цепочка людей и систем, которые слишком долго считали, что все и так друг друга поняли. 11 декабря 1998 года NASA запустило Mars Climate Orbiter в рамках программы Mars Surveyor 98. По данным NASA, у аппарата была вполне серьезная работа. Он должен был изучать атмосферу Марса, следить за погодой, за пылью и за водяным паром, а заодно служить ретранслятором связи для другой миссии. То есть это был не просто дорогой космический турист, а важный рабочий инструмент на орбите другой планеты. И все шло нормально. Почти. 23 сентября 1999 года аппарат подошел к Марсу и должен был выполнить один из самых важных этапов миссии, выход на орбиту. Это всегда нервный момент. Вы посылаете машину за десятки миллионов километ
Оглавление

Спутник за 125 миллионов долларов летел к Марсу почти десять месяцев. А потом исчез. Не из-за астероида, не из-за марсиан и даже не из-за того, что космос снова показал характер. История Mars Climate Orbiter куда обиднее: аппарат погубила ошибка в единицах измерения, а точнее целая цепочка людей и систем, которые слишком долго считали, что все и так друг друга поняли.

Зачем вообще был нужен Mars Climate Orbiter

11 декабря 1998 года NASA запустило Mars Climate Orbiter в рамках программы Mars Surveyor 98. По данным NASA, у аппарата была вполне серьезная работа. Он должен был изучать атмосферу Марса, следить за погодой, за пылью и за водяным паром, а заодно служить ретранслятором связи для другой миссии. То есть это был не просто дорогой космический турист, а важный рабочий инструмент на орбите другой планеты.

И все шло нормально. Почти.

Момент, когда начался детектив

23 сентября 1999 года аппарат подошел к Марсу и должен был выполнить один из самых важных этапов миссии, выход на орбиту. Это всегда нервный момент. Вы посылаете машину за десятки миллионов километров, она летит месяцы, а потом все решают точные расчеты, двигатели и несколько критических минут.

-2

По данным NASA, ожидаемая высота прохода была в безопасном диапазоне, примерно 140-150 километров над поверхностью. Но связь с аппаратом пропала.

Сначала никто не сказал: "А, да это просто единицы". В реальных катастрофах так почти не бывает. Всегда хочется найти что-то драматичное. Сбой двигателя. Ошибку навигации. Проблему с моделью атмосферы Марса. Непредсказуемое поведение аппарата. Космос вообще удобен тем, что на него легко все свалить. Он далеко, молчит и в суд не подаст.

Почему ошибку не заметили заранее

Но если ошибка была такой простой, почему ее не поймали задолго до Марса?

Вот тут история становится особенно интересной. Официальное расследование NASA, которое проводила Mars Climate Orbiter Mishap Investigation Board, показало: проблема сидела не в каком-то мистическом сбое на подлете к планете. Она жила в земной рутине. В программном интерфейсе. В обмене данными. В той самой зоне, где люди чаще всего говорят: "Да ладно, формат потом согласуем".

Где именно все пошло не так

Если совсем коротко, одна команда работала с импульсом в pound-force seconds, то есть в британской системе единиц. Другая ждала те же данные в newton-seconds, то есть в метрической системе. Это важная деталь. В популярных пересказах часто пишут, что один отдел считал в милях, а другой в километрах. Звучит красиво, но это не точно.

-3

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

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

По данным отчета комиссии, программное обеспечение, связанное с наземной системой и подготовленное Lockheed Martin, выдавало данные в pound-force seconds. А навигационная группа NASA использовала их так, будто это newton-seconds. Ошибка не устроила красивый взрыв в тот же день. В этом и коварство. Она тихо накапливалась, понемногу смещая расчеты траектории.

Никакой кинематографичной сирены. Никакого инженера, который вскакивает и кричит: "Стойте, у нас тут фунты!" Только небольшое расхождение, потом еще одно, потом еще.

Настоящая причина была глубже

И тут самое неприятное: проблема была не спрятана в глубинах космоса. Она сидела в документах и интерфейсах на Земле.

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

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

-4

Иначе говоря, миссию погубила не одна неверная строка. Ее погубила среда, в которой такая строка смогла прожить слишком долго.

Звучит безумно? Но именно так и ломаются сложные проекты.

Что произошло у Марса

Когда комиссия свела цифры, стало ясно: аппарат шел к Марсу по траектории, которую никто не проверил как единое целое. По расчетам безопасный проход должен был быть гораздо выше. По итогам расследования NASA пришло к выводу, что реальная высота оказалась около 57 километров.

Для орбитального аппарата это уже слишком низко. После такого прохода Mars Climate Orbiter, вероятно, либо разрушился в атмосфере Марса, либо вышел на траекторию, с которой уже не смог восстановить связь. NASA в своих материалах формулирует это осторожно, и это правильно. В науке и инженерии лучше аккуратная точность, чем эффектный, но лишний драматизм.

Тут хочется вставить самую дорогую в мире фразу: "Мы думали, что оно в другой системе единиц".

Почему эта история до сих пор актуальна

Но было бы слишком удобно посмеяться над американской любовью к фунтам и дюймам и разойтись. Да, шутка напрашивается сама. Человечество научилось запускать роботов к Марсу, но договориться о единицах все еще не всегда может. Это смешно. Ровно до того момента, пока не посмотришь на любую большую систему вокруг себя.

-5

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

И если у системы нет встроенного вопроса "мы точно говорим об одном и том же?", начинается лотерея. Иногда страдает отчет. Иногда пациент. Иногда спутник у Марса.

Главный вывод

Вот почему история Mars Climate Orbiter так хорошо пережила 1999 год и спокойно дожила до 2026 года. Это не байка про один нелепый промах. Это учебник по инженерной скромности. Он напоминает: сложность убивает не только там, где много формул. Она убивает там, где люди начинают доверять знакомым процессам больше, чем проверке.

Кстати, в этом и есть парадокс больших технологий. Чем система сложнее, тем сильнее соблазн думать, что уж базовые вещи точно под контролем. Никто же не станет спорить о единицах, верно? Именно поэтому о них и перестают спорить. А потом комиссия пишет отчет, который читают студенты, инженеры и все, кто хоть раз в жизни открывал Excel с самоуверенным лицом.

Главный вывод тут довольно приземленный, и потому особенно ценный. Mars Climate Orbiter не погиб из-за одной "глупой мелочи". Он погиб потому, что маленькая ошибка прошла через подрядчика, программный интерфейс, навигационные расчеты и управленческие решения, не встретив вовремя жесткого стоп-сигнала. То есть миссию уничтожила не путаница сама по себе, а разрешение этой путанице существовать.

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

Так что в следующий раз, когда увидите в рабочем чате сообщение вроде "единицы, думаю, очевидны", отнеситесь к нему с уважением. Где-то в архиве NASA эта фраза уже звучит как начало очень дорогого детектива.