Entwicklung eines eOhr-Visualisierungsplugins zur Simulation von Räumen

„Licht an, Musik auf Klassik, Heizung auf Stufe 5!“ – wer träumt nicht davon, wie die Helden in Filmen wie Minority Report, Blade Runner oder Star Trek per Sprachsteuerung das Licht zu dimmen, den Radiosender zu wechseln oder die Heizung einzuschalten?
Für die Master-Thesis von Markus Berg, in der eine „natürlichsprachliche, dialogbasierte Raumsteuerung entworfen und prototypisch umgesetzt“ wurde, sollte eine Erweiterung entwickelt werden, die einen Raum inkl. schaltbarer Geräte simuliert. Zwar existiert entsprechende Hardware, jedoch steht diese für eine Vorführung, beispielsweise auf einer Messe, nicht immer zur Verfügung.

Die Aufgabenstellung lautete wie folgt (Zusammenfassung):

  • Grafische Umsetzung mit Hilfe einer 3D-Grafiksoftware
  • Vorgegebene Geräte in zwei Räumen darstellen
  • Sichtbare Schaltzustände umsetzen
  • Schnittstellenkonventionen einhalten
Vergleich der verschiedenen Gerätezustände
Verschiedene Gerätezustände

Für die Erstellung der Räume und Geräte wurde die Software Blender verwendet, da es sich hier um eine unter der GNU General Public License veröffentlichten und somit kostenlosen Software handelt. Zudem existieren hierfür zahlreiche Einsteigertutorials und Onlinehilfen. Die Programmierung erfolgte mit C#.

Wichtig bei der Gestaltung war, dass nach einem Schaltvorgang die Geräte deutlich ihren Zustand ändern, was bei einem Großteil der Geräte über das typische Verhalten realisiert wurde. So wird eine Lampe heller oder dunkler, die Jalousie senkt oder hebt sich und der Fernseher zeigt je DVD-Kapitel ein anderes Bild. Im Falle der Heizung wurde ein stilistisches Mittel verwendet, so dass die Heizung mit steigender Temperatur die Farbe vom Grau zu einem kräftigen Rot wechselt.

Die Zustände der Lautstärke und des MP3-Players wurden in Photoshop erstellt. So erscheinen in Abhängigkeit der Lautstärke bis zu vier Noten oberhalb der Lautsprecher. Die Anzeige des MP3-Players wurde, da sich Symbole und Schrift auf dem in Blender erstellten Display nicht erkennen lassen, zusätzlich unterhalb des Raums in vergrößerter Darstellung eingefügt.

Mit und ohne Schatten/Reflexionen
Unterschied bei ein- und ausgeschalteten Lichteeffekten

Die durch das Hauptprogramm vorgegebene Anzahl von bis zu 101 verschiedenen Zuständen pro Gerät (0% = Gerät aus, 100% = Gerät auf max. Leistung) wurde auf ein sinnvolles Minimum von 5 Zuständen reduziert. Da diese Simulation nur die Funktionalität der Sprachsteuerung zeigen soll, ist dieser Wert vollkommen ausreichend. Ebenfalls wurde größtenteils auf Reflexionen und Schattenwurf verzichtet, da sich sonst die Geräte äußerlich beeinflussen und somit eine grafische Änderung einen höheren Aufwand zur Folge hätte.

Die fertigen Bilder wurden nun in Teilbilder zerlegt, so, dass sich auf jedem Teilbild nur ein Gerät befindet. Somit muss bei einer Zustandsänderung eines Gerätes nicht das gesamte Bild geändert werden, wozu der Zustand für jedes weitere Gerät abgefragt werden müsste, sondern nur das Teilbild des entsprechenden Gerätes. Eine Ausnahme bilden hier lediglich Jalousie und Heizung, die sich zu dicht beieinander befinden. Hier muss der Zustand des zweiten Gerätes mit berücksichtigt werden.

Finales Programm mit Steuerfenster
Finales Programm mit Steuerfenster

Für eine korrekte Befehlsauswertung sind drei Werte notwendig: Hauptkanal, Nebenkanal und Wert. Mittels des Hauptkanals wird das zu schaltende Gerät und im Nebenkanal der aktuelle Befehl ausgewählt. Die Auswahl der Geräte und Befehle erfolgt über vordefinierte zweistellige IDs. Das Feld Wert ist nur bei bestimmten Befehlen erforderlich, beispielsweise bei der Auswahl einer bestimmten Playliste oder Präsentation.

Die Umsetzung erfolgte 2009 im Rahmen der Lehrveranstaltung „Multimediaprojekt“ des Masterstudiengangs Multimedia Engineering an der Hochschule Wismar.


Teile diesen Beitrag

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert