Полный справочник по установке SDK находится по адресу аппаратное обеспечение/dk1/программное обеспечение. В этом модуле рассматриваются шаги настройки, специфичные для бимануального управления, выходящие за рамки установки SDK с одним плечом, которую вы, возможно, выполнили для OpenArm.
Установка SDK DK1.
DK1 SDK отделен от OpenArm SDK. Не пытайтесь запустить оружие DK1 с пакетом OpenArm — протокол прошивки отличается.
Настройте пару «лидер/последователь»
SDK считывает файл конфигурации YAML, в котором сообщается, какое последовательное устройство является ведущим, а какие устройства являются двумя ведомыми. Необходимо указать пути к устройствам в правильном порядке — SDK не определяет назначение ролей автоматически.
Ключевые поля в dk1-config.yaml:
/dev/ttyUSBN зависит от порядка портов USB, который может меняться между перезагрузками. Чтобы создать стабильные псевдонимы, используйте udev правила, введенные в серийный номер устройства. Бегать udevadm info /dev/ttyUSB0 найти серийник для каждой руки и создать правила в /etc/udev/rules.d/99-dk1.rules. Подробно это описано на аппаратное обеспечение/dk1/программное обеспечение.
Тест соединения Python — обе руки
После редактирования конфигурации запустите тест соединения, который проверит все три устройства одновременно:
Успешный запуск печатает 10 пар массивов объединенных состояний с согласованными, стабильными значениями. Если вы видите значения NaN, ошибку тайм-аута или менее 6 значений соединения на плечо, проверьте назначения путей к устройству в файле конфигурации.
Проверка синхронизации
Наиболее важной проверкой в этом модуле является проверка того, что движение ведущего устройства вызывает синхронизированную реакцию ведомого без заметной задержки:
Медленно перемещайте ведущий рычаг по дуге 30° в одном суставе. Оба ведомых рычага должны двигаться синхронно, без видимой задержки. Если один ведомый отстает от другого более чем на полсекунды, проверьте latency_tolerance_ms настройки и проверьте USB-соединение медленного рычага.
Распространенные ошибки и исправления
| Ошибка | Причина | Исправить |
|---|---|---|
SerialException: device not found |
Неверный путь к устройству в конфигурации или USB не подключен. | Бегать ls /dev/ttyUSB* и обновить пути конфигурации. Проверьте физические USB-соединения. |
SyncTimeoutError: follower_right |
Правый ведомый рычаг не реагирует в пределах допуска по задержке | Увеличивать latency_tolerance_ms до 10 или попробуйте другой порт USB. Проверьте кабель на наличие повреждений. |
| В соединении указаны все нули после соединения. | Сервоприводы не включены — рука находится в режиме ожидания | Вызов robot.enable_servos() перед чтением состояний суставов или сначала включите их через веб-интерфейс. |
| Один ведомый зеркальный, другой неподвижен | Лидер связан только с одним последователем в конфигурации | Проверьте оба follower_left и follower_right устанавливаются в конфигурации YAML. |
Часть 2 завершена, когда...
DK1 SDK установлен и dk1.__version__ возвращает 0.4.0 или выше. Тест соединения выводит стабильные значения состояния соединения для обоих плеч при частоте 50 Гц. Когда вы начинаете сеанс «лидер/ведомый» и перемещаете ведущую руку, обе ведомые руки отражают движение без заметной задержки. Вы проверили это, выполнив как минимум 3 различных движения суставов на ведущей руке.