Configuration du logiciel et du pilote
Installez le pilote USB CDC, diffusez des données de pression à 64 nœuds en Python, visualisez des cartes thermiques de contact et intégrez les pipelines d'enregistrement Orca Hand.
Installez le package juqiao-glove
Le gant communique via USB CDC série – pas de modules de noyau, pas de pilotes personnalisés. Le package Python se termine pysérie et gère le protocole de trame binaire.
Vérifiez l'installation :
Détection du port USB
Branchez le gant via le câble USB-C de 1,5 m. L'appareil est répertorié comme un port série CDC-ACM.
| OS | Nom de port typique | Remarques |
|---|---|---|
| Linux | /dev/ttyACM0 | Ajouter un utilisateur à numérotation groupe si autorisation refusée |
| macOS | /dev/tty.usbmodem* | Utiliser ls /dev/tty.usb* pour trouver le nom exact |
| Fenêtres | COM3 (plongeuses) | Vérifiez le Gestionnaire de périphériques → Ports (COM et LPT) |
Détecter automatiquement le gant depuis Python :
Ou spécifiez le port explicitement :
API de diffusion Python
Le gant diffuse à 200 Hz. Chaque image contient un tableau de pression de 64 éléments (ADC 16 bits, normalisé 0,0 à 1,0) plus un horodatage.
Référence de l'objet cadre
| Attribut | Cône | Description |
|---|---|---|
| frame.timestamp | flotter | Temps de réception côté hôte (secondes, époque Unix) |
| cadre.pressions | np.ndarray (64,) | Pression normalisée par nœud, 0,0 (aucun) à 1,0 (max) |
| frame.pressions_raw | np.ndarray (64,) | Nombre brut d'ADC 16 bits (0 à 65 535) |
| cadre.contact_mask | np.ndarray(64,) combinateur | Vrai lorsque la pression dépasse le seuil (par défaut 0,05) |
| frame.contact_nodes | Liste[int] | Indices des nœuds actuellement en contact |
| frame.grasp_region | str ou Aucun | Région heuristique : "palmier", "pouce", "indice", "milieu", "anneau", "pinky", Aucune |
| frame.séquence | int | Compteur de trames (boucle à 65535) ; utiliser pour détecter les images perdues |
Disposition du capteur à 64 nœuds
Les 64 taxels sont disposés sous forme d'une matrice de fibres tissées recouvrant la paume et les cinq segments des doigts. Les indices de nœuds suivent un ordre cohérent des rangées principales en vue dorsale.
Visualisation de la carte thermique de pression
Le [à savoir] extra installe un moteur de rendu de carte thermique matplotlib en direct utile pour l'étalonnage et le débogage.
Pour les environnements sans interface graphique ou l'examen des données, enregistrez les images sous forme de vidéo :
Interface ROS2
Le juqiao_glove_ros2 le package publie un fichier personnalisé TactileArray message à 200 Hz. Compatible avec ROS2 Humble et Iron.
Lancez le nœud du pilote :
Sujets publiés :
| Sujette | Type de message | Taux | Description |
|---|---|---|---|
| /juqiao_glove/tactile_array | juqiao_glove_ros2/TactileArray | 200 Hz | Réseau de pression complet à 64 nœuds |
| /juqiao_glove/contact_mask | std_msgs/UInt8MultiArray | 200 Hz | Contact binaire par nœud (0 ou 1) |
| /juqiao_glove/grasp_region | std_msgs/Chaîne | 200 Hz | Heuristique de région active ou chaîne vide |
| /juqiao_glove/status | diagnostic_msgs/DiagnosticStatus | 1 Hz | Version du micrologiciel, taux de chute d'images |
Lancement combiné Orca Hand + Glove
Lorsque vous utilisez le gant avec l'Orca Hand pour un enregistrement synchronisé :
Étalonnage de base
Le gant est livré avec un étalonnage en usine. Recalibrez si vous remarquez une dérive de la ligne de base (nœuds lisant une valeur différente de zéro au repos) ou après un stockage prolongé.
Charger l'étalonnage au moment de l'exécution :
Réglage du seuil
Le seuil de contact par défaut est de 0,05 (5 % de la pleine échelle). Ajuster par tâche :
Problèmes courants
sudo usermod -aG dialout $USER puis déconnectez-vous et reconnectez-vous. Alternativement : sudo chmod 666 /dev/ttyACM0 (se réinitialise au débranchement).dmesg | tail -20 (Linux) ou ls /dev/tty.usb* (macOS) pour vérifier que le système d'exploitation a énuméré le périphérique. Essayez un autre port ou câble USB (le connecteur est USB-C mais doit être un câble de données, et non un câble de charge uniquement).glove.info() pour confirmer que le firmware répond. Si c'est le cas, vérifiez que le fichier d'étalonnage ne soustrait pas trop. Supprimer ~/.juqiao_glove_cal.json et recalibrez avec le gant posé à plat.glove.calibrate_baseline(). Peut survenir après des changements de température ou un stockage prolongé. Si la dérive > 0,4 avec le gant à plat, le tissu de détection devra peut-être être remplacé (contactez l'assistance Juqiao).on_frame le rappel revient rapidement - effectuez un traitement lourd dans un thread séparé.ros2 launch juqiao_glove_ros2 glove.launch.py port:=/dev/ttyACM0. Vérifiez les journaux des nœuds : ros2 node info /juqiao_glove_driver. Assurer le dialout Le correctif de groupe a été appliqué à l'utilisateur exécutant le nœud ROS2.