Natural User Interface

An der Georg-Simon-Ohm-Schule in Köln findet die alljährlich Projektwoche „Open Space“ dieses Jahr vom 25.01.2010 bis zum 29.01.2010 statt. Eines dieser Projekte wird in dieser Wiki dokumentiert. Der Name des Projekts - „Natural User Interface“ - bezeichnet gleichzeitig das Produkt, welches in dieser Woche entstehen soll.

Allgemeines zum Projekt

Ziel des Projektes ist es, mit Hilfe eines LCD-Screens, Infrarot-LEDs und einer PS3-Kamera mit Infrarotfilter, in einen Tisch einen sogenannte Multitouch-Oberfläche zu intigrieren. Nähere Informationen dazu weiter unten (siehe Umsetzung).

Die Idee und die Inspiration kommen von den Projektleitern Patrick Hütter und Simon Grätzer, betreut werden wir von unserem Lehrer Dr. Jean-Yves Lalande. Die Finanzierung übernimmt der Förderverein der GSO, der uns bis zu 100€ zugesichert hat, wobei wir jedoch letztes Jahr dieses Budget überreizen konnten.

Arbeitsgruppen

Die Mitglieder des Projektes wurden in fünf verschiedene Arbeitsguppen aufgeteilt:

0. Projekleiter

1. Doku-Team

  • Abdullah Tekin
  • Angelo Zagarella
  • Thomas Kopp

2. Material-Team

  • Adem Özkan ICQ: 371173590
  • Christopher Schmidt
  • David Grüne
  • Fabian Kreienbrink

3. Tischbau-Team

  • Fabian Kreienbrink
  • Malte Kleimann
  • Michael Szymanski
  • Tim Hollander

4. Technik-Team

  • Bernhard Hinz ICQ: 207732882
  • Marco Höher
  • Lars Schiffer
  • Michael Dobmeier

5. Software-Team

  • Fabian Henßchen ICQ: 478657161
  • Nikolas Weger ICQ: 207917970
  • Tobias Exner ICQ: 443133547

Ziele

Muss:

Wir wollen die Bedienung von fertigen Demos durch Finger erreichen, da im Vorjahr genau dies nicht geklappt hat, weil die Reflektion der IR-Strahlen nicht stark genung gewesen ist.

Kann:

Zusätzlich wollen wir einen Maus Treiber entwickeln, welcher die Bedienung eines gesamten Betriebssystems erlaubt.

Theorie

Material

  • Led Streifen Infrarot z.B. hier
  • Plexiglasscheibe
  • LCD Display z.B. TFT-Monitor
  • Webcam ohne IR Filter z.B. hier
  • RGB Lichtfilter z.B. Diskette
  • Box als Halterung z.B. alter Tisch
  • Rechner

Software

Wir verwenden größtenteils bereits vorhandene Open Source Software. Das Umwandeln des Kamerabildes erfolgt über die Tracking-Software der NUIGroup Community Core Vision. Dies wandelt die sichtbaren Finger in Punkte um die über das standardisierte TUIO Protokoll an Anwendungen gesendet wird. Die Anwendung bzw. der TUIO Client ist im unserem Fall eine Virtual Machine in der Android läuft. Windows kommt nicht in Frage, da es zwar einerseits vergleichsweise leicht zu bedienen ist, jedoch andererseits keinen offenen Quellcode hat und bis Windows 7 kein Multitouch-Betriebssystem ist.

Prinzip

Die Methode, mit der wir unser Projekt dieses Jahr angehen wollen, nennt sich FTIR (Frustrated Total Internal Reflection).

Wie auf dem Bild zu sehen ist, wird das Infrarotlicht bei Berührung der Plexiglasscheibe nach unten gebrochen.Die Infrarotkamera, eine Kamera die ausschließlich Infrarotlicht wahrnimmt, erkennt diese Strahlen als sogenannte Blobs, welche von einem Programm interpretiert werden können.

(Die weißen Punkte an den Fingerspitzen, sind die sog. Blobs)

