В современном мире всё более популярной становится концепция де-централизации: вместо монолитных архитектур разработчики всё чаще строят свои приложения на микросервисах, вычисления всё чаще про-изводят не на локальных серверах, а на удаленных и распределенных облаках. На этом фоне стремительно набирает популярность задача мультиагентного взаимодействия групп или роев роботов, так как существует ряд задач, выполнение которых можно достичь гораздо быстрее, используя сеть распределенных роботов [15].
Проверка гипотез и алгоритмов на реальном рое является не самым простым занятием. Необходимо иметь достаточное количество роботов, запрограммировать каждого из них, найти достаточно пространства для опыта, настроить среду, в которой будут находиться и с которой будут взаимодействовать роботы. Кроме того, в случае, если необходимо внести исправление в код логики робота, приходится делать это отдельно для каждого устройства.
Компромиссным решением является использование не реального роя, а виртуального. Современные симуляторы способны реалистично моделировать физику, при этом, упрощаются рутинные процессы, связанные с настройкой роботов и их окружения.
Большой интерес имеет задача достижения консенсуса в группах роботов с переменной топологией. В них участник может общаться лишь с несколькими узлами-соседями, при этом, эти соседи непостоянны, и на смену одних приходят другие, а каждому агенту этой сети неизвестна топология всей сети. С достижением консенсуса в таких сетях эффективно справляется «протокол локального голосования» [2].
На текущий момент было предложено решение [21], [5] задачи о реализации группового движения роботов на источник светового излучения в среде с препятствиями в симуляторе Webots. Алгоритм успешно справляется с поставленной задачей и хорошо себя показывает на небольших группах роботов, до 25 единиц. Однако, при попытке увеличить размер группы роботов на порядок, система оказывается довольно неэффективной по времени. Это связано со спецификой работы симулятора Webots, процессы которого синхронны и последовательны, в то время как реальные роботы действуют асинхронно.
Таким образом, для задачи группового взаимодействия роботов хочется предложить решение, основанное на симуляторе Webots, в рамках которого роботы могли бы осуществлять асинхронное мультиагентное взаимодействие. При этом, система должна иметь визуализацию, и позволять моделировать физические процессы.
В ходе работы были получены следующие результаты:
• Был проведён обзор предметной области
• Были определены требования для предлагаемого решения
• Был реализован прототип гибридного симулятора с визуализацией и физическими процессами в Webots и мультиагентным асинхронным взаимодействием в JADE. Компоненты коммуницируют между собой в экосистеме ROS
• Проведена апробация симулятора с использованием виртуальных роботов в симуляторе Webots. Мультиагентный алгоритм был про-тестирован на группах в 25, 50 и 100 роботов. Проведены тесты с использованием разного физического размещения узлов системы и разным количеством контейнеров JADE. Была показана эффективность гибридного симулятора при размещении контейнеров JADE на высокопроизводительных узлах в условиях увеличения размера роя роботов
Планы для дальнейшего развития:
• Провести апробацию построенной системы с использованием реальных роботов