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

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

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

  1. Игровой проект (2D-симулятор — Сцена — 3D-симулятор — Беседка — и интерфейс управления — с открытым исходным кодом, часть проект РОС)
  2. MORSE (3D-симулятор общего назначения для помещений и улицы)
  3. Microsoft Robotics Studio (симулятор + интерфейс управления)
  4. KiKS (плагин Matlab, только для Хепера + интерфейс управления)
  5. MobotSim (например, роботы, больше реализации алгоритма)
  6. Karel (довольно ребяческий, наверное, это Pascal/Logo)
  7. MRPT (выглядит очень красиво, скоро попробую)
  8. Кармен (в нем легко реализовать Robot Vision и т. д. (?))
  9. Webbots (с открытым исходным кодом - многоплатформенный - многоязычный [ROS, Python, Matlab и т. д.] - современный внешний вид - веб-экспорт)
  10. Simbad (симулятор 2D/3D на Java и Jython)
  11. Robocode (подходит для Java/.NET)
  12. Игровой домик Россум (компьютер C/C++)
  13. V-REP (3D, исходный код доступен, сценарии Lua, API для C/C++, Python, Java, Matlab , URBI, 2 физических движка, полный кинематический решатель и т. д.)

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

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

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

  1. Среды разработки автономных мобильных роботов: опрос
  2. Наборы инструментов для робототехники с открытым исходным кодом
  3. Обновленный обзор программные платформы робототехники
  4. Существующие симуляторы — [email protected]
  5. Список на веб-сайте Асафа Матана

person Community    schedule 28.03.2010    source источник
comment
ORCOS (и его дальний родственник Orca, orca-robotics.sourceforge.net) также не являются симуляторами. . Насколько мне известно, ORCOS — это фреймворк, ориентированный на управление в реальном времени, как правило, на одном компьютере, тогда как Orca делает упор на распределенные компоненты (конечно, с обязательным собственным набором общих робототехнических интерфейсов). YARP (eris.liralab.it/yarp) — еще один фреймворк, похожий по духу на Orca, но сфокусированный на еще о зрении. Однако это не симулятор робототехники.   -  person Staffan    schedule 07.07.2010
comment
@Staffan :) Вы, кажется, какой-то Гуру в этой теме!   -  person Arkapravo    schedule 16.07.2010
comment
Я бы не назвал себя гуру, но я работаю в области робототехники, и по пути вы находите много полезного... Я также являюсь разработчиком инструмента peekabot, на который вы ссылаетесь.   -  person Staffan    schedule 16.07.2010
comment
@Staffan: Есть ли у вас какие-либо опубликованные работы (документы и т. д.) о работе и структуре peekabot?   -  person Arkapravo    schedule 17.07.2010
comment
Нет, пока ничего не опубликовано. Хотя я с удовольствием отвечу на любой вопрос.   -  person Staffan    schedule 17.07.2010
comment
Я думаю, что MASON также следует добавить в этот список. Это многоагентный симулятор на основе Java.   -  person Ben    schedule 05.12.2014
comment
Обновление: Webots теперь имеет открытый исходный код под лицензией Apache 2.0: cyberbotics.com/ doc/blog/Webots-2019-a-release   -  person FabienRohrer    schedule 19.12.2018


Ответы (12)


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

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

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

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

