Симулятор робототехники - Robotics simulator

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

Термин « симулятор робототехники» может относиться к нескольким различным приложениям моделирования робототехники. Например, в приложениях мобильной робототехники симуляторы робототехники на основе поведения позволяют пользователям создавать простые миры твердых объектов и источников света и программировать роботов для взаимодействия с этими мирами. Моделирование на основе поведения позволяет выполнять действия, которые являются более биологическими по своей природе по сравнению с симуляторами, которые являются более двоичными или вычислительными. Кроме того, симуляторы, основанные на поведении, могут «учиться» на ошибках и демонстрировать антропоморфное качество упорства.

Симулятор робототехники Robologix .

Одно из самых популярных приложений для симуляторов робототехники - это 3D-моделирование и рендеринг робота и его окружения. Этот тип программного обеспечения для робототехники имеет симулятор, который представляет собой виртуального робота, который способен имитировать движение реального робота в реальной рабочей среде. Некоторые симуляторы робототехники используют физический движок для более реалистичного движения робота. Использование симулятора робототехники для разработки программы управления робототехникой настоятельно рекомендуется независимо от того, доступен ли настоящий робот или нет. Симулятор позволяет удобно писать и отлаживать программы для робототехники в автономном режиме с окончательной версией программы, протестированной на реальном роботе. В первую очередь это справедливо только для промышленных робототехнических приложений, поскольку успех автономного программирования зависит от того, насколько реальная среда робота похожа на смоделированную среду.

Действия робота на основе датчиков гораздо сложнее моделировать и / или программировать в автономном режиме, поскольку движение робота зависит от мгновенных показаний датчиков в реальном мире.

Функции

Современные тренажеры, как правило, обладают следующими характеристиками:

  • Быстрое прототипирование роботов
    • Использование собственного симулятора в качестве инструмента для создания.
    • Использование внешних инструментов.
  • Физические движки для реалистичных движений. Большинство симуляторов используют Bullet , ODE или PhysX .
  • Реалистичный 3d-рендеринг. Стандартные инструменты 3D-моделирования или сторонние инструменты могут использоваться для создания сред.
  • Динамические тела роботов со сценариями. Языки C , C ++ , Perl , Python , Java , URBI , MATLAB, используемые Webots, Python, используемые Gazebo.

Симуляторы

Среди новейших технологий, доступных сегодня для программирования, есть те, которые используют виртуальное моделирование. Моделирование с использованием виртуальных моделей рабочей среды и самих роботов может дать преимущества как компании, так и программисту. Использование моделирования снижает затраты, и роботов можно программировать в автономном режиме, что исключает время простоя сборочной линии. Действия роботов и сборочные детали можно визуализировать в трехмерной виртуальной среде за несколько месяцев до того, как будут созданы прототипы. Написание кода для симуляции также проще, чем написание кода для физического робота. Хотя переход к виртуальному моделированию для программирования роботов - это шаг вперед в разработке пользовательского интерфейса, многие такие приложения только зарождаются.

Общая информация

Программное обеспечение Разработчики Статус разработки Лицензия Механизм 3D-рендеринга Физический движок 3D модельер Поддерживаемые платформы
Беседка Фонд робототехники с открытым исходным кодом (OSRF) Активный Apache 2.0 ОГРЭ ODE / Bullet / Simbody / DART Внутренний Linux, macOS, Windows
РобоДК РобоДК Активный Проприетарный OpenGL Плагин Gravity Внутренний Linux, macOS, Windows, Android, iOS, Debian
SimSpark O. Obst et al. (+26) Активный GNU GPL (версия 2) Внутренний ODE Никто Linux, macOS, Windows
Webots Cyberbotics Ltd. Активный Apache 2.0 Внутренний (WREN) Вилка ODE Внутренний Linux, macOS, Windows
OpenRAVE Сообщество OpenRAVE Активный GNU LGPL Coin3D / OpenSceneGraph ODE / Bullet Внутренний Linux, macOS, Windows
КоппелияСим Коппелия Робототехника Активный Двойной: коммерческий / GNU GPL Внутренний Bullet / ODE / Vortex / Newton Game Dynamics Внутренний Linux, macOS, Windows
Программное обеспечение Разработчики Статус разработки Лицензия Механизм 3D-рендеринга Физический движок 3D модельер Поддерживаемые платформы

Техническая информация

Программное обеспечение Основной язык программирования Поддержка форматов Расширяемость Внешние API Поддержка промежуточного программного обеспечения для робототехники Основной пользовательский интерфейс Безголовое моделирование
Беседка C ++ SDF / URDF, OBJ , STL , Collada Плагины (C ++) C ++ ROS, Player, Sockets (сообщения protobuf) GUI да
РобоДК Python SLDPRT , SLDASM , STEP , OBJ , STL , 3DS , Collada , VRML , URDF , Rhinoceros_3D , ... API, подключаемый интерфейс Python, C / C ++, C #, Matlab, ... Разъем GUI Неизвестный
SimSpark C ++, Ruby Графики сцены Ruby Моды (C ++) Сеть ( sexpr ) Розетки ( sexpr ) GUI, сокеты Неизвестный
Webots C ++ WBT, VRML , X3D , 3DS , Blender , BVH , Collada , FBX , STL , OBJ , URDF API, протоколы, плагины (C / C ++) C, C ++, Python, Java, Matlab, ROS Розетки, ROS, NaoQI GUI да
OpenRAVE C ++, Python XML , VRML , OBJ , Collada Плагины (C ++), API C / C ++, Python, Matlab Розетки, РОС, ЯРП GUI, сокеты да
КоппелияСим C ++, Lua 3DS , Blender , Collada , STL , OBJ , URDF, SDF, GLTF, XML Плагины (C / C ++), встроенные скрипты (Lua), удаленный API (C, C ++, Python, Java, MATLAB, Octave), надстройки (Lua) C, C ++, Python, Java, MATLAB, Octave, ROS, ROS 2.0. Сокеты, ROS, ROS 2.0, ZeroMQ GUI да
Программное обеспечение Основной язык программирования Поддержка форматов Расширяемость Внешние API Поддержка роботизированного промежуточного программного обеспечения Основной пользовательский интерфейс Безголовое моделирование

