13 марта 2019 года после консультаций с Федеральной авиационной администрацией США и своими клиентами, компания Boeing выпустила официальную рекомендацию всем авиакомпаниями временно приостановить полёты самолёта Boeing 737 MAX. Решению предшествовали две авиакатастрофы с участием этой модели.
В ближайшие несколько недель компания обещает обновить программное обеспечение системы управления полётом.
Обновление ПО ведётся уже некоторое время. Возможно, оно началось сразу после первой катастрофы в октябре 2018 года. Это следует из уведомления FAA от 11 марта. В нём упоминается, что администрация FAA следит за «завершением улучшений системы управления полётом, которые обеспечивают снижение зависимости от процедур, связанных с необходимыми элементами пилотной памяти» (flight control system enhancements, which provide reduced reliance on procedures associated with required pilot memory items). FAA планирует, что завершение этой работы последует не позже апреля 2019 года.
В свою очередь, Boeing перечисляет ряд изменений в новой системе. Сказано, что обновление включает в себя:
- манёвренные характеристики в системе Maneuvering Characteristics Augmentation System (MCAS);
- дисплеи пилотов;
- улучшенную обработку в системе управления полётом входящей информации об угле атаки;
- ограничение команды подстройки стабилизатора в ответ на ошибочный угол атаки;
- ограничение команды стабилизатора, чтобы сохранить эффективность руля высоты.
Соответствующим образом будут обновлены руководства пользователя и процедуру обучения пилотов.
Из этих изменений можно сделать какие-то выводы о причинах минувших катастроф. В октябре 2018-го лайнер Lion Air разбился у западного побережья острова Ява, погибли 189 человек. После анализа данных «чёрного ящика» эксперты были очень удивлены странным поведением системы MCAS. Судя по всему, с датчиков поступали неправильные данные об угле атаки — и самолёт автоматически опустил нос и направился прямо в воду. Пилоты более десяти раз пытались вручную поднять нос, но система всё равно опускала его вниз. В итоге лайнер ударился об воду и разбился.
10 марта другое воздушное судно потерпело крушение в Эфиопии, жертвами стали 149 пассажиров и восемь членов экипажа.
Комментарии (136)
Javian
15.03.2019 09:56+3Если посмотреть в суть, то эти баги обошлись в две сотни жизней. Как тебе спится, Джон — серийный программист?
офф Шутка на хабре 2010 года материализовалась.
«Плохой код убивает»
habr.com/ru/post/309388olartamonov
15.03.2019 10:05+2Почти в три с половиной сотни.
И это не конкретный программист, это общий инженерный подход к разработке, при котором подсистема, непосредственно управляющая аэродинамикой самолёта, получала критичные для неё данные всего с одного датчика — при том, что в 737 этих датчиков два.
Ну и дальнейшая цепочка про то, что пилоты не понимали, что происходит, и вслепую воевали с самолётом, что вытянуть установленный этой системой на пикирование стабилизатор рулями оказалось сложно/невозможно, что всё это происходило во время взлёта, etc.Javian
15.03.2019 10:31К слову подробно о баге:
После катастрофы индонезийского самолета выяснилось, что на 737MAX -8/ -9 в целях улучшения характеристик лайнера при ручном пилотировании на больших углах атаки была внедрена система MCAS – Maneuvering Characteristics Augmentation System. Появление этой системы на MAX -8/ -9 было обусловлено влиянием новых, больших по размеру, двигателей на аэродинамические характеристики самолета повышенных углах атаки, близких к углам сваливания.
цитатаВыглядит весьма удивительным, но Боинг не стал внедрять «проверку на вшивость», поэтому дефектный датчик, сдуру посылавший в систему данные о запредельных углах атаки, был принят MCAS на веру, и она, повинуясь коду, заложенному в нее эффективными программистами, нежно и печально начала перекладывать стабилизатор на пикирование, как только появились прочие условия для ее работы — ручное пилотирование и убранные закрылки, создав реальные проблемы и без того взвинченному экипажу. Который, замечу, выполнял очень ранний вылет и, разумеется, не успел нормально выспаться.
Замечу, что до фатального полета индонезийского борта аналогичная ситуация случилась на том же самом самолете, но с другим экипажем. Те справились, применив стандартные действия по памяти, которые предписывается знать наизусть и выполнять в случае непроизвольной перекладки стабилизатора.
Герои? Частично. После успешной посадки пилоты почему-то сделали записи в бортовом журнале: «разногласие в показаниях высоты» и «горит табло FEEL DIFF PRESS» (разница давлений в системе имитации усилий на штурвале). О тряске штурвала, о разнице в показаниях скорости, о своей отчаянной борьбе с перекладывающимся стабилизатором они не написали.
Естественно, это не помогло инженерам найти глобальную причину происшествия. Они выполнили тесты, которые предписывается выполнить в тех случаях, о которых записали пилоты и с чистой совестью выпустили дефектный самолет. Итог мы знаем.Ryav
15.03.2019 12:13А это говорит о том, что в систему не заведена самодиагностика оборудования по косвенным признакам и она не может отсекать устройства, данные которых близки к граничным состояниям, когда на дублирующем всё в порядке (отсекает наоборот нормальный).
Alexeyslav
15.03.2019 14:07Косвенная диагностика это палка о двух концах, она может породить очень интересные слабо предсказуемые проблемы. Может, как раз всё настолько плохо, а датчик показывающий нормальное значение как раз неисправен.
Что касается датчика угла атаки, то они обычно временно выходят из строя по вполне понятным причинам, и они с высокой вероятностью ОБА покажут неверные данные, может даже и одинаковые. Как в таком случае должна реагировать самодиагностика?Ryav
15.03.2019 17:28В этом случае должен реагировать экипаж. Но когда у нас система дублируется, то будьте добры обеспечить верную идентификацию неисправного прибора при разности показаний. Или хотя бы дайте это сделать экипажу.
Alexeyslav
16.03.2019 01:15Бортовой компьютер это и делает. Голосовым предупреждением, и с выводом на консоль… только у экипажа как правило нет на это времени, особенно когда надо постоянно бороться с системой или они не готовы к возникшей ситуации.
Боинг А380, посреди океана… компьютер верно определил утечку топлива, но пилоты посчитали это сбоем… и были в этом уверены вплоть до остановки первого двигателя.
arcman
15.03.2019 23:31В таком случае диагностика должна полагаться на показания других систем, например инерциальной.
Alexeyslav
16.03.2019 01:12Если бы это было возможно… нет, инерциальная система тут не поможет совершенно, она никак не поможет определить угол атаки от положения самолёта в пространстве. Для этого и есть хитрые датчики…
arcman
16.03.2019 09:24Т.е. с дешевой ИНС в дешевом квадрокоптере все возможно, а в боинге это не заработает, так получается?
curiousGeorge
16.03.2019 14:31Приведите, пожалуйста, пример хотя бы одного квадрокоптера, у которого есть определение угла атаки, и чего именно угол атаки при этом определяется?
arcman
16.03.2019 15:22Суть в том, что ИНС позволяет определять положение в пространстве и перепроверять показания датчиков, выявить тот что выдает неадекватные показания.
Как минимум можно добиться того, что бы система понимала, что самолету не угрожает сваливание и она не пыталась его угробить, только потому что один из датчиков сбоит.curiousGeorge
16.03.2019 15:42Вы в явном виде сказали, что в «даже простейших квадрокоптерах» есть система определения угла атаки. Поэтому не могли бы просто ответить на мой конкретный вопрос, который я задал, исходя из Вашего однозначного и безапелляционного заявления ?
Alexeyslav
17.03.2019 12:04+1А где у квадрокоптера нужен учет угла атаки?
Понимаете… гироскоп никак не сможет определить реальный поток воздуха набегающий на самолёт. Поток при помощи гироскопа можно определить только при одном условии — воздух неподвижен относительно земли и без турбулентностей. А такого не бывает почти никогда.engine9
17.03.2019 12:33Мне кажется или даже при такой атмосфере угол атаки не определить только положением самолёта относительно горизонта?
Alexeyslav
17.03.2019 12:44Вообще да, нужен ещё вектор направления движения относительно земли. Но эта проблема менее острая.
arcman
17.03.2019 19:06-1Так в том и дело, угол атаки не так то уж и нужен для полета, как то и без него обходятся.
Весь вопрос в абсолютных значениях — насколько этот угол атаки может отличаться от направления «вперед», какие углы являются критическими, в каких пределах/условиях можно пилотировать самолет без реальных показаний угла атаки?
Просто скорее всего сбойный датчик давал показания сильно отличающиеся от реальности.
Вообще система управления самолетом в идеале должна иметь какую то цифровую модель полета, постоянно обновляемую на основе показаний датчиков. Тогда будет четкое понимание происходящего с самолетом.Alexeyslav
18.03.2019 01:09+1Угол атаки очень важен для полёта. Когда угол атаки становится критическим, двигатели перестают работать т.к. просто не могут взять достаточное количество воздуха. И это резко усугубляет ситуацию — самолёт теряет скорость и т.д. кроме того, двигатели могут и отключиться, что на взлёте приводит к катастрофе. Чем мощнее двигатель, тем критичней к углу атаки.
Маленький самолёт можно пилотировать и без этого датчика, а большой уже не обойдётся.
Сбойный датчик… нет не так, датчик скорей всего не был сбойным. Он просто временно ПРИМЁРЗ в одном из положений это как бы вполне предсказуемая особенно на взлёте ситуация — взлетаем в облако переохлаждённого пара и он мгновенно намерзает на всём чём может, потом лёд быстро сдувает за минуту-две. Система начала выравнивать самолёт, но датчик упорно показывает что нос задран, вот она и дожимает до упора.
Зачем системе цифровая модель полёта? Она в той или иной степени существует в виде связей между датчиками и органами управления собственно для самого управления, а модель нужна скорее для предсказания поведения. Но это должен быть сложный алгоритм, и если он применяется для управления самолётом или принятия критичных решений то… такую модель нужно сертифицировать. А кому это надо если она не улучшает характеристики полёта? И только немного влияет на исход некоторых аварийных ситуаций, которые возникают раз в 100 лет…
Знаешь какой уровень аварийности заложен для АЭС? 10E-8 проектных аварий в год на энергоблок(хотят или вроде бы уже установили требования на уровне 10E-9). Учитывая количество энергоблоков в мире, вероятность аварии даже больше чем для самолёта. тут уже чистая экономика — если внедрение системы будет дороже репутационных потерь и выплат пострадавшим, то у системы нет шансов.
rudinandrey
18.03.2019 13:43меня натолкнуло на мысль, а что если для всего этого в самолет встраивать еще и камеры, с которых изображение анализировала бы ИИ которая определяла бы уровень заваливаемости горизонта там и т.п. которая бы ну если грубо, видела бы все как бы глазами пилота. ведь самолетов куча, видео могло бы быть куча, если еще нет. на всем этом натренировать ИИ можно было бы, и постепенно развивать. потом в эмуляторах устраивать этому ИИ «стрессовые» ситуации. И может быть из этого что нибудь бы выросло. Ну там эмулировать показания датчиков. ИИ могла бы учитывать показания многих датчиков опять же поверх той же штатной системы.
DX168B
16.03.2019 13:50Гироскоп — он на то и гироскоп, ибо используется для определения положения самолета в пространстве. Просто с ним это определяется грубо, а с отдельным датчиком — точно. И потому система должна была иметь возможность определить неисправность датчика, сравнивая его показания с вычисленными на основе показаний гироскопа и других данных.
Alexeyslav
17.03.2019 12:12+1Нет, пожалуй гироскопы достаточно точны, ведь их часто ипользуют для навигации. Дело тут в другом. Угол атаки определяется не углом наклона самолёта относительно земли, а углом относительно воздушного потока — а это совсем разные вещи. Совпадают они только в одном случае — воздух абсолютно неподвижен относительно земли и не имеет турбулентностей. А это для нашей планеты очень большая редкость.
stalinets
15.03.2019 11:13+1Скорее вспоминается классический пример — ошибки в ПО аппарата лучевой терапии рака (Therac-25), стоившие жизни нескольким людям.
nerudo
15.03.2019 10:19+3Как диванный аналитик, имеющий некоторый опыт инженерных разработок, вижу две серьезных проблемы.
1. Организационная. Пресловутая MCAS была вставлена в самолет практически тайно. До катастрофы в Индонезии никто о ней из пилотов не знал. По-крайней мере в документации ее описания не было. Информация появилась только потом. И тут сразу возникает вопрос — а какие в новом самолете есть еще неописанные системы, влияющие на его жизнеспособность? Одного этого, на мой взгляд, должно быть достаточно для приостановки летного сертификата.
2. Техническая. Во времена многократного дублирования критически важная система MCAS работает базируясь на показаниях одного датчика. Это уже весьма странно. Хуже того, /далее не уверен наверняка, но такое ощущение сложилось после обсуждения Индонезии/ — информация в системе о неисправности датчика появилась, но MCAS все равно продолжила работу. Если бы это происходило в богадельне поменьше и попроще чем боинг, я бы решил что к уже разработанной платформе решили добавить небольшую фичу, кое как ее проверив и не думая, как она влияет на систему в целом.
3. Коммерческо-этическая (бонусная). Как выяснилось, имеется специальная индикация, которая может указать на проблему MCAS, однако она поставляется в виде отдельной платной опции. У некоторых компаний она была заказана, у компаний третьего мира — нет.
В общем все это очень печально. Хорошо если до летнего сезона разберутся…Vitalley
15.03.2019 10:40+2М-да… У меня больше доверия к Боинг нет…
Materializator
15.03.2019 18:39+2Как выросший в авиационной семье, разочарую: Боинг — один из самых опытных и продуманных производителей авиационной техники. Возможно, самый.
AlexanderS
15.03.2019 10:54критически важная система MCAS работает базируясь на показаниях одного датчика… информация в системе о неисправности датчика появилась, но MCAS все равно продолжила работу
При разработке авионики требований по надёжности не меньше, чем у «космоса». То, что вы пишите — это вообще беспредельный бардак! Налицо падение уровня инженерной компетенции, наверняка помноженный на «эффективный менеджмент».
pwl
15.03.2019 11:56У меня есть ощущение, что они вообще не предполагали, что эта система когда-либо включится.
Чем больше я про нее читаю, тем больше я убеждаюсь, что это классический «костыль».
Им нужно было пройти сертификацию с новыми двигателями, которые мощнее, и вынесены «более вперед». Из-за этого повышалась вероятность сваливания при дачи полной тяги. И тут они типа подстраховались «если чо, мы нос подопустим, и никто не свалится».
А то что нос стал опускаться когда не надо… ну… «ой, как интересно получилось!»Ryav
15.03.2019 12:17Немного не уяснил про тягу и сваливание. Если руль высоты зафиксирован, выше нос при большей тяге идти не должен.
pwl
15.03.2019 12:23увеличение тяги тянет нос вверх.
такая пилотская аксиома.
в частности, позволяет управлять самолетом при заклинивании руля высоты.
BDI
15.03.2019 12:23Двигатели подвешены под крылом, и располагаются ниже центра масс. Соответственно тяга двигателей создаёт кобрирующий момент, который компенсируется пикирующим моментом от стабилизатора(при классической аэродинамической схеме). Если я правильно понял, MCAS как раз и внедрили вместе с более мощными двигателями, полагая что пилоты не осилят работу со штурвалом в режиме максимальной тяги.
pwl
15.03.2019 12:38это всё правильно, но даже на одномоторной цессне, у которой пропеллер в носу, увеличение тяги, так же создает кабрирующий момент.
BDI
15.03.2019 12:44Пожалуй я подзабыл то чему учили в институте, и не совсем точно выразился по поводу центра масс. Возможно правильнее было использовать «аэродинамический фокус»(если и в этот раз не путаюсь в терминологии), тогда всё должно сойтись — цесна, если не путаю, высокоплан, т.е. двигатель опять под крылом, хотя относительно центра масс возможно его тяга будет на одной линии(или ниже). Всё таки за 20 лет многое забывается, если не используется в жизни :).
pwl
15.03.2019 12:48Высокоплан, да. Не думал об этом…
Но мне казалось, оно не с этим связано. В субботу спрошу у инструктора как у Пайперов с этим дела обстоят :)
Rupper
16.03.2019 10:44У ту154 так же можно управлять высотой изменяя редим двигателей. Вопрос общего баланса самолета
pwl
17.03.2019 21:32Спросил инстурктора. Да, вы правы на пайпере (низкоплан) дача газа на тангаж практически не влияет.
dobrobelko
15.03.2019 16:12+1Дело не в мощности двигателей, а в их расположении. 737 — достаточно старый дизайн, высота основного шасси небольшая, из-за чего на 737 CL и NG гондолы двигателей приплюснуты снизу для увеличения ground clearance. Новые двигатели LEAP-X на 737 MAX больше CFM56, из-за чего пришлось вынести их дальше и выше относительно положения двигателей на CL и NG, при этом изменились характеристики свала, что привело к необходимости в использовании MCAS, триммирующей стабилизатор на пикирование в определенных режимах полета для предотвращения свала (MCAS включается только при убранной механизации).
BDI
15.03.2019 16:54Если верить вики, тяга на новых движках выросла незначительно, но учитывая как их подняли(не помню видел ли так высоко задранные двигатели на гражданских, удивился) — вряд ли именно момент от них пытались компенсировать. А вот оценить влияние такого расположения на аэродинамику крыла уже на могу, достаточных знаний не осталось(если и были — 194 часа в ВУЗе, и ни одного в практической деятельности).
И действительно нашёл такое объяснение — What is the Boeing 737 Max Maneuvering Characteristics Augmentation System?
Почему-то с российских IP не открывается, поэтому процитирую частично:By moving the engine slightly forward and higher up and extending the nose landing gear by eight inches, Boeing eked another 14% improvement in fuel consumption out of the continually tweaked airliner.
That changed, ever so slightly, how the jet handled in certain situations. The relocated engines and their refined nacelle shape1 caused an upward pitching moment — in essence, the Max’s nose was getting nudged skyward. Boeing quietly added a new system “to compensate for some unique aircraft handling characteristics during it’s (sic) Part 25 certification” and help pilots bring the nose down in the event the jet’s angle of attack drifted too high when flying manually, putting the aircraft at risk of stalling, according to a series of questions and answers provided to pilots at Southwest Airlines, the largest 737 Max operator reviewed by The Air Current.
The Maneuvering Characteristics Augmentation System (MCAS) was designed to address this, according to Boeing engineers and pilots briefed on the system, now at the center of the inquiry into the crash of Lion Air 610, a brand new Boeing 737 Max 8. MCAS is “activated without pilot input” and “commands nose down stabilizer to enhance pitch characteristics during step turns with elevated load factors and during flaps up flight at airspeeds approaching stall.”
striver
15.03.2019 12:34Из-за этого повышалась вероятность сваливания при дачи полной тяги. И тут они типа подстраховались «если чо, мы нос подопустим, и никто не свалится».
То есть сваливание можно компенсировать опусканием «носа»?pwl
15.03.2019 12:42это безусловный рефлекс любого пилота:
сваливание — штурвал от себя
Грубо: Сваливание происходит из-за недостатка скорости. Опускаем нос вниз — разгоняемся.striver
15.03.2019 13:31Грубо: Сваливание происходит из-за недостатка скорости. Опускаем нос вниз — разгоняемся.
Я понимаю, что такое сваливание, просто для большого пассажирского самолета возможен вариант выхода из сваливания за счет чуть ли не пикирования? Хватит ли высоты?illegally_happy
15.03.2019 13:51+1Да может не хватить, такие катастрофы случались неоднократно. Причем были варианты когда падали с 10 км, а пилоты уверено тянули штурвал «на себя» и не понимали, что происходит и вот он она земля…
pwl
15.03.2019 19:04+1Высота здесь вообще непричем.
Если у нас сильно задран нос, происходит быстрая потеря скорости. Если этот процесс не остановить, произойдет сваливание.
А если нос чуть приопустить, то потрея скорости прекратится и сваливания не будет. При этом опускании нос будет все еще выше горизонта, и самолет продолжит набор высоты, но с меньшей вертикальной скоростью.striver
15.03.2019 19:28Подождите, то есть набор высоты после взлета — это целый квест, который очень сильно усложнили?
pwl
15.03.2019 19:46Ну, как-бы, квест, да. А зачем вы думали самолет по полосе разгоняется?
Первая часть квеста: Набираем скорость на которой крыло может удерживать вес самолета.
А затем набираем высоту стараясь скорость не уронить ниже этой границы.
Эта система как раз и нужна была затем, чтоб нос сильно не задрать. Но перестарались.striver
15.03.2019 20:39Хм. Вопрос по другому поставлю, ибо ответ… если брать другую модель самолета этого семейства — набор высоты — это на усмотрение пилота, так сказать на глаз или же автоматически, или же по приборам?
pwl
15.03.2019 21:22Для самолета (конкретной модели) указываются несколько значений скорости:
Vy — скорость на которой идет самый быстрый набор высоты
Vx — скорость на которой набор высоты максимален по отношению к пройденной дистанции
Vs — скорость сваливания (и варианты Vs0, Vs1 — с закрылками/без)
Vs < Vx < Vy
Обычно набор высоты делается на скорости Vy.
Если надо обогнуть препятствие можно уменьшить скорость до Vx.
Ни при каких обстоятельствах нельзя замедляться до Vs.
Выдерживать скорость можно руками, можно автопилотом.striver
15.03.2019 21:28Хорошо… что-то я не пойму. То есть, в данном случае, даже если у нас есть Vs и мы вручную держим нужные углы и скорость. То есть, это «подруливание» автоматически должно включатся всегда или как? Просто если у нас есть минимальные показатели… там же кроме скорости должен быть угол набора или как? Если есть так, то получается, что есть оптимальные углы и скорость, то даже в ручном режиме пилот нарушает их или как? Зачем подруливать автоматикой?
pwl
15.03.2019 21:55+1Ну… тут вам уже нужно почитать статейку какую-нть по аэродинамике крыла.
Вообще говоря, крылу абсолютно всё равно с какой скоростью мы летим. Точнее не крылу, а потоку воздуха который крыло огибает.
Этот поток воздуха может крыло огибать ламинарно (если он движется более менее параллельно хорде), а может срываться в турбулентность. Это называется «срыв потока».
Если у вас есть двигатель с огромной мощностью вы можете лететь хоть вертикально вверх. Поток воздуха при этом будет параллелен крылу и срыва не произойдет. Поэтому «угол набора» никого не интресует. Интересует угол между направлением потока воздуха и хордой крыла. Он называется углом атаки.
Вот за этим углом эта система MCAS и следит.
Следит, да, из предположения что пилоты могут прозевать скорость и выйти в опасный режим.
dobrobelko
15.03.2019 16:40+1Неверно. Сваливание происходит при превышении критического угла атаки, зависящего от дизайна крыла. Свалить крыло можно при любой скорости и в любом пространственном положении.
striver
15.03.2019 16:48Неверно. Сваливание происходит при превышении критического угла атаки
Но если не будет скорости, то никакой угол атаки не поможет.dobrobelko
15.03.2019 20:04Скорость свала — переменное значение, зависящее в том числе от веса. Угол атаки, на котором происходит свал неизменен.
striver
15.03.2019 20:41Раз вы начали упоминать вес и разные параметры, то для разным самолетов углы тоже могут отличатся.
dobrobelko
15.03.2019 20:44Критический угол атаки конкретного крыла конкретной модели самолета неизменен. Скорость свала этого же самолета варьируется достаточно значительно.
striver
15.03.2019 21:01Перечитайте мой ответ. Ноль — это для всех моделей самолетов, за исключением некоторых военных истребителей.
dobrobelko
15.03.2019 21:04Может сначала вы почитаете о том что такое свал?
striver
15.03.2019 21:06Сва?ливание в авиации — резкое падение подъёмной силы в результате нарушения нормальных условий обтекания крыла воздушным потоком (срыва потока с крыла).
— этого достаточно для понимания? Цитата с википедии.dobrobelko
15.03.2019 21:07Недостаточно. По той же ссылки — причины свала. Все еще есть вопросы по скорости?
striver
15.03.2019 21:12Я прошу прощения, но без скорости у вас не будет подъемной силы.
dobrobelko
15.03.2019 21:26Скорость — один из компонентов подъемной силы, зависящей так же от коэффициента подъемной силы, зависящего от угла атаки.
striver
15.03.2019 21:33Правильно. 2 параметра. Если запредельные углы атаки — сваливание, если нет скорости — сваливание. Что так, что так — срыв потока и/или потеря подъемной силы. Или я что-то не так понимаю или не то говорю?
Rupper
16.03.2019 10:57+1Для начала стоит узнать, что у самолета три скорости. Когда узнаете какие, поймете почему интересует только угол атаки. И на самом деле почти все параметры можно пусть и примерно определить через другие.
Например для аирбаса есть четкие рекомендации при отказе трубки пито (и отсутсвии показателей скорости) — вывести двигатели на нужный режим и выдерживать постоянную высоту. По датчику угла атаки можно определить скорость. И наоборот, если отказал датчик угла атаки по тангажу и скорости можно определить угол.
Так что дублирование в самолете реализуется не тупым втыканием такой же системы рядом а добавлением другой системы работающей на других принципах.
Скорость можно определить на крайняк от датчиков гпс или по радару, или их выдаст инерциальная или доплеровская система. Высоту можно высчитать зная путевую скорость и имея показатель скорости если остались только гпс и трубка пито
pwl
15.03.2019 19:08Вы там слово «грубо» увидели? :)
Свалить можно. Но вот необходимые перегрузки для такого «можно», обычно не сочетаются с пассажирскими перевозками.dobrobelko
15.03.2019 19:28Не грубо, а в корне неверно. Перегрузки? Свалить любой самолет без проблем можно с перегрузкой 1, я все больше сомневаюсь что вы разбираетесь в том о чем пишете.
pwl
15.03.2019 19:41хорошо, приведите сценарий при котором крыло оказывается на закритических углах из горизонтильного полета со скоростью Vx, без падения скорости и «с перегрузкой 1».
И да, без порывов ветра сравнимых с Vx-Vs.dobrobelko
15.03.2019 20:03-1Вы точно не разбираетесь в вещах о которых пишете. Где было сказано без падения скорости? Еще раз, скорость — не первопричина свала, скорость свала — это не фиксированное значение.
Свал же всегда возникает при превышении критического угла атаки, который неизменен.
curiousGeorge
15.03.2019 12:46критически важная система MCAS работает базируясь на показаниях одного датчика
Очень хотелось бы увидеть первоисточник этой информации…
Dr_Faksov
16.03.2019 03:01Вы не сильно ошиблись на счет впихивания.
Вот хорошая статья
flying-elk.livejournal.com/46084.html
pnetmon
15.03.2019 10:43Глядя на закон о Фейковости становится интересно — авторы статей не боятся попасть на деньги? Ведь в заявлении не сказано до обновления ПО.
Ernest88
15.03.2019 11:05В конечном счете все-таки пилот должен принимать важные решения по управлению. Если система автоматизации полета, глюканула и откровенно хочет свалить самолет, у пилота должна быть возможность под свою ответственность отключить не правильно работающую часть системы и осуществлять ручное управление. Звучит диковато, 10 раз пытались выключить систему помощи, но она всеравно всех убила.
pwl
15.03.2019 11:42(насчет «свалить»: система как раз пыталась избежать свала, загоняя самолет в пике)
У пилотов возможность была. В Индонезии (по Эфиопии данных пока нет) в полете предшествующем катастрофе все спокойно отключили, отписав техникам «чо это было за нафиг?». Техники повертели датчики и сказали «вроде работает», и отдали самолет следующему экипажу.
Следующий экипаж обнаружив проблему старательно пытался поведение этой системы пересилить. Эти самые 10 раз. А вот до отключить у них дело не дошло…
Что касается ручного управления: они как раз в ручном режиме и были. MCAS пыталась им помочь (ну как ABS на автомобиле). Самое смешное что в режиме автопилота эта система не работает.DrunkBear
15.03.2019 12:25Читал в других источниках, что MCAS отключается на 5 секунд.
Потом включается снова.
Поэтому и появились те самые 10 раз.pwl
15.03.2019 12:34MCAS управляет триммером. он же стабилизатор (ну… приблизительно чтоб избежать много слов).
Пилот тоже может управлять триммером.
Поэтому если пилот тронул триммер, то MCAS «замирает» на 5 секунд (типа, «можт пилот и сам знает что делать?». через 5 секунд — «а нет, не знает»).
Но есть отдельный рубильник, который вырубает всю автоматику которая умеет рулить триммером.DrunkBear
15.03.2019 13:44Boeing, как я понял, не писал инструкций и пилоты были не в курсе, как вырубить автоматику и боролись с ней. Хотя, возможно, это диванные экспертизы.
faoriu
15.03.2019 14:09+1Инструкции уже были в стандартном чеклисте «Runaway Stabilizer» ещё с предыдущих моделей. Предполагалось, что в случае проблем пилоты будут следовать ему.
pwl
15.03.2019 14:13+1Там смешнее.
Инструкции пилотам что делать если стабилизатор убёг, были давно.
Но вот то, что причин, для этого убегания, стало чуть больше, они умолчали.lubezniy
15.03.2019 17:28А это не имеет значения. При любом убегании вне зависимости от причин пилоты имеют стандартный алгоритм действий — тормознуть колесо и тумблером выключить электродвигатель привода триммера. А теперь вот выясняется, что хоть и имеют, но это им не помогает; как только ситуация стала проявляться часто, самолёты посыпались. Правда, это накладывается на другой отказ: одновременно с этим появляется разница в показаниях воздушной скорости слева и справа (ибо с одного из двух датчиков угла атаки показания ложные, это влияет на измерение скорости), и разбирать надо сразу две проблемы.
Dr_Faksov
16.03.2019 03:15Дениса Оканя тут уже упомянули. Он привел выписку из документации Боинга, в которой Боинг мамой клянётся что даже если стабилизатор ушел до конца на пикирование, то возможностей рулей высоты хватит чтобы самолёт из пикирования вывести. Осталось только найти тех, кому это удавалось сделать, хотя бы на тренажёре. Ищут, может кто таких пилотов и знает?
И ещё, возвращать стабилизатор из крайнего положения в нейтраль вручную — ДОЛГО. Может тупо не хватить времени.JTG
16.03.2019 16:21Т.е. MCAS поворачивала весь стабилизатор, уводя нос вниз, а пилоты пытались компенсировать это рулями высоты, которых не хватило?
RiseOfDeath
15.03.2019 14:34Тут вопрос в том понимали-ли пилоты что происходит? Без осознания что самолет пекирует «осознанно, по команде MCAS» не возможно додуматься отключить MCAS.
hermes-jr
15.03.2019 11:43+2Было более одного обратного случая — экипаж, заранее совершив ошибку, боролся с автоматикой, пытавшейся хоть как-то вытянуть самолёт, в итоге всех убивал (если что, гуглить «переключатель P-40»). Раз на раз не приходится.
Art3
15.03.2019 11:45Система отключается. Ализар видимо постеснялся переписывать Медузу, на которой есть гораздо более подобная статья об обоих происшествиях (на самом деле происшествий уже было три). А может сознательно умолчал, хайпа в обсуждениях ради.
pwl
15.03.2019 12:03Про Медузу не знаю, но если хочется деталей, то лучше все-ж пройти на авиафорумы (любой). Пилотская точка зрения отличается от программистской (хоть и не сильно).
Ну а если хочется выжимки — ЖЖ тов. Оканя вне конкуренции (denokan).
fivehouse
15.03.2019 12:02Краткое изложение всей истории. Для надежной работы с новыми более экономичными двигателями полутайно установили новую систему стабилизации полета MCAS. Полутайно, чтобы никто не понял, что надо немного доучиваться для работы с этой MCAS. Сама же MCAS обладает дефектами как с точки зрения надежности собственной штатной работы, так и с точки зрения логики управлением полетом. Боинг меня реально неприятно удивил.
valemak
15.03.2019 12:15-1А что за «угол атаки» применительно к гражданской авиации? Кто кого атакует?
BDI
15.03.2019 12:21+1Как и в военной авиации — воздух атакует крыло. Никакой политики, чистая аэродинамика: w: Угол атаки
zaveryukha
15.03.2019 13:04Мне понравился разбор этой ситуации от Дениса Оканя, он как раз пилот 737
denokan.livejournal.com/204046.htmlnovice2001
15.03.2019 13:35По-моему не просто пилот, а инструктор. Так что неудивительно.
И вообще интересно пишет.zaveryukha
15.03.2019 13:37+1Инструктором он был в Globus (S7), а в Oman Air он просто пилот.
Да, пишет хорошо и доходчиво. Я в свое время свои фобии перед полетами преодолел, благодаря его блогу.
Amomum
15.03.2019 15:19+1В 2015 году Боинг выпустил вот такой интересный документ — s3.amazonaws.com/public-inspection.federalregister.gov/2015-10066.pdf
TL;DR — Если Боинг 787 проработает дольше 248 дней подряд — питание отрубится, даже если он при этом в воздухе летит.
Спекуляции248 дней это 2 142 720 000 десятков миллисекунд.
231 это 2 147 483 648 десятков миллисекунд.
Совпадение?
Не думаю…BDI
15.03.2019 16:08А в чём спекуляция, там же так и написано:
This condition is caused by a software counter internal to the GCUs that will overflow after 248 days of continuous power.
Или вы про вероятный тип данных счётчика? :)Amomum
15.03.2019 16:10Про вероятный тип, да. Шел 2015 год, а счетчики времени все еще делали знаковым интом.
clawham
15.03.2019 17:43я вас огорчу но во многих микроконтроллерах это не знаковый инт а беззнаковый длинный инт :) в то время как знаковый инт это +32768 и для довольно многих компиляторов 4байтовое беззнаковое целое число 4294836225 это вообще максимально возможный размер штатного типа данных и если надо больше — рисуй уже всю логику/математику сам ручками.
Amomum
15.03.2019 17:58Это не может быть беззнаковый длинный инт, только знаковый длинный :) Ведь предельное число 2^31-1, а не 2^32-1.
Если где-то еще существуют микроконтроллеры с 31-битовым длинным интом, расскажите пожалуйста.
User2Qwer
15.03.2019 18:30В 2015 году Боинг выпустил вот такой интересный документ — s3.amazonaws.com/public-inspection.federalregister.gov/2015-10066.pdf
TL;DR — Если Боинг 787 проработает дольше 248 дней подряд — питание отрубится, даже если он при этом в воздухе летит.
Мне это напоминает стикер от производителя, приклеенный под какой то табуреткой.
«Срок годности один год.»
mkovalevskyi
15.03.2019 17:04-3Мне больше сама последовательность событий понравилась.
Самолет упал в нигерии.
* через пару часов, все боинги в китае сели на землю.
* еще через несколько — тоже самое сделала европа
* еще через парочку — британия.
Еще через день, в новостях сша, сурьзные дяди начали вещать «у нас есть все основания, для выношения на рассмотрения конгресса вопроса об том что надо что-то делать».
Демократия, однако )
maxsl78
15.03.2019 18:11За Эфиопию сказать сложно, не все данные есть, но можно сделать вывод по Индонезийской катастрофе.
В имеющейся на борту ситуации, а именно (Unreliable air speed), которая уже зафиксирована, сменилась индикация МФД у пилотов, сработал соответствующий алярм — оставлять работать автоматику действующую на основе показаний одного из элементов системы определения этой самой Air Speed (а что там сломалось мы не знаем) и вносящую коррективы в управление ВС это серьезный конструкторский просчет, программисты и баги ПО тут совсем не причем.
Oval
15.03.2019 21:44широта Явы — 7 градусов, Эфиопии 9 градусов
solariserj
15.03.2019 22:25+1намекаете на ошибку навигации аналогично
происшествию с F-2212 истребителей F-22 не смогли перелететь из США в Японию из-за возникших проблем с навигационным программным обеспечением (предположительно из-за пересечения линии смены дат посреди Тихого океанаjovany
16.03.2019 12:53Мне кажется, я об Индонезии знаю только то, что самолеты этой страны, мягко говоря, не безопасны.
Aquahawk
Интересно на самом деле, можно ли тут выявить лицо виновное в непредумышленном убийстве? Понятно что обычно в таких ситуациях конкретного человека обычно не находят и не сажают. И стоит ли так делать. С одной стороны там вполне могли быть вопросы из разряда тут не успеваем, давайте закостыляем. Но установить вину конкретного лица будет чеверзвычайно сложно. А с другой стороны если сажать разработчиков, то кто пойдёт делать самолёт?
MaxxONE
Есть много подходов к управлению рисками. В общем, все соглашаются с тем, что абсолютно безопасную систему построить невозможно, но можно установить предельную интенсивность опасных отказов, либо другой показатель безопасности. Путем применения специальных мероприятий, описанных в стандартах, вероятность критической ошибки в ПО снижают до целевой. Потом ПО (или систему с ПО вместе) сертифицируют, то бишь эксперты подтверждают, что мероприятия по снижению риска реально выполняются. Если происходит катастрофа по вине бага в ПО, и при проверке оказалось, что все мероприятия по снижению риска выполнялись в полном объеме — то никто не виноват. Бывает, мол. А вот если кто-то схалтурил — то вот вам и стрелочник.
Neuromantix
Если происходит катастрофа по вине бага в ПО, то ответственность должны нести все, через кого проходил этот софт, и кто не заметил/умолчал/скрыл баг.
А вообще я за 100% математическую верификацию всего софта, который связан с критическими системами, у пусть погромисты вешаются, если писать нормально не умеют.
Iskin
Математическая верификация не гарантирует защиту от целого ряда проблем.
Пока рано говорить о точных причинах в этом случае, но уже есть пару кандидатов от которых бы не спасла верификация:
Neuromantix
Ложные данные от датчика решаются дублированием датчиков, причем желательно чтоб датчики не висели на одном входе обработчика, если в«Боинге» до этого не додумались, то мне страшно жить в этом мире. Вдруг дятел таки прилетит…
Alexeyslav
Часто отказ датчика является штатным, например он в некоторых условиях может кратковременно примёрзнуть. Сколько датчиков не дублируй, в данной ситуации они вести себя будут одинаково. Для чего нужны пилоты в кабине… но и в ряде ситуаций даже они ничего сделать не могут — например полёт ночью, когда часть параметров полёта пилот получает только с приборов. Всё не так просто…
hippohood
Собственно, по известному случаю — датчиков у них два, и один из них давал неверные показания скорости. Система была настроена так что при разных показаниях она предполагала худший сценарий и начала реагировать соответственно. В случае первой неполадки пилоты разобрались что происходит и смогли заставить систему выполнять ручные команды, невзирая на то что с точки зрения показаний системы они были камикадзе. Во втором случае пилоты видимо не смогли или не успели принять правильное решение
rudinandrey
тогда уж по 3 датчика, потому как если всего два датчика, один из которых выходит из строя и показывает неправильные данные, по какому датчику должна работать в этом случае система? А если их будет 3 или больше, система вполне может решить, что большинство датчиков дает правильные параметры. Но всегда есть нюансы.
arcman
Нужно информацию с разных датчиков комбинировать (Sensor Fusion), тогда будет понятно, что это не самолет падает, а датчик врёт.
Ведь в самолете помимо датчиков подверженных внешним воздействиям есть инерциальная система (акселерометры, гироскопы) и GPS.
Iskin
Конечно. Вот только математтическая верифицируемость не определит, что разработчик забыл продумать сценарий неработающего датчика. Смысл был в том, что безопасное ПО — это гораздо сложнее, че просто математическая верифицируемость.
arcman
я не писал про математическую верифицируемость — я писал про то, что если есть вероятность отказа определенного датчика, то система должна анализировать разные источники данных что бы диагностировать отказ.
тут инженеры боинг явно облажались.
Alexeyslav
А какова надежность алгоритма анализа? Ведь он наверняка будет очень сложным, считай практически виртуальная модель самолёта в реальном времени… и этот алгоритм нужно будет сертифицировать. Сама бортовая система на порядки проще и проходит сертификацию по 10 лет… так что инженеры может и сделали такую систему, но в воздухе мы её увидим лет через 100 не раньше.
arcman
При этом MCAS они спокойно сунули даже не упомянув в документации.
Как с этим обстоит у Airbus? Они раньше начали внедрять компьютерные системы управления полетом.
Alexeyslav
Очевидно, что MCAS алгоритм достаточно простой чтобы его сертифицировали. Уверен, отметка об этом есть даже в документах по эксплуатации. Но как всегда это бывает, информация потонула в общем информационном шуме и прошла мимо ушей пилотов, может даже не всех но одного оказалось достаточно.
MaxxONE
Вы просто не сталкивались с разработкой систем, связанных с безопасностью. Всё уже давно придумано до вас.
Требования к верификации ПО — есть в стандартах. Использование инструментов статического (наподобие PVS-Studio) и динамического анализа кода — предусмотрено. Использование автогенерации кода проверенными инструментами, применение стандартов языка (MISRA C и т.п.) — существует бесконечно длинный список требований к разработке безопасного ПО, которые можно и нужно применять.
Те, кто умолчал/скрыл косяки — те виноваты, потому что есть вполне четкие процедуры на такие случаи. Не все, через кого проходил этот софт, несут ответственность, и это нормально. Потому что мы — люди, и даже при всех принятых мерах безопасности, существует вероятность ошибки. Наказывать за случайность? Извините, это бред. Стругацкие метко высказались на этот счет:
Ryav
По софту не скажу, но на производстве и при проектировании систем управления имеется процедура HAZOP, которая должна была выявить данные недостатки системы и свести риски к минимуму.
MaxxONE
Ну я больше и имел в виду софт в системах управления и автоматики. Я просто с ЖД автоматикой связан.
Polaris99
Все это есть, но зачастую сводится лишь к заполнению соответствующих бумажек, видимо, издержки существующей бюрократической системы, в которой важен не результат, а перераспределение ответственности.
0xd34df00d
MISRA C и PVS — так себе средства по сравнению с каким-нибудь Coq'ом.
opaopa
Какой-нибудь сog — это, конечно, хорошо, но медленно: «18 человеко-лет для 8700 строк кода на C. », «сертификация по традиционным критериям EAL7 для 8700 строк кода C займёт более 45,9 человеко-лет.» habr.com/ru/post/437406
faoriu
Тут скорее баг в спецификации.
appletesta
Его математикой в лоб не победишь, это да
bluetooth
А системы математической верификации кто по-вашему будет делать? И кто гарантирует что эти системы не без багов?
DarkTiger
Если и будут кого сажать, то не разработчиков, а тех, кто не встроил достаточно надежную систему верификации в процесс разработки. Есть DO-178, по нему построен процесс разработки авиационного софта. Да, он жутко дорогой, и, по большому счету, всегда можно докопаться до нереализованного компонента и объявить стрелочника.
У меня в Боинге работал знакомый. По его словам, там любой инженерный результат кладется в репозиторий только вместе с отсканированной подписью исполнителя (сейчас, наверное, ЭЦП там уже), так что стрелочника найти и посадить просто, было бы желание. Но Боинг действительно понимает, что даже в случае условного срока получит огромный отток инженеров, поэтому любой ценой переведет проблему в область сбоя оборудования или софта, типа диск сбойнул, конфиг накрылся, и система контроля версий взяла по дефолту первый коммит, а не последний (это бред, конечно, но оправдания Боинга будут примерно в таком ключе).
Я в свое время писал статью про безопасность софта для критических применений, там есть более подробные объяснения.
Dr_Faksov
Основной косяк Боинга в том что они ввели систему ВТИХАРЯ, лётчики узнали о её существовании только после первой аварии.
WeberWebber
Я не уверен, что там вина в разработчиках и багах. Скорее они оттестировали и сдали то, что от них требовалось, и не их вина, что в задании не были предусмотрены сбои датчиков и неожиданная для пилотов работа MCAS.
Это можно будет узнать только после расседования.