Einleitung

Wie in unserer Projektplanung bereits erwähnt, lag unser Fokus auf dem Bauen der Konsole und dem ausprobieren dieses Formfaktors, sowie der teilweisen Implementation der Touch UI mit der man die acw Applikationen steuern und seine Ergebnisse verwalten kann. Weiters wollten wir so weit wie möglich Applikationsideen aus unserem Design implementieren.

Einen Teil dieser Ziele konnten wir erreichen, nur wegen zeitlichen sowie technischen Problemen, ist die Zusammenführung der einzelnen Komponenten nicht 100%ig gelungen.

Die Konsole

Unsere Umsetzung der Konsole besteht aus zwei Teilen.
Der untere Teil ist eine Holzkonstruktion, um einen Beamer sowie einen Laptop Problemlos tragen zu können. Die Holzkonstruktion hat zwei Ebenen wobei auf der unteren der Beamer steht und auf der oberen der Laptop.
Über dem Laptop gestülpt steht der zweite Teil der Konsole und zwar eine Konstuktion aus Karton. Diese Bedeckt einerseits den Laptop und schafft andererseits die noch nötige Höhe von ca. 1m auf der das iPad montiert ist. Ebenfalls Teil der Kartonkonstruktion ist er Ständer für das iPad, das als Touchscreen für die Touch UI dient. Unter dem iPad befindet sich die Webcam für das Tracking, wobei wir eine PS3Eye verwendet haben. Weiters ist unter der obersten Fläche ein RFID Phidget angebracht, um das Anmelden per RFID Tag zu ermöglichen, in dem dieser auf die freie Fläche gelegt wird.

thumb thumb

Die Wand

Zwar nicht ein unmittelbarer Teil unseres Protypen, aber dennoch essentiell für die Umsetzung der Wandapplikationen, da eine Testumgebung benötigt wurde. Leider verzögerte sich der Bau der Wand durc hanfängliche Unsicherheiten wegen der Finanzierung, sowie erneuter Diskussion über das Baumaterial um beinahe zwei Wochen, wodurch die weiter Entwicklung ebenfalls im Zeitplan zurückgeworfen wurde.

Die schlussendliche Wand besteht aus vier Modulen, welche aus Wandparkett zusammengebaut wurden. Als Griffe dienen aus Bauschaum geformte Strukturen, die mit dunkelblauer Sprühfabre eingefärbt wurden, um einen besseren Kontrast zur Wand zu haben.

Diese vier Module wurden aufgestellt, indem die unteren einfach am Boden und der Wand angelehnt wurden und die oberen zwei auf die unteren Module gestellt wurden. Weiters wurden die oberen Module noch mit eine Schnur gesichert, damit diese nicht vorne über kippen.

thumb

Touch UI

Wie geplant, haben wir die Touch UI als eine Webapp umgesetzt. Diese läuft in einem Server auf dem Laptop, der auch das Tracking sowie die Projektion übernimmt. Für den Protypen haben wir die folgenden Funktionen implementiert bzw. weggelassen:

  • Login per RFID oder Benutzername und Passwort
  • Applikationen starten und wieder anhalten, falls man diese vorzeitig beenden möchte.
  • Es kann immer nur eine Applikation gleichzeitig ausgeführt werden.
  • Scores können angesehen werden, sowie nach einem erfolgreich beendeten Spiel gespeichert werden.
  • Gastprofile können erstellt und in Gruppen eingeteilt werden. Löschen und editieren wurde nicht implementiert.
  • Das Wechseln von Profilen, so dass man mit Gastprofilen spielen kann.
  • Die Hilfe ist beim Prototypen nur ein Platzhalter

Die Kommunikation zwischen der Touch UI und den Applikationen wird ebenfalls durc hden Webserver gehandhabt, indem dieser zei php Dateien zur Verfügung stellt, die entweder von der Touch UI (external_call.php) bzw. vom App Wrapper (internal_call.php) aufgerufen werden.
Der Webserver schickt seine Kommandos per OSC an den App Wrapper.
Damit die Touch UI aktuell bleibt, schickt diese stetig Statusnachfragen and den Webserver.

thumb thumb thumb thumb thumb

Tracking

