Найти в Дзене
DIY Life

#1.1 ROS: ROS 2 Humble + Ubuntu 22.04: Почему именно этот выбор для вашего старта?

Оглавление

Приветствую, друзья! В предыдущем посте мы успешно установили рабочее окружение для ROS 2 на Windows с помощью VirtualBox и Ubuntu. Сегодня мы углубимся в вопрос выбора – почему я рекомендую использовать именно Ubuntu 22.04 LTS Jammy Jellyfish и ROS 2 Humble Hawksbill для ваших первых шагов в робототехнике? Понимание того, как выбирать версии ПО, поможет вам принимать более осознанные решения в будущем.

Часть 1: Выбираем Операционную Систему – Ubuntu 22.04 Jammy Jellyfish

Почему Linux, и почему именно Ubuntu?

Как мы уже говорили, Linux является своего рода "родной" средой для робототехники. Его преимущества:

  • Открытость и гибкость: Вы можете настроить систему под себя, получить доступ к исходному коду, модифицировать его.
  • Мощные инструменты: Терминал, скриптовые языки и утилиты командной строки значительно ускоряют разработку и автоматизацию.
  • Поддержка оборудования: Большинство драйверов для специализированного оборудования роботов изначально разрабатываются для Linux.
  • Сообщество: Огромное количество готовых решений, библиотек и туториалов, ориентированных на Linux.

Среди множества дистрибутивов Linux, Ubuntu выделяется своей популярностью, простотой использования и обширной поддержкой. Для новичков это, пожалуй, самый дружелюбный вариант.

LTS vs. Standard Release: Стабильность или Новейшие функции?

Операционные системы, как и программы, имеют разные версии. В случае с Ubuntu, ключевое различие – между LTS-версиями и обычными (Standard Release).

  • LTS (Long Term Support) версии:
    Что это:
    Версии с гарантированной поддержкой обновлениями безопасности и исправлениями ошибок в течение длительного срока (обычно 5 лет).
    Преимущества: Максимальная стабильность, предсказуемость, надежность. Идеально для проектов, которые должны работать долго без частых обновлений и потенциальных проблем совместимости.
    Примеры: Ubuntu 22.04 LTS (Jammy Jellyfish), Ubuntu 20.04 LTS (Focal Fossa).
  • Standard Release:
    Что это:
    Версии с более коротким сроком поддержки (около 9 месяцев).
    Преимущества: Содержат новейшие функции, самые свежие версии программ и библиотек.
    Примеры: Ubuntu 23.04 Lunar, Ubuntu 23.10 Mantic.

Наш выбор: Ubuntu 22.04 LTS Jammy Jellyfish

  • Почему именно она?
    Стабильность и долговечность:
    Как LTS-версия, Ubuntu 22.04 будет получать обновления в течение нескольких лет, что гарантирует стабильную рабочую среду для ваших проектов.
    Актуальность: Это одна из самых свежих LTS-версий, которая хорошо поддерживается разработчиками ROS.
    Совместимость: Ubuntu 22.04 является идеальной парой для ROS 2 Humble Hawksbill, минимизируя проблемы с зависимостями при установке.

Альтернативы Ubuntu

Конечно, существуют и другие дистрибутивы Linux (Fedora, Debian, Arch Linux), а также поддержка ROS 2 на Windows и macOS. Однако для новичков Ubuntu предлагает лучший баланс между простотой использования, доступностью ресурсов и совместимостью с ROS.

Часть 2: Выбираем версию ROS 2 – Humble Hawksbill

Системы именования и жизненный цикл версий ROS 2

Версии ROS 2 получают уникальные кодовые имена (например, Humble Hawksbill, Iron Irwini, Jazzy Jasper), которые часто связаны с версией Ubuntu, для которой они были оптимизированы. Важно понимать разницу между LTS и Standard версиями ROS 2:

  • ROS 2 LTS версии:
    Что это:
    Версии с длительной поддержкой (5 лет). Гарантируют стабильность и актуальность на долгий срок.
    Примеры: Humble Hawksbill (поддержка до мая 2027 года), Foxy Fitzwilliam (поддержка закончилась в мае 2023).
    Преимущества: Надежность, отсутствие необходимости частых обновлений, большое количество готовых примеров и решений.
  • ROS 2 Standard (Non-LTS) версии:
    Что это:
    Версии с коротким сроком поддержки (около 1 года). Содержат самые новые функции и исправления.
    Примеры: Iron Irwini (поддержка до мая 2024), Jazzy Jasper (будет выпущена в мае 2024).
    Преимущества: Доступ к самым последним разработкам.
    Когда выбирать: Если вам нужны новейшие функции и вы готовы к частым обновлениям и возможным изменениям в API.

Наш выбор: ROS 2 Humble Hawksbill

  • Почему именно Humble?
    LTS-статус:
    Это главная причина. Humble Hawksbill обеспечивает стабильность и поддержку в течение пяти лет, что идеально подходит для обучения и разработки долгоживущих проектов. Вам не придется беспокоиться о том, что версия устареет через год.
    Идеальная пара для Ubuntu 22.04: Humble был специально разработан и протестирован для работы с Ubuntu 22.04 LTS, что минимизирует проблемы с установкой и зависимостями.
    Зрелость и сообщество: Humble – достаточно зрелая версия, на которой построено множество проектов и примеров. Вы легко найдете помощь и готовые решения в сообществе ROS.
    Полный набор инструментов: Humble включает в себя все необходимые компоненты для старта: Gazebo для симуляции, RViz2 для визуализации, инструменты для навигации и многое другое.
  • Совместимость версий:
    Важно помнить, что каждая версия ROS 2 имеет свои требования к операционной системе. Например, Humble Hawksbill официально поддерживается на Ubuntu 20.04,
    22.04, Debian 11, Fedora 36, macOS Monterey и Windows 10/11. Выбор Ubuntu 22.04 в качестве ОС для Humble – это сочетание двух LTS-версий, обеспечивающее максимальную надежность и долгую поддержку.

Часть 3: Рекомендации для вашего старта

  • Для новичков: Ваша главная цель – научиться основам робототехники и создать первые рабочие проекты. Поэтому выбор Ubuntu 22.04 LTS Jammy Jellyfish и ROS 2 Humble Hawksbill – это ваш самый безопасный и продуктивный путь. Он избавит вас от лишних сложностей, связанных с совместимостью и поддержкой.
  • Когда стоит смотреть на другие версии:
    Если вам нужны самые последние функции ROS 2 и вы готовы к более частым обновлениям, можете попробовать последнюю Standard версию ROS 2 (например, Iron Irwini) с актуальной Standard версией Ubuntu (например, 23.10). Но будьте готовы к тому, что документации и примеров может быть меньше, а поддержка короче.
    Если вы работаете с очень старым оборудованием или унаследованным проектом, возможно, придется вернуться к более старым версиям ROS (например, ROS 1 Noetic с Ubuntu 20.04), но для новых разработок это не лучший выбор.
  • Важность документации: Всегда проверяйте официальную документацию ROS 2 на предмет требований к ОС и инструкции по установке для выбранной вами версии. Это ваш главный ориентир.
ROS Wiki
ROS Wiki

Заключение

Правильный выбор операционной системы и версии ROS – это не просто формальность, а фундамент вашего успешного пути в робототехнике. Для старта я настоятельно рекомендую комбинацию Ubuntu 22.04 LTS Jammy Jellyfish и ROS 2 Humble Hawksbill. Это проверенный, стабильный и хорошо поддерживаемый выбор, который позволит вам максимально сосредоточиться на изучении робототехники, а не на борьбе с проблемами совместимости.