Guia de Configuração VLAI L1

Configuração passo a passo completa para o VLAI L1 — desde a abertura da caixa até a calibração dos braços duplos, navegação da base móvel e coleta de dados.

1

Montagem e Inspeção

Lista de verificação de desembalagem

  • Inspecione ambos os braços 7-DOF em busca de danos de transporte — verifique se todas as articulações se movem livremente à mão
  • Verifique se ambos os grippers de 8Nm auto-desenvolvidos estão montados de forma segura
  • Inspecione as rodas da base móvel — ambas as rodas de tração devem girar livremente sem travar
  • Verifique se a coluna de elevação desliza suavemente por toda a faixa (106–162 cm)
  • Confirme se o cabo Ethernet e o adaptador de energia estão na caixa
  • Leia o guia de segurança VLAI L1 incluído no pacote de documentação

Requisitos de espaço de trabalho

  • Área mínima do piso: Superfície clara e nivelada de 2 m × 2 m
  • Pegada do robô: 46 cm L × 60 cm C — permita espaço livre em todos os lados
  • Alcance do braço: 63 cm por braço — certifique-se de que não há obstáculos ao alcance quando os braços estão estendidos
  • Energia: Tomada padrão 110V/220V a até 2 m
2

Instalação do SDK e Configuração de Rede

Requisitos

  • Python 3.10+ (3.11 recomendado)
  • Nível de desenvolvedor ou superior (o nível juvenil não inclui acesso ao SDK)
  • L1 ligado e conectado à mesma rede local (Ethernet ou Wi-Fi de 5GHz)

Instale o SDK

pip install roboticscenter

Conecte e abra o painel de teleop do navegador

rc connect --device l1
# Terminal prints: Session ready → https://platform.roboticscenter.ai/session/RC-XXXX-XXXX
# Open the URL in any browser to access the full teleop panel

Transmita dados das articulações via Python

from roboticscenter import L1Robot

robot = L1Robot.connect()
print(robot.session_url)

for frame in robot.stream():
    joints = frame.data['joints']
    print(f"Left:  {joints['left_arm']}")
    print(f"Right: {joints['right_arm']}")
    print(f"Base:  {frame.data['base']}")
Sem hardware ainda? Use o modo simulado Executar rc connect --device l1 --mock para iniciar uma sessão L1 totalmente simulada. Todos os métodos do SDK, o painel de teleop do navegador e a gravação de dados funcionam de forma idêntica no modo simulado — útil para pipelines de CI e prototipagem de fluxo de trabalho antes do envio da sua unidade.
3

Calibração de Braços Duplos

Os braços L1 usam o protocolo de motor MIT com feedback de codificador duplo e controle FOC. A calibração define as posições de origem e verifica a especificação de precisão total de ±0,02 mm.

Verifique os estados das juntas do ROS2

ros2 topic list
ros2 topic echo /joint_states    # verify all 16 DOF are publishing

Inicie o MoveIt2 para planejamento de movimento

ros2 launch l1_moveit l1_moveit.launch.py
# Opens RViz with full dual-arm URDF, collision checking, and Cartesian planning

Calibração da posição de origem

  • No painel RViz do MoveIt2, navegue até o Planejamento aba
  • Selecione o origem alvo nomeado para ambos os braços
  • Clique Planejar e Executar — os braços devem se mover para a posição neutra estendida
  • Verifique se os estados das juntas correspondem à configuração de origem esperada no terminal

Calibração do gripper

# Open grippers fully
ros2 topic pub /left_gripper/cmd std_msgs/Float32 "{data: 0.0}"
ros2 topic pub /right_gripper/cmd std_msgs/Float32 "{data: 0.0}"

# Close to 50% — verify 8Nm grippers engage smoothly
ros2 topic pub /left_gripper/cmd std_msgs/Float32 "{data: 0.5}"
ros2 topic pub /right_gripper/cmd std_msgs/Float32 "{data: 0.5}"
4

Navegação da Base Móvel

Teste de direção com teclado WASD

Abra o painel de teleop do navegador e use as teclas WASD para dirigir a base diferencial. A escala de velocidade é ajustável através do controle deslizante do painel (10%, 50%, 100%).

# Or command directly via ROS2 Twist
ros2 topic pub /base/cmd_vel geometry_msgs/Twist \
  "{linear: {x: 0.3, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.0}}"

