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 Настройка громкости по умолчанию
-
Подключитесь к устройству по SSH:
ssh pi@roboheadXXX.local -
Остановите Linux-сервис:
sudo systemctl stop robohead.service -
Откройте файл настроек в текстовом редакторе:
nano ~/robohead_ws/src/robohead/robohead_controller/config/speakers_driver.yaml -
Измените параметр
default_volume(допустимые значения — от 0 до 100). -
Сохраните изменения сочетанием клавиш Ctrl+S и выйдите из редактора Ctrl+X.
-
Запустите сервис:
sudo systemctl start robohead.service -
Проверьте текущую громкость:
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% для предотвращения искажений