Рука телеоперации
Технические характеристики руки Уцзи
Полные технические характеристики ловкой руки 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-hz | 30.0 | Скорость пересылки телеметрии на платформу |
| --wuji-cmd | python3 wuji_hand_sdk_stream.py --сторона справа --hz 30 | Команда оболочки, которая отправляет кадры JSONL на стандартный вывод |
| --reconnect-мин-с | 1.0 | Минимальная задержка повторного подключения (секунды) |
| --reconnect-max-s | 10.0 | Максимальная задержка повторного подключения (секунды) |