Управление воздушным движением — взгляд изнутри

в 20:37, , рубрики: авиация, Промышленное программирование, управление воздушным движением

Как уже писал в предыдущем хабрапосте, я получил работу программиста в области управления воздушным движением и хотел бы немного разбавить засилие мобильных и десктопных приложений и познакомить с основами УВД (не путать «управление воздушным движением» с «управлением внутренних дел»), некоторыми особенностями и решаемыми задачами, надеюсь это будет интересно.

Этот пост будет содержать, в основном, теорию, которая может быть прочитана в Википедии, нагуглена или вычитана в какой-нибудь книге. Однако я постараюсь обобщить и наглядно показать, какие задачи приходится решать на земле людям и компьютерам, пока вы едите содержимое своего ланчбокса на высоте 10000 метров. Если вы все еще хотите узнать, для чего это вообще нужно — добро пожаловать под кат.

Как хочу, так и лечу

Начнем с того, что самолеты в небе летают из пункта А в пункт Б не по прямой линии, что было бы короче, а с использованием так называемых «воздушных трасс» в горизонтальной плоскости и эшелонов в вертикальной. Воздушная трасса представляет собой линию, соединяющую две навигационные точки. Навигационные точки — фиксированные точки на местности, представленные координатами и имеющие свое обозначение (пример обозначений: NOVEN, DOBAK, GAGARIN, OKLIT), навигационные точки могут быть представлены радиомаяком (идеальный вариант), ориентиром на местности (тоже неплохо), или просто быть выбраны таким образом, чтобы трассы от нее не проходили над крупным городом или секретным военным объектом. Навигационные точки и коридоры между ними определяются каждой конкретной страной и могут меняться. Для того, чтобы изменения аэронавигационной обстановки стали известны авиакомпаниям, диспетчерам, летчикам, автопилотам самолетов (и симерам) раз в 28 дней публикуется так называемая информация AIRAC (Aeronautical Information Regulation And Control), содержащая в себе перечень всех навигационных юнитов (точки, трассы, аэродромы, маяки, входные ноды и т.д.). Кроме того, навигационная обстановка может меняться буквально в течение нескольких минут, пример: закрытие воздушного пространства Украины после катастрофы MH17. Задача авиакомпании — сократить свои издержки за счет «спрямления» маршрута, но как покажет практика — коротко не всегда дешево. Плюс при подаче плана полета желательно проверить, не накладывается ли он на уже существующие рейсы. А самолетов много и все хотят лететь покороче…

Когда хочу, тогда и лечу

Казалось бы — чего проще, подал флайтплан — вбил его в FMS (flight management system) своего самолета, включил автопилот и расслабляйся весь полет, а нет! Необходимо учитывать время, в качестве еще одного измерения. Причем время полета — это не расстояние между пунктами, поделенное на крейсерскую скорость самолета, оно определяется многими факторами (состояние атмосферы (прежде всего ветер и температура), загруженность портов вылета и прилета, загруженность трасс и занятость эшелонов, загрузка самолета, даже настроение летчика).

Рассмотрим простейший пример, для этого возьмем какой-нибудь крупный аэропорт, например Амстердам (навигационное обозначение EHAM) и предположим, что в Амстердам желают выполнять полеты авиакомпании «ХабраАвиа» из Москвы, «FogAirlines» из Парижа и «PizzaAirlines» из, например, Рима. Все авиакомпании желают выполнить свой рейс аккурат к отлету рейса «MacDakAirlines», вылетающему в 16:00 в Нью-Йорк, обеспечив удобную стыковку трансатлантическим пассажирам, заодно забрав пассажиров, прилетевших этим же бортом из-за океана. Три самолета аэропорт Амстердама обслужить, конечно, сможет, а если их 30(0)? И это еще не все, допустим диспетчеры оказались воробьями стреляными и, созвонившись друг с другом, смогли чуть задержать рейс из Парижа, чуть-чуть спрямить маршрут рейсу из Рима (московский рейс они изменить не могут — другая зона ответственности), и все, вроде бы, счастливы. Но тут оказывается, что рейс из Рима вылетел с задержкой в 25 минут из-за вылавливания пассажира в DutyFree, москвичам подул попутный ветерок, и они прилетают на 10 минут раньше, а рейс из Парижа вылетает по расписанию и снова опасность того, что рейсы или сойдутся на эшелоне или прилетят на схему захода Амстердам в одно время, создав пробку (те, кто играл в AirControl на Андроиде поймут), парижский рейс задержится и французы не улетят смотреть на статую Свободы.

Еще хаоса!

Предположим, что опытный старый диспетчер аэропорта Амстердам справился и с этой задачей, летчиков не оштрафовали за перерасход горючего, а рейс на Нью-Йорк не успел вылететь из-за суматохи на рулежных дорожках. Но и это еще все, внезапно выясняется, что из Варшавы самолетом транспортной компании летит донорское сердце погибшего в автокатастрофе человека, такие самолеты имеют особую метку «No Delay, No rerouting» и должны прилететь точно в срок или даже раньше, вдобавок к этому маршрут самолета-сердцевоза пересекается с литерным бортом президента Лапландии и согласно правил сопровождения литерных бортов — он должен быть на трассе один, а в это время ВВС Германии решили устроить учения и закрыли часть трасс на высотах «от земли и до космоса», Чехию накрыл грозовой фронт, да и соседи из Парижа устроили забастовку, вызвав гиганские задержки. Ну и чтобы развеять все сомнения в необходимости автоматизации у самолета «MacAirlines», везущего французов в Нью-Йорк в самолете, открывается ящик с пчелами и ему необходима срочная посадка.

Еще иногда на взлетное поле выбегают коровы, у самолетов случаются неисправности, диспетчеры болеют, у летчиков есть нормы рабочего времени (иногда даже минутная задержка рейса может оставить его на земле на 8 часов — время отдыха экипажа), пассажиры буянят, у пассажиров случаются сердечные приступы и многое многое другое…

В общем получается что-то вроде этого:

Представьте, каково будет вот этому диспетчеру после окончания рабочего дня:

Все события, описанные здесь — не плод моего больного воображения — это реальные ситуации, с которыми приходилось сталкиваться органам управления воздушным движением в своей повседневной работе. И это лишь маленькая часть того, что может случится, и что должно быть корректно обработано. Добавлю к этому, что за день через недра ETFMS проходит чуть более 30 тысяч полетов и эта цифра постоянно растет, плюс встает задача аварийного восcтановления в случае отказа системы.

Кроме задачи непосредственно управления и реагирования на ситуации, ETFMS решает еще и задачи «симуляции» и «предсказания». Впрочем описание этих задач выходит за рамки данного поста.

Немного нирваны:

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

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

Автор: gryberg

Источник


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js