🧪 Novos tutoriais em andamento — do braço robótico ao sensor
Ir para o conteúdo

Etapa 6: implementação do modelo (Windows) ​

Esta etapa carrega a política treinada para que o robô execute a tarefa de forma autónoma e grava vídeos de avaliação para verificar o resultado. É a conclusão de todo o fluxo e também o momento decisivo para aferir o resultado do treino.


Pré-requisitos ​

  • Etapa 5: Treino do modelo concluída

  • O treino gerou outputs/train/soarm_amazing_hand_pick/checkpoints/last/pretrained_model/

  • Índices das câmaras registados


Passo 1: Confirmar os ficheiros do modelo ​

PowerShell
# Confirmar que o diretório do modelo existe
dir outputs\train\soarm_amazing_hand_pick\checkpoints\last\pretrained_model

Deve conter ficheiros de modelo como model.safetensors.

⚠️ Nota (caminho do modelo): --policy.path deve apontar para o diretório pretrained_model (com configuração + pesos), e não para o diretório raiz do checkpoint.


Passo 2: Implementar e avaliar ​

PowerShell
lerobot-rollout `
  --strategy.type=episodic `
  --robot.type=so101_amazing_hand `
  --robot.port=<follower_arm_com> `
  --robot.hand_port=<hand_com> `
  --robot.id=amazing_hand_follower `
  --robot.cameras='{
    wrist: {type: opencv, index_or_path: 0, width: 640, height: 480, fps: 30, fourcc: "MJPG"},
    top: {type: opencv, index_or_path: 1, width: 640, height: 480, fps: 30, fourcc: "MJPG"}
  }' `
  --policy.path=outputs\train\soarm_amazing_hand_pick\checkpoints\last\pretrained_model `
  --dataset.repo_id=rollout_soarm_amazing_hand_pick_eval `
  --dataset.root=D:\lerobot_data `
  --dataset.push_to_hub=false `
  --dataset.num_episodes=10 `
  --dataset.single_task="Pick up the cube with the dexterous hand" `
  --display_data=true

Substitua <follower_arm_com> / <hand_com> pelos números COM reais; e o index_or_path das câmaras pelo índice das suas câmaras.

💡 Nota: usa-se lerobot-rollout mas sem adicionar ****--teleop.type; a política controla o robô de forma autónoma (substituindo a teleoperação manual). Os dados são guardados como conjunto de avaliação. --dataset.root / --dataset.push_to_hub=false são iguais aos da Etapa 4; gravação totalmente local, sem necessidade de iniciar sessão no HF.


Operações de avaliação ​

  1. Reponha o robô + a mão na posição inicial

  2. Prima Enter para começar: a política executa a tarefa de forma autónoma

  3. Observe se a garra agarra com sucesso (prima Enter no fim de cada episódio para continuar)

  4. Repita por num_episodes episódios

Métrica de avaliação: taxa de sucesso = episódios com sucesso / total de episódios

⚠️ Nota 1 (consistência da reposição): comece cada episódio na mesma posição inicial, caso contrário a generalização da política falha e a taxa de sucesso fica artificialmente baixa.

⚠️ Nota 2 (segurança): na primeira execução autónoma, recomenda-se segurar com a mão/observar a velocidade reduzida para confirmar que os movimentos da política são razoáveis. A política pode executar movimentos inesperados.

⚠️ Nota 3 (expectativa de taxa de sucesso): o ACT normalmente atinge 50-80% de taxa de sucesso com 20 episódios de dados. Se ficar abaixo do esperado, volte atrás para gravar mais dados ou ajuste o número de passos de treino.


Otimização iterativa ​

Se a taxa de sucesso da avaliação não for satisfatória, ajuste por ordem de prioridade:

PrioridadeItem de otimizaçãoAção
1Gravar mais dados de alta qualidadeVolte à Etapa 4 e grave 20-30 episódios adicionais mais consistentes
2Aumentar o número de passos de treinoVolte à Etapa 5, --steps=100000
3Verificar a consistência da posição inicialRepor rigorosamente a posição em cada episódio da avaliação
4Ajustar a descrição da tarefaGaranta que single_task corresponde à tarefa

Até aqui conclui-se o ciclo completo do SO-ARM101 + AmazingHand: calibração → teleoperação → recolha → treino → implementação.


Resolução de problemas ​

SintomaCausaSolução
Falha ao carregar o modeloCaminho errado/incompletoConfirme que --policy.path aponta para o diretório pretrained_model
A política não se moveCâmara/observação incorretasConfirme que os índices das câmaras são iguais aos do treino; verifique a imagem de --display_data
A política move-se de forma aleatóriaPosição inicial inconsistente/dados fracosReponha rigorosamente; grave mais dados
Comportamento diferente do treinoDiferenças de ambienteConfirme que câmaras, iluminação e posição dos objetos são iguais aos da gravação