1 minute read

Согласно смете нужно приобрести 14 сервоприводов Feetech 7.4v STS 3215.
Конечная цена будет отличаться от зарубежного рынка, их также пришлось заказывать из Китая причем по довольно завышенной цене в отличии от той, что указана разработчиками в смете.

servo box servo

Перед тем как начать сборку проекта, необходима калибровка сервоприводов. Процесс достаточно не сложный, может быть даже немного нудный и выглядит следующим образом.

Была куплена плата управления от waveshare.

waveshare_1 waveshare_2

Берем первый сервопривод, батарейку крона на 9V, плату управления (не забываем выставить джампер на RX, GND) и собираем всю схему как показано на рисунке ниже.

waveshare_servo

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

waveshare_servo_2 waveshare_connection

Клонируем репозиторий https://github.com/apirrone/Open_Duck_Mini_Runtime и для каждого сервопривода запускаем из корня проекта следующий скрипт для калибровки.
Предварительно настроив окружение.

virtualenv -p python3 .venv
source .venv/bin/activate
pip install -e .

python scripts/configure_motor.py --id <id> --port <port>

где id - идентификатор сервопривода под конкретное его назначение.

{
    "left_hip_yaw": 20,
    "left_hip_roll": 21,
    "left_hip_pitch": 22,
    "left_knee": 23,
    "left_ankle": 24,
    "neck_pitch": 30,
    "head_pitch": 31,
    "head_yaw": 32,
    "head_roll": 33,
    "right_hip_yaw": 10,
    "right_hip_roll": 11,
    "right_hip_pitch": 12,
    "right_knee": 13,
    "right_ankle": 14,
}

port - подключенное устройство, название которого можно получить с помощью команды ls /dev/tty*.

Для примера:

find_port

Далее запускаем скрипт калибровки:

script_result

В контексте проекта нужно будет откалибровать 14 сервопривод.

ready_servo

После калибровки сервоприводы должны быть выставлены примерно в следующее положение.

servo_example

Процесс калибровки окончен, можно приступать уже непосредственно к сборке комплектующих.