Comunidad Wuji Hand
Preguntas comunes y solución de problemas para el SDK de la mano Wuji, pipeline JSONL e integración de la plataforma.
FAQ
¿Qué paquete de Python necesito para leer datos de la mano Wuji?
instalar wujihandpy, el paquete oficial de Python del SDK Wuji:
pip install wujihandpy numpy
La wuji_hand_sdk_stream.py el script de puente lo importa a través de import wujihandpy y llama a hand.read_joint_actual_position(timeout=0.4) para obtener el array de posición de 5×4 articulaciones. Verifica la instalación: python3 -c "import wujihandpy; print(wujihandpy.__version__)".
¿Qué representa el array de posición de 5×4 articulaciones?
La mano Wuji tiene 5 dedos (pulgar, índice, medio, anular, meñique), cada uno con 4 articulaciones. El read_joint_actual_position() llamada devuelve una lista plana de 20 flotantes que representan los ángulos de las articulaciones en radianes. El script de puente reorganiza esto en un array de 5×4, calcula la media a través de las 4 articulaciones de cada dedo y normaliza del rango [0, π/2] a [0, 1] para producir el bends valor por dedo utilizado en teleoperación y grabación.
El mapa de presión siempre es ceros. ¿Es eso normal?
Puede ser. Si solo está conectado el hardware de posición de las articulaciones sin un módulo de sensor táctil, el pressure_map_24x32 campo es un marcador lleno de ceros. Usa mock_wuji_stream.py para verificar que el pipeline de renderizado del mapa de calor funcione correctamente. Para uso en producción, confirma que la versión de firmware de tu Wuji incluya soporte para sensores táctiles y que el módulo táctil esté alimentado y conectado.
¿Cómo puedo ejecutar sin hardware físico?
Usa el incluido mock_wuji_stream.py script para generar marcos JSONL sintéticos con flexiones de dedos animadas, un mapa táctil de presión en forma de blob gaussiano, datos de IMU de 6 ejes y lecturas de EMF a Hz configurables:
python3 mock_wuji_stream.py --hz 30 --hand-side right --seed 42
Para usar el flujo simulado con el agente, sobrescribe el comando de flujo predeterminado con --wuji-cmd:
python3 wuji_glove_agent.py \ --session YOUR_SESSION_ID \ --node-id wuji-mock \ --wuji-cmd "python3 mock_wuji_stream.py --hz 30 --hand-side right"
Todas las características de la plataforma funcionan de manera idéntica en modo simulado.
¿Cuál es la diferencia entre wuji_glove_agent.py y wuji_hand_sdk_stream.py?
wuji_hand_sdk_stream.py es una fuente de datos: importa wujihandpy, lee posiciones de articulaciones en bruto del hardware y emite marcos JSONL a stdout a Hz configurables. wuji_glove_agent.py es el puente de la plataforma: lanza el script de flujo como un subprocesso, analiza la salida JSONL y reenvía los datos de sensores decodificados a la Plataforma Fearless a través de WebSocket. El agente también maneja el registro de sesiones, el almacenamiento en búfer de telemetría, la reconexión y los pings de latencia.
¿Cómo selecciono la mano izquierda vs la mano derecha?
Mercado --glove left, --glove right, oh --glove auto (predeterminado) a wuji_glove_agent.py. En modo automático, el agente lee el hand_side campo del primer marco JSONL. El script de flujo acepta --hand-side left o --hand-side right, predeterminando a la derecha. Para grabación bilateral, ejecuta dos procesos de agente con distintos --node-id valores y diferentes --glove configuraciones, conectados a la misma ID de sesión.
El agente no logra conectarse al WebSocket de la plataforma. ¿Qué debo verificar?
Confirma que el backend de Fearless esté en funcionamiento: curl http://localhost:8000/health. Si usas un backend remoto, pasa la URL correcta: --backend ws://HOST:PORT. El agente utiliza retroceso exponencial (1 s mínimo, 10 s máximo) para la reconexión — observa la salida del terminal para intentos de reconexión y el mensaje de error específico.
Funciona mejor con OpenArm 101
El Wuji Hand es el guante operador recomendado para OpenArm 101 sesiones de teleoperación. Monte el OpenArm en una superficie estable, empareje el agente Wuji con la misma sesión que el agente del brazo, y tendrá un equipo completo para la recolección de datos de teleoperación y aprendizaje por imitación. Vea el Paso de configuración de teleoperación de OpenArm para instrucciones de integración.
Recursos y enlaces
¿Tiene una pregunta sobre la configuración o quiere compartir sus resultados de teleoperación?
Foro SVRC → Contactar con soporte →