Научная статья на тему 'ПРИМЕНЕНИЕ МЕТОДОВ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА В 3D-ТРЕНАЖЕРАХ НА ОСНОВЕ ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКИХ МОДЕЛЕЙ'

ПРИМЕНЕНИЕ МЕТОДОВ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА В 3D-ТРЕНАЖЕРАХ НА ОСНОВЕ ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКИХ МОДЕЛЕЙ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
279
40
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КОМПЬЮТЕРНЫЕ ТРЕНАЖЕРЫ / ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ / ИГРОВАЯ ПЛАТФОРМА / СЛОЖНЫЕ ТЕХНИЧЕСКИЕ СИСТЕМЫ / COMPUTER SIMULATORS / ARTIFICIAL INTELLIGENCE / GAME ENGINE / COMPLEX TECHNICAL SYSTEMS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Копелиович Дмитрий Игоревич, Сафонов Александр Леонидович, Кондратенко Роман Викторович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Копелиович Дмитрий Игоревич, Сафонов Александр Леонидович, Кондратенко Роман Викторович

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

APPLICATION OF ARTIFICIAL INTELLIGENCE METHODS IN 3D SIMULATORS BASED ON FUNCTIONAL AND LOGICAL MODELS

The article presents an approach to the use of artificial intelligence methods in the development of imitation professional simulators. The analysis of the use of artificial intelligence tools for the development of 3D applications is carried out, typical components and their functions are considered, the drawbacks that limit the use of these methods in professional simulators are revealed. The proposed approach is based on adapting these standard tools and supplementing them with functional-logical models that perform control functions. As an example, the implementation of the approach in the Unity cross-platform development environment is proposed. The results of the work have been tested in the development of simulators in the field of labor protection.

Текст научной работы на тему «ПРИМЕНЕНИЕ МЕТОДОВ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА В 3D-ТРЕНАЖЕРАХ НА ОСНОВЕ ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКИХ МОДЕЛЕЙ»

Управление в социальных и экономических системах

УДК: 519.65

DOI: 10.30987/2658-6436-2020-4-33-39

Д.И. Копелиович, А.Л. Сафонов, Р.В. Кондратенко

ПРИМЕНЕНИЕ МЕТОДОВ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА В SD-ТРЕНАЖЕРАХ НА ОСНОВЕ ФУНКЦИОНАЛЬНО-ЛОГИЧЕСКИХ

МОДЕЛЕЙ

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

Ключевые слова: компьютерные тренажеры, искусственный интеллект, игровая платформа, сложные технические системы.

D.I. Kopeliovich, A.L. Safonov, R.V. Kondratenko

APPLICATION OF ARTIFICIAL INTELLIGENCE METHODS IN 3D SIMULATORS BASED ON FUNCTIONAL AND LOGICAL MODELS

The article presents an approach to the use of artificial intelligence methods in the development of imitation professional simulators. The analysis of the use of artificial intelligence tools for the development of 3D applications is carried out, typical components and their functions are considered, the drawbacks that limit the use of these methods in professional simulators are revealed. The proposed approach is based on adapting these standard tools and supplementing them with functional-logical models that perform control functions. As an example, the implementation of the approach in the Unity cross-platform development environment is proposed. The results of the work have been tested in the development of simulators in the field of labor protection.

Keywords: computer simulators, artificial intelligence, game engine, complex technical systems.

Актуальность применения искусственного интеллекта в имитационных

профессиональных тренажерах

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

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

Для формирования реалистичности тренажеров применение динамических сцен за счет использования различных видов действий: передвижение персонажей, изменение состояний технических объектов (работа механизмов) и т.п.

Изменение состояния сцены обеспечивается широким набором инструментов. Важной особенностью в современных приложениях, к которым относятся компьютерные имитационные тренажеры, является использование искусственного интеллекта. Существует несколько определений искусственного интеллекта (ИИ), одно из них говорит о том, что ИИ - способность цифрового компьютера или управляемого компьютером робота выполнять задачи, обычно связанные с разумными существами [2, с. 41-45]. Сфера же применения искусственного интеллекта очень обширна. В каждом виртуальном приложении необходим взаимодействующий с пользователем искусственный интеллект, чаще всего в виде вспомогательных элементов. В некоторых случаях ИИ должен мешать пользователю, в других - помогать ему, но у всех производимых компьютером действий существует некоторое сходство. В зависимости от требований проекта, ИИ может обеспечивать различный уровень поведения его элементов. Такими требованиями могут быть умные подсказки в зависимости от ситуации или различного рода действия в виртуальном мире.

