11. ros2_control: интерфейсы приводов и контроллеры

Основные компоненты

ros2_control разделяет алгоритмы управления и доступ к приводам. Контроллер получает состояния и формирует команды; аппаратный или симуляционный интерфейс связывает их с конкретной системой. controller_manager управляет жизненным циклом контроллеров и циклом обновления.

В описании робота объявляются command interfaces и state interfaces шарниров. Например, команда может задавать скорость, а состояние сообщать положение и скорость. Имена шарниров должны согласованно использоваться в URDF, конфигурации контроллера и интерфейсе оборудования.

Настройка системы

В пособии используются YAML-конфигурация контроллеров, описание ros2_control в модели и интеграция с Gazebo. Одного установленного пакета контроллера недостаточно: его необходимо загрузить, настроить и активировать.

joint_state_broadcaster публикует состояния шарниров. Это другая роль, чем у учебного joint_state_publisher_gui, который позволяет вручную задавать значения для визуализации.

Практика

Подключите управление скоростью колёс к симуляционной модели. После запуска исследуйте состояние:

ros2 control list_controllers
ros2 control list_hardware_interfaces

При нестандартном namespace укажите правильный controller manager. Сопоставьте активные контроллеры с доступными интерфейсами. Перед отправкой команды найдите её топик и тип сообщения: разные контроллеры используют разные контракты.

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

Отправьте небольшую команду скорости, затем нулевую. Проверьте знак вращения каждого колеса и порядок элементов командного массива, если выбранный контроллер использует массив. Зафиксируйте фактическое движение в симуляции.

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

  • Почему загруженный контроллер может не принимать команды?
  • Чем командный интерфейс отличается от интерфейса состояния?
  • Как обнаружить несовпадение имён шарниров между URDF и YAML?

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