Научная статья на тему 'Моделирование воздушной обстановки с использованием объектно-ориентированной системы программирования'

Моделирование воздушной обстановки с использованием объектно-ориентированной системы программирования Текст научной статьи по специальности «Автоматика. Вычислительная техника»

CC BY
97
11
Поделиться
Ключевые слова
УПРАВЛЕНИЕ ВОЗДУШНЫМ ДВИЖЕНИЕМ / ВОЗДУШНАЯ ОБСТАНОВКА / МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ / AIR TRAFFIC CONTROL / AIR SITUATION / MATHEMATICAL MODELING

Аннотация научной статьи по автоматике и вычислительной технике, автор научной работы — Тельпуховская Ольга Николаевна

На основании опыта подготовки специалистов в области управления воздушным движением в МГТУ ГА выявлена целесообразность использования в процессе обучения демонстрации полетов самолетов в различной воздушной обстановке. При этом достаточно визуализации траекторий воздушных судов на экране компьютера. Рассматриваются вопросы моделирования воздушной обстановки на ЭВМ. Автор не ставил целью оптимизацию среды программирования. Важна была простота разработки интерфейса программы и получение результатов моделирования воздушной обстановки с учетом динамики изменения места самолета и возможности управления параметрами полета. Предполагалось получить качественные результаты в среде программирования с оболочкой визуального построения программ. Требуемые для вычислительного эксперимента маршруты воздушных судов задаются пользователем с указанием курса и протяженности отрезков линейно-ломаных кривых. Изображение самолета условная фигура самолета, положение продольной оси которого соответствует его курсу. Пользователь, одновременно являясь диспетчером, может осуществлять векторизацию управление с заданием нового курса для изменения траектории полета. В программе реализованы как автоматический, так и ручной режимы изменения траектории полета. Математическое моделирование динамики полета при переходе на новый курс не связано с характеристиками конкретного типа летательного аппарата. На примерах с одним или несколькими самолетами показывается эффективность объектно-ориентированного программирования воздушной обстановки для целей обучения. Разработанная программа отвечает требованиям приложений среды Windows. Рекомендуется среда программирования Delphi, в которой после компиляции создается *.exe-файл, не требующий никаких дополнительных файлов. Такую прикладную программу легко распространять и поддерживать.

Похожие темы научных работ по автоматике и вычислительной технике , автор научной работы — Тельпуховская Ольга Николаевна,

THE MODELING OF AIR SITUATION USING OBJECT-ORIENTED PROGRAMMING SYSTEM

Nowadays, it does make sense to use demonstration flights in the area of air traffic control in various air situations. The questions of computer air plot simulation are considered. For the simulation of processes and systems the technology of simulation modeling is used. It is a formal description of the functioning logic. In addition, there is computation of multifactor experiments. The picture of the aircraft is a conventional figure of the aircraft, the longitudinal axis position of which corresponds to its course. It can be on different or same routes. Changing of flight position appears according to the program using computer timer. For each aircraft, you enter its speed value. The controller can perform vectoring with the new course for changing the trajectory of the flight. The program has both automatic and manual modes. Mathematical modeling of flight, during the transition to a new course, does not relate to the characteristics of the specific type of aircraft. For example, there is the effectiveness of object-oriented program of air situation with one or more aircraft for training purposes. The aircraft forms on arbitrary sections of the route. The program determines for each aircraft the place of its initial installation and calculates the current distance to the next waypoint. The interval towards the waypoint determines the timeof automatic course changing to a value corresponding to the new route. It’s recommended to use Delphi programming system. The object-oriented programming system is effective for the task. It shows that the data display and appropriate software are sufficient funds for the visualization of the air plot at different stages of studying.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Текст научной работы на тему «Моделирование воздушной обстановки с использованием объектно-ориентированной системы программирования»

Vol. 20, No. 04, 2017

Ovil Aviation High Technologies

ИНФОРМА ТИКА, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И УПРАВЛЕНИЕ

DOI: 10.26467/2079-0619-2017-20-4-107-113

МОДЕЛИРОВАНИЕ ВОЗДУШНОЙ ОБСТАНОВКИ С ИСПОЛЬЗОВАНИЕМ ОБЪЕКТНО-ОРИЕНТИРОВАННОЙ СИСТЕМЫ ПРОГРАММИРОВАНИЯ

О.Н. ТЕЛЬПУХОВСКАЯ1

