Interaktiver Bartisch

Aus toolbox_interaktion
Wechseln zu: Navigation, Suche
Bartisch

Einführung

Das Team hatte die Vision den abendlichen Baraufenthalt interessanter zu gestalten. Dabei fiel die Projektauswahl auf einen Multitouchtisch, der interaktive Anwendungen für den Benutzer bereitstellen soll. Die Absicht dahinter ist einerseits Langeweile zu vermeiden, andererseits soll der Tisch auch als Eisbrecher beim Kontakt mit fremden Menschen dienen. Also wurde einstimmig entschieden, den Multitouchtisch als einen digitalisierten Bartisch zu gestalten. Dabei sollen unter den Getränken der Benutzer Spezialeffekte erscheinen, die aus verschiedenen bunten Formen und der Bezeichnung des jeweiligen Getränks bestehen. Diese Effekte erscheinen unter allen Gläsern am Bartisch und bieten somit Gesprächsstoff für die beteiligten Personen. Ein dauerhafter Farbverlauf im Hintergrund soll einen optischen Anreiz liefern.

Aufbau

Beim Multitouch-Tisch sind mehrere komplexe „touch“-Ereignisse gleichzeitig möglich. Dazu zählen zum Beispiel Zoom, Rotation, Touch und Marker. Bei unserem Bartisch haben wir nur mit Markern gearbeitet, welche unter den Gläsern angebracht wurden. Die Marker sind mit verschiedene ID-Nummern hinterlegt, die im Code eingebunden wurden. Somit wurde jedem Getränk ein anderer Effekt zugewiesen. Unter dem Plexiglas befindet sich eine Infrarotkamera, welche die Marker erkennt und ein Projektor, der das Bild auf dem Plexiglas projiziert.

Aufbau

TUIO

Als Schnittstelle zwischen Multitouch-Tisch und Anwendung haben wir das TUIO-Protokoll verwendet, welches auf dem OSC-Protokoll aufsetzt. Der Multitouch-Tisch hatte bereits eine entsprechende Tracking-Software installiert, so dass wir ein fertiges TUIO-Protokoll erhalten haben, das uns Eigenschaften der aktuellen "touch"-ereignisse, sowie Position und ID eines Markers, übergab. Für die Anwendung haben wir Open Frameworks verwendet. Zusätzlich gab es dafür ein entsprechendes OSC und TUIO Addon, die bereits Klassen und Methoden implementiert hatten welche genau diese TUIO Nachrichten lesen und verarbeiten konnten. Um die Software nicht immer am Multitouch-Tisch testen zu müssen, haben wir einen TUIO Simulator verwendet. Man konnte wie auf einem richtigen Multitouch-Tisch Marker setzen und verschieben und somit ein Protokoll, basierend auf diesen Daten, erstellen. Dieses TUIO-Protokoll wurde an den Port 3333 gesendet, auf dessen Nachrichten unsere Anwendung reagiert hat. Anfangs hatten wir Schwierigkeiten die Funktionsweise des Simulators zu verstehen, doch nach den Startschwierigkeiten war es eine einfache und praktische Möglichkeit die Anwendung lokal auf dem eigenen Rechner zu testen.

Simulator

Entwicklung des Codes

Glücklicherweise wurde uns das Grundgerüst, nämlich die Hardware von der Hochschule zur Verfügung gestellt. Der Multitouchtisch war also bereits vorhanden und somit konnten wir uns voll und ganz auf die Entwicklung der Software konzentrieren. Wir haben den Code mit Hilfe von C++ und des Editors Xcode geschrieben. Zuerst haben wir als Team Ideen zusammengefasst, wie wir anfangen und auf welchen Teil der Software wir uns zu Beginn konzentrieren. Wir waren uns alle relativ schnell einig, dass wir mit dem Hintergrund des Programms anfangen und einen Farbverlauf einbauen. Dazu haben wir uns die RGB-Werte ausrechnen lassen und mit Hilfe dieser Werte und der Methode „ofBackgroundGradient“, welche Teil der OpenFrameworks Bibliothek ist, hatten wir unser gewünschtes Ergebnis.

Hintergrund

Nach diesem ersten Erfolgserlebnis konnten wir uns der eigentlichen Grundidee widmen. Durch eine Iteratorliste, welche Schritt für Schritt die Objekte durchgeht, konnten wir uns die aktuelle Position der Objekte, die sich auf dem Tisch befinden, ausgeben lassen. Mit Hilfe der Variablen „id“ konnten wir das Ganze in einer if-Anweisung verarbeiten und uns je nach Wert der ID einen anderen Effekt ausgeben lassen. Im folgenden Codeausschnitt wird beispielsweise eine Spirale um das spätere Glas erscheinen. Zusätzlich hatten wir die Idee ein Textfeld neben dem Glas erscheinen zu lassen, welches den Namen des Getränks ausgibt, das sich im Glas befindet. Insgesamt haben wir es geschafft drei verschiedene Effekte zu entwickeln.

Effekte
Effekte_Bild



Probleme

Eines der grundlegendsten Probleme war die Unwissenheit über die Herangehensweise bei einem solchen Projekt. So hat es die meiste Zeit gekostet, um erst mal festzustellen, wie der Multitouchtisch funktioniert und welche Bestandteile dafür benötigt werden. Das hatte zur Folge, dass für die graphische Gestaltung nicht mehr die Zeit blieb, die eingeplant wurde. Die Spezialeffekte fielen deshalb eher schlicht aus. Des Weiteren war auf dem Multitouchtisch Windows 7 als Betriebssystem installiert, weswegen wir eine Anwendung erstellen mussten, die auf Windows ausführbar war. Zum Glück arbeitete ein Gruppenmitglied mit Windows, wodurch sich dieses Problem als unproblematisch herausstellte. (Für nicht windows-Nutzer problematisch) Die Installation von verschiedenen Anwendungen (Tuio-Simulator, QtCreator) erstellte sich als schwierig oder funktionierte gar nicht auf Unix (Ubuntu 16.04)


Link zur Projektdatei