1. Установка ROS 2 Jazzy
Инструкция курса для нативной Ubuntu 24.04, Windows с WSL 2 и Docker-окружения из репозитория.
<p><strong>Целевая платформа:</strong> ROS 2 Jazzy Jalisco для 64-разрядной Ubuntu 24.04 (Noble).</p>
Системные требования
Debian-пакеты ROS 2 Jazzy предназначены для Ubuntu 24.04. Не используйте эти команды без изменений в Ubuntu 22.04 или другом дистрибутиве Linux.
Способ A: нативная Ubuntu 24.04
1. Проверьте операционную систему
source /etc/os-release
echo "$PRETTY_NAME"
dpkg --print-architecture
Версия должна быть Ubuntu 24.04 (Noble). Поддерживаются архитектуры amd64 и arm64.
2. Настройте локаль UTF-8
sudo apt update
sudo apt install -y 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
3. Подключите репозиторий Ubuntu Universe
sudo apt install -y software-properties-common
sudo add-apt-repository universe
4. Установите официальную конфигурацию apt-репозитория ROS
sudo apt update
sudo apt install -y curl
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
5. Обновите Ubuntu и установите ROS 2
sudo apt update
sudo apt upgrade -y
sudo apt install -y ros-jazzy-desktop ros-dev-tools
6. Установите пакеты симуляции и управления для курса
sudo apt install -y \
ros-jazzy-ros-gz \
ros-jazzy-gz-ros2-control \
ros-jazzy-ros2-control \
ros-jazzy-ros2-controllers \
ros-jazzy-joint-state-publisher-gui \
ros-jazzy-xacro \
ros-jazzy-cv-bridge \
python3-colcon-common-extensions \
python3-numpy \
python3-opencv \
python3-rosdep
7. Инициализируйте rosdep
sudo rosdep init
rosdep update
Если rosdep init сообщает, что файл источников уже существует, не удаляйте его: выполните rosdep update.
8. Настройте автоматическую загрузку окружения ROS
echo 'source /opt/ros/jazzy/setup.bash' >> ~/.bashrc
source ~/.bashrc
9. Проверьте установку
Терминал 1
ros2 run demo_nodes_cpp talker
Терминал 2
source /opt/ros/jazzy/setup.bash
ros2 run demo_nodes_py listener
Узел listener должен непрерывно выводить сообщения, полученные от talker.
Способ B: Windows с WSL 2
WSL 2 запускает Ubuntu в управляемой виртуализированной среде Linux. ROS устанавливается внутри Ubuntu тем же способом, что и при нативной установке.
1. Установите WSL и Ubuntu 24.04
Откройте PowerShell от имени администратора:
wsl --update
wsl --list --online
wsl --install -d Ubuntu-24.04
Если система запросит перезагрузку Windows, выполните ее. Запустите Ubuntu 24.04 и создайте пользователя Linux и пароль.
2. Проверьте использование WSL 2
В PowerShell:
wsl --list --verbose
Если Ubuntu использует версию 1, преобразуйте ее:
wsl --set-version Ubuntu-24.04 2
3. Обновите Ubuntu
Выполните в терминале Ubuntu/WSL:
sudo apt update
sudo apt upgrade -y
4. Установите ROS 2 внутри WSL
В терминале Ubuntu выполните шаги 2–8 из раздела «Способ A». Не выполняйте команды Linux apt в PowerShell.
5. Храните рабочую область в файловой системе Linux
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws
Для ускорения сборки и отслеживания файлов храните рабочие области ROS в домашней директории WSL, а не в /mnt/c. Из Windows файлы доступны по пути \\wsl$\Ubuntu-24.04\home\USERNAME.
6. Проверьте консольные и графические приложения
ros2 run demo_nodes_cpp talker
rviz2
Актуальная версия WSL поддерживает графические приложения Linux через WSLg. Если RViz2 не открывается, выполните в PowerShell wsl --update, затем wsl --shutdown и снова запустите Ubuntu.
Ограничения WSL
- Для USB- и последовательных устройств требуется дополнительная настройка подключения устройств Windows к WSL.
- Обнаружение узлов между Windows, WSL, виртуальными машинами и другими компьютерами может потребовать настройки брандмауэра или зеркального сетевого режима.
- Для интеграции оборудования с жесткими временными требованиями предпочтительна нативная Ubuntu.
Способ C: Docker-окружение курса
Репозиторий содержит настроенный образ и скрипты в каталоге docker_ros2/. ROS устанавливается внутрь образа и не изменяет пакеты ROS на хосте.
Поддерживаемый хост
Скрипты предназначены для хоста Ubuntu с X11 или XWayland. Пользователь контейнера получает UID/GID пользователя хоста, а весь репозиторий подключается в /workspace.
1. Установите Docker
bash docker_ros2/docker_install.bash
Для хоста NVIDIA с установленным рабочим драйвером NVIDIA:
bash docker_ros2/docker_install.bash --nvidia
После установки выйдите из сеанса пользователя и войдите снова, чтобы применить членство в группе docker.
2. Соберите образ курса
bash docker_ros2/docker_build.bash
Образ получает тег itmo/ros2-course:jazzy. Его конфигурация находится в docker_ros2/Dockerfile.
3. Запустите окружение
Процессор или интегрированная графика:
bash docker_ros2/docker_run.bash
Графика NVIDIA:
bash docker_ros2/docker_run.bash --nvidia
Доступ к физическому оборудованию включается явно:
bash docker_ros2/docker_run.bash --hardware
4. Откройте дополнительный терминал контейнера
Пока контейнер работает, выполните в другом терминале хоста:
bash docker_ros2/docker_new.bash
5. Соберите пакеты курса
Внутри контейнера:
cd /workspace
rosdep update
rosdep install --from-paths . --ignore-src --rosdistro jazzy -y
colcon build --symlink-install
source install/setup.bash
Файлы Docker-окружения
| Файл | Назначение |
|---|---|
| Docker README | Полная инструкция по использованию, оборудованию, NVIDIA и устранению ошибок. |
| Dockerfile | Описание образа Ubuntu, ROS 2, Gazebo, управления и зависимостей курса. |
| docker_install.bash | Установка Docker Engine и опционального NVIDIA Container Toolkit. |
| docker_build.bash | Сборка образа курса. |
| docker_run.bash | Создание и запуск постоянного контейнера, настройка GUI и устройств. |
| docker_new.bash | Дополнительная интерактивная оболочка в работающем контейнере. |
Итоговая проверка
Выполните в выбранном окружении ROS:
echo "$ROS_DISTRO"
ros2 --help
ros2 doctor --report
ros2 pkg prefix ros_gz_sim
ros2 pkg prefix gz_ros2_control
colcon list
Переменная ROS_DISTRO должна содержать jazzy. Две команды pkg prefix подтверждают установку интеграции Gazebo, необходимой для курса.
Официальные источники
Инструкция курса ROS 2 Jazzy · Для другой версии операционной системы сверяйтесь с актуальной документацией поставщика.
YouTube канал чтобы посмотреть видео по робототехнике & семинары
Аккаунт в Телеграмм чтобы следить за анонсами мероприятий & Исследованиями