# Stop
ros2 topic pub /base/cmd_vel geometry_msgs/Twist \
  "{linear: {x: 0.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.0}}"

Teste de faixa de elevação

Use o controle deslizante vertical no painel de teleop do navegador para testar toda a faixa de elevação (106–162 cm) a 30 mm/s. Verifique o movimento suave em toda a faixa, sem travamentos ou rangidos.

# Monitor lift height
ros2 topic echo /lift/state   # current height in meters
Segurança Mantenha os espectadores afastados da área de trabalho do braço quando o robô estiver em movimento. O L1 atinge uma velocidade máxima de 2 m/s — inicie os testes a 10% da escala de velocidade.
5

Primeira Tarefa de Manipulação

Controles do painel de teleoperação do navegador

  • Visão de braço duplo: Visualização 3D em tempo real de ambos os braços de 7 DOF — ângulos de junta, pose do efetor final (6D) e status do gripper com taxa de atualização de <10ms
  • Seletor de modo do efetor final: Alternar por braço de forma independente: Gripper (padrão 8Nm), mão dextra ou ventosa
  • Fluxos de câmera: Câmera do peito (Developer+), câmeras de pulso esquerda/direita (Developer Max)

Captura e colocação simples via MoveIt2

from roboticscenter import L1Robot

robot = L1Robot.connect()

# Move left arm to approach pose
robot.left_arm.move_to(x=0.45, y=0.15, z=0.30, roll=0, pitch=90, yaw=0)

# Open left gripper
robot.left_arm.gripper.open()

# Move down to grasp
robot.left_arm.move_to(x=0.45, y=0.15, z=0.05, roll=0, pitch=90, yaw=0)

# Close gripper to grasp
robot.left_arm.gripper.close(force=0.6)

# Lift
robot.left_arm.move_to(x=0.45, y=0.15, z=0.35, roll=0, pitch=90, yaw=0)

Teleoperação em VR (Developer Pro e Max)

Conecte um headset compatível com OpenXR e execute rc vr --session RC-XXXX-XXXX para mapear a pose do controlador de mão diretamente para o efetor final de cada braço no espaço cartesiano, com feedback háptico proporcional à força de contato estimada.

6

Coleta de Dados & Pipeline de Um Clique

Cada rc connect sessão é uma unidade de coleta de dados nomeada. As sessões são enviadas automaticamente para o seu espaço de trabalho na Fearless Platform ao serem fechadas — nenhum passo de exportação manual é necessário.

O que é capturado por quadro

  • Dados das juntas — Posição, velocidade e esforço para todos os 16 DOF a ~500Hz com timestamps em microssegundos
  • Fluxos de câmera — RGB do peito (Developer+), RGB do pulso (Developer Max) — com timestamp e sincronizados aos dados das juntas dentro de ±1ms
  • Força / contato — Estimativa da força da mandíbula do gripper a partir da corrente do motor
  • Estado base — Odometria de roda, velocidade linear/angular, altura de elevação
  • Ações do operador — Fluxo de comando teleoperado bruto para aprendizado por imitação

Rotulagem de episódios durante a coleta

  • Pressão Espaço no painel do navegador para marcar os limites do episódio
  • Pressão L para anotar o quadro atual com uma string de rótulo personalizada

Agente ROS2 para ponte de nuvem

# Run on the L1's onboard computer to bridge topics to the platform
python l1_robot_agent.py \
  --backend wss://platform.roboticscenter.ai \
  --session RC-XXXX-XXXX \
  --ros2

Formatos de exportação de conjunto de dados

Sessões limpas e anotadas exportadas no formato LeRobot (HDF5 + manifesto JSON), RLDS ou JSONL bruto + MP4. Use o Dados guia na plataforma para configurar a exportação e download.

Pipeline com um clique Após o término de uma sessão, use o pipeline da plataforma: Limpar → Anotar → Treinar (ACT, Política de Difusão ou VLA). Os níveis Developer Pro e Max desbloqueiam o treinamento VLA; o nível Developer suporta ACT e Política de Difusão.
← Voltar para Visão Geral Especificações completas →

Precisa de ajuda com a configuração?

Visite o fórum da comunidade ou entre em contato com o suporte SVRC — lidamos com garantia e acesso ao SDK para os EUA.