Рокот - Cryosat

Автор mike, 08.10.2005 17:01:29

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Cтарый

ЦитироватьНу и где его программировали ? ... не в Хартроне же
А победы много отцов. И только поражение - сирота. (с) не помню кто :(

Andy_K64

Agent, на всех модулях ОС на базе ФГБ, которые делал ГКНПЦ (ранее КБ "Салют"), стоит СУ от "Хартрона". И всегда полетные задания для него делали харьковчане. И всегда они отрабатывали его на своем стенде. Поверь, я об этом знаю не по наслышке. Просто такая кооперация у ГКНПЦ традиционная. Кстати, я не вижу в этом ничего плохого, это обычная практика. А твоя цитата ничего вообще не доказывает. Я то свое мнение хотя бы обосновал.  :wink:

Cтарый

Энди, так ты хочешь сказать что в этот раз хруники решили сами? ;)

Andy_K64

ЦитироватьЭнди, так ты хочешь сказать что в этот раз хруники решили сами? ;)
Не понял вопроса. Ты уж как-то поточнее спроси. А то я сегодня полдня разбирался с некими ремонтами в орбитальных условиях (причем, реальных, не мифических), устал аки пес. И потому настало торможение в мыслительном механизме  :)

Agent

ЦитироватьА твоя цитата ничего вообще не доказывает. Я то свое мнение хотя бы обосновал.  :wink:
Как же. Отсутсвие претензий к Хартрону доказывает все :)

Andy_K64

Цитировать
ЦитироватьА твоя цитата ничего вообще не доказывает. Я то свое мнение хотя бы обосновал.  :wink:
Как же. Отсутсвие претензий к Хартрону доказывает все :)
А что, там есть претензии к конкретной организации? Я этого не нашел.

Agent

Цитировать
Цитировать
ЦитироватьА твоя цитата ничего вообще не доказывает. Я то свое мнение хотя бы обосновал.  :wink:
Как же. Отсутсвие претензий к Хартрону доказывает все :)
А что, там есть претензии к конкретной организации? Я этого не нашел.
В том то и дело. Раз не озвучены - знач Хруничев почти наверняка

Andy_K64

Цитировать
Цитировать
Цитировать
ЦитироватьА твоя цитата ничего вообще не доказывает. Я то свое мнение хотя бы обосновал.  :wink:
Как же. Отсутсвие претензий к Хартрону доказывает все :)
А что, там есть претензии к конкретной организации? Я этого не нашел.
В том то и дело. Раз не озвучены - знач Хруничев почти наверняка
Это твой домысел. Хотя, скорее всего так и есть. Но Харьков наверняка замазан. Хруничев не умеет ПЗ считать, да еще на стенде отрабатывать (нету там таких стендов). Это я точно знаю.

Agent

ЦитироватьЭто твой домысел. Хотя, скорее всего так и есть. Но Харьков наверняка замазан. Хруничев не умеет ПЗ считать, да еще на стенде отрабатывать (нету там таких стендов). Это я точно знаю.
Харьков замазан не поэтому.
Набери в Гугле  - CryoSat Хартрон

Cтарый

Цитировать
ЦитироватьЭнди, так ты хочешь сказать что в этот раз хруники решили сами? ;)
Не понял вопроса. Ты уж как-то поточнее спроси. А то я сегодня полдня разбирался с некими ремонтами в орбитальных условиях (причем, реальных, не мифических), устал аки пес. И потому настало торможение в мыслительном механизме  :)
Ну как же! Элементарная логика: когда делают харьковчане - не ломается. Значит когда ломается то что? Правильно! ;) :)

 Если б причина была в Хартроне можно представить что бы было. Так же как и если б причина аварии Молнии была в двигателе. ;)

Cтарый

ЦитироватьХруничев не умеет ПЗ считать, да еще на стенде отрабатывать (нету там таких стендов). Это я точно знаю.
Ну вот и причина аварии. :) ;)

Agent

Цитировать
ЦитироватьХруничев не умеет ПЗ считать, да еще на стенде отрабатывать (нету там таких стендов). Это я точно знаю.
Ну вот и причина аварии. :) ;)
Гугль по поиску только на 3 странице дает ответ

ЦитироватьОднако руководство НПО «Хартрон» считает обвинения в свой адрес некомпетентными. Генеральный директор ОАО «Хартрон» Николай Вахно сообщил, что разгонный блок «Бриз-КМ» сработал так, как и должен был в данной ситуации. Система управления для него действительно разработана харьковскими специалистами, однако программировали ее россияне.

Все что гугль выдает вначале - прямые и непрямые намеки на вину Хартрона

Andy_K64

Цитировать
Цитировать
ЦитироватьХруничев не умеет ПЗ считать, да еще на стенде отрабатывать (нету там таких стендов). Это я точно знаю.
Ну вот и причина аварии. :) ;)
Гугль по поиску только на 3 странице дает ответ

