VLAI L1-Setup-Anleitung

Komplette Schritt-für-Schritt-Einrichtung für den VLAI L1 – vom Auspacken über die Dual-Arm-Kalibrierung, die mobile Basisnavigation und die Datenerfassung.

1

Montage und Inspektion

Checkliste zum Auspacken

  • Überprüfen Sie beide 7-DOF-Arme auf Transportschäden – überprüfen Sie, ob sich alle Gelenke von Hand frei bewegen lassen
  • Stellen Sie sicher, dass beide selbst entwickelten 8-Nm-Greifer sicher montiert sind
  • Überprüfen Sie die Räder der mobilen Basis – beide Antriebsräder sollten sich frei drehen, ohne zu klemmen
  • Überprüfen Sie, ob die Hubsäule reibungslos über den gesamten Bereich gleitet (106–162 cm).
  • Vergewissern Sie sich, dass das Ethernet-Kabel und das Netzteil im Lieferumfang enthalten sind
  • Lesen Sie den VLAI L1-Sicherheitsleitfaden, der im Dokumentationspaket enthalten ist

Anforderungen an den Arbeitsplatz

  • Mindestgrundfläche: 2 m × 2 m freie, ebene Fläche
  • Roboter-Fußabdruck: 46 cm B × 60 cm L – Freiraum auf allen Seiten lassen
  • Armreichweite: 63 cm pro Arm – stellen Sie sicher, dass bei ausgestreckten Armen keine Hindernisse in Reichweite sind
  • Leistung: Standard-110-V-/220-V-Steckdose im Umkreis von 2 m
2

SDK-Installation und Netzwerk-Setup

Anforderungen

  • Python 3.10+ (3.11 empfohlen)
  • Entwicklerstufe oder höher (Jugendstufe beinhaltet keinen SDK-Zugriff)
  • L1 eingeschaltet und mit demselben lokalen Netzwerk verbunden (Ethernet oder 5-GHz-WLAN)

Installieren Sie das SDK

pip install roboticscenter

Stellen Sie eine Verbindung her und öffnen Sie das Teleop-Panel des Browsers

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

Streamen Sie gemeinsame Daten über 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']}")
Noch keine Hardware? Verwenden Sie den Mock-Modus Laufen rc connect --device l1 --mock um eine vollständig simulierte L1-Sitzung zu starten. Alle SDK-Methoden, das Browser-Teleop-Panel und die Datenaufzeichnung funktionieren im Mock-Modus identisch – nützlich für CI-Pipelines und Workflow-Prototyping vor der Auslieferung Ihrer Einheit.
3

Dual-Arm-Kalibrierung

Die L1-Arme verwenden das MIT-Motorprotokoll mit Dual-Encoder-Feedback und FOC-Steuerung. Durch die Kalibrierung werden die Ausgangspositionen festgelegt und die vollständige Genauigkeitsspezifikation von ±0,02 mm überprüft.

Überprüfen Sie den Zustand der ROS2-Verbindungen

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

Starten Sie MoveIt2 für die Bewegungsplanung

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

Kalibrierung der Grundposition

  • Navigieren Sie im MoveIt2 RViz-Bedienfeld zu Planung Tab
  • Wählen Sie die aus heim benanntes Ziel für beide Arme
  • Klicken Planen und ausführen — Die Arme sollten sich in die neutrale gestreckte Position bewegen
  • Überprüfen Sie, ob die gemeinsamen Zustände mit der erwarteten Heimkonfiguration im Terminal übereinstimmen

Greiferkalibrierung

# 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

Mobile Basisnavigation

WASD-Tastaturlaufwerkstest

Öffnen Sie das Teleop-Panel des Browsers und steuern Sie die Differentialbasis mit den WASD-Tasten. Die Geschwindigkeitsskalierung ist über den Panel-Schieberegler einstellbar (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}}"

Hubbereichstest

