Какие хорошие робототехнические программные платформы / операционные системы доступны? [закрыто]

19

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

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

Мы бы хотели, чтобы программная платформа могла:

  • Легко интегрируйте новые компоненты роботизированного оборудования.
  • Уже содержит широкий спектр полезных инструментов обработки данных и визуализации
  • Эффективно использовать компьютерное оборудование
Rocketmagnet
источник
5
Разве это не вопрос обследования, который является субъективным? Что противоречит духу StackExchange. blog.stackoverflow.com/2010/09/good-subjective-bad-subjective
Крис Мэнсли
2
Но мы можем создать качество этого StackExchange. Мы должны создать прецедент высококачественных, объективных вопросов, на которые можно получить ответы и извлечь уроки.
Крис Мэнсли
2
Я согласен с вами, но 1) это был самый популярный вопрос в определении, и 2) небольшое количество таких вопросов не повредило сайту (посмотрите на электронику, например). 3) Такие вопросы дают ответы, которые действительно полезны для многих пользователей.
Ракетный магнит
4
Если мы собираемся оставить это в силе, то, по крайней мере, это должна быть сделана вики сообщества, в идеале с единственным ответом вики сообщества со всеми лучшими описаниями. Это было бы лучше, чем многие ответы, все из которых описывают различные варианты и / или предоставляют различные описания / мнения одних и тех же вариантов.
Марк Бут
5
Я думаю, что вопросы опроса на самом деле великолепны, потому что они могут сэкономить много времени для того, чтобы кто-то выяснил, где искать. Поиск в Google не найдет даже всех популярных вариантов во многих случаях. Я думаю, что сделать ответ сообщества Wiki - это хороший результат.
Джон Уотт

Ответы:

20

ROS быстро становится новым стандартом для промышленной и исследовательской робототехники. Большинство исследовательских групп, о которых я знаю, используют ROS для своей работы, а затем возвращают свои результаты в открытую для всех пользователей, чтобы использовать и улучшать. Willow Garage разрабатывает набор аппаратных и программных платформ, которые в своей основе сосредоточены вокруг ROS. ROS - хорошее место для начала поиска.

giogadi
источник
Примечание: хотя ROS может работать на большинстве операционных систем, она наиболее тщательно протестирована для работы с дистрибутивом Ubuntu Linux.
Джогади
1
Кроме того, я думаю, что страница ознакомления с ROS делает фантастическую работу по освещению основных предпосылок и идеалов платформы ROS. С точки зрения разработчика, платформа ROS может использоваться в качестве очень «тонкой» оболочки для существующих библиотек (например, драйверов), чтобы быстро получить доступ к более широкой экосистеме ROS.
Mjcarroll
5

Комплект Robot Construction Kit является альтернативой ROS. Он ориентирован на моделирование и проектирование / управление сложными системами. Это также направлено на то, чтобы «не быть сильно зависимым от Рока». Большинство алгоритмов / драйверов в Rock не зависят от уровня компонентов. Смотрите также эту страницу для краткого обзора различий между Rock и ROS.

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

Что вы должны понять, так это то, что в наше время единственное программное обеспечение с открытым исходным кодом, на которое стоит обратить внимание, не зависит от фреймворка (OpenCV, PCL, OpenRave, Gazebo, ...). Даже Уиллоу Гараж наконец понял это. Следовательно, он может быть интегрирован с минимальным объемом работы в любой среде.

Теперь: ваш лучший выбор также зависит от вашей цели. Если вам нужно продать оборудование, то вполне возможно, что наличие ROS-узла - ваш лучший выбор (даже если иметь хорошую библиотеку драйверов, которая затем интегрируется в ROS-узел, еще лучше).

sylvain.joyeux
источник
Возможно, добавив к этому ответу, Rock основан на Orocos, который указан в другом ответе и, таким образом, значительно упрощает работу систем на его основе в реальном времени.
Якоб
5

Orocos

Это один из старейших фреймворков с открытым исходным кодом в робототехнике, который разрабатывается с 2001 года, а с 2005 года его используют профессиональные промышленные приложения и продукты. В центре внимания Orocos всегда было создание жестких компонентов, способных работать в режиме реального времени. называемый Real-Time Toolkit (RTT), реализованный на C ++ и максимально независимый от любого связующего программного обеспечения и операционной системы.

Как сказал @BarretAmes, существуют интеграции, которые позволяют внедрять гибридные системы, в которых Orocos и другие Software Framework работают вместе.

Maverik
источник
Существуют также способы сопряжения Orocos с другими системами. Например, используя ROS с Orocos.
Барретт Эймс
1
К вашему сведению, Rock использует Orocos / RTT в качестве своей реализации компонента - просто добавив множество инструментов и библиотек вокруг него
sylvain.joyeux
orocos может быть хорош, но теперь их официальный сайт и форумы больше ничего не обновляют, и никакие новые пользователи не могут войти в свои форумы, так что orocos теперь отстой.
3

Моя предпочтительная платформа - ROS. Тем не менее, есть еще один сильный соперник из ... смею сказать это ... Microsoft. Он называется Robotics Developer Studio (RDS). Начните поиск здесь: http://www.microsoft.com/robotics/

У них много видео впечатляющих приложений. Для меня самым большим преимуществом является встроенная поддержка Kinect через Microsoft Kinect SDK. Технически, тот, который ROS использует из OpenNI, имеет те же возможности, но, кажется, приятно знать, что SDK, который использует RDS, написан той же компанией, которая произвела оборудование.

roboticsmeche
источник
2

Player / Stage по-прежнему остается одним из самых популярных робототехнических проектов с открытым исходным кодом. Это было в течение долгого времени, и некоторые из его разработчиков перешли на запуск ROS, но это не умаляет полезности Player. Действительно, все три основных компонента, Player (каркас), Stage (2D-симулятор) и Gazebo (3D-симулятор), были сделаны как-то совместимыми с ROS .

ThomasH
источник
1

MOOS является аналогом ROS Оксфорда. http://www.robots.ox.ac.uk/~mobile/MOOS/wiki/pmwiki.php Он используется для ряда военно-морских приложений, от разметки портов до низкоэнергетических, UUV, которые всплывают, чтобы сообщать через подсчитанные интервалы в месяцах

rsegal
источник
1

OpenRTM

OpenRTM-aist разработан Японским национальным институтом передовых промышленных наук и технологий, что также способствует определению стандарта RT-middleware.

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

  • RTC Builder: инструмент для генерации скелет-кода. Он запускается в среде развития затмения. OpenRTM-aist также поддерживает RTC-шаблон, который является средством генерации скелета кода командной строки.
  • RT System Editor: набор инструментов на основе Eclipse для проектирования компонентов и систем на основе компонентов.
  • rtshell - это инструмент командной строки, который предоставляет следующие сервисы
  • Отладчик RTC: инструмент отладки для RTC. Отладчик RTC - это подключаемый модуль Eclipse.
Maverik
источник