Zum Hauptinhalt springen
FHEDEEN
Infomaterial anfordern

Bachelor Flyer Master Flyer

Kontakt

Sekretariat Angewandte Informatik
Tel.: 0361 6700-642
Fax: 0361 6700-643 sekretariat-ai@fh-erfurt.de

Besucheranschrift:

Fachhochschule Erfurt
Fakultät Gebäudetechnik und Informatik
Fachrichtung Angewandte Informatik
Altonaer Straße 25
99085 Erfurt

Aktuelle Projektarbeiten

Bloc - The Tangible Interface

Daniel Brosche

Projekt Medieninformatik

Abbildung 1: Architektur

Abbildung 2: Aufbau für den Einsatz am Whiteboard

Abbildung 3: Aufbau für den horizontalen Einsatz

Abbildung 4: Tangible-Funktionen

Abbildung 5: Tangible - Editor

Abbildung 6: Editor - Debug Modus

Abbildung 7: Tangible MIDI-Contoller

Abbildung 8: Setup - Tangible Mathboard

Abbildung 9: Tangible Mathboard

Betreuer: Rolf Kruse

Bloc ist ein Framework für die Erstellung und Einbindung von benutzerdefinierten TUI (Tangible User Interfaces). Das Framework besteht aus einer Software-Bibliothek, einen TUIO-Server und einen Editor für die Konfiguration des TUI (siehe Abb. 1). Je nach Verwendung wird eine durchschnittliche Webcam und ggf. ein Projektor (Beamer) benötigt. Als Tangible kann nahezu jedes farbliche Objekt als Benutzerschnittstelle verwendet und Benutzereingaben in Echtzeit durchgeführt werden. Die Software-Bibliothek und der TUIO-Server wurden in C++ entwickelt. Für die Implementierung performanter Tracking-Algorithmen wurde die OpenCV Bibliothek als Grundlage verwendet. Der Editor ist eine vollständig eigenständige MC++.NET Applikation und verwendet GDI+ für die Umsetzung der Ansicht.

Motivation
Seit mehr als zwei Jahrzehnten ist unser Umgang mit dem Computer bestimmt von den gleichen Ein- und Ausgabegeräten: Maus, Tastatur und Monitor. Veränderte Anforderungen durch neue Nutzergruppen und andere Einsatzsituationen, z. B. wenn wir unterwegs sind, erfordern teilweise neue Formen der Interaktion. Noch zu wenig genutzt wird dabei unsere – von Kind an erlernte und vom Alltag gewohnte – Fähigkeit der direkten Interaktion mit physischen Gegenständen. Um dieses Potenzial zu nutzen, können sog. Tangibles zur Repräsentation und Steuerung digitaler Medien eingesetzt werden.

Allgemeine Ziele:

  • geringe Anschaffungskosten (Webcam)
  • mobil einsetzbar
  • hochanpassbar
  • robuste Erkennung
  • physisches Feedback durch die Nutzung von Tangibles
  • integrierte Grafiken (Ausgbabegerät = Eingbabegerät)

Prinzipieller Aufbau
Wie bereits erwähnt, werden neben einen PC nur Webcam, Tangibles und ggf. ein Projektor benötigt. Als Interaktionsfläche können jegliche Untergründe verwendet werden. Einziges Kriterium ist, dass der Hintergrund und das Tangible einen farblichen Unterschied aufweisen müssen, um eine sichere Erkennung gewährleisten zu können. Folglich kann eine Vielzahl an verschiedenen Untergründen als Interaktionsfläche dienen. Beispielsweise sind weiße Tische oder Whiteboards perfekte Interaktionsflächen. Die folgenden Abbildungen zeigen verschiedene Nutzungsmöglichkeiten.

Die obere Abbildung 2 zeigt ein Whiteboard als Interaktionsfläche. An dem Whiteboard befinden sich farbige Magneten die als einfache Tangibles geeignet sind. Die Webcam ist im rechten Winkel zu der Interaktionsfläche angeordnet und entsprechend ausgerichtet, damit eine geringe perspektivische Verzerrung auftritt. Neben dem vertikalen Aufbau besteht natürlich auch die Möglichkeit einer horizontalen Anordnung. In der folgenden Abbildung 3 wird der horizontale Aufbau speziell für den Desktopeinsatz dargestellt.