person Tom    schedule 10.05.2010
comment
@Том: Круто! ..... Думаю, stackoverflow нужен еще один фанатик роботов! ... :Д - person Arkapravo; 10.05.2010
comment
@Tom: Для ROS + Gazebo, в какой ОС это работает? - person Arkapravo; 21.06.2010
comment
@Arkapravo: я использовал ROS и Gazebo с Ubuntu 9.10, а теперь и 10.04 с хорошими результатами. - person Eric Perko; 03.07.2010
comment
@ Эрик Перко: Спасибо! .... Что ж, мне очень не повезло с установкой Gazebo ...... пытался около недели в Ubuntu 9.04 ... и, как следствие, я потерял свои установки Stage (Player / Stage), некоторые libboost (1.35 /1.38/1.40) проблемы! ..... Я снова вернулся, но только на Player-Stage! .. - person Arkapravo; 05.07.2010
comment
@Arkapravo: я использовал инструкции на ros.org/wiki/ROS. /Installation/Ubuntu/Deb для установки ROS вместе с упакованной версией Gazebo. Если у вас по-прежнему возникают проблемы с бинарными пакетами, обязательно отправьте сообщение в список рассылки ros-users (ros.org/wiki/Support?action=show&redirect=Рассылки+Списки). Если вы можете предоставить достаточно подробностей, кто-то сможет помочь вам с любыми проблемами. Я не могу сказать много об установке Gazebo без ROS, так как я никогда не использовал Player/Stage/Gazebo напрямую, только через какие-либо оболочки ROS. - person Eric Perko; 05.07.2010
comment
@Eric Perko: Спасибо, я так и сделаю. - person Arkapravo; 06.07.2010
comment
@ Эрик Перко: Последний вопрос! :) ..... Мне не нужно устанавливать Gazebo отдельно, если я следую инструкциям по установке ROS (т.е. Gazebo является частью ROS svn, а? ) .... ? - person Arkapravo; 06.07.2010
comment
@Arkapravo: Правильно, один из бинарных пакетов ROS должен включать симулятор Gazebo (вероятно, ros-cturtle-simulator-gazebo). Я считаю, что разработчики ROS в основном продают определенную версию Gazebo, которую они считают стабильной, время от времени обновляя и исправляя ее по мере необходимости. См. эту вики-страницу для получения дополнительной информации об ее использовании ros.org/wiki/simulator_gazebo . - person Eric Perko; 07.07.2010
comment
@ Эрик Перко: КРУТО! ... Огромное спасибо ! ... это очень ценная информация (иначе установка Gazebo меня чуть не убила).... Я установлю ROS примерно через две недели! .... немного занят Player-Stage! ... :) - person Arkapravo; 07.07.2010
comment
@Eric Perko: Привет, не мог бы ты сделать мне одолжение. Можете ли вы прислать мне несколько скриншотов простой симуляции ROS на мою электронную почту? arkapravobhaumik на gmail.com .... очень признателен! - person Arkapravo; 16.07.2010
comment
@Tom: ты все еще работаешь с ROS? - person Arkapravo; 18.07.2010
comment
@ Эрик Перко: я работаю с черепахой ROS-box .... и беседка работает хорошо! :) .... Еще раз, спасибо ! - person Arkapravo; 08.08.2010

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

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

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

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

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

person Ben    schedule 31.03.2010
comment
@Бен: Круто! ..... и, пожалуйста, сообщите мне о 3D-симуляторах ... (я думаю, Gazebo - один из них) ... - person Arkapravo; 01.04.2010

Я программировал для SimSpark. Это движок моделирования с открытым исходным кодом, лежащий в основе RoboCup 3D Simulation Soccer League.

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

Не знаю, лучший ли это симулятор, но мне понравилось им пользоваться.

EDIT В ответ на комментарий Аркаправо.

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

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

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

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

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

person Drew Noakes    schedule 18.06.2010
comment
@Drew Noakes: Приятно знать, есть ли у вас блог/веб-сайт? Есть скриншоты, видео и т.д.? :) - person Arkapravo; 19.06.2010
comment
@Arkapravo - я отредактировал свой ответ, чтобы предоставить вам несколько ссылок. - person Drew Noakes; 19.06.2010
comment
@Drew Noakes: Большое спасибо, энтузиаст роботов с открытым исходным кодом точно нуждается в помощи и поддержке! :-) - person Arkapravo; 20.06.2010
comment
@Drew Noakes: Ваш проект выглядит великолепно, очень интересно. Однако я просто слишком сосредоточен на Player-Stage, постараюсь вернуться к этому. :-) - person Arkapravo; 21.06.2010
comment
@Arkapravo - что вы подразумеваете под стадией игрока? Это само приложение, или вы имеете в виду, что хотите абстракцию самого агента более высокого уровня? Если это так, то вы можете проверить лигу 2D-симулятора футбола. - person Drew Noakes; 21.06.2010
comment
@Drew Noakes: Player-Stage является частью Player Project, (2D / 2.5D) моделирования. playerstage.sourceforge.net - person Arkapravo; 22.06.2010
comment
@Drea Noakes: Какую версию ODE использует SimSpark? - person Arkapravo; 30.06.2010
comment
Согласно Wiki 0.5 или выше, настоятельно рекомендуется 0.9 (simspark.sourceforge.net/wiki/index.php/) - person Drew Noakes; 30.06.2010
comment
@Drew Noakes: Есть ли у вас опубликованные работы по этим темам? - person Arkapravo; 16.07.2010
comment
@Arkapravo, я относительно новый энтузиаст моделирования робототехники и не публиковал ничего, кроме вики-документации для созданного мной проекта с открытым исходным кодом TinMan. - person Drew Noakes; 18.07.2010

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

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

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

