26 марта космический аппарат завершил маневр по подготовке к наблюдению квазара Маркарян 205. Attitude Control System (ACS) начала использовать данные системы Star Tracking (STT) для управления положением спутника. В это же время другая система позиционирования Inertial Reference Unit (IRU) должна была обновить данные для STT. Это вероятно не произошло.
В этот момент аппарат проходил Бразильскую магнитную аномалию и как в случае с Фобос-Грунт, повышенный уровень радиации нарушил работу бортовой электроники, а отсутствие в этом регионе связи с наземными службами не позволило вмешаться в работу системы управления космическим аппаратом.
Системы STT и IRU имели разные данные о высоте полета спутника. В этом случае IRU имеет приоритет, но его данные были ошибочны — система считала, что аппарат вращается со скоростью 20 градусов в час, чего на самом деле не было. Космический аппарат пытался остановить несуществующее вращение с помощью маховиков инерциальной системы ориентации. Но ранее была допущена роковая ошибка — в конфигурацию спутника была внесена ошибка и работа инерциальной системы ориентации только создавала нарастающее вращение спутника.
Достигнув аварийных значений система перешла в аварийный режим “Safe Hold” и попыталась остановить вращение двигателями ориентации. Но опять эта же самая программная ошибка, вместо остановки вращения, еще более ускорила вращение. Сильное вращение вызвало нагрузки и деформации превышающие расчетные, что вызвало разрушение космического аппарата с отрывом солнечных панелей.
Комментарии (42)
ittakir
02.05.2016 12:47+3Проблема, как я понял из текста, не в том, что IRU имел приоритет и выдавал ошибочные данные, а в том, что в программе ошиблись и поменяли минус на плюс и маховики начали вращаться в другую сторону.
Примерно как у нас, когда датчик положения ракеты впендюрили вверх ногами.Rumlin
02.05.2016 12:52По-моему получается, что если бы STT и IRU имели одинаковые данные о высоте, то из IRU не были вычитаны данные среди, которых были ошибочные данные о вращении. А дальше запустилась ошибка «плюс-минус». Возможно бы эту ошибку перезаписали бы на правильное значение в будущем, продержись аппарат дольше.
pnetmon
02.05.2016 13:21+1>>Согласно официальной версии причина выхода из строя спутника заключается в отделении солнечных панелей от аппарата, которые должны были обеспечивать дорогостоящее оборудование энергией.
Это не причина, это последствие.
О какой высоте полета речь?
Столько ссылок, но все чей-то пересказ без источников JAXA
temonix
02.05.2016 13:54Бедный программист, который допустил эту ошибку. И его начальник. Надеюсь им не позволили сделать харакири…
Sun-ami
02.05.2016 14:42+6Тут, скорее, проблемы организационного характера — настолько грубую ошибку выявило бы любое тестирование. Значит этот код либо вообще не тестировался, либо в тестовой модели также попутали + на -. А это может говорить о том, что ошибка была допущена на этапе проектирования.
VitalyNasennik
04.05.2016 11:25В книге Б.Чертока «Ракеты и люди» описывался похожий косяк. Двигателисты сделали двигатели ориентации, автоматчики сделали систему управления этими двигателями, на стендах каждый отдел свои изделия полностью протестировал, правда, у этих отделов оказалось разное представление о том, что означает «по часовой стрелке», в смысле, куда при этом ориентирована ось корабля…
dom1n1k
02.05.2016 16:16+3Владимир Пирожков рассказывал, что когда он работал в компании Тойота, какой-то его косяк стоил пару миллионов долларов (дешевле спутника, но всё же). Так у них там философия такая, что после такого случая ценность сотрудника повышается, потому что повторно он такую же ошибку уже не совершит ни при каких условиях.
hdfan2
02.05.2016 18:25+2Слышал ещё одну историю, возможно, вариант этой же. Там тоже программист сделал ошибку на много миллионов долларов. Когда его вызвали к начальнику, он зашёл на трясущихся ногах и сразу спросил:
— Меня увольняют?
На что начальник с удивлением ответил:
— Ещё чего! Твоё обучение только что стоило нам несколько миллионов долларов! Иди, работай.
P. S. Сам лично несколько лет назад делал косяк, приведший к несколькочасовому простою очень крупного финансового учреждения, так что представляю себе, чтО это. Но меня даже к начальству не вызвали. Урок усвоил, да.Wesha
02.05.2016 22:50Однажды (когда только начинал работать в одной фирме), я по незнанию перепутал коды операции — вместо того, чтобы начислять энную сумму на счёт клиента, система эту сумму со счёта снимала. Не уволили, работаю долго и плодотворно :)
Mixim333
03.05.2016 15:27У начальника этого программиста расчет верный — теперь разработчик будет не только работать очень продуктивно, но и будет знать важность тестирования.
Сам, как-то раз не учел, что разделитель дробной и целой части может быть '.' (точка) и ',' (запятая) — приложение отработало за ночь, а результатов нет, начал смотреть логи: «FormatException...» (сервер, отправляющий данные, работал в английской локали, сервер, на котором крутилось приложение — в русской). С тех пор стараюсь тестировать свои приложения в разных локализациях.
CyberAndrew
02.05.2016 22:41С одной стороны да, он усвоил урок и не совершит подобную ошибку. Но есть обратная сторона медали: если человек совершает такую дорогую и, возможно, глупую ошибку, значит он большой косипор, у него руки из попы, значит вероятность что он опять совершит ошибку — высока. Где правда?
Rumlin
03.05.2016 14:28«За одного битого двух небитых дают» — опытный человек, научившийся на своих ошибках, за которые пришлось отвечать или быть наказанным, дороже, ценнее многих неопытных.
CyberAndrew
03.05.2016 15:14Вот только эта пословица не всегда верна. Некоторые не умеют (или не хотят) учиться. Именно таких называют «руки из *опы». Они постоянно будут наступать на одни и те же грабли.За одного такого битого я бы и десятой части небитого не дал бы.
TriKrista
04.05.2016 17:37+1Судя по этой фразе
повышенный уровень радиации нарушил работу бортовой электроники
, проблема возникла на аппаратном уровне, поэтому, не программист виноват, а архитектор микросхем или те кто отвечал за их изготовление.amartology
04.05.2016 18:26+1Вот у меня та же мысль возникла при прочтении, что там причина проблем — это все же хард, а не софт.
olartamonov
02.05.2016 15:01+6Ariane 5, у которой на старте в софтине честный exception при приведении типов переменных случился, по красоте всё же ещё долго никому не переплюнуть: https://www.youtube.com/watch?v=gp_D8r-2hwk
Как говорилось в анекдоте, «в шестом знаке ошибка — а такой эффект!»neolink
02.05.2016 18:15да ладно, протоны бабахают не хуже: https://www.youtube.com/watch?v=Zs2qkpnFc2c
olartamonov
02.05.2016 19:17+6Там грубая сила, кувалда, вот это всё.
А Ariane уронили фактически одной строчкой кода. Красивая работа.
solariserj
02.05.2016 18:06+1Cколько cлышу о потерях из-за мертвой зоны в Южной Америке при работе спутников, нельзя там поставить управляющую антену где-то в Бразилии/Аргентине?
pnetmon
02.05.2016 19:24+2Кажется там проблема не в отсутствии антенн и возможности управления, а из-за природных процессов влияющих на электронику.
Basil_BF
02.05.2016 22:23Давайте по честному из-за природных процессов показывающих компетенцию разработчиков ПО и железа. Природа не виновата
Eklykti
02.05.2016 22:41Если все знают, что там аномалия, почему аппараты, летающие над тем местом, не снабжаются соответствующей защитой?
ZhenyaZero
03.05.2016 09:54+1Вероятно, защита существенно увеличит стоимость/массу аппарата. Если, к примеру, шанс потерять спутник 2%, а защита увеличит стоимость втрое, никто не будет её ставить. Просто запустят ещё один в случае неудачи.
amartology
04.05.2016 18:24Вообще это место стараются просто не пролетать, потому что соответствующая защита получается слишком дорогая.
vmarunin
02.05.2016 23:51+1Кому поставить? Наши и Японцы — разные люди.
Вроде наши хотели повтыкать наземных станций, оно и для ГЛОНАСС очень полезно, но не получается. Интересно, может ли Роскосмос использовать хоть что-то в Куру.
Чего хотят Японцы я не знаю.
В СССР был целый флот (11 судов) для приёма телеметрии и управления. 2000 год пережило только одно судно (в Калининградском музее)ksr123
03.05.2016 04:08+1Простите, при всем уважении к японцам, ни в коем случае не нужно нарушать правила русского языка и писать название национальности с большой буквы!
Rumlin
03.05.2016 14:54Кстати говоря над последним была недавно угроза утилизации http://kik-sssr.ru/News.htm
В результате проделанной работы были получены ответы:
— из Министерства культуры с выводом экспертизы о включении выявленного объекта научно-исследовательского судна «Космонавт Виктор Пацаев» в Единый государственный реестр объектов культурного наследия (памятников истории и культуры) народов Российской Федерации как памятника истории федерального значения.
— из Министерства транспорта о продлении срока Классификационного свидетельства на судно до 23.08.2020 г., а также о не возражении включения судна в Единый государственный реестр объектов культурного наследия народов Российской Федерации.
Таким образом, легендарный корабль символов продолжит своё зримое свидетельство славной космической истории Отечества.
mpeg
03.05.2016 13:52Очень жаль! Цепь нескольких сбоев сложилась в потерю спутника. Разработчики плохо сделали свою работу.
potan
04.05.2016 17:22Интересно, почему аппаратуру исследовательских кораблей не делают совместимой с коммерческими спутниками связи, которых на орбите пруд пруди? Можно было бы поддерживать связь постоянно, даже без специального наземного оборудования.
Sun-ami
04.05.2016 18:02Антенны для коммерческой передачи данных у геостационарных спутников — узконаправленные, в океане и малонаселённых районах покрытия нет. Подходят только низкоорбитальные спутники.
miksoft
Rumlin
У КА Фобос-1,-2 было три компьютера, которые принимали решение голосованием. У компьютеров был брак в блоках питания (заводской брак конденсаторов) и компьютеры из-за этого сбоили, но сбоили не одновременно и один из КА почти всю миссию выполнил.
mydoom
А можно пруф?
miksoft
Я про это читал еще в доинтернетные времена. Сейчас удалось найти такую ссылку — Головнин и хронометры
mydoom
Да, но там же написано, что в уплату Головнин отдал один хронометр, оставив на борту два.
Я это все к тому, что, на мой взгляд, гораздо логичнее усреднять время по двум хронометрам, чем сознательно от одного из них отказываться и полагаться на один.
miksoft
Ну так это было уже в процессе плавания по причине форс-мажорных обстоятельств, а не при выходе из родного порта в плавание.
Усреднять, имхо, имело бы смысл, если бы погрешность хронометров распределялась по нормальному закону. Однако для хронометров (как и для космических систем) характерны поломки/баги, из-за которых становится вероятна большая ошибка в показаниях. В результате чего усреднение двух сильно различающихся показаний приведет только к тому, что результат будет гарантированно неверным. Поэтому чаще применяется мажоритарная система, для которой нужно не менее трех приборов. А моряки, может, брали бы и больше хронометров, да только они стоили огромных денег.
Dmitry_Dor