Настройка громкости динамиков

1. Общая информация

Громкостью динамиков на Робоголове управляет ROS-пакет speakers_driver. Этот пакет обеспечивает вывод звука на внешние динамики: воспроизведение аудио и установку громкости.

Стартовые параметры динамиков настраиваются через управляющий пакет robohead_controller. Для изменения настроек потребуется доступ к конфигурационным файлам.

Важно! Перед редактированием файлов остановите Linux-сервис:

sudo systemctl stop robohead.service

2. Конфигурационный файл

Основные настройки находятся в конфигурационном файле ~/robohead_ws/src/robohead/robohead_controller/config/speakers_driver.yaml:

# ~/robohead_ws/src/robohead/robohead_controller/config/speakers_driver.yaml

service_PlayAudio_name: "~PlayAudio"      # Имя ROS-сервиса для воспроизведения аудиофайлов
service_GetVolume_name: "~GetVolume"      # Имя ROS-сервиса для проверки уровня громкости
service_SetVolume_name: "~SetVolume"      # Имя ROS-сервиса для установки уровня громкости
mpd_host: "/run/mpd/socket"               # Адрес MPD-сервера
mpd_port: 6600                            # Порт MPD-сервера
update_hz: 10                             # Частота обновления (Гц)
default_volume: 50                        # Громкость при запуске (0–100)

3. Изменение громкости

3.1 Настройка громкости по умолчанию

  1. Подключитесь к устройству по SSH:

    ssh pi@roboheadXXX.local
  2. Остановите Linux-сервис:

    sudo systemctl stop robohead.service
  3. Откройте файл настроек в текстовом редакторе:

    nano ~/robohead_ws/src/robohead/robohead_controller/config/speakers_driver.yaml
  4. Измените параметр default_volume (допустимые значения — от 0 до 100).

  5. Сохраните изменения сочетанием клавиш Ctrl+S и выйдите из редактора Ctrl+X.

  6. Запустите сервис:

    sudo systemctl start robohead.service
  7. Проверьте текущую громкость:

    rosservice call robohead_controller/speakers_driver/GetVolume "{}"

3.2 Изменение громкости для текущего сеанса

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

В терминале Робоголовы выполните команду:

rosservice call robohead_controller/speakers_driver/SetVolume "volume: 30"
  • volume: значение от 0 (звук отключён) до 100 (максимальная громкость)

  • Возвращает:

    • 0 — успех

    • -1 — ошибка (некорректное значение)

4. Рекомендации

  • Для учебных целей: громкость 30–50%

  • Для шумных помещений: 60–80%

  • Избегайте 100% для предотвращения искажений

Last updated