ЦитироватьОднако руководство НПО «Хартрон» считает обвинения в свой адрес некомпетентными. Генеральный директор ОАО «Хартрон» Николай Вахно сообщил, что разгонный блок «Бриз-КМ» сработал так, как и должен был в данной ситуации. Система управления для него действительно разработана харьковскими специалистами, однако программировали ее россияне.

Все что гугль выдает вначале - прямые и непрямые намеки на вину Хартрона
Значит ПЗ делали специалисты Хруничева. А интересно, отработку на чем они вели? Я не слыхал, чтобы у них были средства отработки. Возможны три варианта: 1) Сделали свой стенд или мат. модель и сами на ней прокололись 2) Отрабатывали в Харькове и вместе с ними прокололись. 3) Не отрабатывалми вообще (крайне маловероятно).

Agent

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

Gradient

ЦитироватьВыводы комисии должны быть оформлены на днях.
Если ничего конкретного не опубликуют - знач третий вариант.
Хартрон непременно должен наложить эмбарго на поставку свойх чудо СУ в Россию, которые там программируют криворукие программисты. Скоро они (не программисты, разумеется :D ) будут в "Дельтах" и "Арианах" летать, нефиг дискредитировать продукцию!

Andy_K64

Цитировать
ЦитироватьВыводы комисии должны быть оформлены на днях.
Если ничего конкретного не опубликуют - знач третий вариант.
Хартрон непременно должен наложить эмбарго на поставку свойх чудо СУ в Россию, которые там программируют криворукие программисты. Скоро они (не программисты, разумеется :D ) будут в "Дельтах" и "Арианах" летать, нефиг дискредитировать продукцию!
Полетные задания формируют не программисты. Там вобще нет никакого программирования в общепринятом смысле этого слова.

eng. Alex

ЦитироватьCryosat rocket fault laid bare
By Helen Briggs
BBC News science reporter

Russian space officials have identified the rocket fault that led to the loss of Europe's Cryosat satellite.

A problem with the onboard flight control system of the newly-built upper stage of the rocket was to blame.

The Russian state commission report clears the launcher for future use.

It was grounded on 8 October when the mission to map the Earth's ice sheets fell into the ocean shortly after lift-off from Plesetsk in Russia.

The

Дем

