Перейти к основному содержимому
Версия: Bbrain 2.0

Пакет ears_driver

Назначение: Пакет ears_driver позволяет взаимодействовать с ушами Робоголовы: плавно перемещать их вперед и назад.


Содержание пакета

ears_driver/
├── CMakeLists.txt
├── package.xml
├── launch/
│ └── ears_driver_py.launch
├── config/
│ └── ears_driver.yaml
├── scripts/
│ └── main.py
├── srv/
│ └── EarsSetAngle.srv
└── examples/
└── example_zigzag.py

Запуск пакета

  • Пакет ears_driver запускается автоматически при старте устройства.
  • Запуск инициируется через launch-файл robohead_controller_py.launch из пакета robohead_controller.

Основные возможности

Пакет ears_driver предоставляет ROS-сервис EarsSetAngle для управления ушами головы:

ROS-сервис EarsSetAngle позволяет задать позицию сервоприводов ушей.

Пример вызова:

rosservice call robohead_controller/ears_driver/EarsSetAngle "left_ear_angle: 30
right_ear_angle: 30"

Убедитесь, что вы находитесь в режиме отладки!

Параметры:

ПараметрОписание
left_ear_angleУгол поворота левого уха, в градусах
right_ear_angleУгол поворота правого уха, в градусах

Коды ответа:

КодЗначение
0Успешное выполнение
-1Угол левого уха вне диапазона (см. robohead_control/config/ears_driver.yaml)
-2Угол правого уха вне диапазона (см. robohead_control/config/ears_driver.yaml)
примечание
  • Диапазон углов: от -90° до +90° для каждого уха.
  • Положительное значение: движение вперёд
    • Левое ухо: против часовой стрелки
    • Правое ухо: по часовой стрелке
  • Отрицательное значение: движение назад
    • Левое ухо: по часовой стрелке
    • Правое ухо: против часовой стрелки

Подробнее о настройке сервоприводов: ->

Режим отладки

В режиме отладки пакет ears_driver запускается изолированно (отдельно) для тестирования функций, без участия других компонентов системы.

Шаг 1. Остановка всех запущенных пакетов

Остановите фоновый Linux-сервис:

sudo systemctl stop robohead.service

Шаг 2. Запуск пакета вручную

Запустите пакет отдельно через launch-файл:

roslaunch ears_driver ears_driver_py.launch

Шаг 3. Особенности работы в режиме отладки

  • Пространство имен: сервис пакета не имеет приставки /robohead_controller/. Используется /ears_driver/EarsSetAngle вместо /robohead_controller/ears_driver/EarsSetAngle

  • Файл конфигурации: настройки берутся из ears_driver/config/ears_driver.yaml вместо robohead_controller/config/ears_driver.yaml


Шаг 4. Возможности тестирования

ROS-сервис EarsSetAngle позволяет задать позицию ушных сервоприводов.

Пример вызова:

# Запустите в отдельном терминале
rosservice call /ears_driver/EarsSetAngle "left_ear_angle: -30
right_ear_angle: 30"

Убедитесь, что вы находитесь в режиме отладки!

Пример использования сервиса в Python:

Команда для запуска примера с использованием сервиса /ears_driver/EarsSetAngle в Python:

# Запустите в отдельном терминале
rosrun ears_driver example_zigzag.py

Убедитесь, что вы находитесь в режиме отладки!