Сбой программного обеспечения самолета, вызванный нулевой/отрицательной высотой на Мертвом море

Мне несколько раз рассказывали такие анекдоты на интервью. Интервьюеры использовали эту историю как аргумент в пользу оборонительной разработки программного обеспечения.

Вот объяснение одного из многочисленных случаев в сети:

Эта история была рассказана людьми из Motorola и предположительно включена в каждый учебный курс по микроконтроллерам, который проводит Motorola.

Испытательные полеты F-16 проводились в Израиле. F-16 летали на малой высоте. При подходе к Мертвому морю вся навигационная система внезапно перезагрузилась. Смелый пилот посадил птицу. Штаб-квартира позвонила в Motorola и приказала как можно скорее прибыть на место. Наземные испытания прошли отлично, но каждый раз, когда птица поднималась в воздух, она перезагружалась.

Летчикам стало не по себе. Полеты на границе враждебной территории без навигационного коммуникатора, когда арабы нацеливали свои ракеты «земля-воздух» на все, что движется, было не так уж и приятно. Ни одна из них не отлаживала всю навигационную систему в полете. Потом кто-то догадался.

Высота Мертвого моря относительно мирового уровня моря составляет -400 метров. Как только F-16 достиг уровня моря, навком сделал деление на ноль, разбился и перезагрузился.

Когда я попытался найти информацию по этой теме, я не смог найти никаких упоминаний об упомянутых обучающих курсах Motorola. Мне также не удалось найти каких-либо упоминаний о реальных событиях (даты, места, отчеты о сбоях).

У меня такой вопрос: Были ли задокументированные случаи сбоев навигационной системы самолета из-за нулевого/отрицательного уровня высоты?

Дополнительный вопрос, вытекающий из приведенной выше цитаты: существуют ли какие-либо учебные курсы по микроконтроллерам Motorola, в которых в качестве примера упоминается «случай Мертвого моря»?

Связанное обсуждение на форумах snopes

Зачем вам нужно делить что-либо на текущую высоту? Я не могу придумать ни одной меры, которая потребовала бы этого.
КСТАТИ. Другой вариант истории состоит в том, что автопилот F-16 перевернул самолет вверх ногами, как только он пересек экватор.
@vartec, возможно, ошибка в SubmarineMode()методе :)
@vartec скорость спуска/расстояние до земли = 1/время, пока вы не упадете на землю, как только это станет ниже некоторого значения, раздастся звуковое предупреждение. мы избегаем теста на 0 для скорости спуска и используем только 1 сравнение для удивительной микрооптимизации
если бы авиационная электроника не могла работать на высотах ниже уровня моря, в Нидерландах ежедневно происходили бы сотни авиакатастроф. Схипхол, Международный аэропорт Амстердама, расположен на высоте -12 футов. В Роттердам Интернэшнл, по-моему, -7, но точно не помню. В Лелистаде -10 или около того (но у него нет регулярных рейсов, только служебные и частные самолеты) и т. д. и т. д.
@ratchetfreak: но это будет использовать радиовысотомер, который даст положительное значение. Кроме того, я полагаю, что EGPWS полностью отделен от NAV/COM.
@jwenting при заходе на посадку пилоты запрашивают текущее атмосферное давление на взлетно-посадочной полосе, чтобы они могли точно настроить высотомер (и будут использовать радиовысотомер на конечном заходе на посадку)
@ratchetfreak Я это прекрасно знаю, спасибо. Тем не менее, предположение вопроса заключалось в том, что простого факта, что район находится ниже уровня моря, достаточно, чтобы самолет разбился из-за отказа электроники, что явно является подделкой.
В этом так много неправильных вещей, что трудно понять, с чего начать. Основным признаком городской легенды являются довольно расплывчатые термины, в которых рассказана история. «Вся перезагрузка навигационной системы» — это то, что вы говорите в выдуманной истории, но если вы действительно знаете, о чем говорите, то вы говорите гораздо точнее. Навигационная система самолета регистрирует несколько различных типов высоты, и почти все они могут в какой-то момент стать отрицательными — достаточно часто, чтобы это можно было проверить.
Еще одна причина, по которой это будет трудно проверить, — секретный характер военных технологий. Достаточно сложно выяснить, производит ли Motorola какие-либо детали авионики F16. Мне нравится тема этого вопроса, но я боюсь, что на него не будет достойного ответа.
Чтобы произошло «деление на ноль», высота должна быть ТОЧНО нулевой, а не каждый раз (навигационные системы периодически проверяют датчики, поэтому нет гарантии, что на любом образце будут точные нулевые показания, когда самолет проходит через ноль ASL). Навигационную систему не отлаживают в полевых условиях, ее отлаживают на симуляторах (потому что навигационные техники не умеют летать на военных самолетах). Также я был на Мертвом море и не верю, что в этом районе есть аэродром, не говоря уже о военном.

