Especificaciones de la mano Wuji

Especificaciones técnicas completas para la mano hábil Wuji: sensores, formato de transmisión JSONL y parámetros del agente de la plataforma.

Mecánica y Sensado
Dedos5 — pulgar, índice, medio, anular, meñique
Articulaciones por dedo4
Posiciones totales de las articulaciones20 (matriz 5×4, flotante, radianes)
Mapa de presión táctil24 filas × 32 columnas (768 valores, flotante [0, 1])
Canales IMU6 ejes (acelerómetro de 3 ejes + giroscopio de 3 ejes), hasta 16 ranuras en la transmisión
Canal EMFFlexión por dedo + guiñada de la parte posterior de la mano (dictado por el nombre del dedo)
Lados de la manoIzquierda, derecha o detectada automáticamente desde el primer marco
Interfaz y SDK
ID de vendedor USB0x0483 (predeterminado; pase --usb-vid para anular)
Paquete SDKwujihandpy (Python)
instalarpip install wujihandpy numpy
Aplicación de estudioWuji Studio v0.7.0 (Linux amd64 .deb / .tar.gz / .zip)
Script de transmisiónwuji_hand_sdk_stream.py (emite JSONL como salida estándar)
Módulo de agentewuji_glove_agent.py (puente de plataforma a través de WebSocket)
Transmisión simuladamock_wuji_stream.py (JSONL sintético, no se necesita hardware)
Parámetros de transmisión y agente
Frecuencia de transmisión predeterminada30 Hz (configurable con --hz)
Formato de transmisiónJSONL — un objeto JSON por línea a stdout
Tipo de dispositivo de la plataformawuji_hand
Módulo de agentewuji_glove_agent
URL de WebSocket de backendws://127.0.0.1:8000 (predeterminado; anular con --backend)
Frecuencia de telemetría30 Hz (configurable con --telemetría-hz)
Política de reconexiónRetroceso exponencial: 1 s mínimo, 10 s máximo
Campos de marco JSONL (por marco)
campoTipoForma / RangoDescripción
tsflotanteSegundos UnixMarca de tiempo (time.time())
lado_de_la_manostr"izquierda" | "derecha"A qué mano pertenece este marco
doblesdiccionario5 claves, [0, 1]Doblado normalizado por dedo (pulgar, índice, medio, anular, meñique)
posición_actual_de_la_articulación_5x4lista[lista[flotante]]5×4, radianesPosiciones de las articulaciones en bruto de wujihandpy, 5 dedos × 4 articulaciones
mapa_de_presión_24x32lista[lista[flotante]]24×32, [0, 1]Distribución de presión táctil en la superficie de la mano
imuLista [flotadora]hasta 16 valoresIMU de 6 ejes: [ax, ay, az, gx, gy, gz, ...] (slots restantes en cero)
emfdiccionariopor_dedo + dorso_de_la_manoLecturas del sensor EMF; cada entrada es un float o un dict con las claves "doblar"/"ángulo"

La bends los valores se derivan de joint_actual_position_5x4 promediando los 4 ángulos de las articulaciones por dedo y normalizando del rango [0, π/2] a [0, 1].

wuji_glove_agent.py — Banderas clave
BanderaPredeterminadoDescripción
--backendws://127.0.0.1:8000URL base de WebSocket de plataforma
--session(requerido)ID de sesión de Teleop de la plataforma
--node-idwuji-glove-nodeIdentificador para este nodo de dispositivo en la sesión
--guanteautomáticoLado de la mano: izquierda, derecha o automático (leído del primer marco)
--tipo-de-dispositivowuji_handTipo de dispositivo registrado con la plataforma
--telemetry-hz30.0Tasa de reenvío de telemetría a la plataforma
--wuji-cmdpython3 wuji_hand_sdk_stream.py --hand-side right --hz 30Comando de Shell que genera puntos de referencia JSONL en la salida estándar
--reconectar-min-s1.0Tiempo mínimo de retroceso para reconectar (segundos)
--reconectar-max-s10.0Tiempo máximo de reconexión (segundos)

¿Listo para empezar?

Sigue la guía de configuración o lee la documentación completa del SDK.