Системы разработки 3D-приложений (игровые платформы) содержат инструментарий для быстрого проектирования простейшего поведений объектов на базе искусственного интеллекта. Это прежде всего поведение игровых персонажей, не управляемых человеком, Non-Player Character (NPC): передвижение по модели (сцене), взаимодействие друг с другом, с персонажем, управляемым пользователем.

Реализация методов искусственного интеллекта на основе использования

инструментов игровых платформ

Если раньше графические приложения создавались буквально с «нуля», то сейчас их разработка подразумевает использование инструментов различного уровня сложности. Это позволяет разработчикам сократить время проекта, повысить его качество. Всё это относится и к части процесса разработки - проектированию и реализации искусственного интеллекта. Рассмотрим в качестве примера реализацию искусственного интеллекта на основе использования инструментов среды Unity.

Межплатформенная среда для разработки Unity предоставляет разработчику настраиваемую навигационную систему. Данная система позволяет создавать виртуальных персонажей, которые могут разумно перемещаться по игровому миру, используя навигационные сетки, которые автоматически создаются по данным геометрии сцены. Динамические препятствия, создаваемые пользователем, позволяют изменять навигацию персонажей во время выполнения, в то время как ссылки вне сетки позволяют создавать определенные действия, такие как открытие дверей или спрыгивание с выступа. На рис. 1 показана схема взаимодействия всех компонентов, которые относятся к интеллектуальным возможностям в Unity.

Основные компоненты системы: NavMesh (сокращенно от Navigation Mesh) - это структура данных, которая описывает проходимые поверхности игрового мира и позволяет найти путь из одного проходимого места в другое [4, с. 230-239]. Структура данных строится, или выпекается, автоматически из геометрии, которая была создана пользователем. На рис. 2 представлено визуальное отображение навигационной сетки (NavMesh).

<3

Рис. 1. Схема процесса разработки искуственного интеллекта в среде Unity

\ • I

Рис. 2. Навигационная сетка

Компонент NavMesh Agent помогает создать виртуальных персонажей, которые избегают друг друга при движении к своей цели [3, c. 55-59]. Агенты рассуждают об игровом мире с помощью навигационной маски, и они знают, как избегать друг друга, а также движущихся препятствий.

Компонент Off-Mesh Link позволяет включать навигационные ярлыки, которые не могут быть представлены с помощью проходимой поверхности. Данный компонент позволяет описать элементы, не связанные с навигационной сеткой, но участвующие в перемещении NPC. Это могут быть двери, лифты, всевозможные препятствия, порталы.

Компонент Nav Mesh Obstacle, позволяет описать движущиеся препятствия, которые агенты должны избегать во время навигации на сцене. Бочка или ящик, управляемые физической системой, являются хорошим примером препятствия. В то время как препятствие движется, агенты делают все возможное, чтобы избежать его, но как только препятствие становится неподвижным, оно создает в навигационной сетке (NavMesh) недоступную для перемещения область, чтобы агенты могли изменить свои пути, чтобы обойти его, или если неподвижное препятствие блокирует путь или пути, агенты могут найти другой маршрут.

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

- различные веса маршрутов;

- штрафные балы за прохождение через препятствия;

- выбор альтернативного варианты действий (например, тушить пожар или эвакуироваться) и др.

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

Примеры использования искусственного интеллекта в компьютерных профессиональных тренажерах

Ниже представлены примеры проектов, которые прямо или косвенно связаны с использованием методов искусственного интеллекта в компьютерных профессиональных тренажерах. Одним из таких примеров, является симулятор аварийных ситуаций, компании «Кузбасс-Цот» (рис. 3). В данном приложении при помощи 3D моделирования визуализируются обстоятельства и причины отдельных характерных несчастных случаев, аварий, пожаров, произошедших на предприятии и других аналогичных производствах из-за некомпетентных действий рабочих. Ключевым компонентом в симуляции рабочей ситуации, является использование интеллектуальных возможностей Unity. Разработчики виртуального тренажёра активно использовали навигационную сетку для перемещения NPC и программно для каждого персонажа прописывали конкретное место, куда он должен был прийти и где какое-то действие должен был воспроизвести. Таким образом, настоящего взаимодействия NPC с человеком в данной системе не наблюдается.

