Coleta de Dados
O VLAI L1 é projetado para coleta de dados de teleoperação em larga escala. Seu pipeline de gravação com um clique, sincronização de braços duplos e teleoperação VR embutida fazem dele o caminho mais rápido da entrega do robô para um conjunto de dados pronto para treinamento.
Gravação de Teleoperação VR Bimanual
Conectar e verificar todos os sistemas
rc connect --device l1 --host 192.168.1.45
rc status # check: arms, base, cameras, battery all green
Mover L1 para a posição de gravação
Dirija o L1 para o espaço de trabalho da tarefa usando WASD no painel do navegador. Defina a altura de elevação para a tarefa (por exemplo, 130 cm para manipulação em mesa). Estacione e trave as rodas.
rc teleop --device l1 # open browser panel
# Drive to position, then lock:
python -c "from roboticscenter import L1; r=L1('192.168.1.45'); r.connect(); r.base.lock_wheels(); r.disconnect()"
Configure a cena da tarefa e as câmeras
Coloque os objetos da tarefa em posições iniciais consistentes. Verifique as visualizações das câmeras no painel do navegador — ambas as câmeras de pulso (Desenvolvedor Max) e quaisquer câmeras externas devem cobrir o espaço de trabalho da tarefa.
Inicie a gravação da sessão via CLI
rc record \
--device l1 \
--task "Pick up the bottle and pour into the glass" \
--num_episodes 50 \
--output ~/datasets/l1-pour-v1 \
--teleop_mode vr # or: browser, leader_arms
# Press ENTER in VR to start each episode, ENTER again to end
Revise os episódios
rc replay \
--dataset ~/datasets/l1-pour-v1 \
--episode 0
O visualizador mostra todos os fluxos de câmera + séries temporais do estado das articulações sincronizadas. Exclua episódios ruins antes de enviar.
Envie para o HuggingFace Hub
huggingface-cli login
rc push_dataset \
--dataset ~/datasets/l1-pour-v1 \
--repo_id your-username/l1-pour-v1
Esquema do Conjunto de Dados L1
O pipeline de gravação L1 produz um conjunto de dados multimodal com ambos os braços, a base móvel, todas as câmeras e anotações de linguagem opcionais.
Lista de Verificação de Qualidade
O teleop VR do L1 pode introduzir problemas únicos de qualidade de dados relacionados à latência e coordenação bimanual. Revise isso antes de enviar para o Hub.
-
1A latência do VR estava abaixo de 50ms durante a gravação Verifique o monitor de latência no painel do navegador durante a gravação. Acima de 50ms, os movimentos das mãos do operador atrasam as ações do robô, criando um desajuste causal no conjunto de dados. Regrave em um canal WiFi de menor latência, se necessário.
-
2Ambos os braços se moveram como pretendido (sem episódios de braço único) Para tarefas bimanuals, verifique se ambos os braços mostram movimento significativo em
observation.left_arm_stateeobservation.right_arm_stateEpisódios dominantes de braço único podem indicar que o operador favoreceu uma mão. -
3A base móvel estava estacionária durante a manipulação do braço A menos que você esteja gravando tarefas de manipulação móvel,
observation.base_statedeve ser quase constante dentro de cada episódio. O movimento da base durante a manipulação faz com que o espaço de trabalho se desloque em relação às câmeras. -
4Todos os fluxos de câmera presentes durante todo o episódio A largura de banda WiFi do L1 pode perder quadros sob carga. Execute
rc validate_dataset --dataset ~/datasets/l1-pour-v1para verificar se há quadros ausentes em todos os fluxos de câmera. -
5A instrução de linguagem corresponde ao que foi demonstrado A instrução de linguagem é definida antes do início da gravação. Se o operador improvisou uma abordagem diferente (por exemplo, usou um braço em vez de dois), atualize a instrução ou exclua o episódio.
Treinando um VLA a partir de seu Conjunto de Dados
Uma vez que seu conjunto de dados esteja no HuggingFace Hub, ajuste finamente um VLA com o espaço de ação do L1.
Ajuste fino do OpenVLA com dados do L1
pip install roboticscenter[vla]
python -m roboticscenter.scripts.finetune_vla \
--model openvla/openvla-7b \
--dataset your-username/l1-pour-v1 \
--action_space l1_bimanual \ # registers the 16-DOF bimanual action head
--epochs 50 \
--output_dir outputs/openvla-l1-pour
Implantar VLA ajustado no dispositivo (Desenvolvedor Pro/Max)
rc implantar vla \