Последний раз Gazebo не был достаточно зрелым и стабильным (~ 1 год назад). Хотя, возможно, стоит проверить.

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

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

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

person Staffan    schedule 06.07.2010
comment
Спасибо, я никогда не работал с пикаботом и MRPT, отсюда и этот вопрос :). Я согласен, что Gazebo еще не зрелая и не стабильная (версия 0.10.0). ODE - это круто, я все еще изучаю его ..... на данный момент я неплохо разбираюсь в Player-Stage, новая сцена позволяет использовать 2,5-мерное измерение (проекции в 3D). Я просто пытался узнать, каково популярное мнение о симуляторах роботов. :) - person Arkapravo; 07.07.2010
comment
@Arkapravo: не думайте, что версия 0.x обязательно означает незрелость и нестабильность :) - person Staffan; 07.07.2010
comment
ну... у меня был кислый опыт с Gazebo 0.10.0.. :( - person Arkapravo; 07.07.2010
comment
@Staffan ODE и Bullet - это не симуляторы робототехники, а физические движки, и они популярны для симуляторов робототехники. - person glarrain; 10.12.2013

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

person iamgopal    schedule 21.06.2010
comment
Кроме того, ODE используется SimSpark (платформа, на которой запускается RoboCup 3D): ">stackoverflow.com/questions/2533321/robotics-simulator/ - person Drew Noakes; 21.06.2010
comment
@iamgopal: Спасибо, не знал об этом! - person Arkapravo; 22.06.2010
comment
@iamgopal: Какую версию оды вы используете? - person Arkapravo; 30.06.2010
comment
последнее, что я использовал, это 0.9, то есть с этой отличной библиотекой alleg.sourceforge.net на vc++ 6. ode активен на sourceforge, но его веб-сайт или документ могут быть немного старыми. - person iamgopal; 30.06.2010
comment
@iamgopal: Установил ode 0.11.1 на Ubuntu 9.04 .... работает круто! .. очень красиво! ...опять же, это не настоящий СИМУЛЯТОР РОБОТОВ ..... это физический движок! - person Arkapravo; 05.07.2010
comment
@iamgopal: Является ли ваш проект micromouse проектом с открытым исходным кодом? - person Arkapravo; 19.10.2010
comment
@Arkapravo, нет, на самом деле это было довольно сложно закодировано, чтобы имитировать настоящую микромышь, которую я строил. ( 2002-2003 ) , но буду рад ответить на любой вопрос.... - person iamgopal; 01.11.2010

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

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

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

person Seg    schedule 09.08.2010
comment
Спасибо, я обновил эту информацию - person Arkapravo; 22.08.2010

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

Дополнительную информацию можно найти на официальной домашней странице: http://morse.openrobots.org

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

person Community    schedule 24.06.2011
comment
На самом деле - я действительно хотел попробовать MORSE, YARP и Breve :-) на данный момент мне нужен хороший 3D-симулятор робота - предпочтительно на основе Python (~ 2.6/2.7). - person Arkapravo; 25.06.2011
comment
Совсем недавно мы перешли на более новые версии Blender (2.56) и Python (3.1). Поддержка Python 2.7 прекращается, но, возможно, вы могли бы использовать более старую версию MORSE. Однако в этом случае вы не сможете использовать новейшие функции. - person gilberto; 28.06.2011
comment
Не может быть, это музыка для моих ушей - я держусь подальше от Python 3.0 и выше, но спасибо за информацию. - person Arkapravo; 29.06.2011

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

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

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

person Community    schedule 01.06.2011

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

person Community    schedule 15.01.2012

Сегодня я наткнулся на Фоукса в сети:

http://www.fawkesrobotics.org/

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

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

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

person Community    schedule 21.04.2012

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

person Community    schedule 20.01.2011

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

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

person Community    schedule 02.01.2013