1 Московский государственный технический университет гражданской авиации,

г. Москва, Россия

На основании опыта подготовки специалистов в области управления воздушным движением в МГТУ ГА выявлена целесообразность использования в процессе обучения демонстрации полетов самолетов в различной воздушной обстановке. При этом достаточно визуализации траекторий воздушных судов на экране компьютера.

Рассматриваются вопросы моделирования воздушной обстановки на ЭВМ. Автор не ставил целью оптимизацию среды программирования. Важна была простота разработки интерфейса программы и получение результатов моделирования воздушной обстановки с учетом динамики изменения места самолета и возможности управления параметрами полета.

Предполагалось получить качественные результаты в среде программирования с оболочкой визуального построения программ. Требуемые для вычислительного эксперимента маршруты воздушных судов задаются пользователем с указанием курса и протяженности отрезков линейно-ломаных кривых. Изображение самолета - условная фигура самолета, положение продольной оси которого соответствует его курсу.

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

На примерах с одним или несколькими самолетами показывается эффективность объектно-ориентированного программирования воздушной обстановки для целей обучения. Разработанная программа отвечает требованиям приложений среды Windows. Рекомендуется среда программирования Delphi, в которой после компиляции создается *.ехе-файл, не требующий никаких дополнительных файлов. Такую прикладную программу легко распространять и поддерживать.

Ключевые слова: управление воздушным движением, воздушная обстановка, математическое моделирование.

ВВЕДЕНИЕ

Моделирование воздушной обстановки на ЭВМ целесообразно использовать на различных этапах процесса обучения для дисциплин, требующих визуализации траекторий воздушных судов (ВС). Опыт подготовки специалистов в области управления воздушным движением в МГТУ ГА показывает, что кроме специальных технических средств, дающих возможность диспетчеру на индикаторе наблюдать воздушную обстановку и связываться с экипажами, необходимы простые обучающие системы. Экран персонального компьютера и соответствующая программа - достаточные средства для визуализации воздушной обстановки.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

МЕТОДЫ И МЕТОДОЛОГИЯ ИССЛЕДОВАНИЯ

Для моделирования процессов и систем, имеющих сложный характер поведения, используются технологии имитационного моделирования. Имитационная модель [1-6] - это фор-

dvil Aviation High Technologies

Vol. 20, No. 04, 2017

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

Выбираемая среда программирования должна позволять реализовать модульное проектирование, что сокращает число возможных ошибок и повышает надежность кода. На базе языка Object Pascal, который соединен с оболочкой визуального построения программ -приложений среды Windows, основана система Delphi [7-10]. Delphi является системой программирования, получившей название объектно-ориентированной. Ее относят к среде скоростной разработки прикладных программ - RAD (Rapid Application Development). Новый стиль взаимодействия с компьютером позволяет разработчику программы наглядно конструировать пользовательский интерфейс с помощью мыши, а не обычным путем: написанием кодов, их трансляцией и запуском программы, чтобы посмотреть, как это выглядит на экране. Скоростная разработка прикладных программ («быстрое построение прототипа») - метод создания модели пользовательского интерфейса приложения на ранних стадиях разработки. Можно ознакомить своих будущих пользователей с построенным прототипом и получить от них «обратную связь» относительно интерфейса, расположения компонентов, функциональных возможностей приложения. Delphi после компиляции создает *.ехе-файл, который не требует никаких дополнительных файлов. Такую прикладную программу легко распространять и поддерживать.

Прикладная программа, построенная по принципам объектной ориентации, - это не последовательность каких-то операторов, не некий жесткий алгоритм. Объектно-ориентированная программа - это совокупность объектов и способов их взаимодействия. Отдельным (и главным) объектом при таком подходе во многих случаях можно считать пользователя программы. Обмен между объектами происходит путем сообщений.

ПОСТАНОВКА ЗАДАЧИ

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

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

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

При полете ВС по маршруту пользователь может прервать программу автоматического следования по нему. Возможен режим полета с переходом по программе на новый заданный курс, задаваемый пользователем. Пользователь может также в процессе полета изменять курс в «ручном» режиме.

РЕЗУЛЬТАТЫ ИССЛЕДОВАНИЯ

Среда программирования Delphi создает одно или несколько окон формы. Понятие формы - основа программирования в Delphi. Формы используются для вывода информации или обмена данными с пользователем. Программа создается в результате помещения на форму кно-

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Vol. 20, No. 04, 2017

