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

Подключение и настройка сервоприводов

В этом разделе описаны схемы подключения, диапазоны движения и методы настройки сервоприводов Робоголовы Bbrain.


1. Схема подключения

Если вы разобрали устройство и требуется восстановить подключение сервоприводов, ориентируйтесь на следующую таблицу:

ПинКомпонентПараметр конфигурацииОписание
7Левое ухоservo_L_channelEMax ES08MDII — управляет поворотом левого уха
6Правое ухоservo_R_channelEMax ES08MDII — управляет поворотом правого уха
5Правый шейный сервоприводservo_1_channelDsservo DS3218 PRO 20 — двигает правую тягу (провод слева)
4Левый шейный сервоприводservo_2_channelDsservo DS3218 PRO 20 — двигает левую тягу (провод справа)
warning

Перед подключением убедитесь, что Робоголова отключена от питания, а также убедитесь в целостность проводов и разъёмов.


2. Система координат

Шейные сервоприводы (Dsservo DS3218 PRO 20):

  • Yaw (горизонтальный поворот): от -30° (влево) до +30° (вправо)
  • Pitch (вертикальный наклон): от -30° (вниз) до +30° (вверх)

Направление шейных сервоприводов

Ушные сервоприводы (EMax ES08MDII):

  • Угол поворота: от -90° (полностью вниз) до +90° (полностью вверх)

warning

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

sudo systemctl stop robohead.service

3. Методы настройки

3.1 Инициализационное положение

Задаётся в конфигурационных-файлах:

  • Ушные сервоприводы: ~/robohead_ws/src/robohead/robohead_controller/config/ears_driver.yaml:

    std_L_angle: 0
    std_R_angle: 0
  • Шейные сервоприводы: ~/robohead_ws/src/robohead/robohead_controller/config/neck_driver.yaml:

    std_vertical_angle: 0
    std_horizontal_angle: 0

После правки конфигов перезапустите сервис:

sudo systemctl restart robohead.service

3.2 Управление в текущей сессии

Используйте ROS-сервисы для динамической установки положений:

  • Установка углов шеи:

    rosservice call /robohead_controller/neck_driver/NeckSetAngle "vertical_angle: 15
    horizontal_angle: 0
    duration: 1.5
    is_blocking: 1"

    Параметры:

    • vertical_angle – угол поворота по вертикали (тангаж), в градусах
    • horizontal_angle – угол поворота по горизонтали (рысканье), в градусах
    • duration – время, за которое голова достигает позиции, в секундах
    • is_blocking – блокирующий вызов: 1 — ждать завершения, 0 — не ждать
  • Установка углов ушей:

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

    Параметры:

    • left_ear_angle – угол поворота левого уха, в градусах
    • right_ear_angle – угол поворота правого уха, в градусах

4. Важные ограничения

  • Шейные сервоприводы:

    • Не выходите за диапазон -30° … +30° по каждой оси
    • Избегайте длительной работы в крайних положениях
  • Ушные сервоприводы:

    • Не выходите за диапазон -90° … +90°
    • Не допускайте механических перегрузок (принудительное удержание вручную)

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

  1. Остановите основной сервис перед изменениями:

    sudo systemctl stop robohead.service
  2. После настройки перезапустите сервис:

    sudo systemctl restart robohead.service