LeRobot-kameraopsætning til SO-ARM101: Håndleds- og overheadkamera forklaret

De fleste imitation learning-policyer til SO-ARM101 trænes på to kameravisninger: et håndledskamera (eye-in-hand) på griberen og et fast overheadkamera (tredjeperson) over arbejdsområdet. At få de to rigtige betyder mere end noget andet hardwarevalg: et rystende eller dårligt indrammet kamera giver datasets, som ingen policy kan lære af.

Kameraer og beslag i denne guide, sendt fra Singapore med sporing:

1080p USB-kameramodul → Bordarm til overheadkamera LeRobot-kamerapakke

1. Vælg linser

Kamera Anbefalet synsfelt Hvorfor
Håndled 90°, lav forvrængning Ser både griberens fingre og objektet uden fisheye-krumning
Overhead 110°–140° Dækker et arbejdsområde på 60 × 60 cm fra 50–60 cm over bordet

1080p USB-kameramodulet fås med en M12-linse på 60°, 90°, 110° eller 140°; køb ét med 90° til håndleddet og ét med 110° eller 140° til overheadvisningen.

2. Monter håndledskameraet

SO-101-griberen har en kameramonteringsflade på den faste kæbe. Et kamerakort på 32 × 32 mm skrues på et lille printet beslag, der vipper linsen cirka 15° mod fingerspidserne, så objektet bliver i billedet under de sidste centimeter af et greb. Før USB-kablet langs indersiden af underarmen, og lad der være en løkke ved håndledsleddet; et stramt kabel er den hyppigste årsag til, at en håndledsservo falder ud.

3. Monter overheadkameraet

Spænd en bordarm med 1/4" kugleled fast på bordets bagkant, så kameraet ser ned i cirka 45° fra 50–60 cm over arbejdsområdet. Hold det om muligt væk fra det bordben, som armen er spændt fast på; vibrationer fra armen viser sig som bevægelsesuskarphed. Flyt aldrig overheadkameraet mellem optagelse og evaluering.

4. Fortæl LeRobot om kameraerne

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),
}

Kør lerobot-find-cameras opencv for at få indekserne, optag derefter en testepisode på 10 sekunder og scrub igennem den: begge visninger skal vise griberen række ud efter objektet, uden tabte billeder.

5. Lys og baggrund

  • Brug en almindelig, ikke-reflekterende måtte; 10 × 10-bakken med vores træningsklodser giver et fast gitter, som policyen kan holde fast i.
  • Konstant lys: undgå skiftende dagslys fra vinduer ved at bruge en bordlampe i begge sessioner.
  • Lås eksponeringen i kameradriveren, hvis autoeksponeringen pulserer.

Få begge kameravisninger i én ordre.

Køb ét kameramodul med 90°-linse til håndleddet og ét med 110°- eller 140°-linse til overheadvisningen, plus bordarmen til at holde det.

Køb kameramoduler → Overhead-bordarm Træningsklodser

FAQ

Hvilken opløsning skal jeg optage i?

640 × 480 ved 30 fps er, hvad de fleste LeRobot-tutorials og fortrænede policyer forventer; det holder datasets små. Optag kun i 1280 × 720, hvis du vil beskære eller har brug for fine detaljer.

Hvorfor viser LeRobot det forkerte kameraindeks?

Linux tildeler /dev/video-numre i den rækkefølge, enhederne sættes i. Brug lerobots find_cameras-script, når begge kameraer er sat i, og sæt dem i de samme USB-porte hver session, eller adressér dem via serial path.

Kan jeg bruge en telefon eller et Logitech-webcam?

Ja, alt der understøtter UVC virker. Webcams fylder mere på håndleddet; et bart kameramodul på et beslag vejer 15 g og forskyder ikke armens balance.

Tilbage til blog