Робо-голова
  • Общая информация
  • Технические характеристики
  • Комплект поставки
  • Полезные ссылки
  • Быстрый старт
  • Настройка и обслуживание
    • Подключение к Робоголове по сети
      • Настройка подключения к Сети
      • Подключение по 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
  • Сервис ~PlayAudio
  • Сервис ~SetVolume
  • Сервис ~GetVolume
  1. Устройство головы
  2. ROS-пакеты

speakers_driver

Previousears_driverNextrespeaker_driver

Last updated 1 month ago

Пакет обеспечивает вывод звука на внешние динамики: воспроизведение аудио, установка громкости.

Воспроизведение звука аппаратно происходит через .


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

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

roslaunch speakers_driver speakers_driver.launch 

При запуске пакета начинают работать ROS-сервисы:

  • /speakers_driver/PlayAudio - запустить проигрывание аудио-файла

  • /speakers_driver/SetVolume - установить громкость воспроизведения

  • /speakers_driver/GetVolume - получить текущую установленную громкость


Сервис ~PlayAudio

Запускает проигрывание аудио-файла. Пример вызова через CLI для воспроизведения файла, находящегося по пути /home/pi/robohead_ws/src/robohead/speakers_driver/examples/file.mp3:

rosservice call /speakers_driver/PlayAudio "path_to_file: '/home/pi/robohead_ws/src/robohead/speakers_driver/examples/file.mp3'
is_blocking: 1
is_cycled: 0" 

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

  • path_to_file - путь до аудио-файла, который необходимо воспроизвести. Вместо аудио-файла можно указать путь до любого стримингового аудио-потока в Интернете (например, онлайн-радио). Если оставить пустым, то произойдет принудительная остановка текущего воспроизводимого аудио.

  • is_blocking - блокирующий ли вызов сервис? 0 - нет, 1 - да

  • is_cycled - зациклить ли воспроизведение? 0 - нет, 1 - да

Будьте аккуратны при использовании блокирующего вызова и зацикленного воспроизведения

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

  • 0 - успех

  • -1 - аудио-файл/аудио-поток не найден

Тип сообщения ROS-сервиса: speakers_driver/PlayAudio


Сервис ~SetVolume

Устанавливает громкость воспроизведения аудио. Пример вызова через CLI, с установкой громкости 30%:

rosservice call /speakers_driver/SetVolume "volume: 30"

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

  • volume - громкость (от 0 до 100)

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

  • 0 - успех

  • -1 - некорректная громкость (должна быть от 0 до 100)

Тип сообщения ROS-сервиса: speakers_driver/SetVolume


Сервис ~GetVolume

Возвращает текущую установленную громкость воспроизведения аудио. Пример вызова через CLI:

rosservice call /speakers_driver/GetVolume "{}" 

Никакие аргументов при вызове передавать не нужно.

Возвращаемое значение: текущая установленная громкость 0...100

Тип сообщения ROS-сервиса: speakers_driver/GetVolume


Пример работы с пакетом на Python:

rosrun speakers_driver example_file.py

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


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

  • service_PlayAudio_name - название сервиса для воспроизведения аудио

  • service_SetVolume_name - название сервиса для установки громкости воспроизведения

  • service_GetVolume_name - название сервиса для получения текущей громкости воспроизведения

  • default_volume - стандартная громкость воспроизведения при запуске пакета

  • mpd_host - адрес mpd-сервера, где открыт сокет

  • mpd_port - порт mpd-сервера, на котором открыт сокет

  • update_hz - скорость обновления при блокирующем вызове

ReSpeaker USB Mic Array
Ubuntu-сервис