Открыть сервис

ARGoS

ARGoS — это свободно распространяемая, многоплатформенная среда моделирования (симулятор) для роевой робототехники, разработанная для проведения крупномасштабных экспериментов с группами автономных роботов. В отличие от большинства классических симуляторов, ARGoS специализируется на симуляции больших роёв (до нескольких тысяч агентов) при сохранении высокой точности физического моделирования и возможности работы в реальном времени.

История и происхождение

Разработка ARGoS была начата в 2008 году в рамках исследовательской деятельности Лаборатории интеллектуальных систем (LIS) Федеральной политехнической школы Лозанны (EPFL) под руководством профессора Марко Дориго. Основной мотивацией для создания нового симулятора стала необходимость преодоления ограничений существовавших на тот момент решений (например, Player/Stage или Gazebo), которые либо не обеспечивали достаточной производительности для роёв из сотен роботов, либо требовали чрезмерных вычислительных ресурсов.

Первая стабильная версия (ARGoS 1.x) была выпущена в 2012 году. Ключевой инновацией стала модульная архитектура, позволяющая распараллеливать вычисления. В 2015 году вышла версия 2.0, которая представила значительно улучшенную систему плагинов и поддержку новых физических движков. С 2017 года проект поддерживается и развивается сообществом исследователей, а также используется в образовательных курсах по роевой робототехнике в университетах Европы и США.

Архитектура и принципы работы

ARGoS построен на принципе модульности и разделения ответственности. В отличие от монолитных симуляторов, где все процессы (физика, графика, сенсоры, управление) выполняются в одном потоке, ARGoS использует архитектуру «клиент-сервер» с распределением нагрузки.

Основные компоненты

  1. Ядро симулятора (Core): Управляет временными шагами, циклом симуляции и взаимодействием между модулями. Ядро не содержит встроенной физики или графики — оно лишь координирует работу плагинов.
  2. Физические движки: ARGoS поддерживает несколько физических движков, которые подключаются как плагины:
  1. Графический движок (QT-OpenGL): Отвечает за визуализацию. Может быть отключён для увеличения производительности (режим «без головы» — headless).
  2. Система плагинов роботов: Каждый тип робота (например, e-puck, foot-bot, Khepera) реализуется как отдельный плагин, содержащий описание его геометрии, сенсоров (лазер, камера, дальномер) и актуаторов (колёса, манипуляторы).
  3. Контроллеры роботов: Пользовательские алгоритмы управления пишутся как отдельные модули (на C++, Lua или Python) и загружаются в симуляцию. Контроллеры взаимодействуют с виртуальными сенсорами и актуаторами через интерфейс API.

Процесс симуляции

Стандартный цикл симуляции в ARGoS выглядит следующим образом:

  1. Ядро синхронизирует время.
  2. Все физические движки одновременно вычисляют новые состояния объектов на основе законов механики.
  3. Сенсоры всех роботов обновляют свои показания (с учётом шума, заданного в конфигурации).
  4. Каждый контроллер получает данные от сенсоров и вычисляет управляющие сигналы для актуаторов.
  5. Актуаторы применяют эти сигналы, и цикл повторяется.

Благодаря тому, что физика, сенсоры и контроллеры могут выполняться в отдельных потоках (или даже на разных машинах через сеть), ARGoS достигает высокой производительности.

Классификация и виды симуляции

ARGoS поддерживает несколько режимов симуляции, которые выбираются в зависимости от целей эксперимента:

Применение

ARGoS используется в трёх основных областях:

Исследования в роевой робототехнике

Большинство публикаций по коллективному поведению роботов (роение, сортировка, поиск цели, транспорт объектов) в период 2012–2023 годов используют ARGoS в качестве базового инструмента. Например, эксперименты по алгоритмам «роевого интеллекта» (Particle Swarm Optimization, Ant Colony Optimization) часто проводятся именно в этой среде.

Образование

ARGoS входит в учебные программы ряда университетов (EPFL, Университет Шеффилда, Токийский университет) как платформа для лабораторных работ по курсам «Мобильная робототехника» и «Искусственный интеллект». Студенты могут быстро прототипировать алгоритмы управления и визуализировать их работу.

Промышленное прототипирование

Некоторые компании (например, Amazon Robotics в контексте сортировочных центров) используют ARGoS для предварительного тестирования алгоритмов координации больших групп транспортных роботов (AGV) перед развёртыванием на реальном оборудовании.

Примеры использования

Критика и ограничения

Несмотря на широкое распространение, ARGoS имеет ряд недостатков:

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →