Pular para o conteúdo principal

Estágio 3 · Capítulo 12 · Teoria

12. Conjuntos de Dados de Robôs e Design de Tarefas

Capítulo 12 do Curso para Iniciantes em IA Física da Seeed — o que é um Episódio, o que há em um registro de dados, carimbos de tempo e sincronização, condições de início/fim, consistência vs diversidade, quantidade vs qualidade de dados e um exemplo prático de criação de dados.

12.1 O Que é um Episódio?​

Episódio

12.1 O Que é um Episódio?

A partir deste capítulo, cada operação que você faz significa que você mudou de papel — você não é mais o "motorista", você é o "professor". Cada ação que você realiza será registrada e se tornará o livro didático do modelo. A unidade básica desse livro didático é o Episódio.

Um Episódio é uma demonstração completa de uma tarefa. Desde o momento em que o braço está em sua pose inicial e a tarefa começa, até a conclusão da tarefa, todos os dados continuamente registrados pelo sistema constituem um Episódio.

12.2 O Que Exatamente Há em um Registro de Dados?​

Dados

12.2 O Que Exatamente Há em um Registro de Dados?

Lembre-se do Capítulo 9 — isso deve parecer familiar. Sim, é o que aprendemos antes: Observação, Estado, Ação.

Observe a origem da Ação: ela registra a ação alvo dada (via o Leader), não a posição que o Follower realmente alcançou depois. Isso corresponde exatamente à definição de clonagem comportamental — o modelo aprende "diante desta observação e estado, o que o humano pretendia fazer naquele momento".

12.3 Carimbos de Tempo e Sincronização de Dados​

Sincronização

12.3 Carimbos de Tempo e Sincronização de Dados

Imagens vão via USB, dados das juntas vão via CAN — os dois fluxos de dados naturalmente chegam ao computador em momentos diferentes. O LeRobot adiciona carimbos de tempo a cada quadro de dados, alinhando assim imagens, estados e ações do "mesmo momento" em uma única linha.

Carimbos de tempo e sincronização

12.4 Design de Tarefas: Condições de Início e Fim​

Design de tarefas

12.4 Design de Tarefas: Condições de Início e Fim

Antes de coletar dados, escreva claramente a definição da tarefa em texto. Uma boa definição de tarefa responde a duas perguntas: Onde começa? Quando termina?

Condição de Início: Dê ao Modelo um "Ponto de Partida Fixo"​

  • Pose inicial fixa do braço: todo Episódio começa a partir da mesma pose segura (por exemplo, uma pose padrão próxima de zero). Se as poses iniciais variarem muito, o primeiro passo do modelo será aprender "como entrar na tarefa a partir de qualquer pose", adicionando dificuldade desnecessária.

Condição de Fim: Trace uma "Linha de Chegada" Clara para o Episódio​

  • Fim bem-sucedido: objetivo da tarefa alcançado (por exemplo, "bloco totalmente dentro da caixa, garra solta, braço levantado para longe").
  • Término por falha: ocorre uma situação irrecuperável (objeto derrubado, recipiente tombado, braço entra em uma pose perigosa) — pare de gravar este Episódio imediatamente.

12.5 Consistência vs. Diversidade da Tarefa​

Design de dados

12.5 Consistência vs. Diversidade da Tarefa: A Tensão Central no Design de Dados

Esta é a seção mais crítica do capítulo. Dados de demonstração de alta qualidade devem satisfazer simultaneamente dois requisitos aparentemente contraditórios.

Consistência: Ensinar Uma "Maneira de Fazer"​

  • Estilo de operação consistente: para a mesma tarefa, todos os Episódios devem usar a mesma estratégia (por exemplo, sempre aproximar-se do bloco pela direita, agarrá-lo e abaixá-lo na caixa por cima). Se metade dos dados agarrar pela esquerda e metade pela direita, o modelo aprende a "média" de duas abordagens — muitas vezes um caminho estranho que não agarra nada.
  • Ritmo consistente: a velocidade de movimento e as posições de pausa devem ser aproximadamente estáveis — se você definir 20 segundos, conclua em 20 segundos. Dados que variam em velocidade tornam as ações do modelo inconsistentes em velocidade.
  • Fluxo de trabalho consistente: cada execução deve passar por todo o fluxo de trabalho "aproximar → agarrar → transportar → colocar → recuar" sem pular etapas.
  • Estado inicial da cena controlado: os objetos devem ser colocados dentro de uma área designada (a área pode ser grande, mas os limites devem ser claros); remova itens não relacionados da área de trabalho.
  • Posição fixa da câmera: as câmeras não devem se mover durante a coleta — para o modelo, mover a câmera 5 cm significa que o mundo mudou.

Diversidade: Ver Variações em Quantidade Suficiente​

  • Posições-alvo diversas: blocos aparecem em várias posições na área de trabalho (cobertura em grade, não dispersão aleatória).
  • Poses iniciais diversas: a orientação do bloco e a posição relativa a obstáculos devem variar.

12.6 Critérios de Sucesso e Falha​

Critérios

12.6 Critérios de Sucesso e Falha

Padrão Não Qualificado (Ambíguo)Padrão Qualificado (Mensurável)
"Contanto que o objeto seja mais ou menos agarrado.""A garra está totalmente fechada e agarra o centro do bloco."
"Contanto que o bloco seja colocado dentro da caixa.""O bloco é colocado próximo ao centro da caixa em vez de aleatoriamente perto da borda."
"Basta pegar o bloco e colocá-lo na caixa.""Todo o movimento deve ser suave, e a duração de cada episódio gravado deve permanecer razoavelmente consistente."

Para trechos com falha durante a gravação, o princípio é simples: grave novamente este Episódio. Não se apegue a dados com falha esperando que "talvez o modelo aprenda com isso" — o modelo de fato aprenderá, inclusive com as falhas.

"Tarefa concluída" deve ser um estado objetivamente determinável, não "parece bom o suficiente". Bons critérios de sucesso se parecem com isto:

12.7 Quantidade de Dados vs. Qualidade de Dados​

Volume de dados

12.7 Quantidade de Dados vs. Qualidade de Dados

Referência empírica (para uma única tarefa de mesa em um ambiente limpo, como uma caixa de coleta de dados; se não houver caixa de coleta de dados, aumente o tamanho do conjunto de dados):

Quantidade de DadosEfeito Esperado
50 EpisódiosPipeline funciona; o modelo começa a funcionar na área coberta pelos dados (nível inicial para tarefas introdutórias)
50–100 EpisódiosTaxa de sucesso atinge uma faixa utilizável; o ponto ideal para a maioria dos experimentos de tarefa única
100+ EpisódiosRetornos decrescentes, a menos que a tarefa seja complexa ou os requisitos de taxa de sucesso sejam muito altos

Para múltiplas tarefas, aumente os dados proporcionalmente à complexidade. Claro, os dados podem ser complementados após o treinamento — quando você perceber que o desempenho do modelo não está bom, pode adicionar mais dados.

Mas coloque esta frase antes dos números:

  • 50 Episódios de alta qualidade são melhores do que 200 mal feitos.
  • Se houver um problema na coleta de dados, não hesite — grave novamente este Episódio imediatamente.
  • Se você quiser forte capacidade de generalização, precisará de centenas ou milhares de Episódios.

12.8 Conjuntos de Dados de Tarefa Única vs. Multitarefas​

Conjuntos de dados

12.8 Conjuntos de Dados de Tarefa Única vs. Multitarefas

  • Conjunto de dados de tarefa única: um conjunto de dados contém apenas uma tarefa (por exemplo, "bloco na caixa"). O modelo tem um único objetivo, os requisitos de dados são pequenos e a taxa de sucesso é mais fácil de alcançar. Seu primeiro modelo deve começar com uma única tarefa.
  • Conjunto de dados multitarefas: um conjunto de dados contém várias tarefas (agarrar bloco, abrir gaveta, colocar bloco na gaveta); cada Episódio é rotulado com task_index para indicar a qual tarefa ele pertence. O aproveitamento de dados é alto e é a direção em rumo a políticas gerais, mas as tarefas competem pela capacidade do modelo, exigindo mais dados por tarefa para aprender bem.

12.9 Iteração de Coleta de Dados​

Iteração

12.9 Iteração de Coleta de Dados

Colete em lotes com validação iterativa: colete 50 → treine → avalie no robô real → colete mais para cenários de falha → treine novamente. Se a direção geral do modelo estiver correta, mas a precisão for ruim, adicionar dados ajuda; se o comportamento do modelo estiver completamente errado, há um problema com o design da tarefa ou dos dados, e nenhuma quantidade adicional de dados irá ajudar.

12.10 Exemplo de Criação de Dados​

Exemplo

12.10 Exemplo de Criação de Dados

Design de Cena​

  1. Coloque tubos de ensaio em um suporte para tubos de ensaio. Observação: fixe a base do suporte com fita dupla face para evitar que ele se mova; mantenha câmeras e braço em posições fixas e mantenha a iluminação inalterada.
Design da cena
  1. Coloque os tubos de ensaio de acordo com os pontos mostrados na figura; 1→2→3→4→5 é uma rodada. Colete por 10 rodadas.
Pontos de colocação dos tubos de ensaio

O problema que mais dá dor de cabeça para iniciantes ao registrar dados é "como posicionar os objetos para praticar de forma completa" — uma disposição aleatória ou aglomera tudo em uma pequena área (o modelo só reconhece aquele ponto e falha em outras posições) ou espalha de forma irregular (algumas áreas são praticadas demais, outras nunca são tocadas). É como, na revisão, só praticar exercícios que você já sabe, e depois ir mal quando a prova muda o formato; ou como mostrar para o robô apenas um tipo de lanche, de modo que ele não faça ideia por onde começar em um buffet. Aqui vai um método simples e padronizado:

  1. Marcar pontos: use um lápis para marcar 5 pontos na área de coleta de dados (caixa de coleta / tapete de mesa), dispostos em forma de cruz — 1 no centro, um em cima, embaixo, à esquerda e à direita.
  2. Definir espaçamento: pontos adjacentes devem estar separados por 5–10 cm, garantindo que todos os cinco pontos estejam dentro da área de trabalho do braço e claramente visíveis em ambos os fluxos de câmera.
  3. Distribuir: colete 10 Episódios em cada ponto; 5 pontos × 10 = 50 Episódios, o que atende à meta. Observe também: não colete 10 Episódios no ponto 1, depois 10 no ponto 2, etc.; em vez disso, colete 1 Episódio em cada ponto (5 pontos = 1 rodada) e faça 10 rodadas dessa forma.

Design de Pegada e Colocação​

  1. Posição inicial
Posição inicial
  1. Agarrar o objeto
  • Mova o braço diretamente acima do tubo de ensaio (sempre mova para o centro do tubo na mesma altura acima dele).
Mover acima do tubo de ensaio
  • Abra a garra (por que começar a uma distância fixa? Para evitar bater no tubo ao abrir a garra e deslocar sua posição).
Abrir a garra
  • Agarre sempre com a mesma força e velocidade.
Agarrar o objeto
  1. Colocar o objeto
  • Mova diretamente acima do centro do suporte de tubos de ensaio.
Mover acima do suporte
  • Abra a garra em velocidade constante e levante o braço; você deve ver o tubo se acomodar suavemente no suporte.
Colocar o objeto
  • Após colocar o tubo, retorne o braço para a posição inicial (home).
Retornar para a posição inicial

É isso — um Episódio perfeito está concluído. Agora é só repetir isso 50 vezes.

Questões de Design​

Por que não posso mover o suporte de tubos de ensaio, as câmeras, as posições dos tubos ou mudar a iluminação?

  • Desfazendo o equívoco: "Mover tudo livremente" gera ruído, não diversidade.
  • Teoria do orçamento de generalização: com dados limitados, variações gastas em uma dimensão ensinam ao modelo essa dimensão — gastar em posição do alvo o ensina a agarrar tubos em diferentes posições; gastar em variações de posição da câmera faz o modelo aprender tanto a pegada quanto as diferenças de ponto de vista, exigindo muito mais dados e produzindo resultados piores.
  • E se eu realmente precisar de variações: não se trata de "não fixar" durante a gravação, mas sim da iteração de dados suplementares depois — expandir conscientemente os limites para alcançar a generalização que buscamos.
Loading Comments...