Чи може ROS працювати на Raspberry Pi?


28

Чи може ROS працювати на Raspberry Pi?

ROS призначений для роботи в мережі машин, з різними машинами, навіть різними сердечниками на одній машині, які виконують різні роботи. Чи може одна з цих машин бути Raspberry Pi?

Я розглядаю можливість використання R-Pi як майстра EtherCAT на мобільному роботі, спілкуючись з основним ПК через WiFi, використовуючи ключ.

  • Чи може R-Pi взагалі запускати ROS?
  • Чи буде у R-Pi достатньо потужності для обробки, щоб зробити якісь 1 кГц сервірування?
  • Чи можна було б запустити сервірування на хості через з'єднання WiFi?

Відповіді:


16

Офіційна операційна система RaspberryPi - це версія Debian, але на їх веб-сайті також є версія ArchLinux .

Незважаючи на претензії ROS на те, що вони є платформою, на даний момент вони лише офіційно підтримують Ubuntu. Однак експериментальні установки були зроблені для наступних ОС, повідомляє ros.org :

  • OS X (домашня мова)
  • Fedora
  • Gentoo
  • OpenSUSE
  • Debian
  • Arch Linux
  • Windows

Хоча я не маю досвіду з перших рук (два моїх Піса ганебно сидять у кутку), на ros.org є швидкий і брудний посібник із налаштування .

На answer.ros.org є подібні інструкції .

Якщо у вас виникнуть проблеми, форуми RaspberryPi також можуть допомогти. І, звичайно, SE має дуже власну PI.SE (Дякую @Jivings та @ppumkin за нагадування).

В іншому випадку просто google "ros malberry pi", і ви повинні знайти більше інформації.


IMO, Debian - кращий вибір для Raspberry Pi. Я вірю, що вам буде легше та краще підтримуватись із точки зору громади, як протистояти іншим ароматам ядра Linux.
DogEatDog

3
@DogEatDog Я не згоден, Arch також дуже добре підтримується. Також тут безсоромна пробка; Будь-які випуски Raspberry Pi з цього питання будуть вдячно отримані на Raspberry Pi , а також на офіційних форумах.
Відхилення

@ Jivings Я не можу повірити, що забув перевірити RaspberryPi.SE ... Хоча швидкий пошук ROS поки не підносить жодних результатів ;-)
ThomasH

@ThomasH - Ти вважаєш, що ти можеш додати у свою відповідь посилання, щоб перейти на PI.SE. Ми отримали багато відповідей і, можливо, деякі рішення. Я не просто хочу редагувати ваші відповіді, як це правильно.
Пьотр Кула

Оскільки ROS працює під BSD - він не підтримується до останнього випуску FreeBSD- та поза вихідним кодом ROS також доведеться запускати і на найновішому BSD-коді. Це все пов'язано з жорстким плаваючим механізмом і деякими оновленнями драйверів для конкретного ARM, зробленого BroadCom (PS - Відеодрайвер від BCM буде відкритий, тому в майбутньому має бути надано більше підтримки)
Пьотр Кула

6

Робототехніка досить важка, як і коли працюють всі ваші залежності. Останнє, що вам потрібно - це додаткові проблеми, що виникають із несумісних компонентів або непідтримуваних комбінацій.

Я трохи заглянув у це і ось мій прогрес:

Raspberry Pi не підтримує Ubuntu, оскільки його процесор ARM використовує старіший набір інструкцій (ARM v6, я вважаю?), І команда Ubuntu відмовилася від підтримки ще в 2009 році.

Beaglebone багато в чому схожий на Raspberry Pi і має новіший набір інструкцій, тому він запустить Ubuntu. Однак найкраща дистрибуція Ubuntu ARM виходить з проекту Linaro, і вони відмовилися від підтримки Beaglebone за кілька версій назад (останній був Linaro 12.03), оскільки він використовує старіший процесор TI OMAP 3 (ласкаво просимо у чудовий світ швидкого смартфона прогрес).

Наступним моїм кроком було ознайомлення з TI Pandaboard, який використовує новіший процесор OMAP 4, який зараз підтримується, але коштує ближче до діапазону 200 доларів.

Але тепер Ubuntu офіційно випущений для Nexus 7. За 200 доларів Nexus 7 отримує все, що пропонує Raspberry Pi, і багато іншого. Майте на увазі, що навіть із програмою Raspberry Pi, коли ви додасте зарядний пристрій, адаптер Wi-Fi, карту зберігання та кабелі, ви повзете ближче до 100 доларів, ніж 35 доларів, так що для Nexus 7 набагато вигідніше.

Нарешті, не намагайтеся виводити сигнал 1 кГц із ОС, що не працює в реальному часі. Приєднайте собі дешевий мікроконтролер, як PJRC Teensy (клон Arduino), і дозвольте йому впоратися з простими завданнями в режимі реального часу. Таким чином ви присвячуєте недорогий процесор цим простим часовим завданням. На 16 МГц з підтримкою декількох таймерів невеликий AVR MCU може без проблем впоратися з півдесятка таких завдань.


1
Запуск вашого робота з Ubuntu на Nexus 7, чудова ідея! Випадково, чи знаєте ви будь-які проекти робототехніки, що використовують Nexus таким чином?
біт-пірат

5

На це питання добре відповів ThomasH , але на додачу я просто хочу запропонувати можливість бездротового зв'язку квадрокоптера до ноутбука. Тобто, просто напишіть приємний і швидкий бездротовий (Wi-Fi?, Bluetooth?) Протокол зв'язку для квадрокоптера, а потім зробіть важкі речі з процесора на ноутбуці, передаючи вказівки та запити датчиків на R-PI. Ми спробували багато реалізацій і вирішили подібна настройка для всіх наших маленьких роботів. Також майже кожна реалізація квадрокоптера, що опускається щелепою, налаштована таким чином. Це робить життя легким і дозволяє користуватися бібліотеками великих ударів, не жертвуючи швидкістю.

