LeRobot-Kameraeinrichtung für den SO-ARM101: Handgelenk- und Overhead-Kamera erklärt
Teilen
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.
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.