Университет ИТМО

FusionCrowd

 

FusionCrowd — это библиотека для мультиагентного моделирования пешеходов и транспорта.

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

Библиотека предоставляет управление с помощью C-Style API, благодаря которому библиотеку можно использовать совместно с различными инструментами разработки и визуализации, например, Unreal Engine 4.

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

 

 

Основные возможности библиотеки:

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

 

 

Библиотека состоит из шести основных компонент:

— симулятор,
— система навигации,
— стратегический компонент,
— тактический компонент,
— операционный компонент,
— унифицированный внешний интерфей

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

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

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

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

Операционный компонент рассчитывает оконочательную скорость с учетом соседей, препятствий и предпочитаемой скорости.

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

 

Перейти в репозиторий

 
.

Документация

 

Email для обратной связи: karsakov@itmo.ru