Verwenden Sie den vertikalen Schieberegler im Teleop-Panel des Browsers, um den gesamten Hubbereich (106–162 cm) bei 30 mm/s zu testen. Stellen Sie eine reibungslose Bewegung im gesamten Bereich sicher, ohne zu klemmen oder zu schleifen.

# Monitor lift height
ros2 topic echo /lift/state   # current height in meters
Sicherheit Halten Sie Unbeteiligte vom Arbeitsbereich des Arms fern, wenn der Roboter mobil ist. Der L1 erreicht eine maximale Geschwindigkeit von 2 m/s – starten Sie die Tests mit einer Geschwindigkeitsskalierung von 10 %.
5

Erste Manipulationsaufgabe

Steuerelemente des Browser-Teleop-Panels

  • Doppelarmansicht: Echtzeit-3D-Visualisierung beider 7-DOF-Arme – Gelenkwinkel, Endeffektorhaltung (6D) und Greiferzustand mit einer Aktualisierungsrate von <10 ms
  • Wahlschalter für den Endeffektor-Modus: Wechseln Sie pro Arm unabhängig: Greifer (Standard 8 Nm), geschickte Hand oder Saugnapf
  • Kamera-Feeds: Brustkamera (Developer+), Handgelenkkameras links/rechts (Developer Max)

Einfaches Pick-and-Place über 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)

VR-Teleoperation (Developer Pro und Max)

Schließen Sie ein OpenXR-kompatibles Headset an und führen Sie es aus rc vr --session RC-XXXX-XXXX um die Pose der Handsteuerung direkt dem Endeffektor jedes Arms im kartesischen Raum zuzuordnen, mit haptischem Feedback proportional zur geschätzten Kontaktkraft.

6

Datenerfassung und One-Click-Pipeline

Jeder rc connect Sitzung ist eine benannte Datenerfassungseinheit. Sitzungen werden beim Schließen automatisch in Ihren Fearless Platform-Arbeitsbereich hochgeladen – kein manueller Exportschritt erforderlich.

Was wird pro Frame erfasst?

  • Gemeinsame Daten – Position, Geschwindigkeit und Kraftaufwand für alle 16 DOF bei ~500 Hz mit Zeitstempeln im Mikrosekundenbereich
  • Kamera-Streams – Brust-RGB (Developer+), Handgelenk-RGB (Developer Max) – mit Zeitstempel versehen und innerhalb von ±1 ms mit den Gelenkdaten synchronisiert
  • Strom / Kontakt — Schätzung der Greiferbackenkraft anhand des Motorstroms
  • Grundzustand — Rad-Odometrie, Linear-/Winkelgeschwindigkeit, Hubhöhe
  • Bedieneraktionen – Roher Teleop-Befehlsstrom für Nachahmungslernen

Episodenkennzeichnung während der Sammlung

  • Drücken Raum im Browserfenster, um Episodengrenzen zu markieren
  • Drücken L um den aktuellen Frame mit einer benutzerdefinierten Beschriftungszeichenfolge zu kommentieren

ROS2-Agent für Cloud Bridge

# 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

Exportformate für Datensätze

Bereinigte und kommentierte Sitzungen werden im LeRobot-Format (HDF5 + JSON-Manifest), RLDS oder rohem JSONL + MP4 exportiert. Benutzen Sie die Daten Registerkarte auf der Plattform, um den Export und Download zu konfigurieren.

One-Click-Pipeline Verwenden Sie nach Ende einer Sitzung die Plattformpipeline: Bereinigen → Annotieren → Trainieren (ACT, Diffusion Policy oder VLA). Die Stufen „Developer Pro“ und „Max“ schalten VLA-Schulungen frei; Die Entwicklerstufe unterstützt ACT und Diffusion Policy.
← Zurück zur Übersicht Vollständige Spezifikationen →

Benötigen Sie Hilfe bei der Einrichtung?

Besuchen Sie das Community-Forum oder wenden Sie sich an den SVRC-Support – wir kümmern uns um die Garantie und den SDK-Zugriff für die USA.