Guía de configuración VLAI L1

Configuración completa paso a paso para el VLAI L1: desde el desempaquetado hasta la calibración de doble brazo, navegación de base móvil y recolección de datos.

1

Montaje e Inspección

Lista de verificación de desembalaje

  • Inspeccione ambos brazos de 7-DOF en busca de daños por envío — verifique que todas las articulaciones se muevan libremente a mano
  • Verifique que ambos grippers autodesarrollados de 8Nm estén montados de forma segura
  • Inspeccione las ruedas de la base móvil — ambas ruedas motrices deben girar libremente sin atascos
  • Verifique que la columna de elevación se deslice suavemente a través de todo el rango (106–162 cm)
  • Confirme que el cable Ethernet y el adaptador de corriente están en la caja
  • Lea la guía de seguridad VLAI L1 incluida en el paquete de documentación

Requisitos del espacio de trabajo

  • Área mínima del suelo: Superficie clara y nivelada de 2 m × 2 m
  • Huella del robot: 46 cm de ancho × 60 cm de largo — permita espacio libre en todos los lados
  • Alcance del brazo: 63 cm por brazo — asegúrese de que no haya obstáculos al alcance cuando los brazos estén extendidos
  • Potencia: Toma de corriente estándar de 110V/220V dentro de 2 m
2

Instalación del SDK y configuración de la red

Requisitos

  • Python 3.10+ (se recomienda 3.11)
  • Nivel de desarrollador o superior (el nivel juvenil no incluye acceso al SDK)
  • L1 encendido y conectado a la misma red local (Ethernet o Wi-Fi de 5GHz)

Instala el SDK

pip install roboticscenter

Conéctese y abra el panel de teleoperación del 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 datos de articulaciones a través de 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']}")
¿No hay hardware todavía? Usa el modo de simulación Ejecutar rc connect --device l1 --mock para iniciar una sesión L1 completamente simulada. Todos los métodos del SDK, el panel de teleoperación del navegador y la grabación de datos funcionan de manera idéntica en modo simulado — útil para pipelines de CI y prototipos de flujo de trabajo antes de que su unidad sea enviada.
3

Calibración de brazos duales

Los brazos L1 utilizan el protocolo de motor MIT con retroalimentación de doble codificador y control FOC. La calibración establece las posiciones de inicio y verifica la especificación de precisión total de ±0.02 mm.

Verifica los estados de las juntas de ROS2

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

Inicia MoveIt2 para la planificación de movimientos

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

Calibración de la posición de inicio

  • En el panel RViz de MoveIt2, navega a la Planificación pestaña
  • Selecciona el inicio objetivo nombrado para ambos brazos
  • Haz clic Planificar y Ejecutar — los brazos deben moverse a la posición neutral extendida
  • Verifica que los estados de las juntas coincidan con la configuración de inicio esperada en la terminal

Calibración del agarre

# 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

Navegación de la base móvil

Prueba de conducción con teclado WASD

Abre el panel de teleoperación del navegador y usa las teclas WASD para conducir la base diferencial. La escala de velocidad se puede ajustar a través del control deslizante del panel (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}}"

Prueba de rango de elevación

Usa el control deslizante vertical en el panel de teleoperación del navegador para probar el rango completo de elevación (106–162 cm) a 30 mm/s. Verifica un movimiento suave a lo largo del rango sin atascos ni chirridos.

# Monitor lift height
ros2 topic echo /lift/state   # current height in meters
Seguridad Mantén a los espectadores alejados del espacio de trabajo del brazo cuando el robot esté en movimiento. El L1 alcanza una velocidad máxima de 2 m/s — comienza las pruebas a una escala de velocidad del 10%.
5

Primera tarea de manipulación

Controles del panel de teleoperación del navegador

  • Vista de doble brazo: Visualización 3D en tiempo real de ambos brazos de 7 DOF — ángulos de las articulaciones, pose del efector final (6D) y estado del agarre a una tasa de actualización de <10 ms
  • Selector de modo del efector final: Cambiar por brazo de forma independiente: Agarre (8Nm por defecto), mano hábil o ventosa
  • Transmisiones de cámara: Cámara del pecho (Desarrollador+), cámaras de muñeca izquierda/derecha (Desarrollador Max)

Recogida y colocación simple a través de 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)

Teleoperación en VR (Desarrollador Pro y Max)

Conectar un auricular compatible con OpenXR y ejecutar rc vr --session RC-XXXX-XXXX para mapear la pose del controlador de mano directamente al efector final de cada brazo en el espacio cartesiano, con retroalimentación háptica proporcional a la fuerza de contacto estimada.

6

Recolección de datos y pipeline de un clic

Cada rc connect la sesión es una unidad de recolección de datos nombrada. Las sesiones se suben automáticamente a tu espacio de trabajo de la plataforma Fearless al cerrarse — no se requiere paso de exportación manual.

Lo que se captura por cuadro

  • Datos de articulaciones — Posición, velocidad y esfuerzo para los 16 DOF a ~500Hz con marcas de tiempo en microsegundos
  • Flujos de cámara — RGB del pecho (Desarrollador+), RGB de muñeca (Desarrollador Max) — con marcas de tiempo y sincronizados con los datos de las articulaciones dentro de ±1ms
  • Fuerza / contacto — Estimación de la fuerza de la mandíbula del agarre a partir de la corriente del motor
  • Estado base — Odometría de ruedas, velocidad lineal/angular, altura de elevación
  • Acciones del operador — Flujo de comandos de teleoperación en bruto para aprendizaje por imitación

Etiquetado de episodios durante la recolección

  • Presionar Espacio en el panel del navegador para marcar los límites de los episodios
  • Presionar L para anotar el marco actual con una cadena de etiqueta personalizada

Agente ROS2 para puente en la nube

# 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 exportación de conjuntos de datos

Sesiones limpiadas y anotadas exportadas en formato LeRobot (HDF5 + manifiesto JSON), RLDS, o JSONL en bruto + MP4. Utilice el Datos pestaña en la plataforma para configurar la exportación y descarga.

Pipeline de un clic Después de que una sesión termine, utilice el pipeline de la plataforma: Limpiar → Anotar → Entrenar (ACT, Política de Difusión o VLA). Los niveles Developer Pro y Max desbloquean el entrenamiento VLA; el nivel Developer admite ACT y Política de Difusión.
← Volver a la Vista General Especificaciones completas →

¿Necesita ayuda con la configuración?

Visite el foro de la comunidad o contacte al soporte de SVRC — manejamos la garantía y el acceso al SDK para EE. UU.