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

Webots

Webots — это свободная кроссплатформенная среда трёхмерного моделирования и симуляции мобильных и манипуляционных роботов, разрабатываемая швейцарской компанией Cyberbotics Ltd. Программа предназначена для проектирования, тестирования и отладки алгоритмов управления роботами без использования физического оборудования.

История

Разработка Webots началась в 1996 году в Лаборатории микроинженерии Федеральной политехнической школы Лозанны (EPFL) под руководством профессора Жан-Даниэля Никуда. Первая публичная версия была выпущена в 1998 году. В 2001 году проект был коммерциализирован компанией Cyberbotics, основанной участниками лаборатории. Изначально Webots распространялся как проприетарное программное обеспечение.

В 2018 году компания Cyberbotics объявила о переходе на открытую модель лицензирования. Начиная с версии R2019a, исходный код Webots был опубликован под лицензией Apache 2.0, что сделало среду полностью свободной для некоммерческого и коммерческого использования. С этого момента проект активно развивается сообществом разработчиков и исследователей.

Архитектура и устройство

Ядро симуляции

Webots использует физический движок ODE (Open Dynamics Engine) для расчёта динамики твёрдых тел, столкновений и взаимодействий. Симуляция ведётся в реальном времени с возможностью ускорения или замедления. Поддерживается дискретный и непрерывный режимы симуляции.

Трёхмерная графика

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

Интерфейс

Графический интерфейс пользователя включает:

  • Трёхмерное окно визуализации
  • Дерево сцены (Scene Tree) для просмотра и редактирования иерархии объектов
  • Редактор кода с подсветкой синтаксиса
  • Панель управления симуляцией (запуск, пауза, шаг)
  • Консоль для вывода сообщений

Возможности

Моделирование роботов

Webots предоставляет библиотеку готовых моделей роботов, включая популярные платформы: e-puck, Pioneer 3-DX, NAO, KUKA youBot, TurtleBot, Husky, PR2 и другие. Каждая модель включает точные геометрические, инерционные и сенсорные характеристики.

Пользователь может создавать собственные модели роботов с помощью встроенного редактора или импортировать их из форматов VRML, URDF, COLLADA и STL.

Сенсоры и актуаторы

Среда поддерживает широкий спектр виртуальных сенсоров:

  • Камеры (цветные, монохромные, с глубиной)
  • Лазерные дальномеры (LIDAR)
  • Сонары
  • Инфракрасные датчики
  • Гироскопы и акселерометры
  • GPS-приёмники
  • Датчики касания
  • Энкодеры колёс

Актуаторы включают сервоприводы, двигатели постоянного тока, шаговые двигатели, пневматические приводы, захваты и колёса.

Программирование

Управление роботами осуществляется через программные контроллеры. Поддерживаются языки:

  • C/C++ (через API)
  • Python (основной рекомендуемый язык)
  • Java
  • MATLAB (через внешний интерфейс)
  • ROS (Robot Operating System) — через специальный пакет ros2_webots

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

Применение

Образование

Webots широко используется в учебных заведениях для обучения основам робототехники, программирования и теории управления. Среда позволяет студентам экспериментировать с алгоритмами без риска повредить дорогостоящее оборудование. Поддерживается проведение виртуальных соревнований, таких как Robot Soccer.

Научные исследования

Исследователи применяют Webots для:

  • Разработки и тестирования алгоритмов навигации и планирования траекторий
  • Изучения коллективного поведения роёв роботов
  • Оценки алгоритмов машинного обучения и компьютерного зрения
  • Моделирования взаимодействия роботов с окружающей средой

Промышленность

В промышленности Webots используется для предварительного тестирования программного обеспечения перед развёртыванием на реальных роботах. Это сокращает время разработки и снижает затраты на отладку.

Классификация

По типу лицензии Webots относится к свободному программному обеспечению (Apache 2.0). По функциональному назначению — к средам моделирования роботов (Robot Simulation Software). По архитектуре — к клиент-серверным системам с возможностью распределённой симуляции.

Интеграция с ROS

Начиная с версии R2020a, Webots поддерживает интеграцию с Robot Operating System (ROS) 2. Пользователь может запускать симуляцию, в которой контроллеры роботов написаны в виде узлов ROS, а Webots выступает в роли симулятора, публикующего сенсорные данные и принимающего команды управления. Это позволяет использовать все возможности экосистемы ROS, включая пакеты навигации, SLAM и манипуляции.

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

Образовательный проект: симуляция e-puck

В типичном учебном сценарии студенты загружают модель робота e-puck, оснащённого двумя колёсами, 8 инфракрасными датчиками и камерой. Задача — написать контроллер на Python, реализующий объезд препятствий. Студенты могут наблюдать поведение робота в трёхмерной сцене и корректировать алгоритм.

Исследовательский проект: роевой интеллект

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

Критика

Основные замечания к Webots:

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

Разработчики регулярно выпускают обновления, устраняющие эти недостатки.

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

  • Webots используется в курсе «Робототехника» Массачусетского технологического института (MIT)
  • Среда поддерживает симуляцию подводных и летающих роботов
  • В 2023 году сообщество разработчиков насчитывало более 50 000 зарегистрированных пользователей
  • Webots является официальным симулятором для соревнований RoboCup в лиге Small Size League

Источники

  • Официальная документация Webots (Cyberbotics Ltd.)
  • Michel, O. (2004). «Webots: Professional Mobile Robot Simulation». Journal of Advanced Robotics Systems
  • Репозиторий исходного кода на GitHub (Cyberbotics/webots)
  • Статья «Webots: Open-Source Robot Simulator» в журнале «IEEE Robotics & Automation Magazine» (2019)
  • Материалы курса «Introduction to Robotics» (MIT OpenCourseWare)

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

На главную BFOmetr →