📖
Arduino + ROS
  • О методичке
  • 1 Введение в ROS
    • Проблемы современной робототехники
    • История ROS
    • Что такое ROS, основные задачи
    • Устройство мобильного робота
    • Почему Linux для роботов?
    • Подготовка рабочего места
  • 2 Linux. Основы командной строки.
    • Команды терминала Linux
    • Протокол SSH
    • Пользователи и их права
  • 3 Основы ROS
    • Введение
    • Базовые понятия ROS
    • Сообщения
    • Topic
    • Service
    • Action
    • Стандарты ROS
    • Установка и запуск ROS
    • Практика с Turtlesim
  • 4 Работа с Arduino
    • Arduino и ROS
    • Создание издателя
    • Создание подписчика
Powered by GitBook
On this page
  • Основные термины
  • Мастер (Master), Мастер-Нода
  • Нода (Node)
  • Пакет (Package)
  1. 3 Основы ROS

Базовые понятия ROS

PreviousВведениеNextСообщения

Last updated 1 year ago

Основные термины

Мастер (Master), Мастер-Нода

Мастер выполняет роль сервера имен для возможности подключения между собой различных нод. Команда roscore запускает сервер мастера, и после этого к нему могут подключиться и зарегистрироваться ноды ROS. Связь между нодами (обмен сообщениями) невозможна без наличия запущенного мастера.

При запуске ROS roscore мастер будет запущен по адресу URI, установленном в переменной окружения ROS_MASTER_URI. По умолчанию адрес использует IP-адрес локального ПК и номер порта 11311

Нода (Node)

Понятие ноды относится к наименьшей "рабочей" единице, используемой в ROS. Можно провести аналогию с одной исполняемой программой. ROS рекомендует создать одну ноду для каждой задачи, что позволить легче использовать ее в других проектах.

При запуске нода регистрирует информацию о себе на мастере (название ноды, типы обрабатываемых сообщений). Зарегистрированная нода может взаимодействовать с другими нодами (получать и отправлять запросы). Важно отметить, что обмен сообщениями между нодами работает без участия мастера (соединение между нодами происходит на прямую). Мастер обеспечивает только единое пространство имен для решения вопроса, куда подключиться к конкретной ноде. Адрес запуска ноды берётся из переменной окружения ROS_HOSTNAME, которая должна быть определенна до запуска. Порт устанавливается на произвольное уникальное значение.

Пакет (Package)

Пакет является основной единицей ROS. Любое приложение ROS оформляется в пакет, в котором определяются: конфигурация пакета, ноды, необходимые для работы пакета, зависимости от других пакетов ROS.

Работа с пакетами ROS очень похожа на работу с пакетами linux. Пакет ROS можно поставить готовым из репозитория пакетов или скачать и скомпилировать из исходных кодов.

Поиск доступных пакетов ROS возможен на странице

http://wiki.ros.org/