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

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

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

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

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

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

Функции

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

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

Симуляторы

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

Главная Информация

Программного обеспеченияРазработчикиСтатус разработкиЛицензияМеханизм 3D-рендерингаФизический движок3D модельерПоддерживаемые платформы
БеседкаФонд робототехники с открытым исходным кодом (OSRF)АктивныйApache 2.0ОГРЭODE /Пуля /Симбоди /DARTВнутреннийLinux, macOS, Windows
РобоДКРобоДКАктивныйПроприетарныйOpenGLПлагин GravityВнутреннийLinux, macOS, Windows, Android, iOS, Debian
SimSparkO. Obst et al. (+26)АктивныйGNU GPL (v2)ВнутреннийODEНиктоLinux, macOS, Windows
WebotsCyberbotics Ltd.АктивныйApache 2.0Внутренний (WREN)Вилка ODEВнутреннийLinux, macOS, Windows
OpenRAVEСообщество OpenRAVEАктивныйGNU LGPLCoin3D /OpenSceneGraphODE /ПуляВнутреннийLinux, macOS, Windows
Программного обеспеченияРазработчикиСтатус разработкиЛицензияМеханизм 3D-рендерингаФизический движок3D модельерПоддерживаемые платформы

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

Программного обеспеченияОсновной язык программированияПоддержка форматовРасширяемостьВнешние APIПромежуточное ПО для робототехники поддержкаОсновной пользовательский интерфейсБезголовое моделирование
БеседкаC ++SDF[1]/ URDF[2], OBJ, STL, ColladaПлагины (C ++)C ++ROS, Player, Sockets (сообщения protobuf)GUIда
РобоДКPythonSLDPRT, SLDASM, ШАГ, OBJ, STL, 3DS, Collada, VRML, URDF, Носорог_3D, ...API[3], Подключаемый интерфейс[4]Python, C / C ++, C #, Matlab, ...РазъемGUIНеизвестно
SimSparkC ++, RubyГрафики сцены RubyМоды (C ++)Сеть (sexpr )Розетки (sexpr )GUI, сокетыНеизвестно
WebotsC ++WBT, VRML, X3D, 3DS, Блендер, BVH, Collada, FBX, STL, OBJ, URDFAPI, протоколы, плагины (C / C ++)C, C ++, Python, Java, Matlab, ROSРозетки, ROS, NaoQIGUIда[5]
OpenRAVEC ++, PythonXML, VRML, OBJ, ColladaПлагины (C ++), APIC / C ++, Python, MatlabРозетки, РОС, ЯРПGUI, сокетыда
Программного обеспеченияОсновной язык программированияПоддержка форматовРасширяемостьВнешние APIПоддержка роботизированного промежуточного программного обеспеченияОсновной пользовательский интерфейсБезголовое моделирование

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

Поддержка

Программного обеспеченияСписок рассылкиДокументация по APIПубличный форум / справочная системаРуководство пользователяТрекер проблемВикиЧат
Беседкада[6]да[7]да[8]да[9]да[10]да[11]
РобоДКда[12]да[13]да[14]да[15]да[16]НетНеизвестно
SimSparkда[17]да[18]Нетда[19]да[20]да[21]Неизвестно
WebotsНетда[22]Нетда[23]да[24]да[25]да[26]
OpenRAVEда[27]да[28]да[29]да[30]да[31]да[32]Неизвестно
Программного обеспеченияСписок рассылкиДокументация по APIПубличный форум / справочная системаРуководство пользователяТрекер проблемВики

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

Программного обеспеченияПроверка статического кодаПроверка стиляТестовая система (ы)Покрытие тестовой функцииПокрытие Test BranchСтроки кодаСтроки комментариевНепрерывная интеграция
Беседкаcppcheck[33]cpplint[33]gtest и qtest[33]77.0%[33]53.3%[33]320 тыс.[33]106 тыс.[33]Дженкинс[33]
РобоДКНеизвестноНеизвестноНеизвестноНеизвестноНеизвестноНеизвестноНеизвестноНеизвестно
SimSparkНеизвестноНеизвестноНеизвестноНеизвестноНеизвестноНеизвестноНеизвестноНеизвестно
Webotscppcheck[34]clang-формат[35]модульные тесты[36]100% функций API[37]мастер[38], развивать[39]~ 200 тыс.~ 50 тыс.Трэвис[40], AppVeyor[41], GitGuardian[42], Действия Github
OpenRAVEНеизвестноНеизвестноНос питонаНеизвестноНеизвестноНеизвестноНеизвестноДженкинс[43]
Программного обеспеченияПроверка статического кодаПроверка стиляТестовая система (ы)Покрытие тестовой функцииПокрытие Test BranchСтроки кодаСтроки комментариевНепрерывная интеграция

Функции

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

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

Программного обеспеченияUGV (наземный мобильный робот)БПЛА (воздушные роботы)АНПА (подводные роботы)Роботизированные рукиРоботизированные руки (имитация хватания)Гуманоидные роботыЧеловеческие аватарыПолный список
Беседкада[44]да[45]да[46]да[47]да[48]да[49]да[50]
РобоДКНетНетНетда[51]НетНетНетда[52]
SimSparkдаНетНетМожет бытьМожет бытьдаНет
Webotsдадада[53]дадада[54]дада[55]
OpenRAVEдаНеизвестноНеизвестнодададада
Программного обеспеченияUGV (наземный мобильный робот)БПЛА (воздушные роботы)АНПА (подводные роботы)Роботизированные рукиРоботизированные руки (имитация хватания)Гуманоидные роботыЧеловеческие аватарыПолный список

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

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

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

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

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

  1. ^ OSRF. «SDF». sdformat.org. Получено 2019-04-27.
  2. ^ "urdf - ROS Wiki". wiki.ros.org. Получено 2017-10-06.
  3. ^ https://github.com/RoboDK/RoboDK-API
  4. ^ https://github.com/RoboDK/Plug-In-Interface
  5. ^ Однако для 3D-рендеринга требуется подключение к X-серверу.
  6. ^ «Беседка-сообщество». Беседка Сообщество. Получено 2019-04-27.
  7. ^ «Беседка API». Беседка Сообщество. Получено 2019-04-27.
  8. ^ "Беседка Ответы". Беседка Сообщество. Получено 2019-04-27.
  9. ^ "Учебники по беседке". Беседка Сообщество. Получено 2019-04-27.
  10. ^ "Отслеживание проблем с беседкой". Беседка Сообщество. Получено 2019-04-27.
  11. ^ "Беседка Вики". Беседка Сообщество. Получено 2019-04-27.
  12. ^ Список рассылки RoboDK
  13. ^ Документация RoboDK API
  14. ^ Форум RoboDK
  15. ^ Документация RoboDK
  16. ^ RoboDK Отслеживание ошибок
  17. ^ Списки рассылки SimSpark
  18. ^ Клиентские протоколы SimSpark
  19. ^ Руководство пользователя SimSpark (Wiki)
  20. ^ SimSpark Tracker
  21. ^ SimSpark Вики
  22. ^ Справочное руководство Webots
  23. ^ Руководство пользователя Webots
  24. ^ Проблемы с веботами на GitHub
  25. ^ Техническая вики по Webots на GitHub
  26. ^ Канал Webots в Discord
  27. ^ Список рассылки OpenRAVE
  28. ^ OpenRAVE API
  29. ^ Система отслеживания проблем OpenRAVE
  30. ^ Руководство пользователя OpenRAVE
  31. ^ Система отслеживания проблем OpenRAVE
  32. ^ OpenRAVE Wiki
  33. ^ а б c d е ж г час OSRF. «Беседка». gazebosim.org. Получено 2019-04-27.
  34. ^ CppCheck
  35. ^ Формат Clang
  36. ^ Модульные тесты
  37. ^ API тесты
  38. ^ Мастер веботов
  39. ^ Веботы развиваются
  40. ^ Источник: [1]
  41. ^ Источник: [2]
  42. ^ Источник: [3]
  43. ^ Источник: [4]
  44. ^ OSRF. "Беседка: Учебное пособие: Новичок: Редактор моделей". gazebosim.org. Получено 2019-04-27.
  45. ^ OSRF. «Беседка: Учебное пособие: Аэродинамика». gazebosim.org. Получено 2019-04-27.
  46. ^ OSRF. "Беседка: Учебное пособие: Гидродинамика". gazebosim.org. Получено 2019-04-27.
  47. ^ OSRF. "Беседка: ARIAC". gazebosim.org. Получено 2019-04-27.
  48. ^ OSRF. «Беседка: HAPTIX». gazebosim.org. Получено 2019-04-27.
  49. ^ «Наследие DARPA: моделирование с открытым исходным кодом для разработки и тестирования робототехники | Robohub». robohub.org. Получено 2019-04-27.
  50. ^ OSRF. "Беседка: Учебное пособие: Создайте анимационную модель (актера)". gazebosim.org. Получено 2019-04-27.
  51. ^ Библиотека роботов RoboDK
  52. ^ Библиотека роботов RoboDK
  53. ^ включая робота Саламандра
  54. ^ включая Nao, DARwIn-OP, Fujitsu HOAP2, Kondo KHR-2HV, KHR-3 и т. д.
  55. ^ Модели роботов Webots
  56. ^ OpenRAVE Закрытые цепи [5]
  57. ^ Пример OpenRAVE Dual-arm [6]
  58. ^ OSRF. «Беседка: Учебное пособие: контактный датчик». gazebosim.org. Получено 2019-04-27.
  59. ^ OSRF. "Беседка: Учебное пособие: искажение камеры". gazebosim.org. Получено 2019-04-27.
  60. ^ а б OSRF. "Беседка: Учебник: Средний: Велодин". gazebosim.org. Получено 2019-04-27.
  61. ^ Обнаружение столкновений использует упрощенную модель
  62. ^ Возможно, нет модели для шума

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

UWSim