Funktionen und Konfiguration
Das Konzept verfolgt das Prinzip, dass der gesamte zur Verfügung stehende Interaktionsbereich (gesamte Webcam-Bildbereich) in Teilbereiche unterteilt werden kann. Jedem dieser Teilbereiche können ein oder mehrere Tangibles zugeordnet sein und verschiedene Funktionen ausführen. Dieses Prinzip bringt reichhaltige Kombinationsmöglichkeiten mit sich. So können beispielsweise eine Vielzahl von gleichen Tangibles mit unterschiedlichen Funktionen, auf dem gesamten Interaktionsbereich, eingesetzt werden. Andererseits besteht auch die Möglichkeit, viele Interaktionsbereiche mit einem Tangible zu steuern.Darauf aufbauend können verschiedene Steuerfunktionen bzw. Tangible-Interaktionsmöglichkeiten, die jeder Teilbereich individuell aufweisen kann, konfiguriert werden.

In der Abbildung 4 ist eine beispielhafte Bereichsunterteilung dargestellt. Jeder dieser Teilbereiche wurde einer anderen Steuerfunktion zugeordnet. Der X/Y Controller ist ähnlich wie eine herkömmliche Maus anzusehen, welche entlang der X und Y-Richtung bewegt werden kann. Dahingegen ist der H-Slider bzw. V-Slider nur für die Translation entlang einer Achse bestimmt. Der Rotator bietet die Möglichkeit, neben der reinen Translation, auch Rotationen der Tangibles zu verarbeiten. Der Switch ermöglicht es, durch die Verschiebung des Tangibles in vordefinierte Bereiche, einen Schalter zu realisieren. Alle aufgeführten Steuerfunktionen sind modular miteinander kombinierbar. Beispielsweise ergibt die Kombination aus X/Y Controller und Rotator eine interessante Möglichkeit eines multifunktionalen Tangible.

Der Tangible-Editor ist eine eigenständige Applikation, welche in MC++ (.Net) entwickelt wurde (Abb. 5). Die primäre Aufgabe des TEditors ist es, eine einfache Konfiguration zu ermöglichen. Darüber hinaus bietet der TEditor auch die Möglichkeit die gewählten Einstellungen in einem Debug-Modus zu testen (Abb. 6).

Die gewählten und verifizierten Einstellungen können in einer Datei exportiert werden, welche dann wiederum in eigene Applikationen, mit der BlocLib-Programmbibliothek importiert werden kann. Diese Option vereinfacht die Nutzung der Programmbibliothek, da der relative aufwendige Konfigurationsprozess nicht in den jeweiligen Anwendungen separat behandelt werden muss.

Demo-Applikationen

MIDIbloc
Dieses Szenario wurde entwickelt, um die alternativen Möglichkeiten unserer Technologie im Gegensatz zu herkömmlichen Hardware Midi-Controllern aufzuzeigen. Midi-Controller wurden entwickelt, um vorwiegend Musiksoftware zu steuern. Speziell bei dem Arrangieren von Songs ist es vorteilhaft, parallel mehrere Parameter gleichzeitig in der Musiksoftware zu manipulieren. Besonders hervorgehoben sei die Tatsache, dass der Nutzer die Möglichkeit besitzt, gemäß seiner Projektanforderungen, speziell angepasste Benutzerschnittstellen zu konfigurieren. Insbesondere soll dieses Szenario auch die generellen Möglichkeiten für den Desktopeinsatz verdeutlichen (Abb. 7).

In der MidiBloc Applikation wird nach der Wahl des virtuellen Ports sofort die Tangible-Erkennung gestartet. Darauf wird fortlaufend die entsprechende Tangible-Position ermittelt und in ein Midi-Kommando umgewandelt, welches von der Musiksoftware verarbeitet werden kann. Es gibt drei Tangible-Bereiche, wobei jeder Bereich durch unterschiedliche Midi-Kanäle eine andere Funktion in der Musiksoftware steuert.

Mathboard
Dieses Szenario verdeutlicht eine weitere interessante Nutzungsmöglichkeit der BlocLib. Dazu wird neben der Webcam noch ein handelsüblicher Beamer benötigt (Abb. 8). Beide werden so ausgerichtet, dass die Webcam das gesamte ausgestrahlte Bild des Beamers aufnehmen kann. Dank der Kalibrierungseinheit in der BlocLib, kann nun der Unterschied des aufgenommenen Bildes der Webcam mit dem ausgesendeten Bild des Beamers abgeglichen werden. Als Beispielanwendung wurde hierzu das interaktive Mathboard erstellt. Hierbei ist es dem Benutzer möglich, einmal eine Bezierkurve und zum anderen eine lineare Funktion mittels der Tangibles auf einem Whiteboard zu steuern und zu verändern. Dabei dienen die Tangibles als Stützpunkte für die Funktionen. Je nachdem, wo sich die Tangibles auf dem Whiteboard befinden, wird automatisch und in Echtzeit die neue Kurve bzw. lineare Funktion berechnet und dargestellt (Abb. 9).