Робо-голова
  • Общая информация
  • Технические характеристики
  • Комплект поставки
  • Полезные ссылки
  • Быстрый старт
  • Настройка и обслуживание
    • Подключение к Робоголове по сети
      • Настройка подключения к Сети
      • Подключение по SSH к Робоголове
      • Подключение по SFTP
      • Подключение через VSCode
    • Смена данных устройства
    • Выключение головы
    • Возврат к заводским настройкам
    • Ubuntu-сервис
    • Подключение аккумулятора
    • Зарядка батареи
    • Подключение сервоприводов к плате расширения
  • Интеграция с роботом TurtleBro
  • Устройство головы
    • Аппаратная конфигурация
    • Программное обеспечение
    • ROS-пакеты
      • robohead_controller
      • display_driver
      • neck_driver
      • ears_driver
      • speakers_driver
      • respeaker_driver
      • voice_recognizer_pocketsphinx
        • ROS-нода ~kws_recognizer
        • ROS-нода ~cmds_recognizer
        • Настройка собственных команд и ключевых слов для распознавания
      • sensor_driver
      • usb_cam
  • Кейсы взаимодействия
    • 1. Смена ресурс-пака стандартных действий
    • 2. Внесение изменений в стандартные действия
    • 3. Написание своего действия для robohead_controller
    • 4. Создание своих сценариев взаимодействия без использования robohead_controller
    • 5. Создание ROS-пакета со своим сценарием взаимодействия и его автозагрузка
Powered by GitBook
On this page
  1. Устройство головы
  2. ROS-пакеты

ears_driver

Previousneck_driverNextspeakers_driver

Last updated 1 month ago

Пакет позволяет двигать ушами.

Файлы примеров расположены в директории examples этого пакета.


Запуск пакета через CLI:

перед экспериментами отключите все запущенные пакеты. В частности, остановите , чтоб отключить пакеты, запущенные автоматичеси: sudo systemctl stop robohead.service

roslaunch ears_driver ears_driver_py.launch

Для установки положения ушей воспользуйтесь ROS-сервисом /ears_driver/EarsSetAngle с типом сообщения ears_driver/EarsSetAngle:

rosservice call /ears_driver/EarsSetAngle "left_ear_angle: 45
right_ear_angle: -30" 

Обозначения:

  • left_ear_angle - угол поворота левого уха, градусы-degrees

  • right_ear_angle - угол поворота правого уха, градусы-degrees

Диапазон допустимых физических значений: -90...90 градусов для каждого уха. Программные ограничения смотрите в конфигурационном файле. Положительное значение означает движение уха вперед (для левого уха против часовой стрелки, для правого уха - по часовой), отрицательное - движение назад.

Возвращаемые значения при вызове сервиса:

  • 0 - успешный вызов

  • -1 - значение для левого уха не подходит под ограничения (см. конфигурационный файл ears_driver.yaml)

  • -2 - значение для правого уха не подходит под ограничения (см. конфигурационный файл ears_driver.yaml)


Пример управления ушами на Python:

rosrun ears_driver example_zigzag.py

Файлы примеров расположены в директории examples этого пакета.


Конфигурационный файл ears_driver/config/ears_driver.yaml

  • service_name - название сервиса, по которому устанавливается положение ушей

  • std_L_angle - стандартное положение левого уха (при включении)

  • std_R_angle - стандартное положение правого уха (при включении)

  • servo_L_channel - канал на плате расширения, к которому подключен сервопривод левого уха

  • servo_R_channel - канал на плате расширения, к которому подключен сервопривод правого уха

  • constraints: L_from и L_to - диапазон допустимых углов для левого уха

  • constraints: R_from и R_to - диапазон допустимых углов для правого уха

  • i2c_address - i2c адрес PWM-контроллера сервоприводов

Ubuntu-сервис