Инфраструктура

Служба поддержки

Программное обеспечение Список рассылки Документация по API Публичный форум / справочная система Руководство пользователя Трекер проблем Вики Чат
Беседка да да да да да Нет
РобоДК да да да да да Нет Неизвестный
SimSpark да да Нет да да да Неизвестный
Webots Нет да Нет да да да да
OpenRAVE да да да да да да Неизвестный
КоппелияСим Нет да да да да Неизвестный Нет
Программное обеспечение Список рассылки Документация по API Публичный форум / справочная система Руководство пользователя Трекер проблем Вики

Качество кода

Программное обеспечение Проверка статического кода Проверка стиля Тестовая система (ы) Покрытие тестовой функции Покрытие Test Branch Строки кода Строки комментариев Непрерывная интеграция
Беседка cppcheck cpplint gtest и qtest 77,0% 53,3% 320 тыс. 106 тыс. Дженкинс
РобоДК Неизвестный Неизвестный Неизвестный Неизвестный Неизвестный Неизвестный Неизвестный Неизвестный
SimSpark Неизвестный Неизвестный Неизвестный Неизвестный Неизвестный Неизвестный Неизвестный Неизвестный
Webots cppcheck лязг-формат модульные тесты 100% функций API владеть, развивать ~ 200 тыс. ~ 50 тыс. Трэвис, AppVeyor, GitGuardian, Действия GitHub
OpenRAVE Неизвестный Неизвестный Нос питона Неизвестный Неизвестный Неизвестный Неизвестный Дженкинс
КоппелияСим Неизвестный Неизвестный Неизвестный Неизвестный Неизвестный Неизвестный Неизвестный Неизвестный
Программное обеспечение Проверка статического кода Проверка стиля Тестовая система (ы) Покрытие тестовой функции Покрытие Test Branch Строки кода Строки комментариев Непрерывная интеграция

Функции

Программное обеспечение CAD в движение Динамическое предотвращение столкновений Относительные конечные эффекты Автономное программирование Потоковое управление оборудованием в реальном времени
Беседка Неизвестный да да да да
РобоДК да да да да да
SimSpark Неизвестный Нет Неизвестный Нет Нет
Webots Неизвестный да да да да
OpenRAVE Неизвестный Нет Неизвестный Нет Нет
КоппелияСим Неизвестный да да да да
Программное обеспечение CAD в движение Динамическое предотвращение столкновений Относительные конечные эффекты Автономное программирование Управление потоковой передачей в реальном времени

Семейства роботов

Программное обеспечение УГВ (наземный мобильный робот) БПЛА (воздушные роботы) АНПА (подводные роботы) Роботизированные руки Роботизированные руки (имитация хватания) Гуманоидные роботы Человеческие аватары Полный список
Беседка да да да да да да да
РобоДК Нет Нет Нет да Нет Нет Нет да
SimSpark да Нет Нет Может быть Может быть да Нет
Webots да да да да да да да да
OpenRAVE да Неизвестный Неизвестный да да да да
КоппелияСим да да да да да да да да
Программное обеспечение УГВ (наземный мобильный робот) БПЛА (воздушные роботы) АНПА (подводные роботы) Роботизированные руки Роботизированные руки (имитация хватания) Гуманоидные роботы Человеческие аватары Полный список

Поддерживаемые приводы

Программное обеспечение Типовые кинематические цепи Движение, управляемое силой Полный список Круговые кинематические цепи Кинематически избыточные цепи Разветвленные кинематические цепи
Беседка да да да да да
РобоДК Неизвестный Неизвестный Неизвестный Неизвестный Неизвестный
SimSpark да Нет Эффекторы SimSpark Неизвестный Неизвестный Неизвестный
Webots да да Приводы Webots да да да
OpenRAVE да да Соединения , дополнительные приводы да да да
КоппелияСим да да да да да
Программное обеспечение Типовые кинематические цепи Движение, управляемое силой Полный список Круговые кинематические цепи Кинематически избыточные цепи Разветвленные кинематические цепи

Поддерживаемые датчики

Программное обеспечение Одометрия ИДУ Столкновение GPS Монокулярные камеры Стерео камеры Камеры глубины Всенаправленные камеры 2D лазерные сканеры 3D лазерные сканеры Полный список
Беседка да да да да да да да да да да
РобоДК Неизвестный Неизвестный Неизвестный Неизвестный Неизвестный да да да да да
SimSpark да да да Частичное да Частичное Неизвестный Неизвестный Нет Нет Восприятия SimSpark
Webots да да да да да да да да да да Датчики Webots
OpenRAVE да да да да да да да Неизвестный да да
КоппелияСим да да да да да да да да да да
Программное обеспечение Одометрия ИДУ Столкновение GPS Монокулярные камеры Стерео камеры Камеры глубины Всенаправленные камеры 2D лазерные сканеры 3D лазерные сканеры Полный список

использованная литература

внешние ссылки