Представь, что ты начинаешь свой путь в робототехнике или переходишь на новый проект. Первое, что нужно сделать — правильно настроить окружение. Установка ROS на Ubuntu — фундаментальный шаг, который определяет твою дальнейшую работу. Давай разберем этот процесс от А до Я, как опытный DevOps ментор объясняет junior-разработчику.
Подготовка системы Ubuntu
Перед началом установки ROS убедись, что твоя система Ubuntu готова. Важно выбрать правильную версию ROS, совместимую с твоей версией Ubuntu.
Таблица совместимости ROS и Ubuntu
| Версия ROS | Поддерживаемые версии Ubuntu | Рекомендация |
|---|---|---|
| ROS Noetic Ninjemys | Ubuntu 20.04 (Focal) | Для классического ROS 1 |
| ROS 2 Humble Hawksbill | Ubuntu 22.04 (Jammy) | Актуальная LTS версия ROS 2 |
| ROS 2 Iron Irwini | Ubuntu 22.04 (Jammy) | Последний стабильный релиз |
Обновление системы
Начни с обновления пакетного менеджера. Это стандартная практика перед установкой любого серьезного ПО:
sudo apt update
sudo apt upgrade -y
Установка ROS Noetic на Ubuntu 20.04
Если ты работаешь с классическим ROS (версия 1), вот подробная инструкция по установке ROS Noetic.
1. Настройка репозиториев
Добавляем официальные репозитории ROS в систему:
sudo sh -c 'echo \"deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main\" > /etc/apt/sources.list.d/ros-latest.list'
2. Добавление GPG ключа
Импортируем ключ для проверки подлинности пакетов:
sudo apt install curl -y
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
3. Установка ROS Noetic
Обновляем список пакетов и устанавливаем полную версию ROS:
sudo apt update
sudo apt install ros-noetic-desktop-full -y
Альтернативные варианты установки:
ros-noetic-desktop— GUI инструменты, но без симуляторовros-noetic-ros-base— только базовые пакеты (без GUI)ros-noetic-[package-name]— установка конкретного пакета
Установка ROS 2 Humble на Ubuntu 22.04
Для современных проектов рекомендуется использовать ROS 2. Вот процесс установки ROS 2 Humble.
1. Настройка локали
ROS 2 требует корректной локали UTF-8:
sudo apt update && sudo apt install locales -y
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
2. Добавление репозитория ROS 2
sudo apt install software-properties-common -y
sudo add-apt-repository universe -y
sudo apt update && sudo apt install curl -y
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
echo \"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main\" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
3. Установка ROS 2 пакетов
sudo apt update
sudo apt install ros-humble-desktop -y
sudo apt install ros-dev-tools python3-colcon-common-extensions -y
Настройка окружения ROS
После установки необходимо настроить переменные окружения. Это критически важный шаг!
Инициализация окружения
Добавь эти строки в твой ~/.bashrc файл:
# Для ROS Noetic
echo \"source /opt/ros/noetic/setup.bash\" >> ~/.bashrc
# Для ROS 2 Humble
echo \"source /opt/ros/humble/setup.bash\" >> ~/.bashrc
Или сделай это вручную, отредактировав файл:
nano ~/.bashrc
# Добавь в конец файла:
source /opt/ros/noetic/setup.bash # для Noetic
# ИЛИ
source /opt/ros/humble/setup.bash # для Humble
Применение изменений
source ~/.bashrc
Установка зависимостей и инструментов
ROS 1 Noetic зависимости
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential -y
Инициализация rosdep
rosdep — это утилита для установки системных зависимостей:
sudo rosdep init
rosdep update
sudo rosdep init выдает ошибку \"rosdep уже инициализирован\", просто пропусти ее и выполни rosdep update.
Проверка установки ROS
Давай убедимся, что все установилось корректно.
Тест для ROS Noetic
# Проверяем версию ROS
printenv | grep ROS
# Запускаем мастер
roscore &
# Проверяем ноды в отдельном терминале
rosnode list
# Останавливаем мастер
killall roscore
Тест для ROS 2 Humble
# Проверяем установку
ros2 --version
# Запускаем демо-ноды
ros2 run demo_nodes_cpp talker &
ros2 run demo_nodes_py listener &
# Смотрим активные топики
ros2 topic list
Решение распространенных проблем
Проблема: Ошибки GPG ключей
Решение:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys [ключ-из-ошибки]
# Или полностью очисти и переустанови ключи:
sudo rm /etc/apt/sources.list.d/ros*.list
sudo apt update
# Затем повтори установку с правильным ключом
Проблема: Не найдены пакеты ROS
Решение:
# Проверь правильность репозитория
cat /etc/apt/sources.list.d/ros*.list
# Должна быть строка с правильной версией Ubuntu
# Если нет — удали файл и добавь заново
Проблема: Ошибки rosdep init
# Ручная инициализация
sudo mkdir -p /etc/ros/rosdep/sources.list.d
sudo curl -o /etc/ros/rosdep/sources.list.d/20-default.list https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Часто задаваемые вопросы (FAQ)
Можно ли установить несколько версий ROS одновременно?
Да, но не рекомендуется. Разные версии ROS могут конфликтовать. Лучше использовать Docker или виртуальные машины для изоляции окружений.
Какую версию ROS выбрать для нового проекта?
Для новых проектов выбирай ROS 2 (Humble или Iron). ROS 1 (Noetic) поддерживается, но новые функции добавляются только в ROS 2.
Нужно ли устанавливать полную версию desktop-full?
Для начала рекомендую desktop-full — она включает все инструменты и симуляторы. Для продакшена можно использовать ros-base.
Как обновить ROS до новой версии?
Прямое обновление не поддерживается. Установи новую версию параллельно или перенеси проект в чистую систему с новой версией ROS.
Дальнейшие шаги после установки
После успешной установки ROS рекомендую:
- Пройди официальные туториалы ROS или ROS 2
- Создай свой первый workspace:
mkdir -p ~/ros_ws/src - Изучи базовые команды:
rosnode,rostopic,rosservice - Установи симуляторы (Gazebo, Webots) если нужно
- Настрой IDE (VS Code с ROS расширениями)
Теперь у тебя есть полностью рабочее окружение ROS на Ubuntu. Ты готов начать разработку роботизированных систем. Удачи в освоении ROS!