Руководство по настройке Orca Hand

Полный пошаговый путь от распаковки до первого знакомства. Запланируйте в общей сложности 3–4 часа на первую сборку.

1

Сборка и проверка

Перед началом работы разложите все компоненты: модули для пальцев (5 шт.), крепление для ладони/запястья, приспособления для прокладки сухожилий, крепления и любые дополнительные модули датчиков на кончиках пальцев.

  • Пальцевые модули: Вставьте каждый модуль пальца в рамку ладони по порядку — большой, указательный, средний, безымянный, мизинец. Прежде чем прокладывать сухожилия, убедитесь, что каждое соединение свободно перемещается.
  • Крепление на запястье: Прикрепите блок ладони к пластине для запястья с помощью прилагаемых крепежных элементов. Убедитесь, что рисунок фланца соответствует вашей руке робота.
  • Маршрутизация сухожилий: Проложите каждое сухожилие (по одному на каждый палец) от шкива привода через направляющие кабелепровода. Перед натяжением оставьте провисание на 2–3 мм — чрезмерное натяжение на этом этапе приведет к заеданию.
  • Тактильные датчики (опция): При установке тактильных датчиков на кончиках пальцев вставьте их в корпуса для кончиков пальцев, прежде чем закрывать корпуса пальцев. Проложите кабели датчиков обратно через корпус пальца к разъему для ладони.
Проверьте официальную документацию для вашей версии оборудования. Детали сборки различаются в зависимости от версии оборудования Orca Hand. Всегда проверяйте соответствие официальная документация Orca Hand для вашей конкретной версии.
2

Установка программного обеспечения

The orca_core Пакет Python является единственной зависимостью программного обеспечения — требований к ROS нет. Он обменивается данными со всеми 17 двигателями Feetech STS3215 через одно последовательное соединение USB со скоростью 3 Мбит/с с использованием протокола Dynamixel. Требуется Python 3.9+.

Вариант А — Установить через Poetry (рекомендуется):

git clone https://github.com/orcahand/orca_core.git
cd orca_core
poetry install

Вариант Б — Установка через pip:

pip install orca_core

Предоставьте доступ к последовательному порту USB в Linux:

# Add your user to the dialout group (requires logout/login to take effect)
sudo usermod -aG dialout $USER

# Or grant temporary access without logging out
sudo chmod 666 /dev/ttyUSB0
имя порта macOS. В macOS последовательный порт USB обычно /dev/tty.usbserial-FT4TFV01. Открыть orca_core/models/orcahand_v1/config.yaml и обновить port поле перед подключением или явно передайте строку порта при построении OrcaHand().

Подключитесь и проверьте:

from orca_core import OrcaHand

hand = OrcaHand()
status = hand.connect()
print(status)  # (True, 'Connection successful')
3

Калибровка

Калибровка приводит каждое из 17 соединений к механическому жесткому останову при пониженном пределе тока (450 необработанных единиц), чтобы установить смещение нуля для каждого двигателя. Всегда проводите калибровку перед подачей команд положения — пропуск этого шага может привести к серьезным ошибкам положения или неожиданному движению.

from orca_core import OrcaHand

hand = OrcaHand()
hand.connect()

# Drives all joints to hard stops at calib_current=450 to establish zero offsets
hand.calibrate()

# Calibration results are saved automatically to:
# models/orcahand_v1/calibration.yaml
Калибровка автоматическая. The calibrate() Метод итеративно приближает каждое соединение к жесткому упору с шагом 0,3° (настраивается через calib_step_size), объявляет соединение после 10 последовательных стабильных показаний с точностью до 0,01° (настраивается через calib_num_stable и calib_threshold), затем сохраняет смещения в calibration.yaml. Повторный запуск только после изменения оборудования.

После калибровки переместите все соединения в открытое/нулевое положение:

# Command all 17 joints to 0° (open position)
hand.set_joint_pos({joint: 0 for joint in hand.joint_ids})
4

Первый тест на захват

Проверьте совместное управление с помощью orca_core API Python. Управляйте отдельными соединениями по имени — SDK автоматически преобразует имена соединений в идентификаторы двигателей через joint_to_motor_map в config.yaml.

from orca_core import OrcaHand

hand = OrcaHand()
hand.connect()
hand.calibrate()

# --- Read current joint positions (degrees) ---
positions = hand.get_joint_pos()
print(positions)
# e.g. {'thumb_mcp': 0.0, 'thumb_abd': 0.0, 'index_mcp': 0.0, ...}

# --- Make a fist: flex all MCP and PIP joints ---
hand.set_joint_pos({
    "index_mcp":  90, "index_pip":  110,
    "middle_mcp": 90, "middle_pip": 110,
    "ring_mcp":   90, "ring_pip":   110,
    "pinky_mcp":  90, "pinky_pip":  110,
    "thumb_mcp":  30, "thumb_pip":  100,
})

# --- Open hand back to zero ---
hand.set_joint_pos({joint: 0 for joint in hand.joint_ids})

# --- Torque control ---
hand.enable_torque()                    # Enable torque on all motors
hand.disable_torque(motor_ids=[1, 2])   # Disable specific motors (by ID)

# --- Disconnect (disables torque, closes serial port) ---
hand.disconnect()
Совместные ограничения ПЗУ. Суставы MCP и PIP на 2–5 пальцах варьируются от -20° до +120° (MCP) и от -20° до +140° (PIP). Большой палец имеет самый широкий диапазон отведения: ±65°. Запястье работает на ±60°. Командные значения, выходящие за эти пределы, могут привести к остановке двигателя при его механическом останове.

Если какое-либо соединение не достигает заданного угла, проверьте прокладку кабеля и натяжение сухожилий для этого двигателя. Для каждого пальца используется отдельный сервопривод Feetech STS3215; привязка обычно связана с маршрутизацией или натяжением, а не с программным обеспечением.

5

Интеграция с роботом-манипулятором

Установите Orca Hand на руку робота с помощью стандартного фланцевого адаптера для запястья. Рука совместима с OpenArm 101, а большинство рук имеют фланцы стандарта ISO 9283.

  • Прикрепите пластину запястья к фланцу концевого рабочего органа руки с помощью болтов M4 согласно предоставленной схеме.
  • Проложите сигнальные и силовые кабели вдоль конструкции рычага, закрепив их кабельными стяжками, чтобы предотвратить зацепление во время движения.
  • В рабочей области ROS2 вашей руки добавьте Orca Hand в качестве узла конечного эффектора и запустите контроллеры руки и кисти вместе.
Используете с OpenArm 101? См. Шаг настройки телеоперации OpenArm инструкции по подключению рабочего органа и записи первого сеанса сбора данных.

Полное описание рабочих процессов исследования ловких манипуляций с помощью Orca Hand см. Руководство по исследованию SVRC.

Настройка завершена?

Ознакомьтесь с полными спецификациями или присоединитесь к сообществу, чтобы поделиться своими заметками о сборке.