Gravando Demonstrações Tácteis

Dados táteis são a modalidade ausente na maioria dos conjuntos de dados de aprendizado de robô. Esta página explica por que isso é importante, como gravar fluxos sincronizados de tátil + braço + câmera, o formato de conjunto de dados estendido e como treinar políticas que usam entradas táteis.

Por que Dados Tácteis Melhoram o Aprendizado de Robôs

A visão informa uma política onde o gripper está. A propriocepção informa quão longe os dedos estão fechados. Nenhum deles informa se o agarre é estávelUma política treinada apenas com dados de visão + articulação deve aprender a inferir a qualidade do agarre indiretamente — a partir do movimento do objeto, limites de força do braço ou tentativa e erro durante a execução. Adicionar sensoriamento táctil fornece supervisão direta do estado de contato: a política recebe um sinal de verdade fundamental que distingue um agarre seguro de um propenso a escorregar em cada instante de tempo de cada demonstração. Isso é especialmente impactante para objetos deformáveis, transparentes ou de tamanhos variáveis, onde a estimativa da qualidade do agarre visual é pouco confiável.

Configuração de Hardware para Gravação Sincronizada

Um equipamento de gravação multimodal completo requer três camadas de hardware, todas sincronizadas a um relógio comum:

  1. Braço robótico — fornece posições de articulação, velocidades e pose do efetor final a 100–500 Hz via USB ou Ethernet. Use a API de timestamp do SDK do braço, não o tempo do sistema, para obter o estado da articulação com timestamp de hardware.
  2. Sensor(es) Paxini Gen3 — conectado a um hub USB alimentado montado no pulso do robô. Cada quadro é timestampado pelo PC host no tempo de interrupção USB (resolução em nanossegundos, <0,5 ms de jitter).
  3. Câmera — uma câmera montada no pulso (opcional: uma câmera acima). Use uma câmera USB ou GigE com sincronização de gatilho de hardware, ou uma câmera acionada por software com latência conhecida. Grave a 30–60 fps.

Todas as três fontes escrevem timestamps usando o mesmo relógio monotônico do host. O SDK da plataforma MultiSourceRecorder alinha quadros no tempo de pós-processamento usando interpolação de timestamps.

# Complete synchronized recording session de paxini.sync importar MultiSourceRecorder # ... perform the manipulation demo ... recorder.terminar_episódio() # saves episode_000.hdf5

Formato do Conjunto de Dados — Esquema LeRobot Estendido

O pipeline de coleta de dados Paxini Gen3 estende o formato padrão de conjunto de dados HDF5 do LeRobot com canais táteis adicionais. As ferramentas existentes do LeRobot (carregamento de dados, visualização, treinamento de políticas) permanecem totalmente compatíveis — as novas chaves são simplesmente ignoradas por pipelines que não as utilizam.

Chave HDF5 Forma Fonte
observação.estado(T, 7)Posições das juntas do braço + largura do gripper
observação.imagens.pulso(T, H, W, 3)Câmera do pulso (uint8 RGB)
ação(T, 7)Posições das juntas alvo + comando do gripper
observação.tátil.mapa_de_pressão(T, 8, 8)Array de pressão Paxini Gen3 (kPa, float32)
observação.tátil.força_total_n(T,)Força normal total por quadro (Newtons)
observação.tátil.em_contato(T,)Sinal booleano de contato por quadro
observação.tátil.centóide_de_contato(T, 2)Centróide de contato (linha, coluna) por quadro
meta/timestamps_ns(T,)Carimbos de nanosegundos para todos os canais

Novas teclas táteis estão destacadas. Todas as outras teclas seguem o esquema padrão do LeRobot.

Lista de Verificação de Qualidade para Dados Táteis

Execute a calibração de base antes de cada sessão Chamar sensor.calibrate() com o gripper aberto e descarregado. Isso zera o auto-contato dos dedos e o estresse do cabo. Recalibre se o braço for reposicionado significativamente.
Verifique se os eventos de contato estão alinhados com o vídeo Revise 5 episódios no visualizador de dados antes de coletar seu conjunto de dados completo. O in_contact bordo ascendente deve coincidir com o momento visível de contato entre a ponta do dedo e o objeto na transmissão da câmera. Um atraso >20 ms indica um problema de alinhamento de carimbo de tempo.
Cubra toda a faixa de força em suas demonstrações Tente registrar pegadas em níveis de aperto leve, médio e firme. Se todas as suas demonstrações usarem a força máxima do gripper, a política não aprenderá a modular a pressão de contato. Varie o peso e a conformidade do objeto entre os episódios.
Marque e exclua eventos de deslizamento dos dados de treinamento Episódios em que o objeto escorrega no meio da pegada, mas a demonstração continua até um resultado bem-sucedido, contêm um sinal de supervisão conflitante. Use o SDK para paxini.annotate.flag_slip_events(episode) marcar automaticamente esses para revisão.
Verifique a saturação do sensor Se pressure_map.max() atingir 600 kPa em qualquer episódio, o sensor está saturando. Reduza a força do gripper ou use a variante de palma (menor pressão de pico por taxel) para pegadas mais pesadas.

Treinamento de Política com Entradas Táteis

Para adicionar tátil como uma modalidade de observação na Política ACT ou Diffusion, estenda a configuração de observação para incluir o mapa de pressão ou o escalar agregado (força_total_n). O mapa de pressão fornece informações espaciais completas, mas adiciona 64 floats por quadro por sensor; o escalar é mais fácil de integrar e suficiente para tarefas de qualidade de pegada binária.

# ACT config snippet — add tactile to observation space chaves_de_observação: # joint positions - imagens.observação.pulso # camera - observação.tátil.força_total_n # scalar - observação.tátil.mapa_de_pressão # optional: full map # Normalize tactile observations normalização_tátil: # kPa statistics from your dataset

Para o guia completo de treinamento — incluindo como calcular estatísticas de normalização a partir de seu conjunto de dados gravado e avaliar em relação a uma linha de base somente de visão — veja o caminho de aprendizado Unidade 5.

Para um contexto mais amplo sobre estratégias de coleta de dados de mãos ágeis, veja o guia de Mãos Ágeis.