Open Source Robotics

Eine kuratierte Sammlung hochwertiger Open-Source-Robotikprojekte, Werkzeuge und Software für die Robotik-Community.

image_pipeline

Der Standard-Kamera-Stack von ROS: Kalibrierung, Rektifizierung, Stereo und Tiefe

Lizenz

BSD-3-Clause

Überblick

image_pipeline ist der kanonische Kameraverarbeitungs-Stack von ROS, gepflegt von ros-perception. Seine Pakete führen die Kameras eines Roboters vom rohen Treiber-Output zu kalibrierten, rektifizierten Bildern und 3D-Daten: camera_calibration (interaktive Schachbrett-Kalibrierung), image_proc (Debayering und Rektifizierung), stereo_image_proc (Disparität und Punktwolken), depth_image_proc (Tiefe-zu-Punktwolke-Konvertierung und Registrierung) und image_view. Praktisch jeder ROS-Roboter mit Kamera nutzt irgendeinen Teil dieser Pipeline.

Der Stack ist als komponierbare ROS-2-Nodes organisiert, verbunden über image_transport-Topics und camera_info-Kalibrierungsnachrichten. camera_calibration bietet die klassische interaktive GUI, die monokulare oder Stereo-Intrinsics aus Schachbrettansichten berechnet und in den Kameratreiber schreibt. image_proc konsumiert Rohbilder plus camera_info und liefert Mono-/Farbvarianten sowie rektifizierte Varianten, inklusive Bayer-Demosaicing und Verzeichnungskorrektur; Crop-/Resize-/Decimate-Nodes formen Streams kostengünstig um. stereo_image_proc berechnet Block-Matching-Disparität zwischen rektifizierten Paaren und erzeugt Stereo-Punktwolken, während depth_image_proc Tiefenbilder von RGB-D-Sensoren in Punktwolken konvertiert, Tiefe auf Farb-Frames registriert und metrische/quantisierte Kodierungen umwandelt. Alles unterstützt Laufzeit-Komposition für Zero-Copy-Intra-Prozess-Pipelines auf ROS 2, und die etablierten Konventionen — camera_info-Semantik, die Topic-Benennung image_raw/image_rect — sind der De-facto-Vertrag zwischen Kameratreibern und Perception-Code im gesamten ROS-Ökosystem.

Warum es wichtig ist

image_pipeline definiert, wie Kameras in ROS funktionieren: Seine Kalibrierungs-GUI ist der Ort, an dem die meisten Robotiker ihre erste Kamera kalibriert haben, und seine Topic- und camera_info-Konventionen sind der Vertrag, der jeden ROS-Kameratreiber mit jedem ROS-Perception-Stack sprechen lässt.

Welches Problem es löst

Roher Kamera-Output ist unkalibriert, verzeichnet, Bayer-gemustert und zweidimensional. image_pipeline macht daraus kalibrierte, rektifizierte Bilder, Disparitätskarten und Punktwolken mit standardisierten, komponierbaren Nodes — sodass Perception-Code die Kamera-Basisarbeit nie neu implementieren muss.

Wichtigste Punkte

  • Interaktive Schachbrett-Kalibrierungs-GUI für monokulare und Stereo-Kameras
  • image_proc: Debayering, Verzeichnungskorrektur und Rektifizierung, gesteuert über camera_info
  • stereo_image_proc: Block-Matching-Disparität und Stereo-Punktwolken
  • depth_image_proc: Tiefe-zu-Punktwolke-Konvertierung und Tiefe-zu-Farbe-Registrierung
  • Komponierbare ROS-2-Nodes mit Unterstützung für Zero-Copy-Intra-Prozess-Pipelines

Für wen

  • ROS-Entwickler, die Kameras integrieren
  • Perception-Ingenieure, die Stereo-/RGB-D-Pipelines bauen
  • Robotikstudierende, die ihre erste Kamera kalibrieren
  • Autoren von Kameratreibern, die ROS-Konventionen folgen

Einschränkungen

  • Klassisches Block-Matching-Stereo ist veraltet gegenüber gelernten oder SGM-basierten Matchern
  • Der Kalibrierungs-GUI-Workflow ist manuell — keine automatisierte targetfreie Kalibrierung
  • Performance-Tuning (QoS, Komposition) bleibt dem Integrator überlassen

Diese Website benötigt JavaScript. Bitte aktivieren Sie JavaScript, um unsere Open-Source-Robotikprojekte zu erkunden.