Найти в Дзене
Алексей Кретов

Подготовка Raspberry pi 3 к работе с ROS Noetic

Целью данной статьи является краткое описание основных шагов, которые должны помочь сделать первый шаг к изучению ROS
Устанавливать ROS Noetic будем на Raspberry Pi 3 B+ на текущую версию Raspberry Pi OS
Оглавление
Черепахен с http://wiki.ros.org/noetic
Черепахен с http://wiki.ros.org/noetic

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

Актаулизируем систему:

sudo apt-get update && sudo apt-get update -y

Устанавливаем сборщики пакетов питон:

sudo apt install python-pip -y && sudo apt install python3-pip -y

pip --version

pip3 --version

Для дальнейшего использования в ряде проектов пригодится ExpanderHat:

sudo pip3 install pyiArduinoI2Cexpander

RaspberryOS

Ставим образ 64 разрядной системы, консольной версии RaspberyOS на флешку размером не менее 16 Гб c официального сайта raspios_lite_arm64-2020-08-24

Выбор ОС без рабочего стола был сделан по причине использования исключительно терминала на удалённой машине.

Опять же экономия ресурсов, на и без того не самой сильной Raspberry Pi

Текущая версия системы:

cat /etc/*-release

Установка Noetic on Buster:

Добавляем репозиторий для скачивания

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

Устанавливаем системные ключи:

sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

Обновим перечень репозиториев:

sudo apt update

Ставим базовую версию ROS без поддержки графических утилит:

sudo apt install ros-noetic-ros-base -y

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

sudo apt install ros-noetic-slam-gmapping

Узнать какие пакеты уже установлены:

apt search ros-noetic

Обнговление переменных среды:

source /opt/ros/noetic/setup.bash

echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc


source ~/.bashrc

Проверка версии ROS:

rosversion -d

Получить информацию о текущей версии ROS:

printenv | grep ROS

-2

Проверка работоспособности

Открываем новый терминал и запускаем ROS командой:

roscore

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

-3

Это означает, что ROS встал успешно и можно переходить к процедуре запуска Hello World

Запустим лучший тест для демонстрации взаимодействия нод и топиков

Нам потребуется 3 терминала, в каждом из которых запустим свои команды:

  1. терминал запускает ROS командой: roscore
  2. терминал - создадим топик, публикующий сообщения:
    rostopic pub /hello_world std_msgs/String "Hello ROS" -r 1
  3. терминал будет прослушивать именованый топик:
    rostopic echo /hello_world
Остановку действий выполняем сочетанием Ctrl+C
Остановку действий выполняем сочетанием Ctrl+C

Очень благодарен за содействие всему сообществу ROS в telegramm за ответы на мои глупые вопросы новичка!