Аналогичным примером нерационального использования интеллектуальных возможностей служит компьютерный имитационный тренажёр «Воздушная линия электропередач» компании «Диполь» (рис. 4). Данная программа имитирует процедуру проведения осмотра объекта в виртуальном режиме и позволяет оценивать состояние трассы воздушных линий электропередач, приставок, стоек, подкосов и элементов опор, проводов и элементов их креплений, заземляющих устройств, составляющих оборудования подстанции и т.д. Стоит отметить, что виртуальные персонажи, которыми не управляет пользователь, играют в данном приложении косвенную роль, иначе говоря, с их помощи создаётся лишь атмосфера реальной ситуации. Логика данных NPC вполне примитивна: «Пройти 100м влево, посмотреть, что вокруг и вернуться обратно». Данная последовательность действий выполняется постоянно. Данная система демонстрирует пример использования стандартных инструментов игровой платформы для проектирования искусственного интеллекта.

Рис. 3. Симулятор аварийных ситуаций компании «Кузбасс-Цот»

Рис. 4. Симулятор аварийных ситуаций компании «Диполь»

Модификация методов искусственного интеллекта для профессиональных тренажеров

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

Процедура формирование вектора входных значений

Вектор параметров сцены V = {N/¡1

Процедура определения необходимого действия субъекта искуственного интеллекта Индекс ] действия + вектор параметров действия

Вызов ]-ого действия субъекта искусственного с необходимвми параметрами

Рис. 5. Алгоритм действия искусственного интеллекта

Здесь основными процедурами являются:

1) Определения инициализирующего события для начала поиска действий субъекта искусственного интеллекта (NPC). Это может быть в простейшем случае вызываемое

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

2) Процедура формирования вектора входных значений. Здесь имеется в виду определение всех значимых параметров для конкретного NPC, которые могут повлиять на результат - определение конкретного действия NPC и его параметров. Здесь может быть набор нескольких параметров (например, интенсивность пожара, наличие огнетушителя), при необходимости их количество может составлять до нескольких десятков параметров (положение игроков и др. NPC на сцене, различные базы данных, связанные с предметной областью). В результате выполнения процедуры формируется вектор параметров сцены V={Vi}, где i - индекс параметра, i = 1... N, где N - количество параметров.

3) Процедура определения необходимого действия. Наиболее сложная часть алгоритма, выбирающая - что конкретно должен сделать субъект искусственного интеллекта. Представляет собой определение конкретного действия из заранее определенных для NPC с индексом j, где j = 1.. .М, где M - количество действий.

На данном этапе формируется также набор количественных параметров для выбранного j-ого действия. Входными значениями для данной процедуры является сформированный на предыдущем этапе вектор параметров сцены V.

Сам алгоритм определения нужного действия может быть простым, когда заранее указывается для конкретного значения вектора V= V1 конкретное действие NPC. В то же время, подход предусматривает возможность использования сложных зависимостей, в том числе формируемых автоматически, например, при помощи нейронной сети, настроенной на заданном обучающем множестве.

4) Исполнение действия субъекта искусственного интеллекта с вектором параметров действия. Здесь происходит вызов исполнения конкретного действия из списка, заранее сформированного для NPC или группы NPC. Действие в общем случае может быть не атомарно, а состоять из нескольких компонентов, например:

- проигрывание анимации (изменение геометрической модели NPC, разработанное в среде геометрического моделирования);

- перемещение в конкретную точку сцены при помощи инструментов Unity;

- изменение элементов сцены (например, открытие дверей, выключение света, перемещение объектов);

- проигрывание звуковых и видео фрагментов (предназначенных для игроков - людей);

- различные количественные параметры: скорость передвижения по сцене, интенсивность изменения света, громкость звука и т.п.

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

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

Выводы

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

