O que é Teleoperação — e por que isso é importante?

Teleoperação é o ato de controlar os movimentos de um robô remotamente em tempo real. No contexto do aprendizado de robôs, serve a um propósito específico e crítico: permite que os humanos transfiram sua própria inteligência física para uma forma que o robô possa aprender. Quando você teleopera um braço para pegar um objeto, o braço registra exatamente como você o moveu — cada ângulo de junta, velocidade e estado do gripper, a 50Hz. Essa gravação se torna uma demonstração. Com demonstrações suficientes, uma rede neural pode aprender a reproduzir seu comportamento sem nenhum humano no loop.

A qualidade da sua teleoperação determina diretamente a qualidade da sua política. Movimentos suaves, consistentes e deliberados produzem bons dados de treinamento. Movimentos bruscos, hesitantes ou inconsistentes confundem o modelo. É por isso que você está gastando uma unidade inteira em teleoperação antes de gravar uma única demonstração na Unidade 4 — você precisa se tornar proficiente antes que os dados comecem a contar.

Leitura Mais Profunda — Opcional

Visão Geral dos Sistemas de Teleoperação

Abrange teleoperação em VR, feedback háptico, arquiteturas de líder-seguidor e considerações de latência. Leia antes da Unidade 3 se quiser entender todo o espaço de design. Abrir na Biblioteca de Robótica →

Configuração da Sessão de Teleoperação

A configuração da sessão prática está documentada em detalhes em hardware/openarm/data-collection. Siga esse guia a partir da seção "Configuração de Teleoperação". Os passos abaixo resumem o fluxo:

  1. Escolha seu método de teleoperação

    Para este caminho, use o método líder-seguidor (recomendado): um segundo braço OpenArm atua como o líder e você o move fisicamente enquanto o seguidor (seu braço de coleta de dados) espelha o movimento. Se você tiver apenas um braço, use a teleoperação por teclado com a classe do SDK SVRC KeyboardTeleop — é mais lenta, mas funciona.

  2. Inicie o servidor de teleoperação

    Com ambos os braços conectados e o ROS 2 em execução, inicie o nó de teleoperação: ros2 launch openarm_teleop leader_follower.launch.py. Você deve ver o espelhamento do estado das juntas na saída do terminal imediatamente. A interface web em localhost:8080/teleop mostra uma visualização ao vivo.

  3. Defina a velocidade para 30% para sua primeira sessão

    O parâmetro de velocidade no arquivo de lançamento padrão é 100%. Para sua primeira sessão, defina speed_scale:=0.3. Uma velocidade mais lenta lhe dá mais tempo para reagir, reduz a chance de limites de juntas e produz demonstrações mais suaves. Aumente para 60–80% uma vez que você esteja confortável.

  4. Pratique o movimento da tarefa alvo

    Antes de gravar qualquer coisa, passe 20–30 minutos praticando o movimento de pegar e colocar que você usará na Unidade 4. Busque posições de início e fim consistentes. O robô deve retornar à mesma pose inicial antes de cada tentativa. A consistência aqui é o que torna seu conjunto de dados aprendível.

  5. Execute uma sessão contínua de 5 minutos

    Teleopere continuamente por 5 minutos sem parar, desconectar ou acionar um erro. Isso confirma que seu braço, cabos e barramento CAN estão estáveis o suficiente para uma sessão de gravação completa. Se o braço parar ou gerar um erro durante este teste, diagnostique antes de passar para a Unidade 4.

Mergulho Opcional

Teleoperação com Luvas

Se você tiver uma luva de dados (como a Paxini Gen3 ou a luva Brainco), pode usá-la como uma interface de teleoperação mais natural que captura dados ao nível dos dedos. Isso não é necessário para a demonstração de pegar e colocar neste caminho, mas desbloqueia tarefas de manipulação ágil. Leia o guia de teleoperação da luva →

Unidade 3 Completa Quando...

Você pode teleoperar o braço continuamente por 5 minutos sem interrupções, erros de conexão ou limites de juntas. O braço segue seu braço líder (ou entradas do teclado) suavemente. Você praticou o movimento de pegar e colocar o suficiente para executá-lo de forma consistente — mesma posição inicial, mesma posição final, mesmo tempo de aperto — pelo menos 8 vezes em 10. Essa consistência é o que você levará para a Unidade 4.