Especificações da Mão Wuji

Especificações técnicas completas para a mão destro do Wuji — sensores, formato de fluxo JSONL e parâmetros do agente da plataforma.

Mecânica e Sensoriamento
Dedos5 — polegar, indicador, médio, anelar, mínimo
Articulações dos dedos4
Total de posições articulares20 (array 5×4, float, radianos)
Mapa de pressão tátil24 linhas × 32 colunas (768 valores, float [0, 1])
Canais IMU6-eixos (acelerômetro de 3-eixos + giroscópio de 3-eixos), até 16 slots no fluxo
EMF do canalDobra por dedo + rotação de mão (dicionário chaveado pelo nome do dedo)
Lados da mãoEsquerda, direita ou detectada automaticamente a partir do primeiro quadro
Interface e SDK
ID do fornecedor USB0x0483 (padrão; passe --usb-vid para substituir)
Pacote SDKwujihandpy (Python)
instalarpip install wujihandpy numpy
Aplicativo de estúdioWuji Studio v0.7.0 (Linux amd64 .deb / .tar.gz / .zip)
Script de transmissãowuji_hand_sdk_stream.py (emite JSONL para stdout)
Módulo do agentewuji_glove_agent.py (ponte de plataforma via WebSocket)
Transmissão simuladamock_wuji_stream.py (JSONL sintético, sem hardware necessário)
Parâmetros de Transmissão e Agente
Hz de stream padrão30 Hz (configurável com --hz)
Formato de streamJSONL — um objeto JSON por linha para stdout
Tipo de dispositivo da plataformawuji_hand
Módulo do agentewuji_glove_agent
URL WebSocket o back-endws://127.0.0.1:8000 (padrão; substituir com --backend)
Telemetria Hz30 Hz (configurável com --telemetry-hz)
Política de reconexãoAtraso exponencial: mínimo de 1 s, máximo de 10 s
Campos de Quadro JSONL (por quadro)
CampoTipoForma / FaixaDescrição
tsflutuanteSegundos UnixTimestamp do quadro (time.time())
lado_da_mãostr"esquerda" | "direita"A qual mão este quadro pertence
dobrasdicionário5 chaves, [0, 1]Dobra normalizada por dedo (polegar, indicador, médio, anelar, mínimo)
posição_atual_da_junta_5x4lista[lista[float]]5×4, radianosPosições brutas das juntas do wujihandpy, 5 dedos × 4 juntas
mapa_de_pressão_24x32lista[lista[float]]24×32, [0, 1]Distribuição de pressão tátil na superfície da mão
imulista[float]até 16 valoresIMU de 6 eixos: [ax, ay, az, gx, gy, gz, ...] (slots restantes zerados)
emfdicionáriopor-dedo + parte_de_trás_da_mãoLeituras do sensor EMF; cada entrada é um float ou um dicionário com as chaves "bend"/"angle"

A bends os valores são derivados de joint_actual_position_5x4 ao calcular a média dos 4 ângulos das juntas por dedo e normalizar do intervalo [0, π/2] para [0, 1].

wuji_glove_agent.py — Sinalizadores Chave
FlagPadrãoDescrição
--backendws://127.0.0.1:8000URL base do WebSocket da plataforma
--session(obrigatório)ID da sessão de Teleop da plataforma
--node-idwuji-glove-nodeIdentificador para este nó de dispositivo na sessão
--gloveautomáticoLado da mão: esquerda, direita ou automático (lido do primeiro quadro)
--device-kindwuji_handTipo de dispositivo registrado na plataforma
--telemetry-hz30.0Taxa de encaminhamento de telemetria para a plataforma
--wuji-cmdpython3 wuji_hand_sdk_stream.py --hand-side right --hz 30Comando de shell que emite quadros JSONL para stdout
--reconnect-min-s1.0Tempo mínimo de reconexão (segundos)
--reconnect-max-s10.0Tempo máximo de reconexão (segundos)

Pronto para Começar?

Siga o guia de configuração ou leia a documentação completa do SDK.