Wenn man nun die Blobs mit seiner Kamera sehen kann, müssen diese natürlich interpretiert werden und verarbeitet werden, sodass man letztendlich einen PC damit bedienen kann. Dafür kann man z.B. die kostenlose freie (Open Source) Software „Tbeta“ benutzen, welche die Blobs als solche erkennt und als Koordinaten ausgibt. Daraufhin braucht man noch einen Maus-Treiber, der aus diesen Koordinaten Bewegungen auf den Bildschirm bringt. Dazu benötigt man jedoch ein Betriebssystem, welches ebenfalls Open Source ist, also freien bzw. offenen Quellcode bietet.

Umsetzung

Case

Das Case bzw. die Halterung ist natürlich nötig um die einzelnen Bauteile zueinander zu bingen. Als Halterung kann man z.B. einen alten Tisch benutzen. In diesen Tisch muss ein Loch gesägt werden, welches in etwa der Größe des LCD-Screens entspricht, den man zur Verfügung stehen hat. Dazu sollte man sich das Rechteck vorher aufzeichnen und dann in die Ecken mit einem möglich großen Bohrer je ein Loch bohren. Dann kann man mit einer Stichsäge sägen.

LCD-Screen

Diser besteht im wesentlichen aus einem TFT-Bildschirm. Um daraus nur den LCD-Screen zu bekommen, müssen wir den TFT von seinem Gehäuse befreien und alle Bauteile von ihren Plastik- oder Metallhalterungen demontieren. Außer der Hintergrundbeleuchtung, werden alle anderen Bauteile benötigt. Man sollte sich also merken wie diese angeschlossen waren. Außerdem muss man sehr vorsichtig mit dem LCD-Screen und der daran befestigten Platine umgehen.

Beleuchtung

Da man die Hintergrundbeleuchtung des TFT-Monitors nicht verwenden kann, weil diese die Infrarotstrahlen nicht durchlässt, muss man sich Abhilfe schaffen. Unzwar mit Neonröhren, Kaltlichtkathoden oder den Leuchtstoffröhren des Hintergrundbeleuchtung des TFTs. Man benötigt so viel Licht, dass man auf dem LCD-Screen ein Bild sehen kann. Wichtig ist, dass man Kaltlicht verwendet, da „warmes“ Licht Infrarotstrahlen sendet, welche zu Stöhrstrahlung führt.

IR-Kamera

Als Kamera eignet sich prinzipiel jede Webcam mit USB-Anschluss. Die Kamera sollte allerdings eine Framrate von mindestens 30fps aufweisen und selbstverständlich mit dem verwendeten Rechner funktionieren. Dazu eignet sich z.B. eine Playstation 3-Kamera. Diese muss man öffnen, sodass man sonah wie möglich an die Linse herankommt. Dann muss man den IR-Filter der Kamera entfernen, welcher Infrarotlich blockt und einen anderen Filter einbauen, der außer der IR-Strahlung kein Licht durchlässt. Einen solchen Filter kann man sich aus einer alten Diskette bauen, genauer gesagt aus der Kunststoffscheibe in der Diskette.

IR-Lichtquelle

Dazu eignen sich IR-LEDs, von denen man so viele haben sollte, dass man min. 3 der 4 Kanten der Plexiglasscheibe beleuchten kann. Eine Möglichkeit ist, dafür einen Infrarot-LED-Streifen zu benutzen, bei dem die LEDs schon auf einem flexiblem Streifen befestigt und verlötet sind, sodass man nur noch an ein Ende eine Stromquelle anschließen muss.

Plexiglas

Die Plexiglasscheibe sollte etwa 1cm dick sein, damit die Infrarotstrahlen an den Seiten wirklich in die Scheibe gestrahlt werden (siehe oben) und etwas größer sein als der LCD-Screen. Die Kanten die beleuchtet werden muss man polieren, sodass man eine glänzende Fläche bekommt.

Rechner

An den Rechner werden hardwaretechnisch keine hohen Ansprüche gestellt. Er muss lediglich über einen USB-Port für die Kamera verfügen und seine Leistung sollte einen problemlosen Betrieb mit dem gewünschten Betriebssystem (siehe Software) ermöglichen.

Zusammenbau