Сivil Aviation High Technologies

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

На рис. 1 показан фрагмент экрана компьютера при полете одного ВС. На экран компьютера выведен линейно-ломаный маршрут с двумя участками (широкие линии). Стрелкой показано направление полета. Для каждого участка указан курс в градусах и протяженность в километрах. Самолет (условно «борт 001») на втором участке сходит с маршрута, осуществляя полет по указаниям диспетчера (узкие линии). Текущие параметры полета указаны в автоматически выводимом формуляре. Число маршрутов в программе - до 10 маршрутов. Количество пунктов маршрута (исходный, промежуточные, конечный) - до 20 пунктов. Маршруты имеют номер, который им при создании присваивается автоматически: 1, 2, 3, ... . Точки рабочей области экрана имеют координаты X, Y. Начало координат - левый верхний угол. Ось Х направлена направо, ось Y - вниз.

Программа автоматически записывает на диск координаты X, Y пунктов маршрутов, создаваемых пользователем. Задаваемое имя файла Маршрут N_XY.txt, где N - номер маршрута. Возможен вывод записи на диске. Вывод используется для восстановления ранее созданного, но отсутствующего на экране маршрута. Маршрут может быть стерт в текущей сессии работы с программой, или - программа включена, но маршруты не создавались. Необходимо вывести один, несколько или все маршруты, которые были в предыдущей сессии работы с программой.

Имеется форма данных для установленных маршрутов (рис. 2).

Рис. 1. Моделирование воздушной обстановки при полете одного ВС (фрагмент экрана) Fig. 1. Simulation of the airspace situation during one aircraft flight (a fragment of the screen)

Рис. 2. Форма «Маршрут» Fig. 2. Form "Route"

На форме для каждого маршрута отображаются столбцы координат Х, Y пунктов маршрутов, курс и длина участков. Для пересчета пикселей (точек экрана) в километры и обратно используется управляющий элемент Пересчет пиксель/км. Пересчет пикселей в километры связан с масштабом окна, в котором отображается моделируемая воздушная обстановка - карты (канвы).

Экран имеет разрешение, устанавливаемое в среде Windows. Установка разрешения в Windows 7: щелчок правой кнопкой мыши на рабочем столе, выбор пункта меню Разрешение экрана. Если при работе программы наблюдается низкая скорость перерисовки экрана, необходимо понизить разрешение экрана, установив, например, значение 1280 х 720 пикс.

Установка ВС на маршрутах выполняется мышью до включения их автоматического перемещения. Возможна установка ряда ВС на одном маршруте (рис. 3).

Ovil Aviation High Technologies

Vol. 20, No. 04, 2017

Рис. 3. Моделирование воздушной обстановки при полете двух ВС по одному маршруту (фрагмент рабочего экрана) Fig. 3. Simulation of the airspace situation during the flight of two aircraft on the same route (a fragment of an operation screen)

Автоматическое перемещение ВС выполняется по командам таймера компьютера с заданным интервалом анимации. Учитываются масштаб карты (канвы) и скорость ВС.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

ВС устанавливаются на произвольных участках маршрута. Программа определяет для каждого ВС место его начальной установки и рассчитывает текущее расстояние до следующего промежуточного пункта маршрута (ППМ). Значение интервала подлета к ППМ определяет момент автоматического изменения курса на значение, соответствующее курсу нового (следующего) участка маршрута:

AirCraft.Kurs := PointPath.Kurs[MN, PtCounts[MN, MPAir]], где

AirCraft.Kurs - курс ВС;

PointPath.Kurs[ ] - таблица курсов участков маршрута;

MN - номер маршрута;

MPAir - номер участка маршрута.

Форма «Установки» с параметрами модели показана на рис. 4. Координаты ВС X, Y рассчитываются с учетом скорости и курса ВС:

sin (Pi/180 * cos (Pi/180 *

Рис. 4. Форма «Установки» Fig. 4. Form "Settings"

XSpeed := DeltaWdth * AirCraft.Kurs); YSpeed := DeltaWdth * AirCraft.Kurs);

Л^гай^ := Л^гай^ + XSpeed; Л^гаАТ := AirCraft.Y + YSpeed, где