Предложенный подход апробирован при разработке имитационных тренажеров в области охраны труда «РискПроф-тренажеры» [5]. В частности, при помощи разработанных

моделей определен порядок действий при работе КРС: сварщик, офисный работник при выполнении штатных мероприятий и во время аварийных ситуаций.

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

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

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

Список литературы:

1. Safonov, A.L. Multilevel Functional-logic Models in 3D-simulators of Electrical Equipment / A.L. Safonov, D.I. Kopeliovich // CEUR Workshop Proceedings of the 29th International Conference on Computer Graphics and Vision (GraphiCon 2019). - Vol. 2485. - Pp. 232-235.

2. Красовский, А.А. Методология разработки искусственного интеллекта при создании компьютерных игр / А.А. Красовский // Информационно-компьютерные технологии в образовании и социальной сфере. - 2018. - №3. - С. 41-45.

3. Удалов, А.Д. Использование Compute Shader для навигации ИИ-агентов с применением Unity / А.Д. Удалов, А.Н. Архипов, А.В. Панов // Передовые инновационные разработки. Перспективы и опыт использования, проблемы внедрения в производство. - 2019. - №3. - С. 55-59.

4. Бычковский, Д.Ю. Разработка искусственного интеллекта средствами графической платформы Unreal Engine 4 / Д. Ю. Бычковский, Ф. Н. Абу-Абед // Моделирование, оптимизация и информационные технологии/ - 2018. - №2(21). - С. 230-239.

5. РискПроф: сайт. - URL: https://riskprof.ru/ (дата обращения: 11.09.2020).

References:

1. Safonov, A.L. Multilevel Functional-logic Models in 3D-simulators of Electrical Equipment / A.L. Safonov, D.I. Kopeliovich // CEUR Workshop Proceedings of the 29th International Conference on Computer Graphics and Vision (GraphiCon 2019). - Vol. 2485. - Pp. 232235.

2. Krasovskij, A.A. Metodologija razrabotki iskusstvennogo intellekta pri sozdanii komp'juternyh igr / A.A. Krasovskij // Informacionno-komp'juternye tehnologii v obrazovanii i social'noj sfere. - 2018. - № 3.

- S. 41-45.

3. Udalov, A.D. Ispol'zovanie Compute Shader dljanavigacii II-agentov s primeneniem Unity / A.D. Udalov, A.N. Arhipov, A.V. Panov // Peredovye innovacionnye razrabotki. Perspektivy i opyt ispol'zovanija, problem nedrenija v proizvodstvo. -2019. - № 3. - S. 55-59.

4. Bychkovskij, D.Ju. Razrabotka iskusstvennogo intellekta sredstvami graficheskoj platformy Unreal Engine 4 / D. Ju. Bychkovskij, F. N. Abu-Abed // Modelirovanie, optimizacija i informacionnye tehnologii/

- 2018. - №2 (21). - S. 230-239.

5. RiskProf: sajt. - URL: https://riskprof.ru/ (data obrashhenija: 11.09.2020).

канд. биол. наук, доц.,

Сведения об авторах:

Копелиович Дмитрий Игоревич

к.т.н., доцент, директор Инжинирингового центра Брянского государственного технического университета.

E-mail: dkopeliovich@rambler.ru

Сафонов Александр Леонидович

к.т.н., доцент, заместитель директора Инжинирингового центра Брянского государственного технического университета. E-mail: safonoval@yandex.ru

Статья поступила в редколлегию 21.09.2020.

Рецензент:

Брянский государственный технический университет

Кузьменко А.А. Статья принята к публикации 05.10.2020.

Information about authors:

Kopeliovich D.I.

Candidate of Engineering Sciences, Associate Professor, Director of Bryansk State Technical University Engineering Center E-mail: dkopeliovich@rambler.ru

Safonov A.L.

Candidate of Engineering Sciences, Associate Professor, Deputy Director of Bryansk State Technical University Engineering Center E-mail: safonoval@yandex.ru

Кондратенко Роман Викторович

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

магистрант Брянского государственного технического университета.

E-mail: roman_kondratenko@bk.ru

Kondratenko R.V.

Master student of Bryansk State Technical University. E-mail: roman_kondratenko@bk.ru

i Надоели баннеры? Вы всегда можете отключить рекламу.