Main bionique — Contrôle USB et BLE
Spécifications BrainCo Revo II
Spécifications techniques complètes de la documentation du développeur BrainCo Revo II.
Physique et cinématique
| Fournisseuse | BrainCo |
| Modèle | Revo II (configuration principale gauche) |
| Total des DDL | 6 (pouce 2 DOF + index/milieu/anneau/auriculaire 1 DOF chacun) |
| Pouce DOF | Flexion + rotation (rotation = flexion × 0,4) |
| Doigt DOF | 1 flexion DOF chacun : index, milieu, anneau, petit doigt |
| Plage de positions | 0,0 = complètement ouvert · 1,0 = complètement fermé (flotteur normalisé) |
| Gamme de protocoles filaires | Nombre entier de 0 à 100 (pourcentage de fermeture) |
Interface USB-CDC
| Interface USB | USB-CDC (port COM virtuel) |
| Appareil Linux | /dev/ttyACM0 |
| Débit en bauds | 115200 (exact – aucun autre tarif ne fonctionne) |
| Dépendance Python | pyserial |
Bluetooth basse consommation (BLE) GATT
| UUID que vous servez BLE | 0000ffe0-0000-1000-8000-00805f9b34fb |
| Caractéristique d'écriture | 0000ffe1-0000-1000-8000-00805f9b34fb |
| Notifier la caractéristique | 0000ffe2-0000-1000-8000-00805f9b34fb |
| Dépendance Python | bleak |
Protocole de commande
| Format | JSON terminé par une nouvelle ligne, encodé en UTF-8 |
| set_finger | {"cmd":"set_finger","finger":N,"position":P} — N : 0 à 4, P : 0 à 100 |
| set_pose | {"cmd":"set_pose","positions":[p0,p1,p2,p3,p4]} — les cinq positions atomiquement |
| étalonner | {"cmd":"calibrate"} - verrouiller les limites de déplacement du micrologiciel |
Synchronisation du mode piano
| Phase 1 — Prolonger | 20 ms, doigt en position de survol (0,15 = 15 % de fermeture) |
| Phase 2 — Conduire | 30 ms, entraînement à la profondeur de pression (0,55 à 0,95 proportionnelle à la vitesse) |
| Phase 3 — Tenir | Durée configurable — touche enfoncée |
| Phase 4 — Rétractation | 20 ms, remontez en position stationnaire |
| Plage de profondeur de presse | 0,55 (vitesse=0,0) à 0,95 (vitesse=1,0) |
| Position de survol | 0,15 (15 % de fermeture — neutre prêt à presser) |
| Presses simultanées | Oui – verrouillages asyncio par doigt, pas de notes supprimées |
Étalonnage
| Étape d'étalonnage | 120 ms par doigt (séquence d'ondes : pouce → petit doigt) |
| Modèle de vague | Ouvert → proche de 90 % → ouvert (par doigt) |
| Position post-étalonnage | Tous les doigts se stabilisent en survol (15 % de fermeture) |
| Délai de règlement (début) | 300 ms avant le début de la vague |
Télémétrie et SDK
| Taux de télémétrie | 10 Hz par défaut (configurable) |
| Agent de plateforme | brainco_revo_agent.py |
| Dépendances Python | pyserial (USB) · bleak (BLE) · websockets (plate-forme) |
| URDF | Disponible pour ROS1 et ROS2 |
| Champs d'instantané | connecté, mode, positions (float[5]), positions_dict, is_pressing, any_pressing, current_note, command_count |