Spécifications de la main Wuji

Spécifications techniques complètes de la main adroite Wuji : capteurs, format de flux JSONL et paramètres de l'agent de plate-forme.

Mécanique et détection
Doigts5 — pouce, index, milieu, anneau, petit
Articulations par doigt4
Total des postes conjoints20 (tableau 5 × 4, flotteur, radians)
Carte de pression tactile24 lignes × 32 colonnes (768 valeurs, float [0, 1])
Canaux IMU6 axes (accéléromètre 3 axes + gyroscope 3 axes), jusqu'à 16 emplacements en flux
Canal CEMCourbure par doigt + lacet main arrière (dictée par nom de doigt)
Côtés de la mainGauche, droite ou détection automatique à partir de la première image
Interface et SDK
ID du fournisseur USB0x0483 (par défaut ; passez --usb-vid pour remplacer)
Kit de développement logiciel (SDK) du packagewujihandpy (Python)
Installatriceinstallateur pip wujihandpy numpy
Studio d'applicationsWuji Studio v0.7.0 (Linux amd64 .deb / .tar.gz / .zip)
Script de fluxwuji_hand_sdk_stream.py (émet du JSONL vers la sortie standard)
Agents de moduleswuji_glove_agent.py (pont de plateforme via WebSocket)
Flux simulémock_wuji_stream.py (JSONL synthétique, aucun matériel requis)
Paramètres de flux et d'agent
Flux par défaut Hz30 Hz (configurable avec --hz)
Format du fluxJSONL — un objet JSON par ligne vers la sortie standard
Type d'appareil de plate-formewuji_hand
Agents de moduleswuji_glove_agent
URL WebSocket principalews://127.0.0.1:8000 (par défaut ; remplacer par --backend)
Télémétrie Hz30 Hz (configurable avec --telemetry-hz)
Politique de reconnexionArrêt exponentiel : 1 s min, 10 s max
Champs de trame JSONL (par trame)
ChampionneCôneForme / GammeDescription
tsflotterSecondes UnixHorodatage de la trame (time.time())
côté_mainstr"gauche" | "droite"À quelle main appartient ce cadre
viragescolère5 touches, [0, 1]Courbure normalisée par doigt (pouce, index, milieu, anneau, petit)
joint_actual_position_5x4liste[liste[float]]5×4, radiansPositions articulaires brutes de wujihandpy, 5 doigts × 4 articulations
pression_map_24x32liste[liste[float]]24×32, [0, 1]Répartition de la pression tactile sur la surface de la main
imuliste[flottant]jusqu'à 16 valeursIMU 6 axes : [ax, ay, az, gx, gy, gz, ...] (emplacements restants mis à zéro)
FEMcolèrepar doigt + hand_backLectures du capteur EMF ; chaque entrée est flottante ou dictée avec les touches "bend"/"angle"

Le bends les valeurs sont dérivées de joint_actual_position_5x4 en faisant la moyenne des 4 angles articulaires par doigt et en normalisant de la plage [0, π/2] à [0, 1].

wuji_glove_agent.py — Indicateurs clés
DrapeauDéfautDescription
--back-endws://127.0.0.1:8000URL de base de la plateforme WebSocket
--session(requis)ID de session Teleop depuis la plateforme
--identifiant-nœudnoeud de gants wujiIdentifiant de ce nœud de périphérique dans la session
--gantautoCôté main : gauche, droite ou automatique (lecture à partir de la première image)
--device-kindwuji_handType d'appareil enregistré sur la plateforme
--télémétrie-hz30.0Taux de transfert de télémétrie vers la plateforme
--wuji-cmdpython3 wuji_hand_sdk_stream.py --hand-side right --hz 30Commande Shell qui émet des trames JSONL vers la sortie standard
--reconnexion-min-s1.0Intervalle minimum de reconnexion (secondes)
--reconnect-max-s10.0Intervalle maximal de reconnexion (secondes)

Prêt à commencer ?

Suivez le guide de configuration ou lisez la documentation complète du SDK.