Guide de configuration du VLAI L1

Configuration complète étape par étape pour le VLAI L1 — du déballage à l'étalonnage à double bras, en passant par la navigation sur la base mobile et la collecte de données.

1

Assemblage et inspection

Liste de contrôle de déballage

  • Inspectez les deux bras 7-DOF pour déceler tout dommage causé par le transport ; vérifiez que tous les joints bougent librement à la main.
  • Vérifiez que les deux pinces 8 Nm développées par vous-même sont solidement montées.
  • Inspectez les roues de la base mobile : les deux roues motrices doivent tourner librement sans se coincer.
  • Vérifiez que la colonne de levage glisse doucement sur toute la plage (106 à 162 cm)
  • Confirmez que le câble Ethernet et l'adaptateur secteur sont dans la boîte
  • Lisez le guide de sécurité VLAI L1 inclus dans le package de documentation

Exigences relatives à l'espace de travail

  • Surface minimale au sol : 2 m × 2 m, surface dégagée et plane
  • Empreinte du robot : 46 cm de largeur × 60 cm de longueur — laissez un espace libre de tous les côtés
  • Portée du bras : 63 cm par bras — assurez-vous qu'aucun obstacle n'est à portée de main lorsque les bras sont étendus
  • Pouvoir: Prise standard 110 V/220 V à moins de 2 m
2

Installation du SDK et configuration du réseau

Exigences

  • Python 3.10+ (3.11 recommandé)
  • Niveau Développeur ou supérieur (le niveau Jeune n’inclut pas l’accès au SDK)
  • L1 allumé et connecté au même réseau local (Ethernet ou Wi-Fi 5 GHz)

Installer le SDK

pip install roboticscenter

Connectez-vous et ouvrez le panneau Teleop du navigateur

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

Diffusez des données conjointes 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']}")
Pas encore de matériel ? Utiliser le mode simulation Courir rc connect --device l1 --mock pour démarrer une séance de L1 entièrement simulée. Toutes les méthodes du SDK, le panneau téléop du navigateur et l'enregistrement des données fonctionnent de manière identique en mode simulé, ce qui est utile pour les pipelines CI et le prototypage de flux de travail avant l'expédition de votre unité.
3

Calibrage à double bras

Les bras L1 utilisent le protocole moteur MIT avec retour à double encodeur et contrôle FOC. L'étalonnage définit les positions d'origine et vérifie la spécification complète de précision de ± 0,02 mm.

Vérifier les états communs du ROS2

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

Lancez MoveIt2 pour la planification des mouvements

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

Étalonnage de la position d'origine

  • Dans le panneau MoveIt2 RViz, accédez au Planification languette
  • Sélectionnez le maison cible désignée pour les deux bras
  • Cliquez Planifier et exécuter — les bras doivent se déplacer vers la position neutre étendue
  • Vérifiez que les états communs correspondent à la configuration d'origine attendue dans le terminal

Calibrage de la pince

# 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

Navigation sur base mobile

Test de lecteur de clavier WASD

Ouvrez le panneau de commande du navigateur et utilisez les touches WASD pour piloter la base différentielle. L'échelle de vitesse est réglable via le curseur du panneau (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}}"

Test de portée de levage

Utilisez le curseur vertical dans le panneau téléop du navigateur pour tester la plage de levage complète (106-162 cm) à 30 mm/s. Vérifiez un mouvement fluide sur toute la plage, sans liaison ni meulage.

# Monitor lift height
ros2 topic echo /lift/state   # current height in meters
Sécurité Gardez les spectateurs à l'écart de l'espace de travail du bras lorsque le robot est mobile. Le L1 atteint une vitesse maximale de 2 m/s — démarrez les tests avec une échelle de vitesse de 10 %.
5

Première tâche de manipulation

Commandes du panneau de commande du navigateur

  • Vue à double bras : Visualisation 3D en temps réel des deux bras à 7 degrés de liberté : angles articulaires, pose de l'effecteur terminal (6D) et état de la pince à une fréquence de mise à jour < 10 ms
  • Sélecteur de mode effecteur final : Changez indépendamment par bras : pince (par défaut 8 Nm), main adroite ou ventouse
  • Flux de caméra : Caméra poitrine (Developer+), caméras poignet gauche/droite (Developer Max)

Sélection et placement 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)

Téléopération VR (Developer Pro et Max)

Branchez un casque compatible OpenXR et exécutez rc vr --session RC-XXXX-XXXX pour cartographier la pose du contrôleur manuel directement sur l'effecteur final de chaque bras dans l'espace cartésien, avec un retour haptique proportionnel à la force de contact estimée.

6

Collecte de données et pipeline en un clic

Chaque rc connect session est une unité de collecte de données nommée. Les sessions sont automatiquement téléchargées sur votre espace de travail Fearless Platform à la fermeture – aucune étape d'exportation manuelle n'est requise.

Ce qui est capturé par image

  • Données communes — Position, vitesse et effort pour les 16 DOF à ~ 500 Hz avec horodatage en microsecondes
  • Flux de caméra — Poitrine RVB (Developer+), poignet RVB (Developer Max) — horodatés et synchronisés avec les données articulaires dans un délai de ± 1 ms
  • Forcer/contacter — Estimation de la force des mâchoires de la pince à partir du courant du moteur
  • État de base — Odomètre des roues, vitesse linéaire/angulaire, hauteur de levage
  • Actions de l'opérateur — Flux de commandes téléop brut pour l'apprentissage par imitation

Étiquetage des épisodes lors de la collecte

  • Presse Espace dans le panneau du navigateur pour marquer les limites des épisodes
  • Presse L pour annoter le cadre actuel avec une chaîne d'étiquette personnalisée

Agent ROS2 pour le pont cloud

# 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

Formats d'exportation des ensembles de données

Les sessions nettoyées et annotées s'exportent au format LeRobot (manifeste HDF5 + JSON), RLDS ou JSONL + MP4 brut. Utilisez le Données dans la plateforme pour configurer l'exportation et le téléchargement.

Pipeline en un clic Une fois la session terminée, utilisez le pipeline de la plateforme : Nettoyer → Annoter → Former (ACT, Diffusion Policy ou VLA). Les niveaux Developer Pro et Max débloquent la formation VLA ; Le niveau Développeur prend en charge ACT et la politique de diffusion.
← Retour à l'aperçu Spécifications complètes →

Besoin d'aide pour la configuration ?

Visitez le forum communautaire ou contactez le support SVRC – nous gérons la garantie et l’accès au SDK pour les États-Unis.