Mão Biónica — Controle USB e BLE
Especificações do BrainCo Revo II
Especificações técnicas completas da documentação do desenvolvedor do BrainCo Revo II.
Física e Cinemática
| Fornecedor | BrainCo |
| Modelo | Revo II (configuração da mão esquerda) |
| DOF total | 6 (polegar 2 DOF + indicador/médio/anular/mínimo 1 DOF cada) |
| DOF do polegar | Flexão + rotação (rotação = flexão × 0,4) |
| DOF do dedo | 1 DOF de flexão cada: indicador, médio, anular, mínimo |
| Faixa de Posição | 0,0 = totalmente aberto · 1,0 = totalmente fechado (float normalizado) |
| Faixa do Protocolo de Comunicação | 0–100 inteiro (porcentagem de fechamento) |
Interface USB-CDC
| InterfaceUSB | USB-CDC (porta COM virtual) |
| Dispositivo Linux | /dev/ttyACM0 |
| Carga de transmissão | 115200 (exato — nenhuma outra taxa funciona) |
| Dependência do Python | pyserial |
Bluetooth Low Energy (BLE) GATT
| UUID do Serviço BLE | 0000ffe0-0000-1000-8000-00805f9b34fb |
| Recurso escrito | 0000ffe1-0000-1000-8000-00805f9b34fb |
| Característica de Notificação | 0000ffe2-0000-1000-8000-00805f9b34fb |
| Dependência do Python | bleak |
Protocolo de Comando
| Formato | JSON terminado em nova linha, codificado em 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]} — todas as cinco posições atomicamente |
| calibrar | {"cmd":"calibrate"} — bloquear os limites de viagem do firmware |
Tempo do modo lento
| Fase 1 — Estender | 20 ms, dedo na posição de pairar (0,15 = 15% de fechamento) |
| Fase 2 — Acionar | 30 ms, acionar até a profundidade de pressão (0,55–0,95 proporcional à velocidade) |
| Fase 3 — Manter | Duração configurável — tecla pressionada |
| Fase 4 — Retrair | 20 ms, levantar de volta para a posição de pairar |
| Faixa de Profundidade de Pressão | 0,55 (velocidade=0,0) a 0,95 (velocidade=1,0) |
| Posição de Pairar | 0,15 (15% de fechamento — neutro pronto para pressionar) |
| Pressões Concomitantes | Sim — bloqueios asyncio por dedo, sem notas perdidas |
Calibração
| Etapa de Calibração | 120 ms por dedo (sequência de onda: polegar → mínimo) |
| Padrão de Onda | Abrir → fechar até 90% → abrir (por dedo) |
| Posição Pós-Calibração | Todos os dedos se estabilizam na posição de pairar (15% de fechamento) |
| Atraso de Estabilização (início) | 300 ms antes do início da onda |
Telemetria e SDK
| Taxa de Telemetria | 10 Hz padrão (configurável) |
| Agente de Plataforma | brainco_revo_agent.py |
| Dependências do Python | pyserial (USB) · bleak (BLE) · websockets (plataforma) |
| URDF | Disponível para ROS1 e ROS2 |
| Campos de Snapshot | conectado, modo, posições (float[5]), positions_dict, is_pressing, any_pressing, current_note, command_count |