Buzz представляет собой скриптовый язык программирования для управления поведением роботизированных роев, в которых отдельные единицы самоорганизуются и сообща выполняют коллективную задачу. Создатели Buzz отталкивались от того, что язык для программирования роя роботов должен обладать рядом отличительных особенностей: к примеру, он предусматривает манипуляции «top-down» и «bottom-up», то есть дает возможность определять инструкции для отдельного робота, влияющие на поведение роя, и наоборот. Также присутствуют типы данных для организации роботов в рой и создания базы данных, позволяющей им обмениваться информацией.
«Мы считаем, что одной из наиболее важных особенностей Buzz является его потенциал стать стимулом к будущей разработке сложных роящихся роботизированных систем, которые будут использоваться в реальном мире, – сообщают исследователи. – На текущий момент не существует стандартизированной платформы, которая позволяет сравнивать, распространять и заново использовать сценарии поведения роев роботов. Безусловно, ее разработка подразумевает определенное количество переписывания повторяющихся паттернов поведения, таких как группировка и преодоление препятствий. Создание Buzz мотивировано необходимостью изменить текущее положение дел».
Среда выполнения Buzz может быть развернута поверх других программных платформ, включая фреймворк Robot Operating System. Новый скриптовый язык предусматривает возможность расширения функционала под нужды разработчиков; в планах авторов Buzz – создание библиотек с наиболее востребованными сценариями поведения роев и средств для решения проблем и поиска ошибок.
Сотрудник международной лаборатории нелинейных и адаптивных систем управления Университета ИТМО, кандидат технических наук Александр Капитонов отмечает, что их подразделение в данный момент занимается решением задач, связанных с мультиагентным и синхронным управлением роботами. «Роевой» подход к программированию роботов также может представлять интерес, хотя комплектация целых роев роботов может оказаться накладной.
«Мультиагентная система предусматривает наличие нескольких роботов, некоторые из них взаимодействуют друг с другом и решают какую-то общую задачу, например, построение карты местности или определение степени покрытия какой-либо площади сигналом сети Wi-Fi, – объясняет Александр Капитонов. – Для моделирования поведения роев требуется большое количество роботов, причем от них требуется не просто передвигаться – им нужно выполнять дополнительные действия и так далее, а это уже накладывает определенные условия на стоимость систем».
Статья разработчиков Buzz опубликована на arXiv.org, исходный код проекта и примеры программ доступны на GitHub. Также запущен портал проекта Buzz, сейчас он находится в стадии наполнения контентом.
Александр Пушкаш,
Редакция новостного портала Университета ИТМО