Wie bereits angedeutet ist es durch erste Anlaufschwierigkeiten beim Bau der Testkletterwand zu zeitlichen Verzögerungen gekommen, was auch dazu geführt hat, dass das Tracking verspätet umgesetzt werden konnte. Dadurch hat Zeit letztendlich nicht mehr ausgereicht um den Trackingteil mit den anderen Softwarekomponenten zu verbinden und zu testen.

Der Tracker wurde in Processing implementiert. Als Webcam wurde das PS3Eye verwendet, welches mittels macam un ManyCam unter MacOSX zum Laufen gebracht wurde.

Das Tracking besteht aus zwei Teilen.
Ein Part ist für das erkennen der Klettergriffe notwendig. Dies geschieht einmal um die Konsole zu kalibrieren. Das Ergebnis dieses Schrittes ist eine XML Datei in der die Koordinaten der Klettergriffe, die sich im von der Webcam gefilmten Bild befinden, aufgelistet sind. Zusätzlich sind diese Koordinaten normiert, so dass unabhängig vo nder Auflösung der Kamera sind und so Problemloser weiterverwendet werden können.
Diese Liste an Koordinaten, muss dann in die Konfigurationsxmldatei des App Wrappers kopiert werden.

Der zweite Trackingteil ist der Farbtracker, welcher dazu dient die Hände des Kletterers zu tracken. Um das Tracking beim Prototypen zu vereinfachen, sind die Hände mit UV aktivem farbigen Papier markiert, welches durch zusätzliche Bestrahlugn mit einer Schwarzlichtlampe dazu dienen soll, die Farbe möglichst konstant zu halten und Einflüsse durch Schatten zu vermindern, ohne die Projektion zu beeinträchtigen.

thumb

Applikationen

Die Applikationen sind den zeitlichen Problemen am stärksten zum Opfer gefallen. Zusätzlich war die Einschätzung über das nötige Knowhow in Flash etwas zu optimistisch.
Deswegen hat es leider nur zu eine Basisapp zum einrichten der Projektion, sowie einer Schmetterlingdummyapp gereicht, die noch nicht mit den Handtrackingdaten des Trackers arbeitet.

Alle Apps laufen im sog. App Wrapper. Dieser ist eine in Adobe Air geschriebene Applikation, welche das Erkennen der RFID Tags, sowie das Steuern der Applikationen handhabt. Letztere werden in Form einer swf in einen Container geladen und müssen nur noch Events verarbeiten, die der App Wrapper auf Grund von, in OSC Form eintreffenden, Trackingdaten generiert. Der Container, in den die Applikationen geladen werden kann händisch verschoben, skaliert und gedreht werden und zwar entlang aller Achsen. Dadurch kalibiriert man die Projektion so, dass die Trackingkoordinaten richtig an die Kletterwand zurückprojeziert werden. Hierzu dient die bereits erwähnte Basisapplikation, die für jeden erkannten Klettergriff einen Ring einzeichnet.

thumb thumb thumb thumb

Anmerkung: Das Weiterfliegen des Schmetterlings wird per Tastendruck ausgelöst.

Vom Prototyp zum Produkt

Die folgende Liste soll einen Überblick über die Aufgaben geben, die zur finalen Realisierung eines verkaufsfertigen Endproduktes noch zu erledigen wären:

Allgemein
  • Anpassung und Testen des Prototypen an echten Kletterwänden
Konsole
  • Möglichkeiten zur Robustheit der Konsole überlegen (Vandalensicherung)
  • Design überarbeiten
Applikationen
  • Schmetterling-App erweitern und optimieren
  • Highscore-App implementieren
  • Lawinen-App implementieren
  • Twister-App implementieren
  • Weitere Applikationskonzepte generieren
Tracking
  • Implementieren eines Trackingystems, das keine Marker benötigt. Eventuell mit mehreren Kameras, die in der Kletterhalle verteilt werden müssten. -> Optimum wären 3D Daten, die in einem 3D Modell der Kletterhalle eingefügt werden.
  • Automatische Kalibrierung (Parameter anpassen z.B. Lichtverhältnisse)
Beamer
  • Projektionstechnik abklären
  • verschiedene Beamer austesten
  • optimale Lichverhältnisse für Projektion eruieren
  • Lösung für größere Projektionsfläche finden -> mehrere Beamer, Spezialbeamer, ...
  • Verfahren zur Verzerrung des projezierten Bildes implementieren, um auch komplexer strukturierte Kletterwände bestrahlen zu können.