Оглавление:
- Шаг 1. Установка зависимостей Bootstrap и загрузка пакетов
- Шаг 2. Устраните проблемы
- Шаг 3: соберите и загрузите установку
- Шаг 4: Установите пакет RPLIDAR ROS
- Шаг 5. Настройте ROS для работы на нескольких машинах
- Шаг 6: Готово
Видео: ROS Melodic на Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
В этой статье рассказывается о процессе установки 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
Давайте создадим отдельную рабочую область для других пакетов, которые не являются частью ядра 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 для работы на нескольких машинах
Для этой части вам понадобится компьютер 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, чтобы получать уведомления о более интересных проектах, связанных с машинным обучением и робототехникой.
Рекомендуемые:
Начало работы с недорогим RPLIDAR с помощью Jetson Nano: 5 шагов
Начало работы с недорогим RPLIDAR с помощью Jetson Nano: краткий обзор Система обнаружения и определения дальности (LiDAR) работает так же, как ультразвуковые дальномеры с лазерным импульсом вместо звуковых волн. Яндекс, Uber, Waymo и т. Д. Вкладывают большие средства в технологию LiDAR для создания своих автономных автомобилей
Как использовать лазерный сканер RPLIDAR 360 ° с Arduino: 3 шага (с изображениями)
Как использовать лазерный сканер RPLIDAR 360 ° с Arduino: я большой поклонник создания роботов-сумо, и я всегда ищу новые интересные датчики и материалы, которые можно использовать для создания лучшего, более быстрого и умного робота. Я узнал о RPLIDAR A1, который вы можете получить за 99 долларов на сайте DFROBOT.com. Я сказал, что заинтересовался
Roomblock: платформа для изучения навигации ROS с помощью Roomba, Raspberry Pi и RPLIDAR: 9 шагов (с изображениями)
Roomblock: платформа для изучения навигации ROS с помощью Roomba, Raspberry Pi и RPLIDAR: что это? &Quot; Roomblock " представляет собой платформу робота, состоящую из Roomba, Raspberry Pi 2, лазерного датчика (RPLIDAR) и мобильного аккумулятора. Монтажный каркас может быть изготовлен на 3D-принтерах. Система навигации ROS позволяет составлять карту комнат и пользоваться i