Wenn man alle oben beschriebenen Teile besorgt und bearbeitet hat, kann die Endmontage beginnen. Zuerst sollte man sich mit der Befestigung des LCD-Screens und allen Teilen unter der Oberseite des Cases befassen. Denn dafür kann man sein Case noch auf den Kopf stellen. Bei der Befestigung des LCD_Screen's muss man sehr aufpassen, da dieser ansich und die daran hängenden Kabel sehr empfindlich sind. Als Stromquelle haben wir ein Netzteil genommen, was den Vorteil hat, dass man nachher nur eine Steckdose braucht. Allerdings sind dafür elektrotechnische Kenntnisse notwendig und man muss sehr vorsichtig mit einem offenen Netzteil umgehen.

Als nächstes wird die Plexiglasscheibe eingebaut. Wenn man z.B. wie wir einen Holztisch als Case hat, erhält man mit Hilfe einer Oberfräse und etwas handwerklichem Geschik, eine sehr saubere und elegante Lösung. So ermöglich man sich, die Plexiglasscheibe in der Tischplatte zu versenken. Dabei muss man beachten, dass man so breit ausfräst, das die LED's noch Platz haben. Wenn man einen LED-Streifen benutzt empfiehlt es sich, diesen vorher an den Kanten der Plexiglasscheibe zu befestigen. Klebeband eignet sich eigentlich ausreichend als Fixierung. Um die LED's mit Strom zu versorgen, sollte man ein kleines Loch in den Tisch bohren, da es optisch mehr her macht den Kabelsalat unter dem Tisch, am besten hinter einer Verkleidung, abzuwickeln.

Danach kann man die restlichen Bauteile nacheinander einbauen und an die Stromquelle anschließen, d.h. die Lichtquelle, die Kamera und evtl. auch den Computer. Dafür haben wir an den Tischbeinen Schienen angebracht und Holzplatten als Ablagen eingeschoben. Zwischenzeitlich solte man immer wieder funktionstests machen, z.B. ob der LCD-Screen noch immer ein Bild anzeigt.

Praxis

Materialliste

  • PS3-Kamera 30,00€
  • IR-LED-Streifen 50,00€
  • PC (Poly Carbonat) 12,00€
  • Tube Silikon ??,??€
  • Nitro-Verdünnung ??,??€
  • Gewebeband 6,00€
  • Polierfilz 2,00€
  • 2x Schaniere 4,00€
  • 2x Aluleisten 12,50€

—-

  • GESAMT 136,50€

Tag 1

Zu Anfang haben wir uns alle in der Klasse versammelt und unser Lehrer Herr Lalande hat die Projektwoche mit ein paar Worten zum Thema Projektmanagement eingeleitet. Daraufhin haben wir unsere Projektgruppe in Arbeitsgruppen aufgeteilt (siehe oben), wobei man dadurch nicht an bestimmte Aufgaben gebunden ist, sondern jederzeit überall mithelfen kann.

Als Gerüst, Verkleidung oder Gehäuse dient zunächst einmal ein Holztisch (100cm x 80cm x 70cm). In die Tischplatte haben wir ein Loch in der Größe eines 17“ Monitors gesägt, da unser LCD-Screen ein 17“-Monitor ist. Diesen TFT haben wir aufgeschraubt und die Bauteile von den Plastik- und Metallhalterungen gelöst.

Die Kamera, in unserem Fall eine Playstation 3-Kamera, die die Projektleiter im Vorfeld besorgt haben, haben wir ebenfalls aufgeschraubt, um den Infrarotlichtfilter zu entfernen. Dann hat die Technik-Team uns einen RGB-Filter aus der inneren Scheibe einer Diskette gebaut und diesen vor die Linse montiert.

led_streifen.jpg lcd_screen.jpg ps3cam_offen.jpg tisch_loch.jpg

Tag 2

Schon morgens haben wir unser Plexiglas bekommen, perfekt zugeschnitten und auch noch zu einem guten Preis von 12€. Die Kanten der Scheibe haben wir mit einem Polierfilzaufsatz für einen Dremel poliert, bis sie geglänzt haben. Währenddessen haben sich andere die Hintergrundbeleuchtung des TFT-Monitors näher angeschaut. Dort haben wir zwei Neonröhren gefunden und auch noch einen Plexiglasscheibe, wie wir sie vorher gesucht haben. Jedoch hatte diese Scheibe eine Punktraster aufgedruckt, womit sie für uns uninterressant wurde.