Ответы (2)

Я нашел два похожих случая.

USS Yorktown (CG - 48) допустил ошибку деления на ноль, которая вывела из строя всю его сеть и привела к отказу его двигателя. ( ссылка , ссылка )

У группы из 8 истребителей F-22 отказали системы, когда они пересекли международную линию перемены дат. ( ссылка , ссылка )

Я не смог найти доказательств того, что высота в 0 футов вызвала сбой системы на Мертвом море или где-либо еще.

да, я действительно нашел ссылку на статью USS Yorktown. Спасибо за ссылку на эскадрилью F-22
Добавление незначительной точки данных: я нашел постер на форуме Snopes, утверждающий, что история была распространена в научно-популярной книге Тома Клэнси. Я искал очевидного кандидата: «Истребительное крыло: экскурсия по боевому крылу ВВС», но его там не оказалось.

Не похоже на историю, но отрицательные высоты были проблематичными.

В этой статье сообщается, что бортовой навигационный компьютер самолета Lockheed-Martin C-130J Hercules начал плохо себя вести при посадке в Мертвом море на высоте -1240 футов над уровнем моря.

Мы эксплуатировали самолет, как и планировали, но теперь, когда мы были на земле, системы самолета выдавали множество навигационных ошибок.

Где Нав???

Бортовой навигационный компьютер не реагировал на наши действия и не позволял нам увидеть заранее запрограммированный маршрут, который мы загрузили для возвращения на базу. Компьютер вел себя так, будто мы врезались в землю. Мы немедленно получили контрольный список и начали устранение неполадок. Самолет не смог найти спутники GPS, принять какие-либо обновления своего навигационного решения, и не было навигационных средств, которые нужно было настраивать. Мы поняли, что нам придется вернуться на базу старым школьным способом. Мы вытащили карту и составили план взлета и полета по дороге на запад обратно на базу. Мы завершили обработку данных о производительности при взлете, настроили самолет и начали разбег с максимальным усилием при взлете.

Самолет набрал высоту, и когда мы достигли -300 м над уровнем моря, все вернулось. Навигационный компьютер снова включился, и наши GPS-позиции подтвердили, что база находится в 20 милях к западу.

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

У нас есть собственное «Предупреждение» в руководстве

Большинство предупреждений в руководствах по летной эксплуатации связаны с тем, что кто-то делает что-то не так. Мы внесли свой вклад в один за то, что сделали что-то правильно! После того, как производитель самолетов изучил отчеты о наземных операциях на Мертвом море, они поняли, что навигационный компьютер не подходит для работы на высоте ниже 400 футов над уровнем моря. Компания немедленно выпустила изменение к руководству с ПРЕДУПРЕЖДЕНИЕМ о том, что самолет нельзя эксплуатировать ниже высоты -400 над уровнем моря. Я уверен, что когда они выпустят следующую версию, она будет включать в себя обновленную навигацию для полетов к Мертвому морю и другим экстремально низким местам Земли.