Установка 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-desktopROS 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, а listener — I heard, установка прошла успешно.
Удаление
sudo apt remove '~nros-jazzy-*' && sudo apt autoremoveТакже удалите конфигурацию репозитория:
sudo apt remove ros2-apt-source
sudo apt update && sudo apt autoremove && sudo apt upgrade