Оглавление:

ROS Melodic на Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 шагов
ROS Melodic на Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 шагов

Видео: ROS Melodic на Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 шагов

Видео: ROS Melodic на Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 шагов
Видео: How to Install ROS Melodic on the Raspberry Pi OS - Buster! 2024, Ноябрь
Anonim
Image
Image
ROS Melodic на Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8
ROS Melodic на Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8

В этой статье рассказывается о процессе установки ROS Melodic Morenia на Raspberry Pi 4 с последней версией Debian Buster и о том, как использовать RPLIDAR A1M8 с нашей установкой.

Поскольку Debian Buster был официально выпущен всего несколько недель назад (на момент написания этой статьи), нет предварительно созданных пакетов ROS для установки с помощью apt-get, который является предпочтительным методом установки. Следовательно, нам нужно будет собрать его из исходников. Поверьте, это не так страшно, как кажется. Процесс описан в этом официальном руководстве, но для создания ROS Melodic на Raspberry Pi нам потребуется внести несколько изменений.

Если вы все еще напуганы, вот забавная картинка, которая * может * * помочь вам расслабиться. Пожалуйста, оставьте отзыв, если уровень расслабления был достаточным. В противном случае он будет заменен изображением забавного кота.

Январь 2020 РЕДАКТИРОВАТЬ: с тех пор, как я опубликовал эту статью, прошло полгода, возможно, были внесены некоторые изменения в ROS или Buster. Я сделал образ для Raspberry Pi 4 некоторое время назад, после написания этого урока. Участник загрузил его на Google Диск

Апрель 2020 РЕДАКТИРОВАТЬ: Недавно я нашел время, чтобы повторить установку ROS Melodic на новейшем образе Raspbian с официального сайта Raspberry Pi. Я соответствующим образом отредактировал это руководство. Я также создал и поделился чистыми сжатыми изображениями:

Raspbian Buster Lite 13.02.2020 Релиз с ROS Melodic Bare-bone Требуется SD-карта на 8 ГБ

Raspbian Buster с рабочим столом 2020-02-13 Релиз с ROS Melodic Desktop Требуется SD-карта на 16 ГБ

Это может быть самый быстрый способ запустить вашу систему. Если вы хотите собрать ROS самостоятельно, продолжайте читать статью.

Шаг 1. Установка зависимостей Bootstrap и загрузка пакетов

Начнем с настройки репозиториев и установки необходимых зависимостей.

sudo sh -c 'echo "deb https://packages.ros.org/ros/ubuntu $ (lsb_release -sc) main"> /etc/apt/sources.list.d/ros-latest.list'

sudo apt-key adv --keyserver 'hkp: //keyserver.ubuntu.com: 80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

sudo apt-get update

sudo apt-get install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake

Затем инициализируйте rosdep и обновите его

sudo rosdep init

обновление rosdep

Когда это будет сделано, давайте создадим специальную рабочую область catkin для сборки ROS и перейдем в этот каталог.

mkdir ~ / ros_catkin_ws

cd ~ / ros_catkin_ws

Теперь у вас есть два варианта:

ROS-Comm: (Bare Bones) установка - установите эту, если вы знакомы с ROS и знаете, что делаете и какие пакеты вам понадобятся. Если вам нужны пакеты, не входящие в ROS-Comm, вам также нужно будет скомпилировать их из исходного кода.

Настольная установка: включает инструменты с графическим интерфейсом, такие как rqt, rviz и общие библиотеки для роботов. Может быть лучшим выбором для новичков в ROS.

Я пойду с установкой Desktop Install здесь.

rosinstall_generator рабочий стол --rosdistro melodic --deps --wet-only --tar> melodic-desktop-wet.rosinstall

wstool init -j8 src мелодический рабочий стол-wet.rosinstall

Команде потребуется несколько минут, чтобы загрузить все основные пакеты ROS в папку src.

Если wstool init завершился неудачно или был прерван, вы можете возобновить загрузку, запустив:

wstool update -j4 -t src

Шаг 2. Устраните проблемы

Исправить проблемы
Исправить проблемы

РЕДАКТИРОВАТЬ апрель 2020: пропустите этот шаг, кажется, все проблемы уже исправлены

Давайте установим совместимую версию Assimp (Open Asset Import Library), чтобы исправить проблему зависимости collada_urdf.

mkdir -p ~ / ros_catkin_ws / external_src

cd ~ / ros_catkin_ws / external_src

wget https://sourceforge.net/projects/assimp/files/assi… -O assimp-3.1.1_no_test_models.zip

разархивировать assimp-3.1.1_no_test_models.zip

cd assimp-3.1.1

cmake.

делать

sudo make install

Так же установим OGRE для rviz

sudo apt-get install libogre-1.9-dev

ОБНОВЛЕНИЕ Январь 2020: проблемы с libbost уже исправлены разработчиками ROS, вы можете пропустить эту часть

/// пропустить /// Наконец, нам нужно исправить проблемы с libboost. Я использую решение из этого сообщения о stackoverflow:

«Ошибки во время компиляции вызваны функцией 'boost:: posix_time:: milliseconds', которая в новых версиях boost принимает только целочисленный аргумент, но пакет actionlib в ROS дает ему значение с плавающей запятой в нескольких местах. Вы можете перечислить все файлы используя эту функцию (! в папке ros_catkin_ws!):

find -type f -print0 | xargs -0 grep 'boost:: posix_time:: milliseconds' | вырезать -d: -f1 | sort -u

