СЕТЕВАЯ МОДЕЛЬ ВОСПРОИЗВЕДЕНИЯ ГРУППОВОГО ПОЛЁТА НАД МЕСТНОСТЬЮ

 

 

В. Ю. Харитонов

 

 

(Москва, Московский энергетический институт (ТУ), Российская Федерация)

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

Интерес исследователей к таким системам постоянно растёт. С ростом возможностей современной вычислительной техники появляется большое количество новых разработок и решений [1 – 2], в которых достигается все больший уровень реализма в процессе имитации полёта.

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

 

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

Для реализации воспроизведения полёта над местностью, в первую очередь, должна быть построена модель реального мира с определённой сте­пенью детализации, включающая такие основные элементы как рельеф ме­стности, наземные сооружения, модели летательных аппаратов и другие объекты. Также должно быть реализовано виртуальное управление летательным аппаратом пилота и его движение в моделируемом мире.

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

В разработанной сетевой модели воспроизведения группового полёта над местностью реализована архитектура «клиент-сервер», которая вклю­чает один сервер и множество клиентов. Обмен данными между сервером и клиентами ведётся по протоколу TCP с применением механизма сокетов, что обеспечивает надёжную доставку данных.

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

Функции приложения-сервера:

·        приём от всех клиентов текущих координат их летательных аппаратов;

·        хранение координат всех клиентов;

·        рассылка принятых от каждого клиента координат другим клиентам;

·        динамическое подключение и отсоединение клиентов в процессе их взаимодействия.

Подпись:  
Рисунок 1 — Схема взаимодействия 
многих клиентов с сервером
Под словом «координаты» понимаются не только данные, характери­зующие положение объекта в про­странстве, но также его скорость и направление движения.

На рисунке 1 приведена схема взаимодействия многих клиентов с сервером. При подключении ново­го клиента сервер создаёт незави­симую программную нить (thread) для его обслуживания, что позво­ляет работать с новым клиентом независимо от остальных клиентов. Каждая независимая нить осущест­вляет прием координат от назна­ченного ей клиента (фаза AB), обра­батывает их (фаза BC) и ретрансли­рует другим клиентам (фаза CD).

Приложение-клиент выполняет как графические, так и сетевые задачи.

Функции приложения-клиента:

·        подготовка и визуализация модели виртуального мира: создание трёхмерного ландшафта на основе карт высот, загрузка моделей наземных сооружений и летательных аппаратов, текстурирование всех объектов и расчет освещения, отображение небосвода;

·        ускорение процесса визуализации за счёт применения технологий Rottger ROAM и Frustum Culling [3], которые позволяют сокра­щать общее число отображаемых треугольников (полигонов) в сцене, без заметного проигрыша в качестве;

·        поддержка функции управления летательным аппаратом в про­цессе движения в виртуальном мире (регулировка скорости, вы­соты полёта, осуществление поворотов в различных плоскостях);

·        установка соединения с сервером по протоколу TCP с использо­ванием механизма сокетов;

·        передача серверу координат летательного аппарата (на рисунке 1 моменты отправки координат обозначены tКЛ1, …, tКЛN), управляе­мого данных клиентом, приём от сервера такой же информации о летательных аппаратах, управляемых удалёнными клиентами;

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

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

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

Загрузка моделей наземных сооружений и летательных аппаратов осу­ществляется из файлов формата 3DS, который является одним из наиболее распространённых форматов для хранения трёхмерных моделей объектов.

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

                                         ,                                  (1)

где V/C — время передачи посылки клиента объёмом V (в байтах) со скоро­стью C (в байт/с), tЛ  — латентность (задержка при передаче по физической среде), ntОбр.С. — суммарное время обработки сервером посылок от n клиентов (в наихудшем случае, когда все посылки обрабатываются последовательно).

Для того чтобы пилот, управляющий своим летательным аппаратом, мог оперативно реагировать на действия других пилотов, время tкл-кл не должно превышать определённого максимального значения. Отсюда из (1) можно найти максимальное число клиентов, которое может быть одновре­менно подключено к серверу.

 

Подпись:  
Рисунок 2 — Вид из кабины пилота
В предложенной сетевой модели заложены базовые механизмы, необ­ходимые для реализации воспроизведения группового полёта над местно­стью. Были разработаны как графический «движок» (engine), отвечающий непосредственно за имитацию полёта отдельного пилота, так и принципы взаимодействия нескольких пилотов в процессе их группового полёта.

Проведённые эксперименты подтверждают работоспособность разработанной программной мо­дели. На рисунке 2 показан экран с видом «из кабины пилота».

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

 

ЛИТЕРАТУРА

1.     Михайлюк М.В., Решетников В.Н. Визуализация ландшафтов боль­шой протяженности в системах виртуальной реальности. — М., 1999.

2.     Кузнецов А.Ю. Особенности организации распределённой компью­терной системы визуализации трёхмерных сцен авиатренажёра. Электронный журнал ВЫЧИСЛИТЕЛЬНЫЕ СЕТИ. Теория и прак­тика. 2003 г, номер 1(3), раздел 16. http://network-journal.mpei.ac.ru.

3.     Яценко Б. Рендеринг ландшафта с использованием Rottger ROAM технологии. /Пер. с англ.: статья, источник в Интернете — http://gamemaker.webservis.ru, 2003.