9. Модель робота: URDF, Xacro, TF и RViz

Из чего состоит описание робота

URDF описывает звенья (link) и соединяющие их шарниры (joint). Для обычной модели связи образуют дерево. У шарнира задаются родительское и дочернее звенья, тип, положение и при необходимости ось и ограничения.

visual задаёт отображаемую геометрию, collision — геометрию столкновений, inertial — массу и инерцию. Эти разделы выполняют разные задачи. Правильный внешний вид ещё не гарантирует корректную физическую модель.

Размеры задаются в метрах, углы — в радианах. Ошибка масштаба в тысячу раз часто возникает при переносе размеров из миллиметров.

Зачем нужен Xacro

Xacro позволяет использовать параметры, выражения и макросы, например для одинаковых колёс. Перед использованием модель преобразуется в URDF:

xacro robot_model.xacro > /tmp/robot_model.urdf

Выполняйте команду из каталога модели с подключённым окружением её пакета. Проверьте полученный XML и пути к ресурсам.

От модели к визуализации

robot_state_publisher использует описание робота и состояния шарниров для публикации преобразований TF. joint_state_publisher_gui позволяет вручную изменять положения шарниров в учебной модели. RViz отображает модель и системы координат, но не заменяет физический симулятор.

Самостоятельное задание

Создайте мобильную базу с двумя колёсами и одним подвижным звеном. Организуйте каталоги urdf, launch, config. В launch-файле загрузите описание и запустите state publishers и RViz. Сохраните конфигурацию RViz и установите её вместе с пакетом.

Проверьте, что изменение положения шарнира в GUI действительно меняет модель, а все необходимые TF доступны.

Самопроверка

  • Чем fixed, revolute, continuous и prismatic отличаются друг от друга?
  • Почему модель может быть загружена, но не отображаться в выбранном Fixed Frame?
  • Что следует установить в share пакета помимо launch-файла?

Основа урока: учебное пособие «Операционная система для роботов ROS 2», ИТМО, 2026, печатные страницы 18–21, 61–74. Это учебный конспект с упражнениями; полные примеры и рисунки приведены в пособии.