XSpeed, YSpeed - приращения координат ВС X, Y за шаг анимации; DeltaWdth - полное линейное приращение для заданной скорости за шаг анимации; AirCraft.Kurs - курс ВС; AirCraft.X, AirCraft.Y - идентификаторы координат ВС X, Y.

Vol. 20, No. 04, 2017

Ovil Aviation High Technologies

Кроме режима полета ВС по маршруту имеется режим полета с заданным курсом. Пользователь может в процессе полета изменять курс. В программе возможно:

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

- задание нового курса и включение режима автоматического изменения курса ВС для перехода на заданный курс;

- режим ручного разворота ВС по часовой стрелке или против с оперативно переключаемой пользователем скоростью изменения курса.

Рассмотрим режим автоматического изменения курса ВС (рис. 5).

ВС 1 («борт 001») переходит в выбранный пользователем момент с курса 90° на курс 0°. Если в режиме полета ВС по маршруту изменение курса при переходе на новый участок маршрута происходит сразу при подлете к ППМ, то в режиме полета с новым заданным курсом учитывается динамика автоматической смены курса.

Переход с курса 90° на курс 0° производится вводом нужного значения в окне Курс заданный с одновременным включением режима Переход на курс (автоматический) (рис. 6).

Берг GQ2 АжгА002

Берг 003 АжгАООЗ

Рис. 5. Режим автоматического изменения курса Fig. 5. The automatic mode of a heading change

Рис. 6. Панель режимов полета Fig. 6. The panel of flight modes

Режим ручного разворота устанавливается управляющими элементами средней части панели режимов полета ВС. Возможен разворот по часовой стрелке или против. Интервал изменения курса задается в соответствующем окне или с помощью оперативно переключаемых кнопок 1, 2, 3 (в порядке возрастания интервала). Кнопка 0 отменяет изменение курса.

Режим полета по маршруту устанавливается в нижней части панели режимов полета ВС (номер маршрута выбирается кнопкой в окне).

ОБСУЖДЕНИЕ ПОЛУЧЕННЫХ РЕЗУЛЬТАТОВ И ЗАКЛЮЧЕНИЕ

На основании опыта подготовки специалистов в области управления воздушным движением в МГТУ ГА выявлена целесообразность использования в процессе обучения демонстрации полетов воздушных судов (ВС) в различной воздушной обстановке.

Сivil Aviation High Technologies

Vol. 20, No. 04, 2017

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

При рассмотрении вопросов моделирования воздушной обстановки на ЭВМ был разработан интерфейс программы и получены результаты моделирования воздушной обстановки с учетом динамики изменения местоположения ВС и возможности управления параметрами полета. Требуемые для вычислительного эксперимента маршруты воздушных судов задаются с указанием курса и протяженности отрезками линейно-ломаных кривых.

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

На примерах с одним или несколькими ВС показана эффективность объектно-ориентированного программирования воздушной обстановки для целей обучения. Разработанная программа отвечает требованиям приложений среды Windows.

СПИСОК ЛИТЕРАТУРЫ

1. Бродский Ю.И. Лекции по математическому и имитационному моделированию. М.: Директ-Медиа, 2015. 240 с.

2. Авдеенко Т.В., Горский В.Г. Построение динамических моделей в пространстве состояний. М.: НГТУ, 2007. 292 с.

3. Сирота А.А. Компьютерное моделирование и оценка эффективности сложных систем. М.: Техносфера, 2006. 280 с.

4. Бордовский Г.А., Кондратьев А.С., Чоудери А.Д. Физические основы математического моделирования. М.: Академия, 2005. 320 с.

5. Плохотников К.Э. Математическое моделирование и вычислительный эксперимент. М.: Едиториал УРСС, 2003. 280 с.

6. Самарский А.А., Михайлов А.П. Математическое моделирование. М.: Физматлит, 2002. 320 с.

7. Архангельский А.Я. Delphi 2006. Язык Delphi, классы, функции Win32 и .NET. Справочное пособие. М.: Бином-Пресс, 2011. 1152 с.

8. Лесневский А.С. Объектно-ориентированное программирование для начинающих. М.: Бином, 2010. 232 с.

9. Архангельский А.Я. Программирование в Delphi. М.: Бином-Пресс, 2008. 1158 с.

10. Озеров В.П. Delphi. Советы программистов. СПб.: Символ-Плюс, 2003. 976 с.

