Ошибки мировой космонавтики
Похожая проблема имела место во время старта ракеты-носителя «Союз-2.1б» с 19 спутниками в 2017 году. Только число было не огромное и в память компьютера вполне влезало, проблема в другом. Для начала рассмотрим детскую загадку. Медведь прошел на север 1 км, затем на юг 1 км, а потом на восток 1 км и оказался в том же месте, откуда стартовал. Какого цвета медведь? Ответ: белый, а ситуация произошла на Северном полюсе. При вращении и движении на сфере работают совершено иные математические принципы расчета, нежели при движении на плоскости. Это сложнейшая проблема, и она успешно решается автоматическим системами, но не в тот раз. Старт «Союза-2.1б» был первым с нового космодрома «Восточный». Ранее эти ракеты-носители уже неоднократно запускались с космодрома Байконур и прекрасно себя показывали. Программное обеспечение тестировалось и проверялось в течение двадцати лет. Однако ошибка при этом пуске возникла. Дело в том, что Восточный находится севернее Байконура. Угол, под которым ракета стартует относительно Земли, соответственно, тоже другой. При пуске с Байконура ракета-носитель должна так огибать Китай, чтобы ее ступени не падали на территории этого государства. При старте с Восточного это не требуется. В итоге после запуска разгонный блок вышел на опорную орбиту. Основным спутником в связке из 19 аппаратов был «Метеор-М» № 2–1. Его задачей являлись метеорологические наблюдения. Для этого спутнику требуется выйти на солнечно-синхронную околополярную орбиту – это орбита, при нахождении на которой спутник будет совершать целое число оборотов вокруг планеты за сутки, то есть через сутки возвращаться в то же положение относительно Земли и Солнца. При этом в каждом своем обороте «Метеор-М» № 2–1 должен был пролетать от полюса к полюсу. Условий много. Просуммировав все углы из базы данных, одна автоматическая система рассчитала, что для выхода на нужную орбиту аппарату нужно выполнить поворот на угол в 362°. Другая система, используя данные не из памяти, а от солнечных датчиков, определила, что после разворота на 2° можно начитать другие маневры. С точки зрения математики повороты на 362° и на 2° приведут в одно и то же положение, однако в первом случае требуется совершить целый лишний полный оборот (360°), без которого прекрасно можно обойтись во втором случае. После ориентации двигатель разгонного блока должен был включиться и отправить спутники на запланированную для них орбиту, но сделал он это, пока спутники еще не успели повернуться полностью. Разгонный блок зафиксировал необходимый угол в 2° и дал команду, но не учел, что связка еще продолжает вращаться. В результате неправильной ориентации маневр оказался не разгоняющим, а тормозящим (см. главу «Орбиты, инерция и гравитация»). Спутники полетели назад на Землю. В случае с космодромом Байконур эта ситуация была бы невозможной, так как он южнее и сумма углов не могла быть больше 360°. Поэтому ошибку не находили в течение двадцати лет. Да и в случае с Восточным инженеры тоже не сразу могли разобраться с проблемой. Если бы старт был в другое время года или в другое время суток, угол между Солнцем и выведенным спутником был бы иным и проблемы бы тоже не возникло.
Еще одна ошибка с неверно введенной информацией была допущена во время эксперимента по лазерной локации миссии шаттла «Дискавери 51-G». На корабле был установлен уголковый отражатель – своего рода зеркало. На наземной станции на горе Халеакала имелся мощный лазер. Луч света должен был пройти путь от него, отразиться от корабля и вернуться назад. Ученые могли определить время движения лазерного луча и, умножив его на скорость света и разделив пополам, вычислить расстояние до шаттла с очень высокой точностью. Однако шаттл должен был развернуться к горе так, чтобы ученые лазером могли попасть в зеркало. Он этого не сделал, так как в компьютер ввели неверную высоту обсерватории. Было загружено значение 9000, что, в общем-то, верно, если измерять в футах, но бортовой компьютер считал в морских милях (9000 футов = 2,743 км, 9000 миль = 16 668 км). Отражатель на шаттле был направлен в сторону космоса, а не в сторону вершины горы. В следующий раз ошибку астронавты исправили, и ученые смогли попасть лазером в шаттл.
Следующая ошибка тоже совершена человеком. В рамках миссии шаттла «Колумбия STS-87» планировалось запустить спутник Spartan-201. Это было сделано, но только во время подготовки астронавт Чаула Каплана забыла включить компьютер системы управления на борту аппарата. Чтобы исправить свою ошибку, она попробовала специальным манипулятором поймать спутник, пока он далеко не улетел. Однако здесь ждала еще одна ошибка. Программа роботизированной руки предполагала включение захвата только в определенном положении. Каплана запустила манипулятор преждевременно и вместо того чтобы поймать Spartan-201, она его толкнула. Тот раскрутился. Теперь аппарат не только невозможно было поймать, но он стал еще и представлять опасность для корабля. На время астронавты от него отлетели. Через несколько дней была разработана спасательная операция. У. Скотт и Т. Дои вышли в открытый космос и поймали спутник руками. Это оказалось несложно, так как аппарат угомонился и практически перестал вращаться за счет системы стабилизации, а в невесомости массу спутника в одну тонну можно легко удерживать. Однако возник вопрос, а что делать дальше? Астронавты почти час просто держали спутник в руках, пока не получили дальнейшие указания. Скотт позже пошутил: «Мне пришлось задержаться, чтобы прихватить спутник. Я буду дома к ужину». В итоге астронавты потратили на операцию времени в десять раз больше запланированного.
В космонавтике, разумеется, нужно все предусматривать и дублировать. Но, как говорится в пословице, у семи нянек дитя без глазу. Для первого полета шаттла «Колумбия» инженеры разработали систему с четырьмя компьютерами IBM AP-101, которые дублировали друг друга. Важный момент: все четыре работали по одной и той же схеме. У инженеров возникло опасение, что если в основе проектирования компьютеров была допущена ошибка, то они могут все выйти из строя. Было предложено простое решение – добавить пятый компьютер, работающий иначе, чем все остальные. Он должен будет взять управление в случае выдачи других команд от IBM AP-101. Вот только оказалось, что он как раз работает неправильно. В его программе с самого начала работы стояла функция задержки, которая не давала процессору перегружаться задачами. На остальных компьютерах такой задержки не было. Рассинхронизация по времени привела к рассинхронизации результатов расчетов. Поскольку результаты работы четырех основных БЦВМ отличались от результатов резервной, то все системы переключились именно на резервную вычислительную машину, которая работала медленно и неверно. Хорошо, что это обнаружилось еще во время подготовки. Проблема была в том, что задержка незначительная, но с каждой секундой полета она становилось бы больше. Во время предустановочных испытаний на стендах инженеры проблему не нашли, но благодаря длительным тестам ошибка успела накопиться и стать заметной за несколько часов до старта. Если бы программисты сбросили и перезапустили компьютер перед стартом, как это обычно и бывает, то ошибку обнаружили бы только после аварии. В данном случае единственной проблемой была задержка, которая привела к тому, что первый в истории старт шаттла выпал на 12 апреля, годовщину первого пилотируемого полета в космос. Исправление представляло собой схему голосования «три из пяти», то есть системы корабля будут работать от трех и более синхронизированных компьютеров.
Благодаря многократному дублированию о состоянии компьютеров в дальнейшем не переживали. В итоге почти в каждом полете шаттла один-два из пяти отказывали. Были случаи и на грани катастрофы. Например, перед стартом шаттла «Колумбия» для миссии STS-5 на космодроме прошел ливень. Все залило, в том числе и компьютер. Астронавты просушили систему, но, как потом оказалось, сильно это не помогло. Старт был проведен после полной замены вычислительной техники.