Kinect Live-Bild in vorhandene Roboter GUI integriert

 Die Integration des Kinect-Bildes geht voran. Sowohl das Live-Bild, als auch das "Tiefenbild" wird nun in der GUI angezeigt. Und hier die ersten Tests:

  

Wie man sieht, ist auf dem ersten Bild eine leicht geöffnete Tür (zum Flur) erkennbar – sowohl auf dem "original" Livebild der Kamera, als auch an den grünen Laserlinien und im Tiefenbild der Kinect; erkennbar am blauen Bereich. Im zweiten Bild sieht man die geöffnete Tür. Auf dem dritten ist sowohl auf dem Kamerabild also auch bei den Laserlinien eine Person gut erkennbar.

Weitere Fortschritte mit der Microsoft Kinect – Erste erfolgreiche Nutzung mit Qt!

 Ein erster eigener Erfolg wurde beim Ansteuern der Kinect erzielt: Vollständige Integration in ein eigenes eigenständiges Qt-Programm. Zugrunde liegend der Open Source Treiber / die Library OpenKinect. Des weiteren sollte der Wrapper für das Qt Framework, welches von mir genutzt wird, verwendet werden, dieser aber brach aber mit Compiler-Fehlermeldungen ab. Statt dessen wurde auf OpenKinect and Qt reference von Jon Macey zurück gegriffen, welches genau so einen Wrapper zur Verfügung stellt. Und so sieht das ganze dann in der per Qt-Designer erstellten GUI aus:

Der Sourcecode ist wie immer hier verfügbar. Der direkte Link zum eigenständigen Kinect-Testprogramm ist dann dieser. Das Original von Jon Macey wurde des weiteren dahingehend erweitert, dass es z.B. bei nicht angeschlossener Kinect das Programm nicht per EXIT beendet, sondern eine von außen abfragbare Variable abgefragt werden kann, ob die Kamera erkannt wurde oder eben nicht.

Erste Tests mit der Microsoft Kinect und OpenKinect / libfreenect

 Wie aus dem letzten Post vielleicht für den einen oder anderen zu erkennen, handelt es sich bei dem selbst gemachten Weihnachtsgeschenk um die Microsoft Kinect, die gerade vielfältig von sich reden macht. Denn eine Art 3D-Sensor in dieser Preisklasse schien vorher nicht recht möglich. Seit ein paar Tagen werden die gehackten und mittlerweile als Open Source verfügbaren Treiber, Libraries und Sourcecodes untersucht und ein wenig damit experimentiert. Hier die ersten Eindrücke:

      

Und hier das erste Erfolgserlebnis im etwas angepassten Sourcecode:

Wie man an der markierten Stelle sieht, wird hier schon ganz gut ein mögliches "Hindernis" für den Roboter angezeigt. Auf dem Live-Bild der Kamera rechts oben im Bild ist ein "Klavier-Hocker" zu erkennen. Der Sourcecode wurde so angepasst bzw. beim Programmstart so eingestellt, dass im Fenster links unten nur Objekte (Hindernisse) ab einer bestimmten Entfernung markiert (umrahmt) werden. Das Programm zeigt das größte Hindernis an, erkennt nun deren Mittelpunkt innerhalb des Bilders (X/Y-Koordinaten) und zeigt auch den Abstand des Objektes an. Und das beste: Das läuft soweit bereits unter Mac OS und unter Linux.

Genutzt wurde dazu der als Open Source verfügbare Treiber / die Library OpenKinect. Ergänzt um openFrameworks und ofxKinect. Vorteil dieser Lösung ist, dass sie unter Windows, Linux und Mac OS läuft. Ein Nachteil dieser Lösung könnte sein: Es gibt zwar einen Wrapper für das Qt Framework, welches von mir genutzt wird, aber da fehlen sämtliche OpenCV Elemente, die bei der openFrameworks Lösung alle schön beinhaltet sind. Da ist also noch etwas Analyse erforderlich, wie das ganze zusammenzubringen ist. :-) Es wird nicht langweilig…

Kleines Spielzeug…

Der Weihnachtsmann war da und hat ein bisschen neue (Robotik?)Hardware mitgebracht:

Mal sehen, was man da noch so schönes mit anstellen kann… :-)

PS.: Damit halbwegs noch was zu erkennen ist, bitte das Video auf Vollbild stellen. Links unten sind bei den „erkannten“ Objekten dezent rote Rahmen um sie herum zu erkennen. Leider wurde die beim Umwandeln twas „wegoptimiert“. Aber mit etwas Mühe sind sie zu sehen. Leider ist das Original-Video irgendwie verschütt gegangen. Sorry…