Откройте их в текстовом редакторе и найдите вызов функции boost:: posix_time:: milliseconds.

и замените вызовы следующим образом:

boost:: posix_time:: миллисекунды (loop_duration.toSec () * 1000.0f));

с участием:

boost:: posix_time:: миллисекунды (int (loop_duration.toSec () * 1000.0f)));

и эти:

boost:: posix_time:: миллисекунды (1000.0f)

с участием:

boost:: posix_time:: миллисекунды (1000)

Я рекомендую вам использовать текстовый редактор nano, который проще, чем VIM;) Ctrl + O сохраняет, Ctrl + X закрывает, а Ctrl + W ищет.

/// continue_from_here ///

Шаг 3: соберите и загрузите установку

Затем мы используем инструмент rosdep для установки всех остальных зависимостей:

rosdep install --from-paths src --ignore-src --rosdistro melodic -y

После завершения загрузки пакетов и разрешения зависимостей вы готовы к сборке пакетов catkin. (Выполните эту команду из папки ros_catkin_ws)

sudo./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE = Release --install-space / opt / ros / melodic -j2

Если процесс компиляции зависает (очень вероятно, если вы устанавливаете настольную версию), вам необходимо увеличить доступное пространство подкачки. По умолчанию это 100 МБ, попробуйте увеличить до 2048 МБ.

Удачи! Весь процесс компиляции занимает около 1 часа (меньше для версии Bare-bone), так что пойдите и сделайте чаю.

Теперь ROS Melodic должен быть установлен на вашем Raspberry Pi 4. Мы загрузим новую установку с помощью следующей команды:

echo "источник /opt/ros/melodic/setup.bash" >> ~ /.bashrc

Откройте новую оболочку, чтобы изменения вступили в силу. Попробуйте запустить roscore, чтобы проверить, все ли прошло успешно.

Шаг 4: Установите пакет RPLIDAR ROS

Установить пакет RPLIDAR ROS
Установить пакет RPLIDAR ROS

Давайте создадим отдельную рабочую область для других пакетов, которые не являются частью ядра ROS.

Из домашней папки выполните:

mkdir -p ~ / catkin_ws / src

cd ~ / catkin_ws /

catkin_make

и отправьте его в bashrc:

echo "исходный код $ HOME / catkin_ws / devel / setup.bash" >> ~ /.bashrc

Хорошо, мы готовы приступить к установке пакета RPLIDAR ROS.

cd src

sudo git clone

CD..

catkin_make

Дождитесь завершения компиляции пакета. Попробуйте запустить пакет, чтобы убедиться, что компиляция прошла успешно:

roslaunch rplidar_ros rplidar.launch

Если он не выводит никаких ошибок, сделайте быстрый праздничный танец (* по желанию).

Теперь отсутствует только последняя часть - поскольку вы, вероятно, используете Raspberry Pi 4 в режиме без головы, мы не можем визуализировать лидарные сообщения. Для этого нам нужно настроить ROS для работы на нескольких машинах.

Шаг 5. Настройте ROS для работы на нескольких машинах

Настройте ROS для работы на нескольких машинах
Настройте ROS для работы на нескольких машинах

Для этой части вам понадобится компьютер Ubuntu 18.04 с установленной ROS Melodic. Поскольку это Ubuntu, ROS можно просто установить с помощью apt-get, как описано в этом руководстве.

После того, как вы установили ROS как на Raspberry Pi, так и на настольном компьютере, проверьте IP-адреса обеих машин. Они должны быть в одной сети!

Запустите roscore на своем настольном компьютере и экспортируйте ROS_MASTER_URI

roscore

экспорт ROS_MASTER_URI = https:// [ваш-рабочий-компьютер-ip]: 11311

Далее на Raspberry PI выполните

экспорт ROS_MASTER_URI = https:// [ваш-рабочий-компьютер-ip]: 11311

экспорт ROS_IP = [ваш-малина-пи-ip]

и запустите файл запуска RPILIDAR

roslaunch rplidar_ros rplidar.launch

Если он запускается успешно, проверьте темы, присутствующие на вашем настольном компьютере, с помощью ростопного списка.

Если вы видите / просматриваете сообщения, все работает так, как должно работать. Затем запустите RVIZ на вашем настольном компьютере, добавьте сообщения Laser Scan и выберите / просканируйте тему. Вам также нужно будет изменить фиксированный кадр на / laser.

Вуаля!

Шаг 6: Готово

Выполнено!
Выполнено!
Выполнено!
Выполнено!

Это руководство может стать первым шагом на пути к созданию вашего робота ROS на базе нового Raspberry Pi 4. Мы установили ROS Melodic и подготовили установку для работы без головы и подключения к нашему настольному компьютеру по беспроводной сети для удаленного управления.

Следующие шаги зависят от того, какого типа робот вы хотите построить. Вы можете добавить моторы и энкодеры для одометрии, стереокамеру для Visual SLAM и множество других интересных и полезных вещей.

Оборудование для этой статьи любезно предоставлено студией Seeed. Ознакомьтесь с Raspberry Pi 4, RPLIDAR A1M8 и другим оборудованием для производителей в магазине Seeed studio!

Добавьте меня в LinkedIn, если у вас есть какие-либо вопросы, и подпишитесь на мой канал на YouTube, чтобы получать уведомления о более интересных проектах, связанных с машинным обучением и робототехникой.

Рекомендуемые: