Виртуальное поле боя и его синхронизация в тренажерном комплексе
Конференция: XIII Международная научно-практическая конференция «Научный форум: технические и физико-математические науки»
Секция: Информатика, вычислительная техника и управление
XIII Международная научно-практическая конференция «Научный форум: технические и физико-математические науки»
Виртуальное поле боя и его синхронизация в тренажерном комплексе
Virtual Battlefield and its synchronization in the training complex
Elizaveta Egorova
engineer programmer Saint-Petersburg National Research University of information technologies, mechanics and optics, Russia, Saint-Petersburg
Аннотация. Для разработки тренажерных комплексов и систем, использующих визуальную составляющую, необходимо правильно производить синхронизацию объектов в виртуальном поле боя, для того чтобы все участники обучения видели актуальную информацию о местоположении объектов. В данной работе описана методика разработки алгоритма синхронизации виртуального поля боя в тренажерном комплексе.
Abstract. To develop training complexes and systems using the visual component, it is necessary to correctly synchronize objects in the virtual battlefield in order for all participants to see the current information about objects. In this paper, we describe the methodology for developing an algorithm for synchronizing a virtual battlefield in a training complex.
Ключевые слова: тренажерные системы; тренажерный комплекс; синхронизация данных; виртуальная сцена; передача данных по сети.
Keywords: training simulation system; training complex; synchronization; virtual scene; networking.
1. Введение
В настоящее время тренажерные системы и комплексы используются во многих сферах деятельности человека, поскольку они позволяют сделать процесс обучения качественнее, а также сократить расходы на него.
Тренажерные комплексы военной тематики, применяемые для обучения навыкам вождения и пилотирования, часто используют виртуальное поле боя для визуализации управляемых объектов и сцен.
Это помогает соединять несколько тренажерных комплексов между собой.
Если в тренажерной системе используется виртуальное поле боя, то необходимо производить передачу данных по сети для синхронизации объектов виртуального поля боя [1].
Это требуется для того чтобы на всех участвующих вычислительных ядрах воспроизводилась актуальная информация о текущем состоянии виртуального поля боя. В связи с этим возникает задача создания алгоритма синхронизации данных в виртуальном поле боя.
2. Виртуальное поле боя
Виртуальное поле боя – это виртуальная сцена в двух или трехмерном пространстве с объектами на ней (Рис. 1.).
Оно представляет собой виртуальную сцену с управляемыми объектами на ней, которые могут взаимодействовать между собой. Взаимодействия между объектами могут быть самыми различными, например, логические переходы в другие состояния конечного автомата или физические воздействия на другие объекты [6, 7].
Виртуальная сцена или виртуальное пространство – это абстрактное пространство, в котором имеется своя система координат, а также определенные объекты и атрибуты.
Рисунок. 1. Схема виртуального поля боя
Виртуальное поле боя является незаменимым атрибутом в тренажерном комплексе, направленном на получение обучаемым навыков планирования боевых действий, вождения, пилотирования.
Виртуальное поле боя используется для моделирования боевых действий, планирования атак своих войск и войск противника, для обучения работе в команде или для обучения выполнения инструкций командира.
В зависимости от целей обучения в виртуальной сцене могут присутствовать различные объекты. Объектами в виртуальной сцене могут быть:
1) Поверхности (земля, вода)
2) Неподвижные объекты (деревья, камни, здания)
3) Препятствия (столбы, разрушаемые здания и препятствия)
4) Техника или объекты, которыми может управлять обучаемый (транспортные средства, интерфейсы)
5) Объекты, необходимые для выполнения упражнения (блоки, веревки, таблички и т. д.)
6) Автоматически управляемые объекты или искусственный интеллект (люди, машины и т. д.)
7) Невидимые объекты, необходимые для проверок выполнения упражнений и сценариев (точки маршрута, области выполнения упражнения)
8) Объекты, используемые для визуальных эффектов (дождь, снег, солнце, туман, взрывы, дым и т. д.)
9) Виртуальные камеры
Объекты в сцене могут взаимодействовать различными способами в зависимости от поставленных целей и задач при выполнении упражнения. Также на взаимодействие влияет количество различных типов объектов в сцене, потому что чем больше типов, тем сложнее структура их взаимодействия. Пример сложной структуры взаимодействия представлен на Рис. 2.
Рисунок 2. Структура взаимодействия объектов в виртуальном поле боя
3. Синхронизация в виртуальном поле боя
Для синхронизации виртуального поля боя необходимо определить несколько моментов, влияющих на дальнейшую разработку алгоритма:
1) Какая схема передачи данных будет взята за основу (авторитетная/ неавторитетная)
2) По какому протоколу будет происходить передача данных
3) Какие объекты и их атрибуты достаточно синхронизировать для отображения актуальной информации
После того, как эти моменты решены, можно приступать к созданию алгоритма синхронизации и к его интеграции. Разберем, что влияет на выбор того или иного критерия при разработке алгоритма.
3.1. Схема передачи данных по сети
Многопользовательское приложение, в котором происходит передача данных по сети, может быть реализовано с применением разных подходов взаимодействия между пользователями – авторитетными и неавторитетными.
Одним из самых популярных авторитетных подходов является клиент-серверное взаимодействие (client-server), при котором имеется авторитетный сервер, который контролирует всю игру и все взаимодействия между пользователями (Рис. 3.).
Рисунок 3. Клиент-серверное взаимодействие
Каждый клиент получает данные от сервера и формирует локальное представление игры. Если клиент производит какое-либо действия, информация о них передается на сервер, который уже обрабатывает полученные данные и формирует результирующее значение [4].
Все изменения в игре, которые формируются на сервере, передаются всем подключенным клиентам. За счёт этого на клиентах всегда отображается одинаковая и актуальная информация.
В неавторитетных подходах отсутствует связующий сервер, который контролирует все взаимодействия, поэтому каждый пользователь сам контролирует свое игровое состояние. В качестве неавторитетного алгоритма взаимодействия чаще всего используется пиринговый подход (peer-to-peer).
Рисунок 4. Неавторитетный подход взаимодействия по сети
В данном подходе каждый клиент контролирует только свои игровые объекты и отправляет другим участникам положение и состояние этих объектов [3]. Игровые объекты противника симулируются в соответствии с информацией, полученной от противника.
В данном подходе не исключена возможность жульничества противников, поскольку нет централизованной обработки данных.
3.2. Протокол передачи данных
Существует два основных протокола транспортного уровня, которые можно применять для передачи данных в многопользовательском приложении – Transmission Control Protocol (TCP, протокол управления передачей) и User Datagram Protocol (UDP — протокол пользовательских дейтаграмм) [2].
TCP-протокол передает поток данных, предварительно установив соединение.
Если данные по какой-то причине потерялись, осуществляется повторный запрос данных.
Данный механизм позволяет обеспечить целостность передаваемых данных, но зачастую бывает тяжеловесным, когда необходимо передавать данные сразу нескольким получателям.
UDP-протокол передает пользовательские дейтаграммы без предварительного установления соединения.
Это снижает надежность целостной передачи данных, потому что дейтаграммы могут прийти не по порядку, дублироваться, либо совсем не прийти [5]. Но данный протокол передачи данных позволяет улучшить работоспособность систем, где не так важна надежность, как скорость передачи данных.
Это применимо к системам реального времени.
Также этот протокол удобно использовать при большом количестве соединений, поскольку нет необходимости соединения с каждым из получателей напрямую.
3.3. Синхронизация объектов
Не все объекты, входящие в состав виртуального поля боя, необходимо синхронизировать, поскольку не все из них изменяют свои свойства или позицию с течением времени.
Поэтому перед разработкой алгоритма синхронизации объектов нужно определить то, что влияет на отображение актуальной виртуальной сцены.
В первую очередь необходимо производить синхронизацию положения динамических объектов в пространстве.
На каждом вычислительном ядре, входящем в состав тренажерного комплекса, должна отображаться актуальная информация о текущем расположении всех объектов виртуальной сцены.
Если при выполнении упражнения меняется не только положение объектов в пространстве, но и изменяется форма поверхностей (например, изменение грунтов, водной поверхности), которая влияет на дальнейшей выполнение упражнения, то также необходимо синхронизировать изменение этой поверхности.
Часто также требуется синхронизировать не только положение объектов в пространстве, но и дополнительные присущие им атрибуты, например, их активность, жизненная сила и т. п.
Для этого необходимо создавать отдельный тип передаваемых сообщений.
После того как выявлены те данные, которые требуют синхронизации, можно приступать к дальнейшей разработке алгоритма.
4. Интеграция полученного алгоритма в тренажерный комплекс
Тренажерный комплекс, в который необходимо было интегрировать алгоритм синхронизации данных, представляет собой симулятор танковой техники.
Тренажер состоит из нескольких вычислительных ядер, на которых происходит визуализация с разных камер виртуального поля боя. Синхронизацию данных необходимо было проводить между этими вычислительными ядрами.
При разработке алгоритма синхронизации необходимо было учитывать следующие факторы:
1) Сложные проводимые расчеты физики
2) Недетерминированные состояния объектов
3) Большое количество клиентов (игроков)
В результате анализа существующих решений и методов синхронизации объектов был выбран клиент-серверный подход взаимодействия между клиентами по UDP-протоколу.
Синхронизация производилась для динамических объектов (позиция и углы вращения).
В ходе выполнения данной работы были выявлено, что для создания алгоритма синхронизации данных виртуального поля боя в тренажерном комплексе необходимо:
1) Четко выявить цели и задачи тренажера;
2) Определить данные, которые необходимо синхронизировать, для того чтобы избежать избыточной передачи данных;
3) Оценить вычислительные способности вычислительных ядер и пропускную способность сети;
После оценки данных критериев можно приступать к созданию алгоритма синхронизации данных в виртуальном поле боя.
5. Заключение
В результате выполнения данной работы были выявлены критерии, которые необходимо оценить для создания алгоритма синхронизации данных в виртуальном поле боя в тренажерном комплексе.
На основе этих данных был создан и интегрирован в тренажерный комплекс алгоритм синхронизации данных.