Робототехника симулятор
Какой лучший симулятор робототехники? На данный момент я просто хочу получить простое моделирование метода потенциального поля, алгоритмов ошибок, алгоритма A* и т. Д.!
Список известных роботов-симуляторов:
- Player Project (2D симулятор - сцена - 3D симулятор - беседка - и интерфейс управления - с открытым исходным кодом, часть проекта ROS)
- MORSE (универсальный 3D симулятор для внутреннего и наружного применения)
- Microsoft Robotics Studio (симулятор + интерфейс управления)
- KiKS (плагин Matlab, только для интерфейса управления Khepera +)
- MobotSim (для роботов типа point, больше реализации алгоритма)
- Карел (Довольно Киддиш, я думаю, это как Паскаль / Логотип)
- Peekabot (выглядит действительно круто!)
- MRPT (выглядит очень красиво, скоро попробую)
- Кармен (Robot Vision и т. Д. Легко внедрить в него (?))
- Веб-боты (с открытым исходным кодом - мультиплатформенность - мультиязычность [ROS, Python, Matlab и т. Д.] - современный внешний вид - экспорт через Интернет)
- Симбад (2D/3D симулятор в Java и Jython)
- Робокод (костюм Java/ .NET)
- Театр Россума (костюм C/C++)
- V-REP (3D, доступный источник, скрипты Lua, API для C/C++, Python, Java, Matlab, URBI, 2 физических движка, полный кинематический решатель и т. Д.)
Некоторые более общие платформы / промежуточные программы также предлагают инструменты моделирования:
- ROS (внастоящее время самая большая интеграция таких платформ)
- URBI
- YARP
- ОРОКОС (ничего об этом не знаю!)
Некоторые ссылки на роботы-симуляторы:
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-симуляторе. Некоторые заметки о вашем выборе:
- Плеер включает в себя 2D-симулятор (Stage) и 3D-симулятор физики (Gazeebo), который, я думаю, использует ODE
MRDS включает в себя 3D-симулятор физики от PhysX
ROS - это всего лишь архитектура, и я не верю, что у нее есть собственный симулятор. хотя у него есть несколько разных инструментов визуализации. это также оборачивает игрока.
Еще один популярный симулятор / архитектура - WeBots. Но я думаю, что это только 3D.
Это все, что я знаю. Удачи. -Бен
peekabot - это не симулятор, а всего лишь инструмент визуализации и, в некоторой степени, инструмент для интерактивного управления роботом. Впрочем, он хорошо подходит для использования в сочетании с симулятором без собственной визуализации.
У MRPT нет (полного) симулятора AFAIK, только алгоритмы, интерфейсы, драйверы и собственный формат журнала. Кроме того, это выглядит аккуратно.
OpenRAVE может стоить проверить, если вы заинтересованы в планировании.
Беседка не была действительно зрелой и достаточно стабильной, когда я последний раз ее пробовал (~1 год назад) Может стоит проверить хотя.
Этап прост в использовании, при условии, что вам нужен только 2D симулятор без динамики.
Я использовал ODE и Bullet для моделирования роботов, и оба работали хорошо, хотя я бы порекомендовал ODE.
Чтобы получить более четкий ответ, вам нужно уточнить ваши требования - то есть вы ищете только симулятор или что-то более похожее на ROS, вам нужен 3D-симулятор с динамикой или только 2D, насколько он должен быть точным, какие датчики вы используете? хочу смоделировать и т.д.
Некоторые из них ориентированы на гуманоидную робототехнику и / или общие многотельные приложения, но они также могут быть использованы для целей мобильной робототехники:
- OpenHRP: с открытым исходным кодом, тонны библиотек, написанных на C++, включены для прямого моделирования динамики и визуализации. Тем не менее, довольно сложно начать работу, довольно много зависимостей, которые очень чувствительны к версиям.
- Robotran: бесплатно для личного и / или исследовательского использования. Работает в основном в среде Matlab/Simulink. Очень легко получить и запустить модели.
- 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, который позволяет вам создавать любого робота, которого вы только можете себе представить, и даже импортировать ваши собственные модели.