Zwischenzeitlich wurde uns von der Schule auch ein alter PC zur Verfügung gestellt, auf dem wir Windows 7 und über VirtualBox Android laufen lassen wollten. Die Installation begann. Unser Tisch hat heute auch Schienen für die erste Ebene bekommen und die Tischplatte wurde mit der Oberfäse bearbeitet, sodass wir die Plexiglasscheibe in den Tisch einlassen können.

Das Elektrotechnik-Team hat ein Netzteil für unserer Zwecke modifiziert und einen Ein-/Aus-Schalter gebaut. Dieser wird später fest in den Seitenteilen befestigt sein. Für diese Seitenteile und die zwei Ebenen haben wir heute auch gleich Holz besorgt, d.h. einfach nur alte Holzplatten, die später um die Tischbeine herum befestigt werden. Zur Kühlung wurden in den Boden der unteren Ebene 80mm-Löcher gebohrt, über die wir daraufhin Lüfter installiert haben.

fraese_scheibe_led.jpg netzteil.jpg tisch_box.jpg

Tag 3

Am dritten Tag haben wir in die obere Ebene ein größeres Rechteck gesägt, damit die Kamera, die auf der unteren Ebene platziert wird, ein Bild bekommt. Für diese Ebene wurden auch die Schienen angebracht und das Netzteil wurde mit der Ebene verschraubt. Die Lüfter wurden angeschraubt und angeschlossen. Heute haben wir auch den LCD-Screen montiert. Diesen haben wir zunächst mit Klebeband fixiert und danach mit zwei Metallleisten befestigt, ohne den LCD-Screen zu zerdrücken. Direkt unterhalb der Tischplatte haben wird die Platine des LCD-Screens verschraubt und das VGA-Kabel sowie das Stromkabel befestigt.

Anschließend haben wir den IR-LED-Streifen an den Kanten der Plexiglasscheibe mit Klebeband fixiert und die Scheibe in die Tischplatte eingelassen. Über die Ränder haben wir Metalleisten geschraubt, welche optisch saubere Ränder abgeben. Später an diesem Tag erfolgte auch noch ein Test der gute Blobs lieferte. Der PC hingegen hatte, trotz installierter Treiber, Probleme die Kamera zu erkennen. Außerdem war er ziemlich langsam, sodass Windows 7 nicht optimal lief.

Durch die Rollen eines Schreibtischstuhls wurde unser Tisch mobil.

Tag 4

An dem vierten und gleichzeitig letzten Tag, musste alles fertig werden, um unser Ziel zu erreichen. Das heißt alle Einzelteile wurden an ihrer finalen Platz gebracht. Da wir mit dem PC, den wir zu Anfang bekommen haben, zu heftige Probleme hatten, bekamen wir noch einen anderen gesponsert. Letztendlich haben wir jedoch trotzdem ein Notebook benutzt. Als Lichtquelle haben wir überreaschen noch mehrere Neonröhren auftreiben können, die eine gute Hintergrundbeleuchtung abgeben. Nachdem sämtliche Elektronik installiert wurde, haben wir noch die Box um die Tischbeine gebaut, welche mit einer Tür versehen wurde.

Während der Projektwoche haben wir unsere Arbeiten mit eine Videokamera gefilmt. Die ganzen einzelenen Videos wurden dann zu einem Video von etwa 5min. Länge zusammengeschnitten. Das Video findet man hier.

Die Hardcore-Projektgruppenmitglieder blieben sogar noch bis 21 Uhr abends, um das System zum laufen zu bringen. Und sie haben es geschafft ! Die Bedienung mit den Finger funkioniert ganz leicht, ohne feste drücken zu müssen. Allerdings ist das System noch nicht multitouchfähig. Das ist allerdings ein reines Softwareproblem, welches wir aufgrund der Zeit nicht lösen konnten.

Links

 
natural_user_interface.txt · Zuletzt geändert: 2010/01/29 08:39 von 109.40.104.50
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki