Робототехника симулятор

Какой лучший симулятор робототехники? На данный момент я просто хочу получить простое моделирование метода потенциального поля, алгоритмов ошибок, алгоритма A* и т. Д.!

Список известных роботов-симуляторов:

  1. Player Project (2D симулятор - сцена - 3D симулятор - беседка - и интерфейс управления - с открытым исходным кодом, часть проекта ROS)
  2. MORSE (универсальный 3D симулятор для внутреннего и наружного применения)
  3. Microsoft Robotics Studio (симулятор + интерфейс управления)
  4. KiKS (плагин Matlab, только для интерфейса управления Khepera +)
  5. MobotSim (для роботов типа point, больше реализации алгоритма)
  6. Карел (Довольно Киддиш, я думаю, это как Паскаль / Логотип)
  7. Peekabot (выглядит действительно круто!)
  8. MRPT (выглядит очень красиво, скоро попробую)
  9. Кармен (Robot Vision и т. Д. Легко внедрить в него (?))
  10. Веб-боты (с открытым исходным кодом - мультиплатформенность - мультиязычность [ROS, Python, Matlab и т. Д.] - современный внешний вид - экспорт через Интернет)
  11. Симбад (2D/3D симулятор в Java и Jython)
  12. Робокод (костюм Java/ .NET)
  13. Театр Россума (костюм C/C++)
  14. V-REP (3D, доступный источник, скрипты Lua, API для C/C++, Python, Java, Matlab, URBI, 2 физических движка, полный кинематический решатель и т. Д.)

Некоторые более общие платформы / промежуточные программы также предлагают инструменты моделирования:

  1. ROSнастоящее время самая большая интеграция таких платформ)
  2. URBI
  3. YARP
  4. ОРОКОС (ничего об этом не знаю!)

Некоторые ссылки на роботы-симуляторы:

  1. Среды разработки для автономных мобильных роботов: обзор
  2. Робототехника с открытым исходным кодом
  3. Обновленный обзор программных платформ робототехники
  4. Существующие симуляторы - webpage@laas.fr
  5. Список на сайте Асафа Матана

12 ответов

Решение

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

ROS очень крутой, и имеет довольно большой выбор полезных услуг восприятия, а также полный стек PR2. Он использует беседку (часть игрока / сцены) для моделирования и включает в себя несколько готовых роботов (для этого идеально подойдет беспорядочный). Это довольно новый, но очень активный.

У MRDS есть несколько подходящих роботов, и, откровенно говоря, лучше имитируемая среда, чем у ROS, но не настолько, как в случае сервисов высокого уровня. Робот-симулятор lego отлично подойдет для того, что вы хотите сделать, и даст вам возможность проверить на реальном оборудовании дешевле в будущем.

У этих двоих сейчас львиная доля разработчиков. На самом деле решение сводится к тому, хотите ли вы разрабатывать в Visual Studio под Windows или на платформах Linux. Оба бесплатны для студентов (MSRS находится в рамках программ ELMS / Dreamspark), оба имеют кривую обучения, оба имеют довольно хорошую поддержку сообщества. Для MRDS зайдите в форум, для ROS присоединитесь к списку рассылки.

Я программировал против SimSpark. Это симулятор с открытым исходным кодом позади RoboCup 3D Simulated Soccer League.

Это расширяемо для разных симуляций. Вы можете подключить свои собственные датчики, приводы и модели, используя файлы C++, Ruby и / или RSG (Ruby Scene Graph).

Я не знаю, лучший ли это симулятор, но я наслаждался им.

РЕДАКТИРОВАТЬ В ответ на комментарий Аркаправо.

Я написал.NET API для написания ваших собственных 3D-агентов RoboCup под названием TinMan.

На YouTube есть множество видео с симуляцией футбольных матчей в 3D. Это один из моих любимых.

RoboCup 2010 состоится на этой неделе в Сингапуре, хотя, к сожалению, я не смогу это сделать.

RoboCup 3D работает на движке физического моделирования под названием SimSpark. У этого есть всесторонняя Wiki с большим количеством информации, объясняющей, как все это работает.

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

Похоже, все, что вам нужно, это 2D симулятор. Так что я бы избежал накладных расходов и головной боли в 3D-симуляторе. Некоторые заметки о вашем выборе:

  1. Плеер включает в себя 2D-симулятор (Stage) и 3D-симулятор физики (Gazeebo), который, я думаю, использует ODE
  2. MRDS включает в себя 3D-симулятор физики от PhysX

  3. ROS - это всего лишь архитектура, и я не верю, что у нее есть собственный симулятор. хотя у него есть несколько разных инструментов визуализации. это также оборачивает игрока.

