Bionische Hand – USB- und BLE-Steuerung
BrainCo Revo II-Spezifikationen
Vollständige technische Spezifikationen aus der BrainCo Revo II-Entwicklerdokumentation.
Physikalisch und kinematisch
| Verkäuferin | BrainCo |
| Modell | Revo II (Linkshänder-Konfiguration) |
| Gesamt-DOF | 6 (Daumen 2 DOF + Zeigefinger/Mitte/Ring/kleiner Finger jeweils 1 DOF) |
| Daumen-DOF | Flexion + Rotation (Rotation = Flexion × 0,4) |
| Finger-DOF | Jeweils 1 DOF-Flexion: Index, Mitte, Ring, kleiner Finger |
| Positionsbereich | 0,0 = vollständig geöffnet · 1,0 = vollständig geschlossen (normalisierter Schwimmer) |
| Wire-Protokollbereich | 0–100 Ganzzahl (prozentualer Abschluss) |
USB-CDC-Schnittstelle
| USB-Schnittstelle | USB-CDC (Virtueller COM-Port) |
| Linux-Gerät | /dev/ttyACM0 |
| Baudrate | 115200 (genau – kein anderer Tarif funktioniert) |
| Python-Abhängigkeit | pyserial |
Bluetooth Low Energy (BLE) GATT
| BLE-Dienst-UUID | 0000ffe0-0000-1000-8000-00805f9b34fb |
| Charakteristik schreiben | 0000ffe1-0000-1000-8000-00805f9b34fb |
| Merkmal benachrichtigen | 0000ffe2-0000-1000-8000-00805f9b34fb |
| Python-Abhängigkeit | bleak |
Befehlsprotokoll
| Format | JSON mit Zeilenumbruch, UTF-8-kodiert |
| 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]} – alle fünf Positionen atomar |
| kalibrieren | {"cmd":"calibrate"} — Sperren Sie die Firmware-Reisegrenzen ein |
Timing im Klaviermodus
| Phase 1 – Erweitern | 20 ms, Finger in Schwebeposition (0,15 = 15 % Schließung) |
| Phase 2 – Fahren | 30 ms, Fahrt auf Presstiefe (0,55–0,95 proportional zur Geschwindigkeit) |
| Phase 3 – Halten | Konfigurierbare Dauer – Taste gedrückt |
| Phase 4 – Zurückziehen | 20 ms, zurück in die Schwebeposition heben |
| Drücken Sie Tiefenbereich | 0,55 (Geschwindigkeit=0,0) bis 0,95 (Geschwindigkeit=1,0) |
| Schwebeposition | 0,15 (15 % Verschluss – neutral, druckfertig) |
| Gleichzeitiges Drücken | Ja – Asyncio-Sperren pro Finger, keine abgelegten Notizen |
Kalibrierung
| Kalibrierungsschritt | 120 ms pro Finger (Wellenfolge: Daumen → kleiner Finger) |
| Wellenmuster | Offen → nahezu 90 % → offen (pro Finger) |
| Position nach der Kalibrierung | Alle Finger bleiben im Schwebezustand (15 % Schließung) |
| Einschwingverzögerung (Start) | 300 ms bevor die Welle beginnt |
Telemetrie und SDK
| Telemetrierate | 10 Hz Standard (konfigurierbar) |
| Plattformagent | brainco_revo_agent.py |
| Python-Abhängigkeiten | pyserial (USB) · bleak (BLE) · websockets (Plattform) |
| URDF | Verfügbar für ROS1 und ROS2 |
| Snapshot-Felder | connected, mode, positions (float[5]), positions_dict, is_pressing, any_pressing, current_note, command_count |