GPN12:Kinect-Touchpad: Unterschied zwischen den Versionen

aus dem Wiki des Entropia e.V., CCC Karlsruhe
K (→‎Kalibrierung: Bilder von den ersten Experimenten)
(slides)
 
(38 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{#css:GPN12:Stylesheet}}


= Spaß mit der Kinect =
= ERGEBNIS =
Ich würde gerne an einem Projekt mit der Kinect arbeiten. Bisher habe ich viel Richtung 3D-Rekonstruktion von Räumen gearbeitet ([http://www.youtube.com/watch?v=XejNctt2Fcs], OpenSource), aktuell benutze ich auch Kinect Fusion[http://www.youtube.com/watch?v=quGhaggn3cQ]), das auch beim letzten CCC vorgestellt wurde (und in der PCL[http://pointclouds.org] jetzt auch Open Source ist, braucht allerdings eine neue NVidia GraKa).
Nach viel Mate, noch mehr Kaffee und toller Hilfe bei Aufbau und Programmierung, gibt es jetzt den ersten Prototypen:


Für alle Projekte bräuchte man ein paar Entwickler (Erfahrung in der Bildverarbeitung wären nicht schlecht) und Leute, die sich mit Grafiken auskennen, damit das Ganze auch schön aussieht. Je nach Interesse könnte man sich auch schon vor der GPN treffen und ein Grundgerüst aufbauen, damit schon klar ist, was funktioniert.
<gallery widths=200px>
Datei:Sandkasten_knoten.jpg|Datenknoten
Datei:Sandkasten_rocket.jpg|Rakete
Datei:sandkasten_berg.jpg|Berg
</gallery>


Die Wassersimulation funktioniert auch schon ganz gut, Videos kommen noch.
Für Ideen, Kritik, Anregungen bin ich am besten unter nikolas dot engelhard@in.tum.de zu erreichen. Der Code ist im [https://github.com/NikolasE/Touchscreen github]. (Nicht aufgeräumt und benötigt [http://ros.org ros])


Mögliche Projekte wären:
= Kinect Projektor Hacken =
== Riesen-Touchpad ==
Mit einer Kinect und einem Projektor über einem Tisch kann man sich ein bezahlbares Touchpad bauen und damit spielen. Mit etwas mehr Aufwand könnte man auch versuchen, mögliche Spielfiguren zu erkennen und dann ein animiertes tabletop-Spiel zu entwickeln. Sobald die Grundfunktionen (Klicken, Ziehen, ...) fertig sind, könnte man das Interface veröffentlichen, vielleicht wäre das auch für das Programmierspiel interessant.


Ein Workshop mit Nikolas auf der [[GPN12]].


=Kalibrierung=
In diesem Projekt soll es darum gehen, was man alles mit einer Kinect und einem Projektor anstellen kann. Mit der Kinect können beliebige Flächen oder Körper in 3D erfasst werden und mit dem Projektor beliebig angestrahlt werden.
Neben den technischen Herausforderungen würde ich gerne auch in die künsterlische Richtung gehen und schon während der GPN interaktive Kunstinstallationen aufbauen.


Hier ein paar Möglichkeiten für Kalibrierungsmuster. Die Kinect stand direkt auf dem Beamer. Der Raum war unterschiedlich stark ausgeleutet, der automatische Weißabgleich der Kinect lässt sich leider nicht ausschalten. Helle Muster wie das Schachbrett sind daher vielleicht nicht optimal, kleine Kreise sind da vll besser.
Ein paar mögliche Projekte wären diese hier:


{|
 
|-
[[Media:WhattoHack_sandkasten.pdf |WHAT TO HACK]]-Vortrag
| [[Datei:Screenshot-1.jpg|200px|thumb|none|Schachbrett]]
 
| [[Datei:Gpn12_kinectTouchpad_kalib_1.jpg|200px|thumb|none|Streifenmuster]]
 
| [[Datei:Gpn12_kinectTouchpad kalib 6.jpg|200px|thumb|none|Schachbrett]]
== Interaktive Sandkiste ==
|}
Bau einer [http://idav.ucdavis.edu/~okreylos/ResDev/SARndbox/ interaktiven Sandkiste]. Der Code zum Anfärben ist schon fertig, man müsste nur eine Sandkiste bauen :)
 
Material:
Für eine Sandkiste mit 1m^2 und 10cm Sandhöhe:
 
- Sand: 100 dm^3 (100 l) für 8€ [http://www.hornbach.de/shop/Spielsand-25kg/7175900/artikel.html?WT.svl=artikel_img Spielsand bei Hornbach] (Gewicht: 125kg)
 
- Holz:
[http://www.hornbach.de/shop/Kreuzrahmen-Fichte-Tanne-60x60x2000-mm/3303922/artikel.html?sourceCat=S1588&WT.svl=artikel_text Kreuzrahmen (60x60x2000 mm, 2,30€)]
[http://www.hornbach.de/shop/Latte-Fichte-Tanne-tauchimpraegniert-48x24x2000-mm/1000868/artikel.html?sourceCat=S1587&WT.svl=artikel_img Latten (0,42€/m)]
[http://www.hornbach.de/shop/Schalbrett-Fichte-Tanne-98x19x3000-mm/1001587/artikel.html?sourceCat=S1589&WT.svl=artikel_text Bretter 98x19x3000 2,80€]
 
Gesamtkosten wären gerade mal 40€.
 
== Riesentouchpad aus Beamer und Kinect ==
 
Mit dem Beamer könnte man eine Tafel oder eine Wand zu einem großen Touchscreen umbauen. Wenn man ein Whiteboard als Hintergrund nehmen würde, könnte man sogar darauf malen und darüber z.B. mit einem Spiel interagieren. Ein Beispiel wäre ein Towerdefense: [http://www.kickstarter.com/projects/1773873912/doodle-defense] (ist sogar schon OpenSource)
 
== 3D Projektionen ==
 
Hier geht es eher darum, Menschen oder beliebige Objekte als Projektionflächen einzusetzen. Mit dem Skelett-Tracker der Kinect könnte man jemandem ein Smiley auf den Bauch malen oder etwas in diese Richtung: [http://vimeo.com/18713117]
 
Damit auf der GPN schnell losgehackt werden kann, habe ich schon mal einen Prototypen [https://github.com/NikolasE/Touchscreen] geschrieben und ein paar Bilder gemacht:
 
<gallery widths=200px>
Datei:Beamer papier.jpg|Blatt Papier
Datei:Beamer hand.jpg|Hand
Datei:Beamer_farbe.jpg|Farbverlauf
Datei:Beamer_farbe_2.jpg|Farbverlauf
Datei:Beamer_farbe_hand.jpg|Farbverlauf
Datei:Pr2.jpg|PR2
</gallery>
 
Auf den ersten beiden Bildern wird alles gefärbt, was sich vor der Wand befindet. Beim Farbverlauf wurde die Entfernung zur Wand auf eine Farbskala übertragen und jeder Punkt mit seiner entsprechenden Farbe angestrahlt. Für das letzte Bild hat einer unserer Roboter (ein PR2 von Willow Garage) Model gestanden. Hier hängt die Farbe vom Abstand zum Fußboden ab.
 
 
Für die technische Umsetzung (Kalibrierung, Gestenerkennung) gibt's noch eine eigene Seite: [[GPN12:KinectTech]]
 
 
== Benutzte Software ==
Aktuell basiert der Code auf [http://ROS.org ROS], einer Robotik-Bibliothek die bisher nur unter Linux läuft. Damit der Code auch später noch benutzt wird, müsste man wohl auch alles auf OpenFrameworks und Windows portieren.
 
 
== Wer wird gesucht? ==
 
- Alle, die sich für Bildverarbeitung interessieren und wissen wollen, was man alles mit einer Kamera anstellen kann. (für die Diskussion der technischen Dateils:  [[GPN12:KinectTech]])
 
- Alle, die sich gerne künstlerisch austoben wollen, Ideen für ein Spiel oder eine Installation haben
 
- Alle, die mal eine Demo ausprobieren wollen um sie danach in den höchsten Tönen zu loben
 
- Alle, die sich mit Processing, OpenFrameworks und ähnlichen Techniken auskennen
 
- Alle anderen, die gerne mal mit der Kinect spielen wollen
 
Der Code soll natürlich openSource sein und möglichst einfach zu benutzen sein (wenig Abhängigkeiten, möglichst auch unter Windows), damit er nicht nach der GPN einfach verschwindet.
 
Ich würde mich sehr freuen, wenn sich ein paar Leute zum Hacken und Spielen finden würden :)
 
--[[Benutzer:Nikolas|Nikolas]] 21:47, 8. Apr. 2012 (CEST)
 
== Dokumentation ==
* Folien: [[Media:WhattoHack_sandkasten.pdf|PDF]]
 
 
{{Navigationsleiste GPN12:Vorträge}}

Aktuelle Version vom 25. Juli 2012, 10:13 Uhr


ERGEBNIS

Nach viel Mate, noch mehr Kaffee und toller Hilfe bei Aufbau und Programmierung, gibt es jetzt den ersten Prototypen:

Die Wassersimulation funktioniert auch schon ganz gut, Videos kommen noch. Für Ideen, Kritik, Anregungen bin ich am besten unter nikolas dot engelhard@in.tum.de zu erreichen. Der Code ist im github. (Nicht aufgeräumt und benötigt ros)

Kinect Projektor Hacken

Ein Workshop mit Nikolas auf der GPN12.

In diesem Projekt soll es darum gehen, was man alles mit einer Kinect und einem Projektor anstellen kann. Mit der Kinect können beliebige Flächen oder Körper in 3D erfasst werden und mit dem Projektor beliebig angestrahlt werden. Neben den technischen Herausforderungen würde ich gerne auch in die künsterlische Richtung gehen und schon während der GPN interaktive Kunstinstallationen aufbauen.

Ein paar mögliche Projekte wären diese hier:


WHAT TO HACK-Vortrag


Interaktive Sandkiste

Bau einer interaktiven Sandkiste. Der Code zum Anfärben ist schon fertig, man müsste nur eine Sandkiste bauen :)

Material: Für eine Sandkiste mit 1m^2 und 10cm Sandhöhe:

- Sand: 100 dm^3 (100 l) für 8€ Spielsand bei Hornbach (Gewicht: 125kg)

- Holz: Kreuzrahmen (60x60x2000 mm, 2,30€) Latten (0,42€/m) Bretter 98x19x3000 2,80€

Gesamtkosten wären gerade mal 40€.

Riesentouchpad aus Beamer und Kinect

Mit dem Beamer könnte man eine Tafel oder eine Wand zu einem großen Touchscreen umbauen. Wenn man ein Whiteboard als Hintergrund nehmen würde, könnte man sogar darauf malen und darüber z.B. mit einem Spiel interagieren. Ein Beispiel wäre ein Towerdefense: [1] (ist sogar schon OpenSource)

3D Projektionen

Hier geht es eher darum, Menschen oder beliebige Objekte als Projektionflächen einzusetzen. Mit dem Skelett-Tracker der Kinect könnte man jemandem ein Smiley auf den Bauch malen oder etwas in diese Richtung: [2]

Damit auf der GPN schnell losgehackt werden kann, habe ich schon mal einen Prototypen [3] geschrieben und ein paar Bilder gemacht:

Auf den ersten beiden Bildern wird alles gefärbt, was sich vor der Wand befindet. Beim Farbverlauf wurde die Entfernung zur Wand auf eine Farbskala übertragen und jeder Punkt mit seiner entsprechenden Farbe angestrahlt. Für das letzte Bild hat einer unserer Roboter (ein PR2 von Willow Garage) Model gestanden. Hier hängt die Farbe vom Abstand zum Fußboden ab.


Für die technische Umsetzung (Kalibrierung, Gestenerkennung) gibt's noch eine eigene Seite: GPN12:KinectTech


Benutzte Software

Aktuell basiert der Code auf ROS, einer Robotik-Bibliothek die bisher nur unter Linux läuft. Damit der Code auch später noch benutzt wird, müsste man wohl auch alles auf OpenFrameworks und Windows portieren.


Wer wird gesucht?

- Alle, die sich für Bildverarbeitung interessieren und wissen wollen, was man alles mit einer Kamera anstellen kann. (für die Diskussion der technischen Dateils: GPN12:KinectTech)

- Alle, die sich gerne künstlerisch austoben wollen, Ideen für ein Spiel oder eine Installation haben

- Alle, die mal eine Demo ausprobieren wollen um sie danach in den höchsten Tönen zu loben

- Alle, die sich mit Processing, OpenFrameworks und ähnlichen Techniken auskennen

- Alle anderen, die gerne mal mit der Kinect spielen wollen

Der Code soll natürlich openSource sein und möglichst einfach zu benutzen sein (wenig Abhängigkeiten, möglichst auch unter Windows), damit er nicht nach der GPN einfach verschwindet.

Ich würde mich sehr freuen, wenn sich ein paar Leute zum Hacken und Spielen finden würden :)

--Nikolas 21:47, 8. Apr. 2012 (CEST)

Dokumentation