Установка ROS 2 на Ubuntu

Перевод официальной документации docs.ros.org.

Шаг 1 — настройка локали

Убедитесь, что система использует локаль с поддержкой UTF-8. В минимальных окружениях (Docker и т.п.) это может быть не так.

locale  # проверьте наличие UTF-8

sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8

locale  # убедитесь что настройки применились

Шаг 2 — включите репозиторий Universe

sudo apt install software-properties-common
sudo add-apt-repository universe

Шаг 3 — добавьте репозиторий ROS 2

Зеркало синхронизируется с packages.ros.org каждые 6 часов. GPG-подпись пакетов не изменяется — подробнее.

Установите пакет ros2-apt-source — он автоматически добавит репозиторий и GPG-ключ OSRF:

sudo apt update && sudo apt install curl -y
export ROS_APT_SOURCE_VERSION=$(curl -s https://api.github.com/repos/ros-infrastructure/ros-apt-source/releases/latest \
  | grep -F "tag_name" | awk -F'"' '{print $4}')
curl -L -o /tmp/ros2-apt-source.deb \
  "https://github.com/ros-infrastructure/ros-apt-source/releases/download/${ROS_APT_SOURCE_VERSION}/ros2-apt-source_${ROS_APT_SOURCE_VERSION}.$(. /etc/os-release && echo ${UBUNTU_CODENAME:-${VERSION_CODENAME}})_all.deb"
sudo dpkg -i /tmp/ros2-apt-source.deb

Переключите установленный репозиторий на зеркало:

sudo sed -i 's|http://packages.ros.org|https://mirror.ru-ros.org|g' \
  /etc/apt/sources.list.d/ros2.sources

Шаг 4 — установите ROS 2

Обновите индекс пакетов и систему:

sudo apt update
sudo apt upgrade

Выберите вариант установки:

Desktop (рекомендуется)

ROS, RViz, демо-пакеты, туториалы.

sudo apt install ros-jazzy-desktop

ROS Base

Только библиотеки коммуникации и CLI-инструменты. Без GUI.

sudo apt install ros-jazzy-ros-base

Дополнительно — инструменты разработки (компиляторы, colcon, rosdep):

sudo apt install ros-dev-tools

Шаг 5 — настройте окружение

После установки добавьте source в конфигурацию shell, чтобы не вводить команду каждый раз:

# Для bash
echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc
source ~/.bashrc

# Для zsh
echo "source /opt/ros/jazzy/setup.zsh" >> ~/.zshrc
source ~/.zshrc

Проверка установки

Если установлен ros-jazzy-desktop, запустите классический пример talker/listener:

# Терминал 1
source /opt/ros/jazzy/setup.bash
ros2 run demo_nodes_cpp talker
# Терминал 2
source /opt/ros/jazzy/setup.bash
ros2 run demo_nodes_py listener

Если talker выводит Publishing, а listenerI heard, установка прошла успешно.

Удаление

sudo apt remove '~nros-jazzy-*' && sudo apt autoremove

Также удалите конфигурацию репозитория:

sudo apt remove ros2-apt-source
sudo apt update && sudo apt autoremove && sudo apt upgrade