Технические характеристики руки Уцзи

Полные технические характеристики ловкой руки Wuji — датчики, формат потока JSONL и параметры агента платформы.

Механические и сенсорные
Пальцы5 — большой палец, указательный, средний, безымянный, мизинец
Суставы на палец4
Всего совместных позиций20 (массив 5×4, число с плавающей запятой, радианы)
Карта тактильного давления24 строки × 32 столбца (768 значений, число с плавающей запятой [0, 1])
каналы ИДУ6-осевой (3-осевой акселерометр + 3-осевой гироскоп), до 16 слотов в потоке
канал ЭМПСгибание пальцев + отклонение руки назад (диктуется по имени пальца)
Стороны рукСлева, справа или автоматически определяется с первого кадра
Интерфейс и SDK
Идентификатор поставщика USB-устройств0x0483 (по умолчанию; для переопределения введите --usb-vid)
пакет SDKуджихандпи (Python)
Установитьpip установить wujihandpy numpy
Приложение студииWuji Studio v0.7.0 (Linux amd64 .deb/.tar.gz/.zip)
Скрипт трансляцииwuji_hand_sdk_stream.py (выдает JSONL на стандартный вывод)
Агентский модульwuji_glove_agent.py (мост платформы через WebSocket)
Ложный потокock_wuji_stream.py (синтетический JSONL, оборудование не требуется)
Параметры потока и агента
Поток по умолчанию Гц30 Гц (настраивается с помощью --hz)
Формат потокаJSONL — один объект JSON на строку в стандартный вывод
Тип устройства платформыуцзи_рука
Агентский модульwuji_glove_agent
URL-адрес внутреннего веб-сокетаws://127.0.0.1:8000 (по умолчанию; переопределить с помощью --backend)
Телеметрия Гц30 Гц (настраивается с помощью --telemetry-hz)
Политика повторного подключенияЭкспоненциальная задержка: мин. 1 с, макс. 10 с.
Поля кадра JSONL (на кадр)
ПолеТипФорма/ДиапазонОписание
тсплаватьUnix-секундыВременная метка кадра (time.time())
рука_сторонаул."левый" | "верно"Какой руке принадлежит эта рамка
изгибыдиктовать5 клавиш, [0, 1]Попальцевый нормализованный изгиб (большой, указательный, средний, безымянный, мизинец)
Joint_actual_position_5x4список[список[с плавающей точкой]]5×4, радианыНеобработанные положения суставов из уцзихандпи, 5 пальцев × 4 сустава
Pressure_map_24x32список[список[с плавающей точкой]]24×32, [0, 1]Распределение тактильного давления по поверхности руки
имусписок[с плавающей точкой]до 16 значений6-осевой IMU: [ax, ay, az, gx, gy, gz, ...] (остальные слоты обнулены)
ЭДСдиктоватьза палец + обратная рукаПоказания датчика ЭДС; каждая запись является плавающей или диктованной с помощью клавиш «изгиб»/«угол»

The bends значения получены из joint_actual_position_5x4 путем усреднения 4 углов суставов на палец и нормализации диапазона [0, π/2] на [0, 1].

wuji_glove_agent.py — Ключевые флаги
ФлагПо умолчаниюОписание
--бэкэндws://127.0.0.1:8000Базовый URL-адрес платформы WebSocket
--сессия(необходимый)Идентификатор сеанса Teleop с платформы
--идентификатор-узлаУцзи-перчаточный узелИдентификатор этого узла устройства в сеансе
--перчаткаавтоСторона руки: левая, правая или авто (читается с первого кадра)
--device-kindуцзи_рукаТип устройства, зарегистрированный на платформе
--telemetry-hz30.0Скорость пересылки телеметрии на платформу
--wuji-cmdpython3 wuji_hand_sdk_stream.py --сторона справа --hz 30Команда оболочки, которая отправляет кадры JSONL на стандартный вывод
--reconnect-мин-с1.0Минимальная задержка повторного подключения (секунды)
--reconnect-max-s10.0Максимальная задержка повторного подключения (секунды)

Готовы начать?

Следуйте руководству по установке или прочитайте полную документацию SDK.