СВЕДЕНИЯ ОБ АВТОРЕ

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Тельпуховская Ольга Николаевна, кандидат технических наук, доцент МГТУ ГА, o.telpuhovskaya@mstuca.aero.

THE MODELING OF AIR SITUATION USING OBJECT-ORIENTED PROGRAMMING SYSTEM

N. Tel'puhovskaya1

1Moscow State Technical University of Civil Aviation, Moscow, Russia ABSTRACT

Nowadays, it does make sense to use demonstration flights in the area of air traffic control in various air situations. The questions of computer air plot simulation are considered. For the simulation of processes and systems the technology

Vol. 20, No. 04, 2017

Ovil Aviation High Technologies

of simulation modeling is used. It is a formal description of the functioning logic. In addition, there is computation of mul-tifactor experiments.

The picture of the aircraft is a conventional figure of the aircraft, the longitudinal axis position of which corresponds to its course. It can be on different or same routes. Changing of flight position appears according to the program using computer timer. For each aircraft, you enter its speed value. The controller can perform vectoring with the new course for changing the trajectory of the flight. The program has both automatic and manual modes. Mathematical modeling of flight, during the transition to a new course, does not relate to the characteristics of the specific type of aircraft. For example, there is the effectiveness of object-oriented program of air situation with one or more aircraft for training purposes. The aircraft forms on arbitrary sections of the route. The program determines for each aircraft the place of its initial installation and calculates the current distance to the next waypoint. The interval towards the waypoint determines the timeof automatic course changing to a value corresponding to the new route. It's recommended to use Delphi programming system.

The object-oriented programming system is effective for the task. It shows that the data display and appropriate software are sufficient funds for the visualization of the air plot at different stages of studying.

Key words: Air Traffic Control, air situation, mathematical modeling.

1. Brodsky Y.I. Lekcii po matematicheskomu i imitacionnomu modelirovaniju [The lectures of mathematic and studying simulation]. Moscow, Direct-Media, 2015, 240 p. (in Russian)

2. Avdeenko T.V., Gorskii V.G. Postroenie dinamicheskih modelej vprostranstve sostojanij [Creation of dynamic models in the space of states]. Moscow, NGTU, 2007, 292 p. (in Russian)

3. Sirota A.A. Kompjuternoe modelirovanie i ocenka jeffektivnosti slozhnyh sistem [Computer modeling and assessment of the efficiency of complex systems]. Moscow, Technosphere, 2006, 280 p. (in Russian)

4. Bordovskii G.A., Kondratyev A.S., Chouderi A.D. Fizicheskie osnovy matematich-eskogo modelirovanija [Physical bases of mathematical modeling]. Moscow, Academy, 2005, 320 p. (in Russian)

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

5. Plokhotnikov K. E. Matematicheskoe modelirovanie i vychislitel'nyj jeksperiment [Mathematical modeling and computing experiment]. Moscow, Editorial of URSS, 2003, 280 p. (in Russian)

6. Samarskii A.A., Mikhaylov A.P. Matematicheskoe modelirovanie [Mathematical modeling]. Moscow, Fizmatlit, 2002, 320p. (in Russian)

7. Arkhangelskii A.Ya. Jazyk Delphi, klassy, funkcii Win32 i .NET. Spravochnoe posobie [Delphi 2006. Language, classes, Win32 and .NET functions. Handbook]. Moscow, Bing Press, 2011, 1152 p. (in Russian)

8. Lesnevskii A.S. Obektno-orientirovannoeprogrammirovanie dlja nachinajushhih [Object-oriented programming for beginners]. Moscow, Binom, 2010, 232 p. (in Russian)

9. Arkhangelskii A.Ya. Programmirovanie v Delphi [Programming in Delphi]. 2006. Moscow, Binom-Press, 2011, 1152 p. (in Russian)

10. Ozerov V.P. Delphi. Sovety programmistov [Delphi. Councils of programmers]. St. Petersburg, Simvol-Plus, 2003, 976 p. (in Russian)

Ol'ga N. Tel'puhovskaya, Candidate of Technical Sciences, Associate Professor, Associate Professor of Moscow State Technical University of Civil Aviation, o.telpuhovskaya@mstuca.aero.

REFERENCES

INFORMATION ABOUT THE AUTHOR

Поступила в редакцию Принята в печать

21.01.2017 25.05.2017

Received

Accepted for publication

21.01.2017 25.05.2017