Еще один популярный симулятор / архитектура - WeBots. Но я думаю, что это только 3D.

Это все, что я знаю. Удачи. -Бен

peekabot - это не симулятор, а всего лишь инструмент визуализации и, в некоторой степени, инструмент для интерактивного управления роботом. Впрочем, он хорошо подходит для использования в сочетании с симулятором без собственной визуализации.

У MRPT нет (полного) симулятора AFAIK, только алгоритмы, интерфейсы, драйверы и собственный формат журнала. Кроме того, это выглядит аккуратно.

OpenRAVE может стоить проверить, если вы заинтересованы в планировании.

Беседка не была действительно зрелой и достаточно стабильной, когда я последний раз ее пробовал (~1 год назад) Может стоит проверить хотя.

Этап прост в использовании, при условии, что вам нужен только 2D симулятор без динамики.

Я использовал ODE и Bullet для моделирования роботов, и оба работали хорошо, хотя я бы порекомендовал ODE.

Чтобы получить более четкий ответ, вам нужно уточнить ваши требования - то есть вы ищете только симулятор или что-то более похожее на ROS, вам нужен 3D-симулятор с динамикой или только 2D, насколько он должен быть точным, какие датчики вы используете? хочу смоделировать и т.д.

Некоторые из них ориентированы на гуманоидную робототехнику и / или общие многотельные приложения, но они также могут быть использованы для целей мобильной робототехники:

  1. OpenHRP: с открытым исходным кодом, тонны библиотек, написанных на C++, включены для прямого моделирования динамики и визуализации. Тем не менее, довольно сложно начать работу, довольно много зависимостей, которые очень чувствительны к версиям.
  2. Robotran: бесплатно для личного и / или исследовательского использования. Работает в основном в среде Matlab/Simulink. Очень легко получить и запустить модели.
  3. MapleSim: коммерческое программное обеспечение, но полезное для очень сложного моделирования. Экспортирует эффективную символьную многотельную динамику для симуляции / визуализации в Matlab/Simulink.

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

Я работаю над разработкой еще одного симулятора робототехники на основе Blender. Он называется MORSE и призван стать очень гибким симулятором, основанным на модульных компонентах. Он обеспечивает связь с различными промежуточными программами, в настоящее время YARP, ROS и сокетами. Текущие приложения, использующие его, включают в себя совместную работу нескольких мобильных роботов и взаимодействие человека с роботом.

Вы можете найти больше информации на официальной домашней странице: http://morse.openrobots.org/

Это все с открытым исходным кодом, и у нас есть списки рассылки для пользователей. Мы будем признательны, если вы попробуете дать нам свои комментарии.

Урби не симулятор. Это промежуточная платформа, которая опирается на параллельный и управляемый событиями язык сценариев. Теперь он с открытым исходным кодом и поддерживает ROS, что означает, что вы должны использовать оба! Вот некоторая информация об Урби: http://www.urbiforge.org/

И последнее, но не менее важное: его легко использовать для начинающих.

Надеюсь, что вся информация, которую вы получили, поможет вам выбрать правильный симулятор для вас!

ODE кто-нибудь? Я использовал это много в моих проектах микромасса..

Я наткнулся на Фоукса онлайн сегодня:

http://www.fawkesrobotics.org/

Fawkes - это компонентная программная платформа для роботизированных приложений реального времени для различных платформ и доменов.

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

Это тоже с открытым исходным кодом (GPL).

Breve был использован для моделирования роботов, которые были физически реализованы. Бреве руководит ODE.

Я бы также упомянул Unity3D, он действительно больше предназначен для разработки игр, но имеет хорошие возможности для 3D-графики, сценариев (в javascript или Mono/C#), физики и т. Д. И может быть использован в качестве симулятора, если вы хотите писать или самостоятельно интегрировать некоторые специфичные для робота функции (датчики, алгоритмы и т. д.).

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

Действительно отличный вариант, который я рекомендую, - RobotSim от Cogmation. У них также есть другой продукт RobotBuilder, который позволяет вам создавать любого робота, которого вы только можете себе представить, и даже импортировать ваши собственные модели.

Другие вопросы по тегам