ЦитироватьКратко. Госкомиссия сообщила результаны работы: нештатная работа  программного обеспечения СУ нового РБ "Бриз", что привело к отказу отключения двигателя второй ступени РН. Разделение второй и третьей ступени не произошло, соответственно КА на расчётную орбиту не вышел.  :(
Интересно - они это ПО тестировали или как? И обработка вероятных ошибок - была сделана?
Насколько я понимаю - несвоевременное отключение двигателя второй ступени вполне можно компенсировать уменьшением времени работы следующей...
Летать в космос необходимо. Жить - не необходимо.

pk13

Дем, почитайте тему, если не произошло разделения и РБ не думал зажигаться, то о какой компенсации вы пишите? И дело скорее всего не не в ПО, а в программе полета (см. Andy). От ошибок никто не застрахован, но что касается тестирования "космического" ПО и обработки в нем ошибок и исключительных ситуаций, то уж будьте уверены, там с этим дела обстоят лучше чем в "бытовом" каком-нить финансовом ПО.

Вадим Семенов

ЦитироватьУзнаю наших программистов. Глюки ловятся как на Семерке в 50-60-е - настрелом. Причем со времен Фобоса ничего не поменялось :-(

Ну вот тогда некая инфа для узнавания "не наших". :) А вообще софт в некотором смысле штука более сложная, чем ракетное железо. Намного больше связей между отдельными частями, больше шансов, что что-то не срастется. Впрочем, разработчиков это не оправжывает. Итак:

Катастрофа Ariane 5

4 июня 1996 г. был произведен первый запуск ракеты-носителя Ariane 5  детища
и   гордости  Европейского  Сообщества.  Уже  через  неполные  40  сек.  все
закончилось взрывом. Автоподрыв 50-метровой ракеты  произошел  в  районе  ее
запуска  с  космодрома  во Французской Гвиане. За предшествующие годы ракеты
серии Ariane семь раз терпели аварии, но эта побила все рекорды по вызванным
ею убыткам. Только находившееся на борту научное  оборудование  потянуло  на
пол-миллиарда  долларов,  не  говоря  о  прочих  разноообразных издержках; а
астрономические цифры  "упущенной  выгоды"  от  несостоявшихся  коммерческих
запусков  и  потеря  репутации  надежного  перевозчика  в очень конкурентном
секторе мировой экономики ("стоимость рынка" к 2000 г. должна  превысить  60
млрд.  долл.)  с  трудом  поддаются  оценке.  ебезынтересно  отметить,  что
предыдущая модель ракета Ariane 4 успешно запускалась более 100 раз.

Технические подробности аварии

Положение   и   ориентация   ракеты-носителя   в   пространстве   измеряются
авигационной  Системой  (Inertial  Reference Systems IRS), составной частью
которой является встроенный компьютер, вычисляющий углы и скорости на основе
информации  от  бортовой  Инерциальной  Платформы,  оборудованной  лазерными
гироскопами  и акселерометрами. Данные от IRS передаются по специальной шине
на  Бортовой  Компьютер  (On-Board  Computer  OBC),   который   обеспечивает
необходимую  для  реализации  программы  полета информацию и непосредственно
через гидравлические и сервоприводы управляет твердотопливными  ускорителями
и криогенным двигателем типа Вулкан (Vulkain).

Как   обычно,   для   обеспечения   надежности  Системы  Управления  Полетом
используется  дублирование  оборудования.  Поэтому  две  системы  IRS  (одна
активная,  другая  ее  горячий резерв) с идентичным аппаратным и программным
обеспечением функционируют параллельно. Как только  бортовой  компьютер  OBC
обнаруживает,  что  "активная"  IRS  вышла  из  штатного режима, он сразу же
переключается на другую. Впрочем, и бортовых компьютеров тоже два.

Теперь, следуя Докладу Комиссии [1], проследим все  значимые  фазы  развития
процесса, оказавшегося в конце концов аварийным. Момент старта обозначим H0
- это и будет точка отсчета для всех событий, хотя отслеживать их мы будем в
обратном  начиная  с  момента  саморазрушения  системы  порядке. Для полноты
картины  упомянем,  что  предшествующие  старту   операции   происходили   в
нормальном  режиме  вплоть  до  момента H0-7 минут, когда было зафиксировано
нарушение "критерия видимости". Поэтому старт был перенесен на час; в H0 = 9
час. 33 мин. 59 сек. местного времени "окно запуска" было вновь "поймано"  и
был,  наконец, осуществлен сам запуск, который и происходил штатно вплоть до
момента H0+37 сек. В последующие секунды произошло резкое отклонение  ракеты
от заданной траектории, что и закончилось взрывом. Итак:

   * в момент H0+39 сек. из-за высокой аэродинамической нагрузки вследствие
     превышения "углом атаки" критической величины на 20 градусов произошло
     отделение стартовых ускорителей ракеты от основной ее ступени, что и
     послужило основанием для включения Системы Автоподрыва ракеты;
   * изменение угла атаки произошло по причине нештатного вращения сопел
     твердотопливных ускорителей;
   * такое отклонение сопел ускорителей от правильной ориентации вызвала в
     момент H0 + 37 сек. команда, выданная Бортовым Компьютером на основе
     информации от активной авигационной Системы (IRS 2). Часть этой
     информации была в принципе некорректной: то, что интерпретировалось как
     полетные данные, на самом деле являлось диагностической информацией
     встроенного компьютера системы IRS 2;
   * встроенный компьютер IRS 2 передал некорректные данные, потому что
     диагностировал нештатную ситуацию, "поймав" исключение (exception),
     выброшенное одним из модулей программного обеспечения;
   * при этом Бортовой Компьютер не мог переключиться на резервную систему
     IRS 1, так как она уже прекратила функционировать в течение
     предшествующего цикла (занявшего 72 мсек.)  по той же причине, что и
     IRS 2;
   * исключение, "выброшенное" одной из программ IRS, явилось следствием
     выполнения преобразования данных из 64-разрядного формата с плавающей
     точкой в 16-разрядное целое со знаком, что привело к "Operand Error";
   * ошибка произошла в компоненте ПО, предназначенном исключительно для
     выполнения "регулировки" Инерциальной Платформы. Причем  что звучит
     парадоксально, если не абсурдно  этот программный модуль выдает
     значимые результаты только до момента H0 + 7 сек. отрыва ракеты со
     стартовой площадки. После того, как ракета взлетела, никакого влияния
     на полет функционирование данного модуля оказать не могло;
   * однако, "функция регулировки" действительно должна была (в соответствии
     с установленными для нее требованиями) действовать еще 50 сек. после
     инициации "полетного режима" на шине авигационной Системы (момент H0-3
     сек.), что она с усердием дурака, которого заставили богу молиться, и
     делала;
   * ошибка "Operand Error" произошла из-за неожиданно большой величины BH
     (Horizontal Bias  горизонтальный наклон), посчитанной внутренней
     функцией на основании величины "горизонтальной скорости", измеренной
     находящимися на Платформе датчиками. Величина BH служила индикатором
     точности позиционирования Платформы;
   * величина BH оказалась много больше, чем ожидалось потому, что
     траектория полета Ariane 5 на ранней стадии существенно отличалась от
     траектории полета Ariane 4 (где этот программный модуль использовался
     ранее), что и привело к значительно более высокой "горизонтальной
     скорости".

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

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

Причины и истоки аварии

Прежде  всего  проследим,  откуда  взялось  первоначальное   требование   на
продолжение   выполнения   операции   регулировки   после   взлета   ракеты.
Оказывается, оно было заложено более чем за  10  лет  до  рокового  события,
когда  проектировались еще ранние модели серии Ariane. При некотором (весьма
маловероятном!)  развитии  событий  взлет  мог  быть  отменен  буквально  за
несколько  секунд  до  старта, например в промежутке H0-9 сек., когда на IRS
запускался "полетный режим",  и  H0-5  сек.,  когда  выдавалась  команда  на
выполнение некоторых операций с ракетным оборудованием. В случае неожиданной
отмены  взлета  необходимо было быстро вернуться в режим "обратного отсчета"
(countdown) и при этом не повторять сначала все установочные операции, в том
числе приведение к исходному  положения  Инерциальной  Платформы  (операция,
требующая 45 мин. время, за которое можно потерять "окно запуска").

Было  обосновано,  что в случае события отмены старта период в 50 сек. после
H0-9  будет  достаточным  для  того,  чтобы  наземное  оборудование   смогло
восстановить   полный   контроль   за  Инерциальной  Платформой  без  потери
информации за это время Платформа прекратит начавшееся было  перемещение,  а
соответствующий   программный   модуль   всю   информацию   о  ее  состоянии
зафиксирует, что поможет  оперативно  возвратить  ее  в  исходное  положение
(напомним, что все это в случае, когда ракета продолжает находиться на месте
старта).  И  действительно,  однажды,  в  1989 г., при старте под номером 33
ракеты Ariane 4, эта особенность была с успехом задействована.

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

В конце концов, было бы странно, если  бы  тривиальная  ошибка  переполнения
(даже  если  она  и  возникла) была бы столь фатальной, что с ней невозможно
бороться. Почему же программный код (написанный на  таком  оснащенном  всеми
необходимыми  для обеспечения надежности средствами языке, как Ада) оказался
незащищеным  до  такой  степени,  что   наступили   столь   катастрофические
последствия?

Расследование показало, что в данном программном модуле присутствовало целых
семь переменных, вовлеченных в операции преобразования типов. Оказалось, что
разработчики   проводили   анализ   всех  операций,  способных  потенциально
генерировать исключение, на уязвимость. И это было  их  вполне  сознательным
решением  добавить надлежащую защиту к четырем переменным, а три включая BH,
оставить незащищенными. Основанием для такого  решения  была  уверенность  в
том,  что  для  этих  трех  переменных  возникновение  ситуации переполнения
невозможно  в  принципе.  Уверенность  эта   была   подкреплена   расчетами,
показывающими,  что  ожидаемый  диапазон  физических полетных параметров, на
основании которых определяются величины упомянутых переменных, таков, что  к
нежелательной   ситуации  привести  не  может.  И  это  было  верно  но  для
траектории, рассчитанной для модели Ariane  4.  А  ракета  нового  поколения
Ariane  5 стартовала по совсем другой траектории, для которой никаких оценок
не выполнялось. Между тем она (вкупе с высоким  начальным  ускорением)  была
такова,  что  "горизонтальная  скорость"  превзошла расчетную (для Ariane 4)
более чем в пять раз.

о почему же не была (пусть в порядке перестраховки) обеспечена  защита  для
всех  семи,  включая  BH,  переменных?  Оказывается, для компьютера IRS была
продекларирована максимальная величина рабочей нагрузки  в  80%,  и  поэтому
разработчики  должны  были  искать  пути  снижения  излишних  вычислительных
издержек. Вот они и ослабили  защиту  там,  где  теоретически  нежелательной
ситуации  возникнуть  не могло. Когда же она возникла, то вступил в действие
такой  механизм  обработки   исключительной   ситуации,   который   оказался
совершенно неадекватным.

Этот  механизм предусматривал следующие три основных действия. Прежде всего,
информация о возникновении нештатной ситуации должна быть передана  по  шине
на  бортовой  компьютер  OBC;  параллельно  она  вместе  со  всем контекстом
записывалась  в  перепрограммируемую  память  EEPROM   (которую   во   время
расследования  удалось  восстановить  и  прочесть ее содержимое), и наконец,
работа процессора IRS должна была аварийно завершиться. Последнее действие и
оказалось фатальным именно оно, случившееся в  ситуации,  которая  на  самом
деле  была  нормальной  (несмотря  на  сгенерированное  из-за  незащищенного
переполнения программное исключение), и привело к катастрофе.
Гипотеза о боге дает ни с чем не сравнимую возможность абсолютно все понять, абсолютно ничего не узнавая.
А. и Б. Стругацкие "Пикник на обочине".