Настройка программного обеспечения и драйверов
Установите драйвер USB CDC, выполните потоковую передачу данных о давлении на 64 узлах в Python, визуализируйте тепловые карты контактов и интегрируйтесь с конвейерами записи Orca Hand.
Установите пакет перчаток juqiao.
Перчатка обменивается данными через последовательный порт USB CDC — без модулей ядра и специальных драйверов. Пакет Python обертывает pyserial и обрабатывает протокол двоичных кадров.
Проверьте установку:
Обнаружение USB-порта
Подключите перчатку с помощью кабеля USB-C длиной 1,5 м. Устройство идентифицируется как последовательный порт CDC-ACM.
| OS | Типичное имя порта | Примечания |
|---|---|---|
| Линукс | /dev/ttyACM0 | Добавить пользователя в дозвон группа, если в разрешении отказано |
| macOS | /dev/tty.usbmodem* | Использовать лс /dev/tty.usb* чтобы найти точное имя |
| Окна | COM3 (варьируется) | Проверьте Диспетчер устройств → Порты (COM и LPT). |
Автоматическое определение перчатки из Python:
Или укажите порт явно:
API потоковой передачи Python
Перчатка течет с частотой 200 Гц. Каждый кадр содержит 64-элементный массив давления (16-битный АЦП, нормализованный 0,0–1,0) плюс временную метку.
Ссылка на объект фрейма
| Атрибут | Тип | Описание |
|---|---|---|
| кадр.метка времени | плавать | Время получения на стороне хоста (секунды, эпоха Unix) |
| рама.давление | np.ndarray (64,) | Нормализованное давление на узел, от 0,0 (нет) до 1,0 (макс.) |
| Frame.pressures_raw | np.ndarray (64,) | Необработанные значения 16-битного АЦП (0–65535) |
| Frame.contact_mask | np.ndarray (64,) bool | Истинно, если давление превышает пороговое значение (по умолчанию 0,05). |
| Frame.contact_nodes | Список[интервал] | Индексы узлов, находящихся в данный момент в контакте |
| frame.grasp_region | ул или нет | Эвристическая область: "ладонь", "большой палец", "индекс", "середина", "кольцо", "мизинец", Никто |
| кадр.последовательность | интервал | Счетчик кадров (обертывается на 65535); использовать для обнаружения пропущенных кадров |
Схема датчика с 64 узлами
64 такселя расположены в виде тканого волокна, покрывающего ладонь и все пять сегментов пальцев. Индексы узлов следуют последовательному порядку строк при просмотре сверху.
Визуализация тепловой карты давления
The [а именно] extra устанавливает живой модуль визуализации тепловых карт matplotlib, полезный для калибровки и отладки.
Для использования безголовых сред или просмотра данных сохраните кадры как видео:
Интерфейс РОС2
The juqiao_glove_ros2 пакет публикует пользовательский ТактильныйМассив сообщение на частоте 200 Гц. Совместим с ROS2 Humble and Iron.
Запускаем узел драйвера:
Опубликованные темы:
| Тема | Тип сообщения | Ставка | Описание |
|---|---|---|---|
| /juqiao_glove/tactile_array | juqiao_glove_ros2/TactileArray | 200 Гц | Полный массив давления из 64 узлов |
| /juqiao_glove/contact_mask | std_msgs/UInt8MultiArray | 200 Гц | Бинарный контакт на узел (0 или 1) |
| /juqiao_glove/grasp_region | std_msgs/Строка | 200 Гц | Эвристика активной области или пустая строка |
| /juqiao_glove/status | Diagnostic_msgs/DiagnosticStatus | 1 Гц | Версия прошивки, частота пропадания кадров |
Комбинированный запуск из руки и перчатки Orca
При использовании перчатки вместе с Orca Hand для синхронной записи:
Базовая калибровка
Перчатка поставляется с заводской калибровкой. Выполните повторную калибровку, если вы заметили смещение базовой линии (в состоянии покоя показания узлов не равны нулю) или после длительного хранения.
Загрузить калибровку во время выполнения:
Настройка порога
Порог контакта по умолчанию составляет 0,05 (5 % от полной шкалы). Настройка для каждой задачи:
Общие проблемы
sudo usermod -aG dialout $USER затем выйдите из системы и снова войдите. Альтернативно: sudo chmod 666 /dev/ttyACM0 (сбрасывается при отключении от сети).dmesg | tail -20 (Линукс) или ls /dev/tty.usb* (macOS) для проверки того, что ОС перечислила устройство. Попробуйте использовать другой USB-порт или кабель (разъем USB-C, но это должен быть кабель для передачи данных, а не только для зарядки).glove.info() для подтверждения прошивки отвечает. Если это так, убедитесь, что файл калибровки не вычитает слишком много. Удалить ~/.juqiao_glove_cal.json и выполните повторную калибровку, положив перчатку ровно.glove.calibrate_baseline(). Может возникнуть после изменения температуры или длительного хранения. Если дрейф > 0,4 при плоской перчатке, возможно, сенсорная ткань нуждается в замене (обратитесь в службу поддержки Juqiao).on_frame обратный вызов возвращается быстро — выполняйте тяжелую обработку в отдельном потоке.ros2 launch juqiao_glove_ros2 glove.launch.py port:=/dev/ttyACM0. Проверьте журналы узла: ros2 node info /juqiao_glove_driver. Обеспечить dialout групповое исправление было применено к пользователю, работающему на узле ROS2.