В процессе обсуждения моей статьи ( habrahabr.ru/post/202184/ ) о нахождении ошибки в программном обеспечении контроллера авиационного двигателя (FADEC) был затронут ряд вопросов, не имеющих прямого отношения к теме той статьи. Видя довольно большой интерес читателей к авиационно-компьютерной тематике, я решил рассказать еще об одной, довольно известной в узких кругах, истории, где ошибка в логике системы доставила экипажу несколько весьма интересных моментов, а производителю – кучу головной боли. На всякий случай, предупреждение – если считаете, что можете подхватить авиафобию (или она у вас уже есть), то лучше не переворачивайте страницу.
Итак, в 2005 году состоялся первый полет самолета Falcon 7X компании Dassault, а еще через пару лет первые самолеты этого типа были переданы покупателям. Falcon 7X является представителем сверхдальних бизнес-джетов (в настоящее время стоимость под 60 млн долларов) с одной весьма существенной особенностью – это первый бизнес-джет, построенный по принципу Fly-By-Wire (FBW). Хотя эта технология уже достаточно давно применялась на пассажирских самолетах, 7X был первым бизнес-самолетом, в котором вообще все первичные органы управления функционировали по архитектуре FBW.
Я имею довольно общее представление о 7X (пока, к сожалению, не обладаю рейтингом на пилотирование этой модели), поэтому заранее прошу прощения, если не смогу рассказать о каких-то нюансах во всех тонкостях, да и это здесь вроде не нужно.
Технология FBW подразумевает (в большинстве случаев) не только отсутствие прямой связи задающих механизмов (штурвал/сайдстик, педали) с управляющими поверхностями (элероны, рули направления и высоты), но и совершенно другой подход во взаимодействии пилота с самолетом.
В классическом самолете пилот контролирует положение непосредственно управляющих поверхностей, с их помощью заставляя самолет совершать требуемые эволюции. В архитектуре FBW пилот говорит самолету (вернее, управляющему компьютеру), что именно хочется получить от самолета, а уже компьютер сам решает, как этого достичь (какие рулевые поверхности, и в каком количестве задействовать). Под пилотом подразумевается как человек, так и автопилот – это сути дела не меняет.
Небольшой пример – простой прямолинейный полет. На обычном самолете в установившемся режиме ничего делать не нужно до того момента, пока не встретится, например, небольшая турбулентность. Как только локальное возмущение воздушной среды изменило положение самолета, пилот тут же должен парировать это изменение с помощью органов управления. Самолет накренился влево и, соответственно, начала разворачиваться в ту же сторону – значит, с помощью штурвала задействуем элероны, вернем самолет в прежнее горизонтальное положение, повернем вправо, чтобы компенсировать предыдущий разворот, потом вернемся на прежний курс, после чего наконец вернем элероны в нейтральное же положение. На самолете с FBW для обеспечения прямолинейного полета нужно поставить установить штурвал ровно, и… все! Теперь самолет знает, что ему нужно лететь прямо, и он решает эту задачу самостоятельно. Порыв ветра – ничего страшного, система самостоятельно использует элероны и остальное, что потребуется – пилот не делает вообще ничего. При необходимости маневрирования, не нужно заботиться о влиянии скорости и веса самолета на его «отзывчивость» — всегда на определенное отклонение штурвала самолет ответит совершенно идентично. Классический же самолет, чем он больше загружен и медленнее летит, тем он более «вяло» отзывается на органы управления.
Еще FBW обеспечивает защиту от выведения самолета в «неправильные» режимы полета. Например, если самолет летит медленно, близко к скорости сваливания, то как не тяни штурвал на себя, система управления просто не создаст тангаж больше того, при котором самолет еще сможет обеспечить безопасную скорость.
Конечно, все во много раз сложнее, чем я здесь описал. Например, в большинстве случаев у самолета (вернее, у системы управления) будут разные наборы правил (законы), описывающих взаимосвязи органов управления и управляющих поверхностей. Например, «нормальный» закон работает так, как описано выше. «Прямой» закон имитирует поведение классической системы управления – с точки зрения пилота, он напрямую отклоняет рулевые поверхности, хотя, как правило, такие перемещения все равно ограничены механизмами защиты от попадания самолета в опасное положение. Есть и другие законы (например, аварийные – когда система управления обнаруживает неисправность в своих цепях), но это уже предмет совершенно другой статьи.
Вернемся же к нашему Falcon’у. Хотя первое время очень многие относились к такому радикальному подходу в организации системы управления крайне настороженно, до 2011 года система FWB (насколько я знаю) серьезных проблем, действительно влияющих на безопасность полетов, не создавала. Была куча мелочей, что вполне понятно – думаю, большинство читателей Хабра легко представит себе сложность как «железа», так и ПО такой системы, и согласится, что выявляемые в ходе начального этапа эксплуатации проблемы – просто неизбежное зло.
Однако все изменилось в мае 2007 года, когда произошло событие, о котором официально сообщила компания-производитель (а я же знаком с непосредственными участниками событий):
За этой сухой информацией скрывается следующее. Самолет спокойно снижался, чтобы начать через некоторое время заход на посадку. На высоте около 12000 футов (3.5 км) внезапно началась неконтролируемая перестановка горизонтального стабилизатора на кабрирование. Несмотря на все усилия экипажа, самолет начал резко набирать высоту, причем в процессе перегрузка доходила до 4.5G. С самолетом удалось справиться только после набора лшних 10000 футов (около 3 км), причем для устранения положительного тангажа экипажу пришлось создать на какое-то время крен в 100 градусов.
Теперь по порядку. Одним из важнейших показателей самолета является его центровка – отношение центра тяжести к центру подъемной силы. Если центровка слишком передняя, то самолет просто не сможет взлететь – руля высоты не хватит, чтобы поднять нос. При слишком задней центровке при взлете самолет задерет нос, начнет терять высоту и свалится. Соответственно, есть диапазон допустимых центровок, который должен выдерживаться на тех или иных этапах полета.
Современные скоростные самолеты вынуждены решать проблему центровки сразу с двух сторон – во время полета меняется как вес самолета (вырабатывается топливо), так в зависимости от скорости меняется и центр подъемной силы – при приближении к скорости звука происходят хитрые аэродинамические явления. Сам по себе руль высоты не способен справиться с таким диапазоном изменения центровки, поэтому ему на помощь приходит горизонтальный стабилизатор. Имея большую площадь, ГС способен обеспечить необходимый диапазон центровок путем относительно медленного изменения угла установки (но и центровка меняется относительно медленно), а руль высоты используется для управления по тангажу.
При этом, надеюсь, понятно, что при площади ГС большей, чем площадь руля высоты, этот самый руль высоты перебороть ГС (особенно на больших скоростях) вряд ли сможет. Поэтому механизм, регулирующий угол установки ГС, один из самых строго сертифицируемых во всем самолете. Обязательно наличие не только дублирования (часто – троирования) систем механизма, но и обеспечение возможности немедленно прекратить перемещение ГС при начале неконтролируемого движения. Даже кнопка перемещения чаще всего состоит из двух полукнопок, соединенных последовательно – если одна заклинит, то большие шансы, что вторая все равно разорвет цепь при ее отпускании.
Немного о том, что испытал экипаж. 4.5G – по пилотажным меркам, это не очень много. Однако это на пилотажных самолетах, да еще когда пилот заранее знает, что он будет делать. Для обычного пассажира уже 1.5G послужит поводом при первой возможности броситься к компьютеру и начать строчить во все форумы рассказ о том, как он только что чудом избежал неминуемой смерти в разваливающемся прямо в воздухе самолете. Вообще что-то до 2G в пассажирской авиации более-менее приемлемо, больше – уже ЧП. Так что 4.5 – это очень и очень серьезно.
Крен 100 градусов… Некоторое время назад вышел какой-то фильм (я его не видел), где пьяница-летчик спас самолет, перевернув его вверх ногами, после того как на самолете произошло что-то вроде заклинивания ГС. Так вот, в данном случае ситуация была весьма похожа на фильм. Для пассажирского самолета нормальные крены – градусов до 30, причем при 30-градусном крене особо впечатлительные пассажиры начинают падать в обморок. 100 градусов – слегка уже вверх ногами, вообще-то такие самолеты так не летают. Аварийная процедура вывода самолета из положения «нос вверх» подразумевает крен градусов 60, в данном случае ребята немного перестарались (это простительно).
На следующий день полеты на самолетах этого типа были запрещены по всему миру до выяснения и устранения причин происшествия, производитель начал разбираться в причинах происшедшего, ну а заинтересованные лица (в первую очередь, пилоты) попытались понять, почему в первые же секунды проблемы экипаж не сделал самую естественную в такой ситуации вещь – не отключил полностью механизм перемещения ГС ???
Снова отступление – учитывая потенциальные проблемы, которые может создать неконтролируемое перемещение ГС (runaway trim), на большинстве самолетов есть либо несколько способов отключить эту систему. Это может быть отдельная кнопка, предохранитель со специальным колпачком, по которому его (предохранитель) можно моментально идентифицировать, а чаще даже оба эти приспособления. Кроме того, при перемещении ГС дольше определенного времени (0.5 – 1.5 с) раздается характерный писк. И процедура отключения ГС отрабатывается до автоматизма – тем более, что она элементарна.
Поэтому было очень странно, что опытный (в этом не было сомнений) экипаж больше 2-х минут (!!!) боролся с ГС, вместо того, чтобы за пару секунд (максимум) его отключить.
Ладно, теперь вспоминаем, что я рассказывал о работе FWB. При «нормальном» законе система сама решает, что делать с управляющими поверхностями, в число которых входит и ГС. Если на обычном самолете пилот сам устанавливает требуемый угол ГС, то на 7X это (как и все остальное) отдано на откуп компьютеру. Причем при сертификации Dassault научно доказал, что его решения обеспечивают такой уровень надежности управления ГС, что никаких ручных предохранительных цепей не требуется.
В принципе, кнопка перемещения (но не отключения) ГС все-таки есть, только вот активируется она в «аварийном» или «прямом» законе, а по каким-то причинам во время ЧП самолет считал, что все в порядке, и оставался в «нормальном» законе. Я считаю, что именно здесь и был основной просчет разработчиков – в явно аварийной ситуации система продолжала находиться в полном неведении о проблеме, и не давала пилотам исправить ситуацию.
Предохранителей (в классическом авиационном понимании) на таком высокотехнологичном самолете тоже практически нет, так что даже просто нафиг отключить всю систему ГС тоже никакой возможности не было.
После того, как все борта были поставлены на прикол, началась такая свистопляска, что наши упражнения с TR даже детским лепетом не назвать. Представляете – под сотню самолетов каждый стоимостью около 50 млн долларов, их владельцы были слегка недовольны тем, что неожиданно лишились средства передвижения. Хотя Dassault бросил на решение проблемы практически все свои ресурсы, задача не решалась так просто, как все сначала надеялись.
Больше чем месяц все самолеты так и оставались на земле, когда, наконец, производитель не объявил, что разобрался в проблеме, и вскоре начнет необходимые действия по приведению бортов в летное состояние. К сожалению, я не обладаю внутренней информацией о том, в чем именно была проблема, но что-то можно увидеть по описанию того, что необходимо было сделать для приведения самолета в порядок.
Как видно из данного документа, замене подлежат блоки управления (читай – специализированные компьютеры) горизонтальным стабилизатором, а самое главное – обновляется практически все ПО системы управления самолетом.
Автор: curiousGeorge