Будемо чесними тут, що, швидше за все, квадрокоптер все одно не вийде за межі бездротового діапазону вашого ноутбука.


Щоб було зрозуміло, коли ви говорите тут "важкі речі з процесора", ви маєте на увазі елементи управління високого рівня, які передбачають багато скорочення чисел, наприклад, SLAM або комп'ютерне бачення. Низькорівневий контроль польоту повинен відбуватися в режимі реального часу та на досить високих частотах, що це буде неможливо здійснити через бездротове з'єднання.
йоос

Керування польотом, як і у сервовиходів, доведеться генерувати за допомогою бортової електроніки, так. Але команди польоту, як-от бажані швидкості ротора і такі, можуть генеруватися за допомогою прив’язаного ПК (bluetooth - це дивовижно для цього), але немає жодних причин, якщо ви можете запускати такі на R-Pi. Якщо це так, то так, "важкий процес процесора" стосується планування високого рівня, координація між автомобілями, SLAM, резюме тощо.
Джош Вандер Хук


4

Експериментальний сховище щойно заповнене пакетами ROS Groovy для Raspbian (wheezy), інструкції по його використанню можна знайти тут:

http://www.ros.org/wiki/groovy/Installation/Raspbian

У сховищі є 350+ пакетів, а основні пакети ROS можуть бути встановлені за лічені хвилини під час нової установки Raspbian.


2

Я б перевірив проект розеріалу . В основному, він генерує якийсь код для Arduino для передачі даних через послідовне використання вузла ROS на комп'ютері. Б'юсь об заклад, ви можете перетворити його на Raspberry Pi, щоб ви могли використовувати якийсь інший протокол для зв'язку між Pi та хост-комп'ютером.


2

так. Звичайно. Ми цим займаємось давно.
ROS - це не "ОС", і вона не велика. Це просто "проміжне програмне забезпечення", яке добре працює в "распбіні".
Ми просто записуємося з офіційного розпійника (тому ми сподіваємось, що це може змусити нас працювати над "стабільним" середовищем) і компілювати ROS з джерелом. ось покрокове посилання (для Kinetic):
http://wiki.ros.org/ROSberryPi/Installing%20ROS%20Kinetic%20on%20the%20Raspberry%20Pi
ви можете спробувати ros_comm або desktop.
Я спробував ros_comm, а потім додати інші пакунки пізніше.


1
Чому б не використовувати Ubuntu Mate і просто встановити ROS з пакетів?
FooTheBar

тому що Ubuntu Mate працює повільно на чіпі ARM на малині, як Pi2, так і Pi3. Raspbian - це легкий debian і працює дуже добре на чіпі ARM. @FooBar
Nick Qian

Будь-яке джерело для цього? Я не відчував жодних проблем зі швидкістю.
FooTheBar

Я не пробував більше після того, як вибрав raspbian. можливо, зараз Ubuntu Mate dist для малини краще і плавно використовувати. У мене є інтерес спробувати його ще раз, тому що в ubuntu управління програмним забезпеченням добре. Але як щодо GPIO? можливо, новий bersion ubuntu також має підтримку gpio, я не знаю ....
Nick Qian

1
То чому ви кажете, що це повільно, якщо ви не пройшли тестування?
FooTheBar


1

На відміну від сказаного в інших (досить застарілих) відповідях, я успішно спробував запустити ROS на Raspbian або Ubuntu з Raspberry Pi 2 Model B .

Через деякий час назад і назад я буду дотримуватися Ubuntu: Хоча мені не вдалося отримати доступ до модуля камери Raspberry з Ubuntu, я бачу основні переваги в його чудовому управлінні пакунками та сумісності з ROS. Вам потрібна нова дивна функція ROS? Простоsudo aptitude install пакет і все готово.


0

У мене є досвід встановлення ROS на Raspi за допомогою Ubuntu Mate як операційну систему. Це, по суті, звичайна операційна система ubuntu, але на руці пристрої. Він може встановлювати ROS через попередньо вбудовані бінарні файли. Він не потребує конфігурації, ніж звичайний ноутбук Ubuntu. Я знаю, що є одна версія Pi, яка офіційно не підтримується (я думаю, що це 3B +, пройшов час з часу вдячності), але хтось придумав, як обійти цю проблему на форумі, на якому я гуглив.


посилання на пост форуму?
drerD

Я вже зв’язався з веб-сайтом, щоб ви могли завантажити Ubuntu mate. Встановити ROS буквально так просто, як звичайний апарат ubuntu. Я не знаю, навіщо вам потрібне посилання на форумі для посилань ... Це було для шкільного проекту на приватних сховищах (так, вихідний код ROS не є загальнодоступним), але партнер Ubuntu є загальнодоступним. Ось ще одна, більш конкретна посилання .
thatrobotguy


-2

так,

знайти завантаження можна тут:

http://answers.ros.org/question/200504/raspbian-jessie-ros-indigo-download-image/

включаючи драйвер фреймбуфера для дисплея C-Berry TFT


Вибачте, Мартіне, але відповіді, що стосуються лише посилань, не дуже корисні для Stack Exchange, якщо ви цитуєте відповідну інформацію зі сторінки (це ліцензія CC-BY-SA), ваша відповідь буде набагато кориснішою, і ваші голоси, які перемоглися, можуть отримати перевернутий.
Марк Бут
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.