Trabalhar com datasets
Cada sessão de teleoperação na AY-Robots produz dados de demonstração estruturados no formato LeRobot, o formato de intercâmbio de facto para dados de manipulação. Esta página explica o que está dentro de um dataset, como inspecionar e curar episódios no painel, como funciona a combinação e como o marketplace se encaixa.
Última atualização 2026-08-09
O formato de dataset LeRobot
A AY-Robots armazena todos os dados de demonstração no formato de dataset LeRobot, mantido pela Hugging Face. A vantagem prática é a portabilidade: um dataset gravado aqui carrega diretamente em código de treino baseado em LeRobot, e datasets gravados noutro lugar no mesmo formato podem ser carregados e usados na plataforma sem conversão.
Um dataset é uma coleção de episódios. Um episódio é uma tentativa completa de uma tarefa, desde um estado inicial definido até ao ponto em que parou de gravar. Em disco, um episódio divide-se em três tipos de ficheiros: um ficheiro Parquet com os streams numéricos, um ficheiro de vídeo por câmara e metadados que ligam tudo entre si.
| Caminho | Conteúdo |
|---|---|
| data/.../episode_XXXXXX.parquet | Um ficheiro Parquet por episódio: timestamps frame a frame, estado de observação e ações |
| videos/... | Um MP4 por câmara por episódio, alinhado por frame com os dados Parquet |
| meta/info.json | Metadados ao nível do dataset: tipo de robô, fps, o esquema de features e contagens de episódios e frames |
| meta/episodes.jsonl | Uma linha por episódio com o seu índice, comprimento e a tarefa a que pertence |
| meta/tasks.jsonl | As strings de tarefa em linguagem natural que os episódios referenciam por índice |
O esquema de features em info.json é o que o código de treino lê para compreender os seus dados: que chaves de observação existem, as suas formas e a taxa de gravação. Dois datasets só são compatíveis se os seus esquemas coincidirem, que é exatamente o que a validação de combinação verifica.
Os valores das juntas são percentagens, não graus
Todos os valores de juntas nos datasets da AY-Robots são normalizados segundo o LeRobot: cada valor varia entre -100 e 100 e representa uma percentagem do intervalo calibrado dessa junta, não um ângulo em graus. Uma leitura de 0 é o centro do intervalo calibrado, -100 e 100 são os seus limites.
Os pontos zero dos servos diferem entre braços físicos, pelo que ângulos brutos de duas unidades SO-100 descrevem poses diferentes. Normalizar para o intervalo calibrado torna as gravações comparáveis entre braços e é o que os pipelines de treino LeRobot esperam. Se precisar de ângulos para as suas próprias ferramentas, converta usando os seus dados de calibração; a plataforma não armazena graus.
Datasets na cloud no painel
Dashboard > Datasets lista os seus datasets na cloud com contagens de episódios, tamanhos de ficheiro e estado de recolha. Os datasets são criados automaticamente quando uma sessão de teleoperação grava dados, e também pode criar um explicitamente e preenchê-lo carregando gravações a partir do desktop client.
- Criar: novos datasets aparecem automaticamente a partir de sessões, ou crie um vazio e carregue dados para ele.
- Renomear: altere o nome de exibição a qualquer momento; a alteração não toca nos dados em si.
- Eliminar: remove o dataset e todos os seus episódios e ficheiros. A eliminação é permanente, por isso descarregue um arquivo primeiro caso possa precisar dos dados novamente.
O explorador de episódios
Abrir um dataset leva-o ao explorador de episódios. Cada episódio tem um leitor de vídeo para os seus streams de câmara e gráficos de juntas sincronizados que traçam os valores normalizados de junta ao longo do episódio. Percorrer o vídeo move o cursor do gráfico com ele, o que torna rápido detetar problemas: uma aproximação brusca aparece como picos nos gráficos, uma preensão falhada é visível no canal da garra antes mesmo de ver o vídeo.
Rótulos de episódio: Success, Recovery, Failure
Cada episódio pode ter um de três rótulos. Success marca uma demonstração limpa da tarefa. Recovery marca um episódio em que algo correu mal a meio da tentativa e foi corrigido; estes são valiosos porque ensinam uma policy a voltar ao caminho certo. Failure marca episódios que não atingiram o objetivo e devem geralmente ficar fora do treino. Rotular enquanto revê é muito mais barato do que depurar uma policy que aprendeu silenciosamente com demonstrações más.
Combinar datasets
A combinação junta várias gravações num dataset maior, por exemplo uma semana de sessões na mesma tarefa ou gravações de dois braços calibrados. A combinação toma múltiplos arquivos tar.gz, cada um contendo um dataset LeRobot, e produz um único dataset com episódios reindexados.
- 1Prepare os arquivos
Cada entrada tem de ser um dataset LeRobot completo, empacotado como um arquivo tar.gz, incluindo o seu diretório meta. Arquivos parciais sem info.json não podem ser validados e são rejeitados.
- 2Carregue vários arquivos
Em Dashboard > Datasets, inicie uma combinação e selecione todos os arquivos tar.gz que quer combinar num só passo.
- 3Validação
A plataforma verifica se fps, o esquema de features e robot_type coincidem em todas as entradas. Se algum dos três diferir, a combinação é rejeitada com a incompatibilidade indicada, porque um dataset combinado com streams inconsistentes corromperia silenciosamente o treino.
- 4Reveja o resultado
O dataset combinado aparece na sua lista com a contagem de episódios combinada. Abra o explorador de episódios e verifique alguns episódios de cada origem antes de treinar com ele.
As três regras de compatibilidade são estritas de propósito. Incompatibilidades de frame rate mudam o significado de cada timestep, incompatibilidades de esquema quebram os loaders por completo, e misturar tipos de robô produz um dataset sobre o qual nenhuma policy consegue agir. Se precisar de combinar dados de braços diferentes do mesmo modelo, não há problema: robot_type refere-se ao modelo, não à unidade física.
O marketplace de datasets
O marketplace permite comprar datasets gravados por outros e vender os seus próprios. Os datasets comprados chegam ao seu painel na mesma estrutura LeRobot das suas próprias gravações, por isso funcionam com o explorador de episódios, a combinação e o treino sem passos adicionais.
Se vender, cure antes de listar. Reveja os episódios, rotule-os com honestidade e certifique-se de que as strings de tarefa descrevem o que de facto acontece nas gravações. Um comprador que avalia o seu dataset vê o mesmo explorador de episódios que você, e datasets com rótulos limpos e demonstrações consistentes valem mais do que despejos brutos de tudo o que alguma vez gravou.
Perguntas frequentes
Qual é o tamanho típico de um episódio?▾
Aproximadamente 5 a 15 MB para um episódio de 10 a 20 segundos com duas câmaras a 30 fps, dependendo da complexidade da cena. Um dataset a sério com algumas centenas de episódios fica na casa de poucos gigabytes.
Posso descarregar os meus datasets?▾
Sim. Os datasets podem ser descarregados como arquivos a partir do painel. Como a estrutura é o LeRobot padrão, o download funciona diretamente com as ferramentas LeRobot e o seu próprio código de treino.
Posso combinar datasets de tipos de robô diferentes?▾
Não. A combinação exige que fps, o esquema de features e robot_type coincidam em todas as entradas. Dados de dois braços físicos diferentes do mesmo modelo podem ser combinados, desde que ambos os braços tenham sido calibrados.
Os gráficos de juntas mostram graus?▾
Não. Todos os valores de junta são normalizados segundo o LeRobot para o intervalo -100 a 100, expressos como percentagem do intervalo calibrado de cada junta. É também exatamente o que é armazenado nos ficheiros Parquet.
O que acontece quando elimino um dataset?▾
O dataset e todos os seus episódios, vídeos e metadados são removidos permanentemente. Não há forma de desfazer, por isso descarregue um arquivo primeiro se não tiver a certeza.
Treine ACT, Diffusion Policy, SmolVLA e fine-tunes do GR00T nos seus datasets de teleoperação na cloud, depois corra a policy no seu próprio braço.
Instale a aplicação desktop da AY-Robots em macOS, Windows ou Linux, grave episódios do SO-100 com o fluxo guiado, exporte dados LeRobot e use a CLI e o MCP.