Симулятор робототехники
![]() | Эта статья , возможно, содержит оригинальные исследования . ( Август 2014 ) |
Симулятор робототехники - это симулятор, используемый для создания приложения для физического робота без в зависимости от физической машины, тем самым экономия стоимость и время. В некоторых случаях такие приложения могут быть переданы на физического робота (или восстановления) без модификации.
Термин «симулятор робототехники» может ссылаться на несколько различных приложений для симуляции робототехники. Например, в мобильной робототехники приложениях симуляторы робототехники на основе поведения позволяют пользователям создавать простые миры жестких объектов и источников света и программировать роботов для взаимодействия с этими мирами. Моделирование на основе поведения позволяет выполнять действия, которые являются более биотическими по своему характеру по сравнению с симуляторами, которые являются более бинарными или вычислительными. Кроме того, симуляторы, основанные на поведении, могут учиться на ошибках и могут продемонстрировать антропоморфное качество упорства.

Одним из самых популярных приложений для симуляторов робототехники является 3D -моделирование и рендеринг робота и его окружающей среды. Этот тип программного обеспечения для робототехники имеет симулятор, который является виртуальным роботом, который может подражать движению физического робота в реальной работе. Некоторые симуляторы робототехники используют физический двигатель для более реалистичного генерации движения робота. Использование симулятора робототехники для разработки программы управления робототехникой настоятельно рекомендуется независимо от того, доступен ли физический робот или нет. Симулятор позволяет программам робототехники быть удобно написан и отлаживается в автономном режиме с окончательной версией программы, протестированной на физическом роботе. Это относится главным образом к промышленным роботизированным приложениям, поскольку успех автономного программирования зависит от того, насколько похожа физическая среда робота с моделируемой средой.
Действия робота на основе датчиков гораздо сложнее имитировать и/или программировать автономную линию, поскольку движение робота зависит от мгновенных показаний датчиков в реальном мире.
Функции
[ редактировать ]Современные симуляторы, как правило, предоставляют следующие функции:
- Быстрое прототипирование роботов:
- Использование собственного симулятора в качестве инструмента создания
- Использование внешних инструментов
- Физические двигатели для реалистичных движений: большинство симуляторов используют Bullet , ODE или Physx .
- Реалистичный 3D-рендеринг: стандартные инструменты 3D-моделирования или сторонние инструменты могут использоваться для построения сред.
- Динамические роботы сценария: C , C ++ , Perl , Python , Java , Urbi и Matlab Languages, используемые Webots; C ++ Используется беседкой .
Симуляторы
[ редактировать ]Среди самых новейших технологий, доступных сегодня для программирования, - это то, которые используют виртуальное моделирование. Моделирование с использованием виртуальных моделей рабочей среды и самих роботов может дать преимущества как компании, так и для программиста. Используя симуляцию, затраты снижаются, и роботы могут быть запрограммированы в автономном режиме, что устраняет любое время простоя для сборочной линии. Действия робота и детали сборки могут быть визуализированы в трехмерной виртуальной среде за несколько месяцев до того, как прототипы даже будут произведены. Написание кода для симуляции также проще, чем написание кода для физического робота. В то время как движение к виртуальному моделированию для роботов программирования является шагом вперед в дизайне пользовательского интерфейса, многие такие приложения находятся только в зачаточном состоянии.
Общая информация
[ редактировать ]Программное обеспечение | Разработчики | Статус развития | Лицензия | 3D -рендеринг двигатель | Физический двигатель | 3D modeller | Платформы поддерживаются |
---|---|---|---|---|---|---|---|
Беседка | Фонд робототехники с открытым исходным кодом (OSRF) | Активный | Apache 2.0 | Огр | Ode , Bullet , Simbody , Dart | Внутренний | Linux, macOS, Windows |
Рободк | Рободк | Активный | Запатентованный | Открытый | Гравитационный плагин | Внутренний | Linux, MacOS, Windows, Android, iOS, Debian |
Симспарк | O. obst et al. (+26) | Активный | Gnu gpl (v2) | Внутренний | Ода | Никто | Linux, macOS, Windows |
Quemots | Cyberbotics Ltd. | Активный | Apache 2.0 | Внутренний (Рен) | Вилка ода | Внутренний | Linux, macOS, Windows |
OpenRave | Сообщество OpenRave | Активный | GNU Lgpl | Coin3d , OpenSceneGraph | Ода , пуля | Внутренний | Linux, macOS, Windows |
Coppeliasim | Коппелия робототехника | Активный | Dual: Commercial, GNU GPL | Внутренний | Mujoco, Bullet , Ode , Vortex , Newton | Внутренний | Linux, macOS, Windows |
Программное обеспечение | Разработчики | Статус развития | Лицензия | 3D -рендеринг двигатель | Физический двигатель | 3D modeller | Платформы поддерживаются |
Техническая информация
[ редактировать ]Программное обеспечение | Основной язык программирования | Форматы поддержка | Расширяемость | Внешние API | промежуточного программного обеспечения Robotics Поддержка | Первичный пользовательский интерфейс | Безголовая симуляция |
---|---|---|---|---|---|---|---|
Беседка | C ++ | SDF [ 1 ] /Urdf, [ 2 ] OBJ , STL , Collada | Плагины (C ++) | C ++ | ROS, Player, Sockets (Protobuf Messages) | Графический интерфейс | Да |
Рободк | Питон | SLDPRT , SLDASM , Step , OBJ , STL , 3DS , COLLADA , VRML , Робот -операционная система URDF , Rhinoceros 3D , ... | API, [ 3 ] Подключаемый интерфейс [ 4 ] | Python, C/C ++, C#, Matlab, ... | Гнездо | Графический интерфейс | Да |
Симспарк | C ++, Ruby | Рубиновые сцены графики | Моды (C ++) | Сеть ( Sexpr ) | Розетки ( sexpr ) | GUI, гнезда | Unknown |
Quemots | C ++ | WBT, VRML , X3D , 3DS , Blender , BVH , Collada , FBX , STL , OBJ , URDF | API, Protos, плагины (C/C ++) | C, C ++, Python, Java, Matlab, ROS | Главы, А.С., Наоки | Графический интерфейс | Да [ 5 ] |
OpenRave | C ++, Python | XML , VRML , OBJ , Collada | Плагины (C ++), API | C/C ++, Python, Matlab | Главы, Рос, Ярп | GUI, гнезда | Да |
Coppeliasim | 100 ++ Python, Lua | 3DS , Blender , Collada , STL , OBJ , URDF, SDF, GLTF, XML | Плагины (C/C ++), встроенные сценарии (Python, Lua), удаленный API (C, C ++, Python, Java, Matlab, Octave), надстройки (Python, Lua) | C, C ++, Python, Java, Matlab, Octave, ROS, ROS 2.0 | СОКЕТЫ, ROS, ROS 2.0, ZeromQ | Графический интерфейс | Да |
Программное обеспечение | Основной язык программирования | Форматы поддержка | Расширяемость | Внешние API | Роботизированная поддержка промежуточного программного обеспечения | Первичный пользовательский интерфейс | Безголовая симуляция |
Инфраструктура
[ редактировать ]Поддерживать
[ редактировать ]Программное обеспечение | Список рассылки | Документация API | Общественный форум, система помощи | Руководство пользователя | Выпуск трекер | Неделя | Чат |
---|---|---|---|---|---|---|---|
Беседка | Да [ 6 ] | Да [ 7 ] | Да [ 8 ] | Да [ 9 ] | Да [ 10 ] | Нет | |
Рободк | Да [ 11 ] | Да [ 12 ] | Да [ 13 ] | Да [ 14 ] | Да [ 15 ] | Нет | Unknown |
Симспарк | Да [ 16 ] | Да [ 17 ] | Нет | Да [ 18 ] | Да [ 19 ] | Да [ 20 ] | Unknown |
Quemots | Нет | Да [ 21 ] | Да [ 22 ] | Да [ 23 ] | Да [ 24 ] | Да [ 25 ] | Да [ 26 ] |
OpenRave | Да [ 27 ] | Да [ 28 ] | Да [ 29 ] | Да [ 30 ] | Да [ 29 ] | Да [ 31 ] | Unknown |
Coppeliasim | Нет | Да [ 32 ] | Да [ 33 ] | Да [ 34 ] | Да [ 35 ] | Unknown | Нет |
Программное обеспечение | Список рассылки | Документация API | Общественный форум, система помощи | Руководство пользователя | Выпуск трекер | Неделя |
Качество кода
[ редактировать ]Программное обеспечение | Статический контроль кода | Проверка стиля | Тестовая система (ы) | Покрытие функции тестирования | Тестовая филиала покрытие | Строки кода | Строки комментариев | Непрерывная интеграция |
---|---|---|---|---|---|---|---|---|
Беседка | cppcheck [ 36 ] | Cpplint [ 36 ] | gtest и qtest [ 36 ] | 77.0% [ 36 ] | 53.3% [ 36 ] | 320K [ 36 ] | 106K [ 36 ] | Дженкинс [ 36 ] |
Рободк | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown |
Симспарк | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown |
Quemots | cppcheck [ 37 ] | Кланг-формат [ 38 ] | модульные тесты [ 39 ] | 100% функций API [ 40 ] | владелец, [ 41 ] развивать [ 42 ] | ~ 200K | ~ 50K | Действия GitHub |
OpenRave | Unknown | Unknown | Питон нос | Unknown | Unknown | Unknown | Unknown | Дженкинс [ 43 ] |
Coppeliasim | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown |
Программное обеспечение | Статический контроль кода | Проверка стиля | Тестовая система (ы) | Покрытие функции тестирования | Тестовая филиала покрытие | Строки кода | Строки комментариев | Непрерывная интеграция |
Функции
[ редактировать ]Программное обеспечение | CAD к движению | Динамическое избегание столкновений | Относительные конечные эффекторы | Офтехно-программирование | Потоковое управление потоковым трансляцией в реальном времени |
---|---|---|---|---|---|
Беседка | Unknown | Да | Да | Да | Да |
Рободк | Да | Да | Да | Да | Да |
Симспарк | Unknown | Нет | Unknown | Нет | Нет |
Quemots | Unknown | Да | Да | Да | Да |
OpenRave | Unknown | Нет | Unknown | Нет | Нет |
Coppeliasim | Unknown | Да | Да | Да | Да |
Программное обеспечение | CAD к движению | Динамическое избегание столкновений | Относительные конечные эффекторы | Офтехно-программирование | Потоковое управление в реальном времени |
Семьи роботов
[ редактировать ]Программное обеспечение | UGV (наземный мобильный робот) | БПЛА (воздушные роботы) | AUV (подводные роботы) | Роботизированные руки | Роботизированные руки (схватывание симуляции) | Гуманоидные роботы | Человеческие аватары | Полный список |
---|---|---|---|---|---|---|---|---|
Беседка | Да [ 44 ] | Да [ 45 ] | Да [ 46 ] | Да [ 47 ] | Да [ 48 ] | Да [ 49 ] | Да [ 50 ] | |
Рободк | Нет | Нет | Нет | Да [ 51 ] | Нет | Нет | Нет | Да [ 51 ] |
Симспарк | Да | Нет | Нет | Может быть | Может быть | Да | Нет | |
Quemots | Да | Да | Да [ 52 ] | Да | Да | Да [ 53 ] | Да | Да [ 54 ] |
OpenRave | Да | Unknown | Unknown | Да | Да | Да | Да | |
Coppeliasim | Да | Да | Да | Да | Да | Да | Да | Да [ 55 ] |
Программное обеспечение | UGV (наземный мобильный робот) | БПЛА (воздушные роботы) | AUV (подводные роботы) | Роботизированные руки | Роботизированные руки (схватывание симуляции) | Гуманоидные роботы | Человеческие аватары | Полный список |
Поддерживаемые приводы
[ редактировать ]Программное обеспечение | Общие кинематические цепи | Контролируемое силовым движением | Полный список | Круглые кинематические цепи | Кинематически избыточные цепи | Раздвоенные кинематические цепи |
---|---|---|---|---|---|---|
Беседка | Да | Да | Да | Да | Да | |
Рободк | Unknown | Unknown | Unknown | Unknown | Unknown | |
Симспарк | Да | Нет | Simpark Effectors | Unknown | Unknown | Unknown |
Quemots | Да | Да | Приводы Webots | Да | Да | Да |
OpenRave | Да | Да | Суставы , дополнительные приводы | Да [ 56 ] | Да | Да [ 57 ] |
Coppeliasim | Да | Да | Да | Да | Да | |
Программное обеспечение | Общие кинематические цепи | Контролируемое силовым движением | Полный список | Круглые кинематические цепи | Кинематически избыточные цепи | Раздвоенные кинематические цепи |
Поддерживаемые датчики
[ редактировать ]Программное обеспечение | Одометрия | НОС | Столкновение | GPS | Монокулярные камеры | Стереокамеры | Глубины камеры | Всенаправленные камеры | 2D лазерные сканеры | 3D лазерные сканеры | Полный список |
---|---|---|---|---|---|---|---|---|---|---|---|
Беседка | Да | Да | Да [ 58 ] | Да | Да [ 59 ] | Да | Да | Да | Да [ 60 ] | Да [ 60 ] | |
Рободк | Unknown | Unknown | Unknown | Unknown | Unknown | Да | Да | Да | Да | Да | |
Симспарк | Да | Да | Да [ 61 ] | Частично [ 62 ] | Да | Частично | Unknown | Unknown | Нет | Нет | Симспарк воспринимает |
Quemots | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | Webotts Sensors |
OpenRave | Да | Да | Да | Да | Да | Да | Да | Unknown | Да | Да | |
Coppeliasim | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | |
Программное обеспечение | Одометрия | НОС | Столкновение | GPS | Монокулярные камеры | Стереокамеры | Глубины камеры | Всенаправленные камеры | 2D лазерные сканеры | 3D лазерные сканеры | Полный список |
Ссылки
[ редактировать ]- ^ OSRF. "SDF" . sdformat.org . Получено 2019-04-27 .
- ^ "urdf - ros wiki" . Wiki.ros.org . Получено 2017-10-06 .
- ^ "Robodk API" . GitHub . 22 октября 2021 года.
- ^ «Интерфейс плагина Robodk» . GitHub . 16 октября 2021 года.
- ^ Однако требуется соединение на X -сервере для 3D -рендеринга
- ^ «Общество беседки» . Получено 2019-04-27 .
- ^ "Gazebo API" . Беседка . Получено 2019-04-27 .
- ^ "Ответы беседки" . Беседка . Получено 2019-04-27 .
- ^ "Беседные учебные пособия" . Беседка . Получено 2019-04-27 .
- ^ «Трекер беседки» . Беседка . Получено 2019-04-27 .
- ^ Список рассылки ROBODK
- ^ Документация Robodk API
- ^ Форум Robodk
- ^ Документация ROBODK
- ^ Robodk Tracker Tracker
- ^ Списки рассылки SIMSPARK
- ^ «Протоколы клиента Simplark» . Архивировано с оригинала 2016-02-25 . Получено 2015-04-08 .
- ^ «Руководство пользователя SIMSPARK (Wiki)» . Архивировано с оригинала 2015-02-25 . Получено 2015-04-08 .
- ^ Симспарк Трекер
- ^ Simspark Wiki [ Постоянная мертвая ссылка ]
- ^ Справочное руководство Webots
- ^ «Дискуссии · киберботики/webots» . GitHub .
- ^ Руководство пользователя Webots
- ^ ОБЩЕСТВЕННЫ
- ^ Webots Technical Wiki на GitHub
- ^ Webots Discord Channel
- ^ Список рассылки OpenRave
- ^ OpenRave API
- ^ Jump up to: а беременный OpenRave выпуска трекер
- ^ Руководство пользователя OpenRave
- ^ OpenRave Wiki
- ^ Coppeliasim Api
- ^ Форум робототехники Coppelia
- ^ Coppeliasim Руководство пользователя
- ^ Отчеты об ошибках Coppelia Robotics
- ^ Jump up to: а беременный в дюймовый и фон глин час OSRF. "Беседка" . gazebosim.org . Получено 2019-04-27 .
- ^ Cppcheck
- ^ Clang Format
- ^ Модульные тесты
- ^ API -тесты
- ^ Webots Master
- ^ Регистрировать
- ^ Источник
- ^ OSRF. «Беседка: Учебник: начинающий: редактор модели» . gazebosim.org . Получено 2019-04-27 .
- ^ OSRF. «Беседка: Учебное пособие: аэродинамика» . gazebosim.org . Получено 2019-04-27 .
- ^ OSRF. «Беседка: Учебное пособие: гидродинамика» . gazebosim.org . Получено 2019-04-27 .
- ^ OSRF. «Беседка: Ариак» . gazebosim.org . Получено 2019-04-27 .
- ^ OSRF. "Беседка: Хапцикс" . gazebosim.org . Получено 2019-04-27 .
- ^ «Наследие DARPA: моделирование с открытым исходным кодом для разработки и тестирования робототехники» . Robohub.org . Получено 2019-04-27 .
- ^ OSRF. «Беседка: Учебное пособие: сделайте анимированную модель (актер)» . gazebosim.org . Получено 2019-04-27 .
- ^ Jump up to: а беременный Рободк -библиотека
- ^ включая робота саламандры
- R выпуск Национальный август, Фарра, война, 22-20-20.
- ^ Модели роботов Webots
- ^ Coppeliasim основные особенности
- ^ OpenRave закрытые цепи
- ^ Пример с двойной рукой OpenRave
- ^ OSRF. «Беседка: Учебное пособие: датчик контакта» . gazebosim.org . Получено 2019-04-27 .
- ^ OSRF. «Беседка: Учебное пособие: искажение камеры» . gazebosim.org . Получено 2019-04-27 .
- ^ Jump up to: а беременный OSRF. «Беседка: Учебное пособие: промежуточное: Велодин» . gazebosim.org . Получено 2019-04-27 .
- ^ В обнаружении столкновения используется упрощенная модель
- ^ Возможно, нет модели для шума