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

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


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

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

Пин
Компонент
Параметр конфигурации
Описание

11

Левое ухо

servo_L_channel

SG90 — управляет поворотом левого уха

10

Правое ухо

servo_R_channel

SG90 — управляет поворотом правого уха

9

Правый шейный сервопривод

servo_1_channel

MG995 — двигает правую тягу (провод слева)

8

Левый шейный сервопривод

servo_2_channel

MG995 — двигает левую тягу (провод справа)


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

Шейные сервоприводы (MG995):

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

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

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

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

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


Важно! Перед редактированием файлов остановите 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

Last updated