Objekterkennung mit ROS und einer Kinect v2 Kamera

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

Zurück zum Hauptartikel

Autor: Johannes Schäfer


Einleitung

In diesem Artikel wird beschrieben, wie die Microsoft Kinect v2 Kamera und ROS eingerichtet und dann zur Objekterkennung und weiteren bildverarbeitenden Prozessen eingesetzt werden kann.

Voraussetzungen

  • Rechner mit mindestens Ubuntu 18.04 und Internetanbindung
  • mindestens ROS Indigo sollte installiert sein
  • Kinect v2 (XBOX ONE)

Installation

Um die Kinect v2 in Betrieb nehmen zu können benötigt man diesen Treiber. Andere Treiber wie OpenNI scheinen nur auf die Kinect v1 (XBOX360) ausgelegt zu sein. Weiterhin benötigt man OpenCV zur Bildverarbeitung. War die Installation von beiden Paketen erfolgreich, kann nun auch Kinect2 Bridge installiert werden. Dieses Paket stellt die Verbindung zu ROS her und gibt die Bilddaten in verschiedenen Topics aus. Um zu schauen, ob alles geklappt hat, ist es sinnvoll zunächst die First Steps auszuführen. Die Bridge lässt sich mit roslaunch kinect2_bridge kinect2_bridge.launch starten. Für die eigentliche Objekt erkennung muss nun noch das find_object_2d-Package installiert werden. Für das Projekt gibt es seit längerem leider keinen neuen Updates mehr. Mit der Kinetic-Version funktioniert es allerdings trotzdem auch auf ROS Melodic.

Objekterkennung

Um die Topics die von Kinect2 Bridge ausgegeben werden auch in RVIZ anzeigen zu können, muss Kinect2 Bridge mit roslaunch kinect2_bridge kinect2_bridge.launch publish_tf:=true gestartet werden. In diesem Artikel ist beschrieben, wie find_object_2d gestartet wird. Durch die Funktionen der Kinect können nun auch 3D-Postitionsdaten über die Topic TF ausgegeben werden.

Quellen

  • [1] ROS News
  • [2] Hackster.io: RGB-D SLAM With Kinect on Raspberry Pi 4 ROS Melodic
  • [3] Linuxize.com: How to Install OpenCV on Ubuntu 18.04
  • [4] Github.com: find-object