Глоссарий терминов ROS2
В этом разделе собраны определения основных терминов, используемых в курсе изучения ROS2.
И
Издатель (Publisher) — программа (нода) в ROS, которая отправляет сообщения в топик. Издатель публикует данные, не зная, кто их получает.
К
Кватернион (Quaternion) — математический способ описания ориентации объекта в трехмерном пространстве с помощью четырех чисел (x, y, z, w). Используется в ROS для представления углов поворота робота.
Клиент сервиса (Service Client) — программа, которая создает запрос к серверу сервиса и отправляет его. Клиент ожидает ответ от сервера.
Л
Launch-файл — файл конфигурации в ROS, который позволяет запускать несколько нод одновременно, настраивать их параметры и управлять зависимостями между ними. Может быть написан в форматах XML, YAML или Python.
Н
Нода (Node) — отдельная программа в ROS2, которая выполняет конкретную задачу. Например, нода может читать данные датчика, управлять мотором или обрабатывать изображения. Ноды общаются друг с другом через топики и сервисы.
О
Одометрия (Odometry) — процесс оценки изменения положения робота во времени относительно начальной точки. Основан на интегрировании данных о движении (обороты колес, данные IMU). Подвержена накоплению ошибок.
П
Пакет (Package) — основная единица организации кода в ROS2. Пакет содержит все необходимое для определенного функционального модуля: узлы (ноды), библиотеки, данные конфигурации, файлы запуска, зависимости.
Параметр (Parameter) — глобальная переменная в ROS, которая хранит конфигурационные данные. Параметры можно изменять без перекомпиляции кода, через консоль или launch-файлы.
Подписчик (Subscriber) — программа (нода) в ROS, которая получает сообщения из топика. Подписчик автоматически получает все новые сообщения, публикуемые в топик.
Р
Рабочее пространство (Workspace) — директория в ROS2, где создаются, модифицируются и собираются собственные пакеты. Содержит директории src (исходный код), build (временные файлы сборки), install (установленные файлы) и log (логи сборки).
С
Сервер сервиса (Service Server) — программа, которая ожидает запросы от клиентов, выполняет необходимые вычисления и возвращает ответ.
Сервис (Service) — модель коммуникации в ROS, использующая паттерн Request-Response (запрос-ответ). Клиент отправляет запрос, сервер обрабатывает его и возвращает ответ. В отличие от топиков, сервис работает по принципу "один запрос — один ответ".
Сообщение (Message) — структурированный набор данных определенного типа, используемый для обмена информацией между нодами в ROS. Каждое сообщение имеет строго определенную структуру и тип.
Т
Топик (Topic) — канал связи между нодами в ROS, через который передаются сообщения. Топик имеет уникальное имя и определенный тип сообщений. Издатели публикуют сообщения в топик, подписчики получают их из топика.
У
Углы Эйлера (Euler Angles) — способ описания ориентации объекта с помощью трех углов поворота вокруг осей координат (крен, тангаж, рыскание). Более понятны для работы в 2D-пространстве, чем кватернионы.
Дополнительные термины
colcon — система сборки пакетов в ROS2. Используется для компиляции и установки пакетов в рабочем пространстве.
rclpy — клиентская библиотека ROS2 для языка Python. Предоставляет API для создания нод, работы с топиками, сервисами и параметрами.
Twist — тип сообщения в ROS (geometry_msgs/msg/Twist), используемый для управления движением робота. Содержит векторы линейной и угловой скорости.
Odometry — тип сообщения в ROS (nav_msgs/msg/Odometry), содержащий данные о текущем положении, ориентации и скорости робота.
IMU (Inertial Measurement Unit) — инерциальный измерительный модуль, датчик, содержащий гироскоп, акселерометр и иногда магнитометр. Используется для определения ориентации и ускорения робота.
LIDAR (Light Detection and Ranging) — лазерный дальномер, датчик, который измеряет расстояния до объектов с помощью лазерных лучей. Создает облако точек (point cloud) для построения карты окружения.
microROS — версия ROS2, адаптированная для работы на микроконтроллерах с ограниченными ресурсами (например, Arduino).
Callback-функция — функция, которая автоматически вызывается при наступлении определенного события (например, при получении нового сообщения в топик).
QoS (Quality of Service) — параметры качества обслуживания в ROS2, определяющие надежность доставки сообщений, глубину очереди и другие характеристики коммуникации.