LeRobot-Kameraeinrichtung für den SO-ARM101: Handgelenk- und Overhead-Kamera erklärt

Die meisten Imitation-Learning-Policies für den SO-ARM101 werden mit zwei Kameraansichten trainiert: einer Handgelenkkamera (Eye-in-Hand) am Greifer und einer fest montierten Overhead-Kamera (Third-Person) über dem Arbeitsbereich. Diese beiden richtig einzurichten ist wichtiger als jede andere Hardwareentscheidung: Eine wackelnde oder schlecht ausgerichtete Kamera liefert Datensätze, aus denen keine Policy lernen kann.

Kameras und Halterungen in dieser Anleitung, versandt ab Singapur mit Sendungsverfolgung:

1080p-USB-Kameramodul → Tischarm für Overhead-Kamera LeRobot-Kamerakit

1. Objektive auswählen

Kamera Empfohlenes Sichtfeld Warum
Handgelenk 90°, verzeichnungsarm Zeigt beide Greiferfinger und das Objekt ohne Fisheye-Krümmung
Overhead 110°–140° Deckt einen Arbeitsbereich von 60 × 60 cm aus 50–60 cm Höhe über dem Tisch ab

Das 1080p-USB-Kameramodul ist mit einem M12-Objektiv mit 60°, 90°, 110° oder 140° erhältlich; kaufen Sie eines mit 90° für das Handgelenk und eines mit 110° oder 140° für die Overhead-Ansicht.

2. Handgelenkkamera montieren

Der SO-101-Greifer hat einen Kameraansatz an der festen Backe. Eine Kameraplatine von 32 × 32 mm wird an eine kleine gedruckte Halterung geschraubt, die das Objektiv um etwa 15° zu den Fingerspitzen neigt, damit das Objekt auf den letzten Zentimetern eines Griffs im Bild bleibt. Führen Sie das USB-Kabel an der Innenseite des Unterarms entlang und lassen Sie am Handgelenk eine Schlaufe; ein zu straffes Kabel ist die häufigste Ursache dafür, dass ein Handgelenkservo ausfällt.

3. Overhead-Kamera montieren

Klemmen Sie einen Tischarm mit 1/4"-Kugelkopf an die Hinterkante des Tisches, sodass die Kamera in etwa 45° aus 50–60 cm Höhe auf den Arbeitsbereich blickt. Montieren Sie sie nach Möglichkeit nicht am selben Tischbein wie den Arm; Vibrationen des Arms zeigen sich als Bewegungsunschärfe. Bewegen Sie die Overhead-Kamera zwischen Aufnahme und Evaluierung niemals.

4. LeRobot die Kameras mitteilen

cameras = {
  "wrist": OpenCVCameraConfig(index_or_path=0, width=640, height=480, fps=30),
  "top":   OpenCVCameraConfig(index_or_path=2, width=640, height=480, fps=30),
}

Führen Sie lerobot-find-cameras opencv aus, um die Indizes zu erhalten, nehmen Sie dann eine 10-sekündige Testepisode auf und spulen Sie sie durch: Beide Ansichten müssen den Greifer zeigen, wie er das Objekt erreicht, ohne verlorene Frames.

5. Beleuchtung und Hintergrund

  • Verwenden Sie eine einfarbige, nicht reflektierende Unterlage; das 10 × 10 große Tablett unserer Trainingswürfel liefert ein festes Raster, an dem sich die Policy orientieren kann.
  • Konstantes Licht: Schalten Sie in beiden Sitzungen eine Schreibtischlampe ein, damit sich das Tageslicht durch Fenster nicht auswirkt.
  • Stellen Sie die Belichtung im Kameratreiber fest ein, wenn die Autobelichtung pulsiert.

Beide Kameraansichten in einer Bestellung.

Kaufen Sie ein Kameramodul mit 90°-Objektiv für das Handgelenk und eines mit 110°- oder 140°-Objektiv für die Overhead-Ansicht, dazu den Tischarm, der sie hält.

Kameramodule kaufen → Overhead-Tischarm Trainingswürfel

FAQ

Mit welcher Auflösung sollte ich aufnehmen?

640 × 480 bei 30 fps erwarten die meisten LeRobot-Tutorials und vortrainierten Policies; das hält die Datensätze klein. Nehmen Sie nur dann mit 1280 × 720 auf, wenn Sie zuschneiden wollen oder feine Details brauchen.

Warum zeigt LeRobot den falschen Kameraindex an?

Linux vergibt die /dev/video-Nummern in der Reihenfolge, in der die Geräte angesteckt werden. Verwenden Sie das find_cameras-Skript von lerobot, nachdem beide Kameras angeschlossen sind, stecken Sie sie in jeder Sitzung an dieselben USB-Anschlüsse oder sprechen Sie sie über den Seriell-Pfad an.

Kann ich ein Smartphone oder eine Logitech-Webcam verwenden?

Ja, alles, was UVC unterstützt, funktioniert. Webcams sind am Handgelenk sperriger; ein nacktes Kameramodul auf einer Halterung wiegt 15 g und verschiebt das Gleichgewicht des Arms nicht.

Zurück zum Blog