Симулятор робототехники [закрыто]
-
22-09-2019 - |
Вопрос
Какой симулятор робототехники лучший?На данный момент я просто хочу получить простые симуляции метода потенциального поля, алгоритмов ошибок, алгоритма A * и т. д.!
Список известных симуляторов роботов;
- Проект игрока (2D симулятор - Сцена - 3D симулятор - Беседка - и интерфейс управления - открытый исходный код, часть проекта ROS)
- МОРЗЕ (3D-симулятор общего назначения в помещении и на открытом воздухе)
- Студия робототехники Майкрософт (симулятор + интерфейс управления)
- КиКС (Плагин Matlab, только для Хепера + интерфейс управления)
- МоботСим (для таких вещей, как роботы, подробнее о реализации алгоритма)
- Карел (Довольно кидиш, я думаю, это похоже на Паскаль/логотип)
- Пикабот (Выглядит очень круто!)
- МРПТ (выглядит очень красиво, скоро попробую)
- Кармен (Robot Vision и т. д. в нем легко реализовать (?))
- Вебботы (с открытым исходным кодом – мультиплатформенность – многоязычность [ROS, Python, Matlab и т. д.] – современный внешний вид – экспорт в Интернет)
- Симбад (2D/3D-симулятор на Java и Jython)
- Робокод (Комплект Java/.NET)
- Театр Россум (костюм C/C++)
- В-РЕП (3D, доступен исходный код, сценарии Lua, API для C/C++, Python, Java, Matlab, URBI, 2 физических движка, полный кинематический решатель и т. д.)
Некоторые более общие платформы/промежуточное программное обеспечение также предлагают инструменты моделирования:
- РОС (на данный момент крупнейшая интеграция таких платформ)
- УРБИ
- ЯРП
- ОРОКОС (Ничего об этом не знаю!)
Некоторые ссылки на симуляторы роботов:
Решение
Я бы выбрал широко используемую структуру.Поскольку вас интересует планирование пути, выберите платформу, в которой уже есть моделируемые роботы, и просто напишите службы планирования, необходимые для создания путей для него.
ROS очень крутая штука, имеет довольно большой выбор полезных сервисов восприятия, а также полный стек PR2.Для симуляции он использует беседку (часть игрока/сцены) и включает в себя несколько готовых роботов (для этого идеально подойдет хаотичный вариант).Он совсем новый, но очень активный.
У MRDS есть несколько подходящих роботов и, честно говоря, лучше моделируемая среда, чем у ROS, но не так много с точки зрения услуг высокого уровня.Симулятор робота Lego подойдет для того, что вы хотите сделать, и дает вам возможность дешево провести проверку на реальном оборудовании в будущем.
На данный момент у этих двоих львиная доля разработчиков.На самом деле решение сводится к тому, предпочитаете ли вы разрабатывать в Visual Studio под Windows или на платформах Linux.Оба бесплатны для студентов (MSRS находится в рамках программ ELMS/dreamspark), оба имеют кривую обучения, оба имеют довольно хорошую поддержку сообщества.Для MRDS зарегистрируйтесь на форуме, для ROS — присоединитесь к списку рассылки.
Другие советы
Похоже, все, что вам нужно, это 2D-симулятор.Поэтому я бы избегал накладных расходов и головной боли, связанных с 3D-симулятором.Несколько замечаний по вашему выбору:
- Плеер включает в себя 2D-симулятор (Stage) и 3D-симулятор физики (Gazeebo), который, как мне кажется, использует ODE.
MRDS включает в себя трехмерный физический симулятор от PhysX.
ROS — это всего лишь архитектура, и я не верю, что у нее есть собственный симулятор.хотя у него есть некоторые другие инструменты визуализации.он также оборачивает Player.
Еще один популярный симулятор/архитектура — WeBots.Но я думаю, что это только 3D.
Это все, что я знаю.Удачи.-Бен
Я программировал против СимСпарк.Это механизм моделирования с открытым исходным кодом, лежащий в основе RoboCup 3D-симулятор футбольной лиги.
Его можно расширить для различных симуляций.Вы можете подключить свои собственные датчики, исполнительные механизмы и модели, используя файлы C++, Ruby и/или RSG (Ruby Scene Graph).
Не знаю, лучший ли это симулятор, но мне понравилось им пользоваться.
РЕДАКТИРОВАТЬ В ответ на комментарий Аркаправо.
Я написал .NET API для написания собственных 3D-агентов RoboCup под названием Железный человек.
На YouTube есть несколько видеороликов с симуляциями футбольных матчей в 3D. Это один из моих любимых.
Робокубок 2010 пройдет на этой неделе в Сингапуре, но, к сожалению, я не смогу туда приехать.
RoboCup 3D работает на движке физического моделирования под названием СимСпарк.Оно имеет обширная вики с большим количеством информации, объясняющей, как все это работает.
Мой агент все еще довольно примитивен, поэтому я пока ничего о нем не публиковал.Есть много реализации агентов с открытым исходным кодом на разных языках, если вам интересно.
peekabot — это не симулятор, а всего лишь инструмент визуализации и в некоторой степени инструмент для интерактивного управления вашим роботом.Однако его хорошо использовать в сочетании с симулятором без собственной визуализации.
У MRPT нет (полного) симулятора AFAIK, есть только алгоритмы, интерфейсы, драйверы и собственный формат журнала.Помимо этого, он выглядит аккуратно.
OpenRAVE возможно, стоит проверить, если вы заинтересованы в планировании.
Gazebo не был достаточно зрелым и стабильным в последний раз, когда я пробовал его (~ 1 год назад).Хотя, возможно, стоит проверить.
Stage прост в использовании, при условии, что вам понадобится только 2D-симулятор без динамики.
Я использовал и ODE, и Bullet для моделирования робототехники, и оба работали нормально, хотя я бы рекомендовал ODE.
Чтобы получить более точный ответ, вам необходимо уточнить ваши требования, т.е.вы ищете только симулятор или что-то более похожее на ROS, вам нужен 3D-симулятор с динамикой или только 2D, насколько он должен быть точным, какие датчики вы хотите имитировать и т. д.
ОДА любой ?Я часто использовал его в своих проектах с микромышью.
Урби — это не симулятор.Это платформа промежуточного программного обеспечения, основанная на параллельном языке сценариев, управляемом событиями.Теперь он имеет открытый исходный код и поддерживает ROS, а это значит, что вам следует использовать оба!Вот некоторая информация об Урби: www.urbiforge.org
И последнее, но не менее важное: им легко пользоваться новичкам.
Надеюсь, вся полученная информация поможет вам выбрать подходящий именно вам симулятор!
Я работаю над разработкой еще одного симулятора робототехники на базе Blender.Он называется MORSE и призван стать очень гибким симулятором, основанным на модульных компонентах.Он обеспечивает подключение к различным промежуточным ПО, в настоящее время YARP, ROS и сокетам.Текущие приложения, использующие его, включают сотрудничество нескольких мобильных роботов и взаимодействие человека и робота.
Более подробную информацию вы можете найти на официальной домашней странице:http://morse.openrobots.org
Все это с открытым исходным кодом, и у нас есть списки рассылки для пользователей.Мы будем признательны, если вы опробуете и оставите нам свои комментарии.
Некоторые из них ориентированы на гуманоидную робототехнику и/или общие многотельные приложения, но их также можно использовать для целей мобильной робототехники:
- OpenHRP:Открытый исходный код, множество библиотек, написанных на C++, также включены для моделирования и визуализации прямой динамики.Однако приступить к работе немного сложно, ведь довольно много зависимостей очень чувствительны к версиям.
- Роботран:Бесплатно для личного использования и/или исследовательских целей.Работает преимущественно в среде Matlab/Simulink.Очень легко настроить и запустить модели.
- MapleSim:Коммерческое программное обеспечение, но полезное для очень сложного моделирования.Экспортирует эффективную символьную динамику многотельных тел для моделирования/визуализации в Matlab/Simulink.
Все эти пакеты предназначены для моделирования/визуализации, что полезно для общего проектирования робототехнических приложений.
Я рекомендую действительно отличный вариант — RobotSim от Cogmation.У них также есть еще один продукт RobotBuilder, который позволяет вам создавать любого робота, который вы только можете себе представить, и даже импортировать свои собственные модели.
Сегодня я наткнулся на Фоукса в Интернете:
http://www.fawkesrobotics.org/
Fawkes — это компонентная программная платформа для роботизированных приложений реального времени для различных платформ и доменов.
Разработан и использовался в течение четырех лет для приложений когнитивной робототехники в реальном времени, таких как футбол и сервисная робототехника.Он поддерживает быстрый обмен информацией, а также эффективное сочетание и координацию различных компонентов для удовлетворения потребностей мобильных роботов, работающих в нестабильных условиях.
Это также с открытым исходным кодом (GPL).
Бреве использовался для моделирования роботов, которые были физически реализованы.Бреве управляет ODE.
Я бы также упомянул Юнити3D, он действительно больше предназначен для разработки игр, но имеет хорошие возможности для 3D-графики, сценариев (на JavaScript или Mono/C#), физики и т. д.и может использоваться в качестве симулятора, если вы хотите самостоятельно написать или интегрировать некоторые функции, специфичные для робота (датчики, алгоритмы и т. д.).
Кроме того, он кроссплатформенный, базовая версия бесплатна, и с его помощью можно проводить очень красивые демонстрации с минимальными усилиями.