von Goran Galunic zur Erlangung des akademischen Grades Diplom-Informatiker (FH)

Größe: px
Ab Seite anzeigen:

Download "von Goran Galunic zur Erlangung des akademischen Grades Diplom-Informatiker (FH)"

Transkript

1 Office Of The Future - Einbettung virtueller Hilfsmittel in Arbeitsumgebungen am Beispiel der Entwicklung einer Visualisierungs- und Kommunikationsschnittstelle für ein Mixed Reality Conferencing System von Goran Galunic zur Erlangung des akademischen Grades Diplom-Informatiker (FH) Fachhochschule Köln University of Applied Sciences Cologne Abteilung Gummersbach Erstprüfer: Prof. Dr. Horst Stenzel Zweitprüfer: Dr. Gernot Goebbels August 2003

2

3 Erklärung Ich versichere, die von mir vorgelegte Arbeit selbstständig verfaßt zu haben. Alle Stellen, die wörtlich oder sinngemäß aus veröffentlichten oder nicht veröffentlichten Arbeiten anderer entnommen sind, habe ich als entnommen kenntlich gemacht. Sämtliche Quellen und Hilfsmittel, die ich für die Arbeit benutzt habe, sind angegeben. Die Arbeit hat mit gleichem Inhalt bzw. in wesentlichen Teilen noch keiner anderen Prüfungsbehörde vorgelegen. Ort, Datum Unterschrift

4

5 Inhaltsverzeichnis Einführung 1 1 Virtuelle Umgebungen Virtual Reality Historische Entwicklung Technische Vorraussetzungen Eingabegeräte Ausgabegeräte Grafikcomputer Software Weitere Basistechnologien Kategorien Ubiquitous Computing Immersive VR Mixed und Augmented Reality Tangible User Interfaces Anwendungsgebiete Office Of The Future Motivation Virtuelle Hilfsmittel Definition Arten Integrationsmethoden Interaktionstechniken Direkte Manipulation Körperbezogene Interaktion Weitere Interaktionstechniken Projekte Roomware for Cooperative Buildings The Office of the Future i

6 ii INHALTSVERZEICHNIS 3 Die OfuturO Plattform Vorstellung Aufbau Tisch Display Eingabegeräte Software Avango Hardware-Treiber Anwendungen Verwandte Projekte DigitalDesk KoKoBel metadesk Der Mixed Reality Conferencing Prototyp Vorstellung Beschreibung eines Konferenzszenarios Entwicklungsstand Die Visualisierungs- und Kommunikationsschnittstelle Beschreibung Programmkomponenten Datenbankarchiv GUI Global View Manager Verwendete Programmierschnittstellen ODBC Qt Netzwerkprogrammierung in C Programmiertechnische Umsetzung Klassenhierarchie Erläuterung der Klassen Implementation zentraler Programmteile Evaluierung Zusammenfassung und Ausblick 85 A Glossar 91 B Einrichtung der Software-Umgebung 93

7 Abbildungsverzeichnis 1.1 HMD von Sutherland aus [Ort03] VPL DataGlove aus [Hsu93] Aufbau einer CAVE aus [Ort03] DLR SpaceMouse aus [Con03] Lichtpolarisation mit Hilfe von Polarisationsfiltern PHANTOM von SensAble Technologies aus [Tec03] Reality-Virtuality Continuum Graspable Object aus [FIB95] Vergleich zwischen GUI und TUI Interaktion aus [IU97a] Vision eines Office Of The Future aus [RWC + 98] Dialog Box in einer CAVE-basierten Umgebung aus [Goe01] Roomware-Komponente CommChair aus [SGH98] OfuturO Tisch Konzeptionelle Skizze von OfuturO Arbeitsplatz mit Laptop und weiteren Eingabegeräten Display Vorrichtungen Eingabegeräte SpaceMouse und Touchpad Avango-Entwicklungsumgebung Schematisches Diagramm des DigitalDesk aus [Wel93] Cooperative Worktable von Fraunhofer FIT aus [FIT03] Übersicht des metadesk Systems aus [IU97b] Vergleich von Konferenzszenarien Verbindung von Datenbankarchiven und Projektionssystem Vernetzung der Software-Komponenten Visualisierung von Präsentationsinhalten Download von Präsentationsinhalten Direkter Transfer von Informationen Gemeinsamer virtueller Arbeitsraum iii

8 iv ABBILDUNGSVERZEICHNIS 5.2 Darstellung verschiedener Medientypen Tabellenstruktur der Datenbank Aufbau und Schnittstellen der GUI Login Dialog und Hauptfenster Einfügen und editieren eines Datensatzes Auswahl eines Medientyps über den TypeSelection Dialog Datensatz-Lookup Request SharedData Dialog Herunterladen von Daten aus dem Shared Workspace DirectTransfer Dialog Direkter Datentransfer von Teilnehmer zu Teilnehmer Komponenten der ODBC-Programmschnittstelle Umfeld der Qt-Bibliothek Herstellung einer Socket-Verbindung Skizzierung der Klassenhierarchie Datenbankzugriffe beim Anmeldungsvorgang Instanzen der Klasse DBInterface Kommunikation zwischen GVM Interface und GVM Server Projektoren vor dem Einbau B.1 MySQL Konfiguration B.2 DSN Konfiguration B.3 ODBC Treiber Einstellung

9 Einführung Die Bearbeitung komplexer Projekte wird von Teams vorgenommen, die sich oftmals aus Mitgliedern mit verschiedenen fachlichen Hintergründen zusammensetzen. Diese verwenden zur Lösung der an sie gestellten Aufgaben diverse Werkzeuge, die spezialisierte Technologien zur Unterstützung ihres Aufgabenbereichs darstellen. Die Verwendung solcher Spezialisierungen kann allerdings zu Verständigungsproblemen führen, die durch Inkompatibilitäten an wichtigen Schnittstellen des Projekts verursacht werden. Eine für die Verständigung der Projektmitglieder entscheidene Schnittstelle ist das Projektmeeting, in dessen Rahmen Arbeitsergebnisse präsentiert und diskutiert werden. In der Regel ist die Meetingumgebung durch Präsentationsmittel wie Whiteboards und/oder einen Projektor ausgestattet. Diese Ausstattung reicht jedoch nicht immer für eine optimale Darstellung von Präsentationsdaten wie z. B. dreidimensionalen CAD 1 -Modellen aus. Des weiteren ergibt sich bei Besprechungen zwischen Auftraggebern und Zulieferern oft die Notwendigkeit, Daten untereinander austauschen zu können. So hat z. B. ein Flugzeugbauer bis zu tausend Zulieferer, welche Modelle ihrer Zuliefererteile über CAD-Daten präsentieren. Hier entsteht ein sehr hoher Datenverwaltungsaufwand und Transfer zwischen Partnern, die in vielen Fällen nur durch ihre Teilprojektleiter vertreten sind. Aus diesem Grund besteht ein großer Bedarf an geeigneten Präsentationstechnologien, welche es zusätzlich zur Visualisierung erlauben, Daten zu besprechen, zu manipulieren und zu beschreiben. Zudem wäre eine unkomplizierte Möglichkeit des Datenaustauschs und der Datensynchronisation zwischen Entwicklern, Projektleitern, etc. wünschenswert. Ein für die Produktivität des Projekts bedenkliches Verständigungsproblem kann auch zwischen der Projektleitung und dem Entwicklungsbereich auftreten. Die Projektleitung nutzt das Meeting um sich einen Eindruck über die Arbeitsergebnisse der Entwickler zu verschaffen, auf dessen Grundlage sie die Ergebnisse bewertet und den weiteren Fortgang des Projekts festlegt. Da die Entwickler oftmals nicht bei solchen Meetings anwesend sind, besteht ein 1 CAD = Computer Aided Design. Computergestütztes Entwerfen und Konstruieren. 1

10 2 EINFÜHRUNG erhöhter Anspruch an eindeutige und unmißverständliche Visualisierung und Dokumentation. Allerdings kann eine objektive Bewertung der Arbeitsergebnisse ohne hinreichende Präsentationsmittel für die Projektleitung zum Problem werden. Auf der anderen Seite ist der Entwicklungsfortschritt im Bereich multimedialer Systeme beachtlich. Die Rechen- und Grafikleistung herkömmlicher Computersysteme wächst immer schneller an, wohingegen deren Preisentwicklung umgekehrt proportional verläuft. Dies ermöglichte in den letzten Jahren die Ausstattung nahezu jedes Arbeitsplatzes mit leistungsfähiger Computertechnologie. Daher hat die Unterstützung von Arbeitsprozessen durch Datenbanksysteme oder Webtechnologien wie das Intranet stark zugenommen. Aus dem gleichen Grund finden auch portable Computersysteme, wie Laptops oder Handhelds (Palmtops), immer mehr Anwender. Die günstige Preisentwicklung multimedialer Komponenten wirkt sich ebenso auf Technologien wie Mixed oder Augmented Reality 2 aus, deren Einsatz in Arbeitsumgebungen bis vor kurzem aus Kostengründen nicht denkbar war. Dies zeigt sich z. B. bei preiswerten und doch leistungsfähigen Projektoren, die zur stereoskopischen, also räumlich wahrnehmbaren, Darstellung virtueller Objekte verwendet werden. Die weitgehende Verfügbarkeit multimedialer Technologien bietet sich dazu an, diese zur Unterstützung von Arbeitsprozessen wie dem beschriebenen Projektmeeting einzusetzen. Dazu könnten Besprechungssysteme geschaffen werden, welche die benötigten Technologien in die Meetingumgebung integrieren und eine neue erweiterte Grundlage zur Wiedergabe von Arbeitsergebnissen bereitstellen. Vielversprechend ist dabei vor allem der Einsatz von MR/AR-Technologie, da durch diese auch dreidimensionale Daten wie z. B. CAD-Modelle räumlich präsentiert werden können. Durch ein multimediales Besprechungssystem könnte damit die Verständigungslücke zwischen der Projektleitung und dem Entwicklungsbereich geschlossen werden. Ein solches System ist OfuturO, das derzeit in der Abteilung Virtual Environments des Fraunhofer Instituts für Medienkommunikation entwickelt wird und eine Plattform für verschiedene Anwendungen zur Unterstützung von Kreativitätsprozessen bietet. Die OfuturO Plattform ist tischbasiert und verfügt über integrierte MR/AR-Displaytechnologie, die sich dazu eignet, virtuelle Hilfsmittel in eine Meetingumgebung einzubetten. Als Prototyp-Anwendung 2 MR = Mixed Reality, AR = Augmented Reality (erweiterte Realität). MR ist jede Mixtur von realen und virtuellen Welten. AR ist ein Teilspektrum der MR, in dem der Realitätsanteil dominiert. Die Begriffe werden detailliert in Kapitel 1, Virtuelle Umgebungen, behandelt.

11 EINFÜHRUNG 3 wurde ein Mixed Reality Conferencing System entwickelt. Dieses stellt ein verbessertes multimediales Konferenzszenario bereit, das die Präsentation von sowohl zwei- als auch dreidimensionalen Informationen ermöglicht. Außerdem können Präsentationsinhalte durch die Verwendung erweiterter Interaktionstechniken unmittelbar während einer Besprechung manipuliert und dokumentiert werden. Im Rahmen der vorliegenden Diplomarbeit wurde die Software-Basis für das Mixed Reality Conferencing System implementiert. Diese wird als Visualisierungs- und Kommunikationsschnittstelle bezeichnet und stellt den Konferenzteilnehmern Handlungsmöglichkeiten zur Verfügung, welche es diesen erlauben Präsentationsinhalte zu visualisieren und zu bearbeiten. Außerdem wurden Möglichkeiten zur Einbettung virtueller Hilfsmittel in Arbeitsumgebungen am Beispiel der MR Conferencing Anwendung untersucht. Dabei ging es vor allem um die Überprüfung der folgenden Hypothese: Eine Mischung von physikalischen Umgebungen mit virtuellen Objekten an Arbeitsplätzen ist sinnvoll, da dies den in der Umgebung agierenden Personen eine Hilfestellung bei der Bewältigung von Arbeitsaufgaben leisten kann. Die Diplomarbeit beginnt mit dem Kapitel Virtuelle Umgebungen, in dem die Grundlagen der durch den Begriff Virtual Reality bezeichneten Technologie zur Erzeugung virtueller Umgebungen betrachtet werden. Dazu gehört neben einer Vorstellung der grundlegenden technischen Komponenten auch eine Erläuterung der Kategorien virtueller Umgebungen, von denen Mixed Reality eine ist. Darauf folgt im Kapitel Office Of The Future eine Beschreibung von Möglichkeiten zur Einbettung virtueller Hilfsmittel in Arbeitsumgebungen und der darin anwendbaren Interaktionstechniken. Das besondere Augenmerk liegt dabei auf Büroumgebungen, da die MR Conferencing Anwendung in einer solchen angesiedelt ist. Im nächsten Kapitel, Die OfuturO Plattform, wird eben diese vorgestellt. Dabei werden der Aufbau der Plattform, also die integrierten Komponenten zur Aus- und Eingabe, sowie das verwendete Software-System zur Erzeugung einer virtuellen Umgebung beschrieben. Danach folgt das Kapitel Der Mixed Reality Conferencing Prototyp, in dem das MR Conferencing System präsentiert wird. Die hier zu findende Beschreibung eines Konferenzszenarios dient vor allem der Verdeutlichung der erweiterten Handlungsmöglichkeiten, die den Benutzern des MR Conferencing Systems zur Verfügung stehen.

12 4 EINFÜHRUNG Im Kapitel Die Visualisierungs- und Kommunikationsschnittstelle wird die Software-Basis des MR Conferencing Systems beschrieben. Dabei werden die Aufgaben und hauptsächlich die Implementierung der Software dargelegt. Die Software-Implementierung stellt den praktischen Teil der Diplomarbeit dar. Schließlich faßt der letzte Teil, Zusammenfassung und Ausblick, die Schritte der Untersuchung zusammen, welche auf der Basis der oben genannten Hypothese angestellt wird. Darauf wird eine aus den Ergebnissen der Arbeit resultierende Schlußfolgerung gezogen und ein Ausblick auf zukünftige Entwicklungen für das MR Conferencing System und dessen Software-Basis gegeben. Der Anhang enthält neben einem Glossar, in dem Kurzdefinitionen für wichtige Begriffe dieser Arbeit aufgelistet sind, eine Anleitung zur Einrichtung der Visualisierungs- und Kommunikationsschnittstelle. Die Diplomarbeit wurde in vollständigem Umfang in der Abteilung Virtual Environments des Fraunhofer Instituts für Medienkommunikation in Sankt Augustin erstellt.

13 Kapitel 1 Virtuelle Umgebungen Wie ein Origami-Trick in flüssigem Neon entfaltete sich seine distanzlose Heimat, sein Land, ein transparentes Schachbrett in 3-D, unendlich ausgedehnt... Und irgendwo er, lachend, in einer weiß getünchten Dachkammer, die fernen Finger zärtlich auf dem Deck, das Gesicht mit Freudentränen überströmt. William Gibson, Neuromancer [Gib87] 1.1 Virtual Reality In einer virtuellen Umgebung wird dem Benutzer der Zugriff auf Informationen ermöglicht, die sonst in der realen Umgebung am gegebenen Ort und zur gegebenen Zeit nicht verfügbar wären. Die Eignung zur Erzeugung einer virtuellen Umgebung bietet die Computertechnologie, durch die es möglich ist die Umgebung so zu simulieren, daß natürliche Aspekte der menschlichen Wahrnehmung berücksichtigt werden, wie z. B. die Darstellung von visuellen Informationen in drei räumlichen Dimensionen. Eine solche computergenerierte Simulation wird mit dem Begriff Virtual Reality (VR) bezeichnet. Die virtuelle Welt liegt dabei logisch im Computer vor und wird über Geräte ausgegeben, die die menschlichen Sinne derart stimulieren sollen, daß bei dem Benutzer ein Gefühl von Immersion in diese Welt entsteht. Die Möglichkeit zum Eingriff in die künstliche Welt besteht für den Benutzer über spezielle Eingabegeräte, mit denen er sie in Echtzeit manipulieren und in ihr navigieren kann. Was ist nun mit dem Begriff Virtuelle Realität gemeint? Es ist nicht einfach diese Frage zu beantworten, da sich der Begriff aus semantisch entgegengesetzten Wörtern zusammensetzt. Das aus dem Lateinisch kommende virtuell (virtus, Kraft, Vermögen) steht im allgemeinen Sprachgebrauch für etwas Gedachtes oder Scheinbares, woraus sich bei der Übersetzung die scheinbare Realität ergibt. Ob es eine solche geben kann ist allerdings eine Frage der 5

14 6 VIRTUELLE UMGEBUNGEN Definition von Realität 1 und somit zweifelhaft. Aus diesem Grund ist der Begriff Virtual Reality nicht unumstritten und manche Kritiker bevorzugen synonyme Begriffe wie Virtual Environment (VE) oder Virtuelle Welten. Auch in der Literatur sind Begriffe aufgetaucht, die teilweise synonym zu VR verwendet werden. So prägte der anfangs zitierte Science-Fiction Autor William Gibson in seinem 1984 erschienenen Roman Neuromancer den Begriff Cyberspace 2. Dort ist der sogenannte Cowboy eine Art futuristischer Hacker, der durch die Verbindung seines eigenen Nervensystems mit dem elektronischen Nervensystem einer Computerwelt in ein weltumspannendes Netzwerk eintaucht, um sich dort durch virtuelle Gebäude, die Systeme von Firmen oder militärischen Einrichtungen repräsentieren, zu navigieren und in diese einzudringen. In einigen Definitionen wird der Fehler begangen, die Begriffe Cyberspace und VR gleichzusetzen (siehe dazu z. B. [wis03]), was allerdings nicht sinnvoll ist. Cyberspace ist weder ein Hardware- oder Softwaresystem noch ein Grafikprogramm, sondern vielmehr ein Ort oder Zustand des Seins. VR dagegen ist eine Technik, eine Mensch-Maschine Schnittstelle, bei der der Computer und seine Peripherie eine sensorische Umgebung erzeugen, die dynamisch durch Aktionen des Menschen kontrolliert wird, so daß diesem die Umgebung real erscheint [Bor94]. Somit läßt sich der Cyberspace als eine durch ein VR-System für den Menschen geschaffene künstliche Wirklichkeit verstehen. 1.2 Historische Entwicklung Das heute als Ursprung der VR-Technologie geltende HMD 3 wurde im Jahre 1965 von dem Computergrafik Pionier Ivan Sutherland am Massachussets Institute Of Technology (MIT) in Form einer in einen Helm integrierten Bildschirmbrille entwickelt. Sutherland konzipierte es als ein sogenanntes See- Through Display, also durchsichtig, das dem Benutzer ein über das Realbild gelegtes, virtuelles Gittermodell eines Würfels zeigt. 1 Für Realität gibt es verschiedene Erklärungsansätze. So wäre eine scheinbare Realität beim Realismus, der von einer absoluten, vom Bewußtsein unabhängigen Realität, ausgeht, in sich widersprüchlich. 2 Die Vorsilbe cyber wurde im wissenschaftlichen Zusammenhang zum ersten Mal mit dem Begriff Kybernetik verwendet, der vom griechischen kybernetike stammt und soviel wie Steuermannskunst bedeutet. Cyberspace ist demnach ein Raum, in dem man navigieren kann. 3 HMD ist die Abkürzung für Head-Mounted-Display und bezeichnet am Kopf des Benutzers befestigte Anzeigegeräte, z. B. Helme oder Brillen, in die Bildschirme integriert sind.

15 KAPITEL 1 7 Abbildung 1.1: HMD von Sutherland aus [Ort03] 1970 formulierte Nicholas Negroponte die Idee, das Darstellungsvermögen des Films mit der informationsgestaltenden Fähigkeit des Computers zu verbinden. Aus einer Arbeitsgruppe, die er am MIT leitete, ging das MediaLab hervor, das mit seinen Projekten weitere VR-Grundlagen schuf. Mit dem Put That There-System konnte der Benutzer Gegenstände auf einer Videoleinwand durch gesprochene Befehle und Zeigen mit dem Finger bewegen. Das Spacial Data Management System erlaubte die visuelle Navigation in Datenbanken [Bor94] erfand Thomas Zimmermann den Prototyp eines der ersten Eingabegeräte in der VR, den Datenhandschuh, der später als DataGlove kommerzielle Verbreitung fand. Der Handschuh arbeitete zunächst mit hohlen Plastikschläuchen, die biegbar waren und durch die infrarotes Licht gesendet wurde. Je nach Beugung veränderte sich die Lichtübertragung, was gemessen und in elektrische Signale übersetzt wurde. Zimmermann brachte sein Patent für den Datenhandschuh in eine Firma ein, die er zusammen mit einem seiner Kollegen bei Atari 4, Jaron Lanier, gründete. Die Firma hieß Virtual Programming Languages (VPL) und war in den achtziger Jahren Vorreiter in Sachen VR. Die NASA schloß 1985 einen Vertrag mit VPL, die für sie einen Datenhandschuh entwickeln sollte. Zimmermanns Datenhandschuh wurde durch den Einsatz von Glasfasern und Positionssensoren verbessert folgte die Entwicklung eines Ganzkörper-Datenanzugs, dem DataSuit, mit dem nun eine vollständige Erfassung der menschlichen Gestalt möglich wurde stellte VPL sein RB2-System (Reality Built for Two) vor, das erste VR-System, mit dem sich 4 Atari war Ende der siebziger und Anfang der Achtziger Jahre der erfolgreichste Hersteller von Videospielen. Bemerkenswerter Weise arbeiteten dort viele Personen, die später die VR- Entwicklung vorantrieben.

16 8 VIRTUELLE UMGEBUNGEN zwei Benutzer gleichzeitig in einer virtuellen Umgebung aufhalten und in ihr interagieren können [Bor94]. Solche Mehrbenutzer VR-Systeme werden unter dem Begriff CVE (Collaborative Virtual Environment) zusammengefaßt. Abbildung 1.2: VPL DataGlove aus [Hsu93] Die NASA startete ihrerseits 1985 das Programm Virtual Environment Display System (VIVED) und strengte damit VR-Bemühungen an, die sich mit der Erforschung und Entwicklung von neuen Mensch-Maschine Schnittstellen beschäftigten, um Astronauten bei der Kontrolle der immer komplizierter werdenden Raumfahrzeuge zu unterstützen besaß die NASA einen perfekten VR-Prüfstand, der ein HMD mit Flüssigkristall-Bildschirmen (LCD), Positionssensoren und Datenhandschuh umfaßte. Das Programm wurde darauf in Virtual Interface Environment Workstation (VIEW) umbenannt [Bor94]. In Japan arbeitet man seit Anfang der neunziger Jahre an VR-Techniken zur Telekommunikation. Am Internationalen Institut für Telekommunikationsforschung (ATR) wurden Prototypen für autostereoskopische Bildschirmsysteme, lippenlesende und Mienenspiel nachbildende Software, kraftreflektierende Geräte sowie Augentracker, also Systeme zur Ermittlung der Stellung der Augen zu Eingabezwecken, realisiert [Bor94]. Auf der SIGGRAPH 92 5 wurde erstmals ein von der University of Illinois entwickeltes, sogenanntes Spatially Immersive Display (SID) vorgestellt, das Cave Automatic Virtual Environment. CAVE ist ein meist 3x3 Meter großer quadratischer Raum, auf dessen Außenwände computergenerierte stereoskopische Bilder projiziert werden. Die Kopfposition eines Benutzers wird in der CAVE in ihren sechs Freiheitsgraden erfaßt und das projizierte Bild seinem 5 Jährliche Konferenz der ACM Special Interest Group Computer Graphics and Interactive Techniques.

17 KAPITEL 1 9 Blickwinkel entsprechend angepaßt. Synchronisierte Shutter-Brillen (die in Abschnitt näher beschrieben werden) ermöglichen zudem die räumliche Darstellung und verschiedene Eingabegeräte die Interaktion. CAVEs werden heutzutage von vielen Automobilherstellern in Entwicklung und Evaluation verwendet. Abbildung 1.3: Aufbau einer CAVE aus [Ort03] Trotz der bereits lange zurückliegenden Schaffung der Grundlagen in den sechziger Jahren dauerte es weitere 20 Jahre, bis die erhöhte Leistungsfähigkeit der Computer eine befriedigende interaktive Simulation virtueller Welten erlaubte. Doch noch heute reicht die Leistung von Computern, deren Peripherie und der VR-Software nicht aus, dem primären Anliegen gerecht zu werden, eine künstliche Umgebung zu schaffen, die dem Benutzer einen Eindruck vermittelt, der nicht von der Realität unterscheidbar ist. 1.3 Technische Vorraussetzungen Es gibt verschiedene Teilgebiete in der Informatik, die als Basistechnologien die Grundlage der VR-Technik bilden und von denen die Weiterentwicklung der VR in starkem Maße abhängt. Dies sind z. B. Datenhelme, Software- Entwicklung, künstliche Intelligenz, Parallelrechner-Architekturen und Netzwerke. Die Vorraussetzung für die Realisierung eines VR-Systems sind Geräte zur Eingabe, Ausgabe sowie ein Grafikcomputer. Die Ein- und Ausgabegeräte sind an den Computer angeschlossen, der diese kontrolliert und gleichzeitig

18 10 VIRTUELLE UMGEBUNGEN die virtuelle Welt berechnet und erzeugt. Dabei werden zu der Steuerung des VR-Systems spezielle Softwaresysteme verwendet Eingabegeräte Sie haben die Aufgabe, die Position des Anwenders im virtuellen Raum, seine Bewegungen und Anweisungen als Daten an einen Rechner zu übermitteln. Der Rechner stellt anhand der Daten den jeweils richtigen Zustand in der virtuellen Welt her. Da sich der Benutzer im dreidimensionalen Raum bewegt, müssen auch die Eingabegeräte eine dreidimensionale Auflösung, d. h. 6 DOF (Freiheitsgrade, degrees of freedom), bieten. Sechs Freiheitsgrade erlauben die räumliche Positionierung und Orientierung von Objekten, d. h. es können jeweils Rotationen und Translationen entlang der drei Raumachsen ausgeführt werden. Eine Alternative zur klassischen, für die Bedienung von zweidimensionalen Benutzerschnittstellen gedachten, Desktop Maus ist die von dem DLR (Deutsches Zentrum für Luft- und Raumfahrt) entwickelte SpaceMouse. Mit diesem Gerät besteht die Möglichkeit effizient 3D Objekte zu manipulieren, da es über 6 DOF verfügt. Dieses Eingabegerät ist besonders interessant, da es auch auf der für diese Diplomarbeit relevanten VE Plattform OfuturO zum Einsatz kommt. Daher folgt in Abschnitt 3.2 eine eingehendere Beschreibung. Abbildung 1.4: DLR SpaceMouse aus [Con03] Weil die Simulation der menschlichen Gestalt im virtuellen Raum für viele VR-Anwendungen ein wichtiger Punkt ist, setzten sich Datenhandschuhe und Datenanzüge durch, da sie zusätzlich mit Positionssensoren ausgestattet sind, welche die Stellung des Kopfes, der Hand und des Körpers des Menschen im Raum orten. Die auch als Tracking-Systeme bezeichneten Positionssensoren liefern dem Computer die Positionsdaten in Echtzeit. Ein typischer Vertreter für Datenhandschuhe ist der VPL DataGlove (siehe Abbildung 1.2).

19 KAPITEL Ausgabegeräte Ausgabegeräte sind alle Vorrichtungen zur Reizung der menschlichen Sinne um die virtuelle Welt für den Menschen wahrnehmbar zu machen. Bei der visuellen Darstellung einer virtuellen Umgebung geht es vor allem darum, dem Betrachter einen räumlichen Eindruck zu vermitteln. Dies wird über die Stereodarstellung erreicht, die zwei um den Augenabstand perspektivisch versetzte Bilder der selben Szene liefert, die, wenn sie durch ein geeignetes Gerät entsprechend auf die Augen des Betrachters verteilt werden, einen echt dreidimensionalen Eindruck erzeugen. Zur Wahrnehmung von Stereobildern benutzt man in der Regel Brillen, die zusammen mit Monitoren oder Videoprojektionen verwendet werden. Dabei wird zwischen aktiven und passiven Systemen unterschieden, wobei Shutter- Brillen Vertreter des aktiven und Polarisationsbrillen Vertreter des (mit geringeren Kosten verbundenen) passiven Konzepts sind. Des weiteren gibt es noch das HMD (siehe Abbildung 1.1), das als eine in einen Helm integrierte Bildschirmbrille ein weiteres gebräuchliches Anzeigegerät ist. Die aktiven Shutter-Brillen, in die anstelle der Brillengläser Flüssigkristallflächen eingebaut sind, verdunkeln mit Hilfe einer Veränderung der Ausrichtung der Flüssigkristalle in schnellem Wechsel (üblich sind Herz) die Sicht für das linke oder das rechte Auge des Betrachters, wobei auf dem betrachteten Monitor oder der Videoprojektion das linke und das rechte Bild in einer dazu synchronierten Frequenz dargestellt werden. Passive Polarisationsbrillen arbeiten mit Hilfe von polarisiertem Licht, das durch sogenannte Polarisationsfilter geschickt wurde. Dabei lassen die Filter abhängig von ihrer Ausrichtung nur Lichtwellen durch, die auf einer bestimmten Ebene schwingen. Abbildung 1.5: Lichtpolarisation mit Hilfe von Polarisationsfiltern

20 12 VIRTUELLE UMGEBUNGEN Die Polarisationsbrillen werden zusammen mit einem Videoprojektionssystem verwendet, das aus mindestens zwei Projektoren besteht. Dabei sind die Projektoren mit jeweils einem Polarisationsfilter ausgestattet und das ausgestrahlte Licht wird orthogonal zueinander polarisiert. So können das linke und das rechte Bild mit einer voneinander verschiedenen Polarisation ausgesendet werden. Auch vor dem linken und rechten Brillenglas sind zwei orthogonal zueinander stehende Polarisationsfilter angebracht, die nur einfallendes Licht einer bestimmten Polarisation durchlassen und so dafür sorgen, daß die Bilder dem vorgesehenen Auge zugeordnet werden. Neben der Versorgung des visuellen Sinns ist die Versorgung des akustischen Sinns mit Informationen vom VR-System am wichtigsten. Über akustische Signale können Informationen vermittelt werden, die den Realitätseffekt steigern und das Navigieren im virtuellen Raum erleichtern. Dazu werden 3D-Soundsysteme eingesetzt, also solche die in der Lage sind Raumklang zu erzeugen. Diese können z. B. auf dem Dolby Surround System basieren. Um die virtuelle Welt und die physikalischen Eigenschaften der darin enthaltenen Objekte für den Menschen erfahrbarer zu machen, soll auch der haptische Sinn angeregt werden. Dazu werden Systeme verwendet, die über einen Handschuh die taktilen Rezeptoren der Haut mit Hilfe von Luftpolstern, Elektroden und Heizelementen stimulieren. Einfache taktile Reize werden aufgezeichnet, gespeichert und bei Berührung mit einem virtuellen Objekt im Handschuh mit den Luftpolstern wiedergegeben. Zur Vermittlung von Kraft- Rückkopplungen, die z. B. bei Kollisionen mit virtuellen Objekten auftreten, werden Ausgabegeräte wie das in [Spe03] und [Pla00] beschriebene PHAN- TOM der Firma SensAble Technologies benutzt. Abbildung 1.6: PHANTOM von SensAble Technologies aus [Tec03]

21 KAPITEL Grafikcomputer Der Grafikcomputer ist das Herzstück jedes VR-Systems. Er verarbeitet Eingaben, um dementsprechend Ausgaben zu steuern und erzeugt außerdem das VR-Modell. Neben dem generellen Anspruch in Echtzeit mit der virtuellen Umgebung interagieren zu können wird auch von Anwendungen, die auf fotorealistische Darstellungen setzen, eine enorme Rechenkapazität vom Grafikcomputer abverlangt. Deshalb kommen in der VR zum Zwecke der Leistungssteigerung oft Parallelrechnerarchitekturen zum Einsatz Software Aufgaben der VR-Software sind die Auswertung und Wiedergabe der Daten, die für die Steuerung, Kontrolle und Koordination der Ein- und Ausgabegeräte verantwortlich sind sowie die Generierung der virtuellen Welt mit all ihren Bestandteilen; den Objekten, aus denen sie besteht und den Tönen, die in ihr vorkommen. Außerdem ist die Software die Schnittstelle zwischen den Entwicklern des Systems und der virtuellen Welt. Daher bestehen spezielle Software-Systeme, die zur Entwicklung von virtuellen Welten verwendet werden. Ein solches ist z. B. Avango, das im Fraunhofer Kompetenzzentrum für Virtual Environments entwickelt und von der VE Plattform OfuturO verwendet wird (eine Beschreibung folgt in Abschnitt 3.3.1) Weitere Basistechnologien In den folgenden Abschnitten werden weitere Teilgebiete der Informatik besprochen, die bei der Entwicklung von VR-Systemen von Bedeutung sind. Datenbanken Insbesondere bei wissenschaftlichen Anwendungen und Visualisierungsaufgaben spielt der Zugriff auf die riesigen Datenmengen, die in Form von Datenbanken verwaltet werden, eine wichtige Rolle für die VR. Datenbanken dienen dabei als Wissensbasis für essentielle Funktionen. So können sie z. B. Informationen über das Aussehen oder die physikalischen Eigenschaften von dargestellten Objekten liefern. Die Kopplung von Faktendatenbanken bildet die Grundlage für wissensbasierte Benutzerschnittstellen, die sich anhand des bei der Benutzung gesammelten Wissens auf den jeweiligen Benutzer einstellen können. In der VR werden solche Benutzerschnittstellen als Agenten bezeichnet. Solch ein Agent ist mit künstlicher Intelligenz (KI) ausgestattet und handelt mit der Kenntnis von Bedürfnissen und Zielen anstelle des menschlichen Benutzers in der virtuellen Umgebung [Bor94].

22 14 VIRTUELLE UMGEBUNGEN Künstliche Intelligenz Auch die Künstliche Intelligenz (KI) mit ihren Methoden ist ein wichtiges Teilgebiet der VR. Der Begriff KI wurde 1956 von John McCarthy geprägt und beschreibt eine Forschungsrichtung die sich mit der Fragestellung beschäftigt, wie man Maschinen dazu bringen kann, sich intelligent zu verhalten. Es existieren zwei Grundannahmen, die die starke und schwache These der KI genannt werden. Die starke These vertritt den Standpunkt, daß sich alle kognitiven Fähigkeiten des Menschen maschinell nachbilden lassen, während die schwache These behauptet, daß Computer intelligentes Verhalten nachahmen können, aber nicht für sich beansprucht, den Menschen mit seiner gesamten Hirnleistung nachzubilden. Um die Erzeugung von künstlichen Intelligenzen zu erleichtern wurden spezielle Programmiersprachen wie LISP oder PRO- LOG entwickelt. In der VR spielt die KI im Hinblick auf Bilderkennung und Sprachverarbeitung eine große Rolle. So eröffnet die Sprachverarbeitung, eines der ersten Anwendungsgebiete der KI, neben der visuellen und der manuellen Eingabe die Möglichkeit eines zusätzlichen Kommunikationskanals für ein VR-System. Parallelrechnerarchitekturen Die rechenintensive Generierung von virtuellen Umgebungen überfordert heute noch die gängigen Ein-Prozessor-Systeme, zumindest wenn der Anspruch Fotorealismus ist. Daher werden zu den Berechnungen oft Parallelrechnerarchitekturen eingesetzt, für die die Aufgaben der VR-Anwendung in separate Prozesse zerlegt werden, um diese gleichzeitig von mehreren Recheneinheiten ausführen zu lassen. Dadurch wird eine erhebliche Leistungssteigerung des VR- Systems erreicht. Vernetzung von VR-Systemen Ein weiterer wichtiger Aspekt ist die Vernetzung von VR-Systemen, da sich so mehrere Teilnehmer gleichzeitig in der virtuellen Umgebung aufhalten können. Es gibt zwei Varianten bei der Vernetzung von VR-Systemen; der zentralisierte Ansatz geht von einem Rechenzentrum aus, zu dem der Benutzer Verbindung aufnehmen muß, wobei er selbst nur geeignete Ein- und Ausgabegeräte sowie einen Rechner, der das Netzprotokoll mit dem Zentralrechner abwickelt, benötigt. Bei dem verteilten Ansatz verfügt jeder Teilnehmer über ein eigenständiges VR-System, welches an ein Netz angeschlossen wird. Nur Bewegungs-, Objekt- und Synchronisationsdaten werden übertragen, alle Berechnungen werden lokal beim Teilnehmer vorgenommen [Bor94].

23 KAPITEL Kategorien Ubiquitous Computing Anfang der 90er Jahre entwickelte Marc Weiser am Xerox Palo Alto Research Center (PARC) einen neuen Denkansatz, der die Rolle des Computers als eine umdefiniert, die aus dem Zentrum der Aufmerksamkeit, die der Desktop Computer von damals und heute erfordert, in den Hintergrund gerückt wird. Dieses Konzept wird als Ubiquitous (allgegenwärtiges) Computing bezeichnet. Ubiquitous Computing is the method of enhancing computer use by making many computers available throughout the physical environment, but making them effectively invisible to the user. Ubiquitous computing forces the computer to live out here in the world with people. [Wei93] Die Annahme besteht darin, daß Arbeit sinnvoller unterstützt werden kann, wenn die Benutzung von Computern möglich ist ohne über deren Bedienung nachdenken zu müssen um so der Fokussierung auf die eigentlichen Ziele die Hauptrolle einzuräumen. An die Stelle der Erzeugung einer virtuellen Umgebung in einem Computer tritt die Anreicherung der realen Umgebung durch eine große Zahl nicht sichtbarer Computereinheiten. Dadurch wird die reale Umgebung zur Benutzer-Schnittstelle. Damit ein UbiComp-System, an dem hunderte von unsichtbaren Computereinheiten teilhaben, realisiert werden kann, müssen die Einheiten durch ein umfaßendes Netzwerk untereinander verbunden sein. Jede einzelne Computereinheit verfügt dabei über die Information, an welchem Ort sie plaziert ist. Durch das Wissen, in welchem Raum an welchem Platz der Computer steht, kann er sein Verhalten anpassen und dem Benutzer kontextabhängig Hilfestellung leisten, ohne über eine KI zu verfügen. Aufgrund der nicht sichtbaren Erweiterung der Umgebung durch die nahtlose Einbettung des Virtuellen in das Reale wird Ubiquitous Computing in [Wei91] auch als invisible computing oder embodied virtuality bezeichnet Immersive VR Ein vollständig gegensätzliches Konzept zu UbiComp stellt die Immersive VR dar. Während bei UbiComp durch eine möglichst unsichtbare Integration von Computern in die Umwelt der Bezug zur realen Umgebung gewahrt werden soll, wird der Mensch bei der Immersive VR vollkommen von ihr isoliert. Die komplette Trennung des Menschen von seiner realen Umgebung kommt dadurch zustande, daß bei der immersiven virtuellen Realität der ganze Wahr-

24 16 VIRTUELLE UMGEBUNGEN nehmungsbereich vom Computer kontrolliert wird. Der Benutzer taucht in eine vollständig simulierte Welt ein, die in den Extremfällen eine so weit wie möglich gehende Annäherung an die tatsächliche Realität darstellt oder eine Welt ist, die der Realität z. B. aufgrund der Wahl andersartiger physikalischer Gesetze in keinster Weise entsprechen muß Mixed und Augmented Reality Ein solch hoher Grad des Eintauchens in eine künstliche Umgebung wie bei der Immersive VR ist allerdings nicht immer wünschenswert, da bei vielen Anwendungen die Sichtbarkeit der realen Umgebung notwendig ist. Dies ist der Fall, wenn die Sinne des Benutzers lediglich mit zusätzlichen Informationen stimuliert werden sollen, um Aufgaben in der realen Welt besser meistern zu können. Daher wird seit Anfang der neunziger Jahre an sogenannten teil-immersiven Umgebungen geforscht, die sich aus einer Mischung von realen und virtuellen Anteilen zusammensetzen. Das Spektrum reicht dabei von der Mixtur einer realen Umgebung mit wenigen virtuellen Anteilen bis hin zu virtuellen Umgebungen mit wenigen realen Anteilen. Der komplette Bereich dieses Spektrums wird als Mixed Reality (MR) bezeichnet. Das heißt, daß Mixed Reality jede beliebige Mixtur von realen und virtuellen Daten beschreibt, die Extremfälle vollkommen realer oder vollkommen virtueller Umgebungen ausgenommen. Milgram hat zusammen mit Koshino das Reality-Virtuality Continuum ausgearbeitet, das in [MC99] ausführlich erläutert wird. In dem RV Kontinuum kann jeder MR Anwendung ein diskreter Punkt zugeordnet werden. Abbildung 1.7: Reality-Virtuality Continuum Hier existieren reale und virtuelle Umgebungen als separate Entitäten, die an den gegensätzlichen Enden des RV Kontinuums liegen. Mit Hilfe des RV Kontinuums können MR Anwendungen anhand des vom Computer modellierten Anteils klassifiziert werden. So liegt die Augmented Reality (AR) nahe an der über den computergenerierten Anteil dominierenden Realität, während bei der Augmented Virtuality der virtuelle Teil dominiert. Mit Augmented Reality

25 KAPITEL 1 17 ist also eine um virtuelle Objekte erweiterte physikalische Umgebung gemeint, die lediglich ein Teilspektrum der Mixed Reality darstellt. Die von Azuma gelieferte Definition für Augmented Reality [Azu97] kann auch auf die Mixed Reality übertragen werden. So leistet AR nach Azuma die 1. Kombination von Realem und Virtuellem 2. Interaktion in Echtzeit 3. Registrierung in drei Dimensionen Die am weitesten verbreiteten Ansätze für die Darstellung von MR/AR Umgebungen, also die visuelle Überlagerung der realen Umgebung mit digitalen Informationen, sind sogenannte See-Through Displays (oft in Form von HMDs) oder Video Projektionen, die entweder mit aktiven Shutter-Brillen synchronisiert sind oder in Kombination mit passiven Polarisationsbrillen laufen. 1.5 Tangible User Interfaces Das Forschungsthema Augmented Reality ist ein wichtiger Motivator für Tangible User Interfaces (TUI). Im Unterschied zur AR, die sich auf die visuelle Erweiterung physikalischer Räume durch z. B. head-mounted oder hand-held Displays konzentriert, geht es bei diesen berührbaren Benutzerschnittstellen um die direkte physikalische Interaktion mit Objekten. TUI basieren auf den von Fitzmaurice entwickelten Graspable User Interfaces [FIB95]. Dieser Ansatz erlaubt die direkte Kontrolle von virtuellen Objekten durch die Koppelung mit sogenannten physikalischen control handles (bricks 6 ). Abbildung 1.8: Graspable Object aus [FIB95] 6 Die von Fitzmaurice verwendeten Objekte sind LEGO Steinen ähnlich. Daher die Bezeichnung brick.

26 18 VIRTUELLE UMGEBUNGEN Die Kombination aus einem physikalischen Handle und einem virtuellen Objekt wird als graspable object bezeichnet (siehe Abbildung 1.8). Um diese Verbindung herzustellen, wird ein brick auf die Oberfläche eines Computer- Displays aufgesetzt, das nächste darunterliegende virtuelle Objekt wird diesem dann zugeordnet. Somit ist es nun möglich, über das physikalische Objekt mit dem virtuellen Objekt zu interagieren, da sich Manipulationen, wie z. B. Rotationen oder Translationen, am Physikalischen analog auf das Virtuelle übertragen. Genauso wie bei den TUI steckt hinter den Graspable UI die Intention, eine nahtlose Mischung zwischen der physikalischen und der virtuellen Welt herzustellen. Erreicht werden soll dies durch die Veränderung der Interaktionsprozesse. Fitzmaurice sieht bei der herkömmlichen GUI eine Dissonanz zwischen räumlich multiplexer Anzeige 7 und zeitlich multiplexer Eingabe 8, die dazu führt, daß zu einem Zeitpunkt jeweils nur eine Aufgabe ausgeführt werden kann. Dieser Nachteil soll durch die räumlich multiplexen Eingabetechniken der Graspable UI überwunden werden. Das Konzept der Graspable UI wurde in das der TUI übernommen und in vielerlei Hinsicht erweitert. Es waren vor Allem Ishii und Ullmer die mit der Tangible Media Group des MIT den Begriff TUI begründeten [IU97a]. In ihrem Ansatz der Tangible Bits werden neben alltäglichen physikalischen Objekten auch Instrumente, Oberflächen und sogar ganze Räume mit digitalen Informationen gekoppelt. Damit wird die Welt selbst zur Schnittstelle. Abbildung 1.9: Vergleich zwischen GUI und TUI Interaktion aus [IU97a] Ishii hält einen nahtlosen Übergang zwischen den beiden Paralleluniversen der physikalischen Welt und des Cyberspace mit den bisherigen Formen 7 Jeder Funktion ist ein spezieller Signalgeber zugeordnet, d. h. daß mit jeder GUI Funktion z. B. ein spezielles Icon verbunden ist. 8 Ein Eingabegerät kontrolliert verschiedene Funktionen (z. B. die Maus). Das Auslösen der Funktionen ist daher nur nacheinander, also zu verschiedenen Zeitpunkten, möglich.

27 KAPITEL 1 19 der Mensch-Computer Interaktion für unmöglich. Diese Kluft soll durch eine natürliche Gestaltung der UI Elemente und einer somit erleichterten intuitiven Bedienung überbrückt werden. Die digitalen Informationen sollen greifbar gemacht werden indem GUI Elementen wie Fenstern oder Icons eine physikalische Form gegeben wird. Die physikalischen Objekte, die auch als Object Tangibles bezeichnet werden, können künstliche oder natürliche Gegenstände sein, die durch verschiedene Techniken, wie Anzeigen, Motoren oder Projektionen, angereichert sind. Sie sind eine Instanz digitaler Information. Instrumente oder Instrument Tangibles werden benutzt um Operationen mit digitalen Informationen durchzuführen, wie z. B. Rotationen oder Skalierungen. Die wichtigste Brücke zwischen realer und virtueller Welt in einem TUI System stellen die interaktiven Oberflächen dar, da auf diesen mit Objekten und Instrumenten agiert wird. Sie sind daher meist tischbasiert. Auch Wände, Decken oder Böden können als Oberfläche verwendet werden. Alle UI Elemente zusammen bilden den interaktiven Raum. 1.6 Anwendungsgebiete Virtuelle Umgebungen eignen sich zum Einsatz in vielen Bereichen des realen Lebens [LS03]. Durch die Integration von virtuellen Hilfsmitteln in physikalische Umgebungen ist ein großer Beitrag zur Weiterentwicklung von Gebieten wie Architektur, Medizin, Ausbildung, Wissenschaft oder Unterhaltung zu erwarten. In diesem Abschnitt werden einige Gebiete als knapper Auszug von Anwendungsmöglichkeiten vorgestellt. Konstruktionssysteme Geplante Konstruktionen können mit der Hilfe von computergestützten Konstruktionssystemen im voraus virtuell erzeugt und so auf Konstruierbarkeit und Wartbarkeit getestet werden, bevor eine Bestellung der benötigten Baumaterialien für das reale Konstruktionsobjekt erfolgt. Konstruktionssysteme verkürzen die Entwicklungszeit vieler Produkte und Bauwerke erheblich und bieten Ingenieuren das ideale Werkzeug, um Konstruktionen leicht und vor allem schnell erzeugen, analysieren und verändern zu können. Zweidimensionale Konstruktionssysteme, die unter dem Begriff CAD (Computer Aided Design) zusammengefaßt werden, stellen aufgrund der traditionellen Basierung auf Bilddaten, also Zeichnungen und Plänen, eine ideales Gebiet zur Übertragung in die virtuelle Welt dar, da diese eine Erweiterung und Verbesserung der ursprünglichen Entwurfsmethoden verspricht. So wird zum Beispiel im Arbeitsgebiet Architektur an dreidimensionalen, virtuellen Konstruktionsumgebungen gearbeitet [WFM + ], die den Entscheidungsprozeß über zu gestaltende

28 20 VIRTUELLE UMGEBUNGEN Räume anhand von virtuellen Modellen, die vor der Konstruktion des realen Bauwerks begehbar sind, erleichtern. Aufgrund der präzisen Planungsmöglichkeiten läßt sich die Kosteneinsparung in keinem anderen Gebiet so deutlich zeigen wie bei der Architektur, da Fehlkalkulationen kaum mehr möglich sind [LS03]. Telekollaboration / Telepräsenz und Konferenzsysteme Die VR-Technik kann zur effizienteren Gestaltung von Arbeitsvorgängen eingesetzt werden, wenn es darum geht die Zusammenarbeit von physikalisch entfernten Personen zu ermöglichen. Das Telepräsenz-System Portal to a distant office [CTN + 00] der University of North Carolina z. B. öffnet ein Fenster zu dem Büro eines entfernten Partners, indem auf der Seite des entfernten Gegenübers dessen Büroumgebung aufgenommen und durch eine stereoskopische Anzeigevorrichtung auf der eigenen Seite wiedergegeben wird. Ein ähnliches Projekt ist das in Abschnitt vorgestellte The Office of the Future, das eine immersive Umgebung zur Telekollaboration zur Verfügung stellt. Ein Beispiel für eine virtuell erweiterte Konferenzumgebung ist das Mixed Reality Conferencing System, das den Rahmen für den praktischen Teil dieser Arbeit bildet. Dieses gibt Teilnehmern einer Konferenz die Möglichkeit, virtuelle Modelle von Besprechungsdaten zu visualisieren um die Besprechungsgrundlage aufgrund der direkten Manipulierbarkeit dieser Daten zu verbessern. So kann z. B. ein Konstrukteur das virtuelle Modell seines Produkts vorstellen und der Projektleiter kann seine Kritik daran nicht nur verbal äußern, sondern das Modell sofort gemäß seinen Vorstellungen anpassen. Die Beschreibung des MR Conferencing Prototypen folgt in Kapitel 4. Medizin In der Medizin werden bereits in einigen Feldern VR-Anwendungen eingesetzt, die Werkzeuge für medizinische Prozesse darstellen. Anatomie-Lernprogramme ermöglichen angehenden Medizinern neben der herkömmlichen Ausbildung den menschlichen Körper anhand von Illustrationen zu studieren. Dazu eignet sich z. B. der VOXEL-MAN 3D Navigator [PPP + 01], eine Entwicklung des Institute of Mathematics and Computer Science in Medicine in Hamburg, der einen interaktiven 3D Atlas der menschlichen Anatomie bietet und ca. 650 dreidimensionale Modelle innerer Organe zur Verfügung stellt. Chirurgen können mit Hilfe von im Vorfeld aufgenommenen, dreidimensionalen Bilddatensätzen des Patienten Operationen simulieren und optimal planen. Durch eine solche virtuelle Operation kann ein schonenderer Eingriff vorbereitet werden, um die Heilung in der postoperativen Phase zu beschleunigen. Mit dem Augmented Reality System ARSyS-Tricorder der Fraunhofer IMK.VE [GTB + 02] ist es

29 KAPITEL 1 21 am Beispiel von Transplantatdesigns möglich, dem Chirurgen durch eine Projektion der anatomischen Strukturen des Patienten durch ein durchsichtiges dreidimensionales Display Hilfestellung bei einem Eingriff zu geben. So kann er z. B. nicht nur das Bild der Form eines Tumors, dessen Größe und Position sehen, sondern auch alle Nerven, Blutgefäße und das Gewebe, das während der Operation gefährdet ist. Bildung und Wissenschaft Im Bildungsbereich ist interaktives Lernen, also Lernen durch Beteiligung, sehr effektiv zur Vermittlung von Lehrstoff. VR bietet Schülern die Möglichkeit, die Antworten auf ihre Fragen durch Interaktion selbst zu entdecken, wodurch Lernerfolge deutlich gesteigert werden können. Ein Beispielgebiet für die bessere Vermittlung von Bildungsstoff durch VR ist die Physik, da es dort eine Reihe von Phänomenen gibt, die sich durch traditionelle Lehrmethoden nur schwer klar machen lassen. Durch die Möglichkeit physikalische Eigenschaften von Gegenständen im virtuellen Raum verändern zu können, lassen sich Themen wie Gravitation oder Trägheit der Masse besser veranschaulichen und den Schülern fällt das Verständnis leichter. Auch die Wissenschaft profitiert davon, wissenschaftliche Phänomene dreidimensional und interaktiv simulieren zu können. So arbeitet man z. B. an virtuellen Sternwarten, die aus umfangreichen astronomischen Daten aufgebaut sind und der Auswertung herkömmlicher statistischer Daten deutlich überlegen sind [LS03]. Nachdem in diesem Kapitel die grundlegenden technischen Komponenten virtueller Umgebungen vorgestellt und Beispiele für deren Anwendung aufgezählt wurden, behandelt das folgende Kapitel Möglichkeiten zur Integration virtueller Hilfsmittel in Büroumgebungen und die für solche Umgebungen geeigneten Interaktionstechniken.

30 22 VIRTUELLE UMGEBUNGEN

31 Kapitel 2 Office Of The Future Abbildung 2.1: Vision eines Office Of The Future aus [RWC + 98] 2.1 Motivation Die Betrachtung von Möglichkeiten zur Einbettung virtueller Hilfsmittel in Arbeitsumgebungen ist der Gegenstand dieser Diplomarbeit. Das spezielle Augenmerk liegt dabei in Verbindung mit dem in Kapitel 4 vorgestellten MR Conferencing Projekt auf der virtuellen Erweiterung von Büroumgebungen, wozu Anzeige- und Interaktionsmethoden der Augmented / Mixed Reality zur Anwendung kommen. Ein solches Szenario, in dem eine reale, physikalische Büroumgebung mit computergenerierten virtuellen Objekten überlagert und verschmolzen wird, trägt die Bezeichnung Office Of The Future. 23

32 24 OFFICE OF THE FUTURE Die Motivation für dieses Kapitel liegt darin, Wege zur Schaffung einer Office Of The Future-Landschaft zu beleuchten. Da sich ein Office Of The Future durch die Erweiterung durch virtuelle Hilfsmittel auszeichnet, ist zunächst eine Klärung der Bedeutung des Begriffs virtuelles Hilfsmittel nötig, um danach aufzuzeigen auf welche Weise solche in eine Büroumgebung integriert werden können. Außerdem werden Techniken zur Interaktion mit virtuell erweiterten Büroumgebungen besprochen und Projekte vorgestellt, die die Zielsetzung der Integration von virtuellen Hilfsmitteln haben. 2.2 Virtuelle Hilfsmittel Definition Mit virtuellen Hilfsmitteln sind computergenerierte Modelle gemeint, die Arbeitsumgebungen zugeordnet sind und verschiedenste digitale Informationen repräsentieren können. Die Integration als virtuelle Ergänzung einer Arbeitsumgebung wird mittels geeigneten Ausgabe- und Interaktionstechniken durch die Überlagerung der physikalischen Umgebung erreicht. Der Benutzer erhält auf diesem Wege Informationen, die für ihn anderenfalls nicht über die reale Umgebung erreichbar wären. Daten zur Beschreibung der virtuellen Hilfsmittel werden in Datenbankarchiven verwaltet, die mit den Grafiksystemen der virtuellen Umgebung gekoppelt sind. Eine Integration solcher Hilfsmittel ist an vielen Orten, an denen Menschen ihre Arbeit verrichten, sinnvoll, um z. B. Informationen darzustellen, die das Arbeiten vereinfachen und effektiver gestalten können Arten Virtuelle Elemente, die als ergänzende Komponenten zur Hilfestellung in eine Büroumgebung integriert werden, können sowohl in zwei- als auch in dreidimensionaler Darstellungsform in die physikalische Umgebung eingebettet werden. Bei der Erscheinungsform des virtuellen Hilfsmittels besteht lediglich eine jeweilige Abhängigkeit von der zu erfüllenden Aufgabe in der Umgebung, der es zugeordnet ist und den Anforderungen, die an die Interaktion mit dem Hilfsmittel gestellt sind. Die Verwendung einer zweidimensionalen Darstellungsform bietet sich an, wenn die digitalen Informationen Daten repräsentieren, die in in der realen menschlichen Erfahrungswelt ebenso zweidimensional wiedergegeben würden, also auf Oberflächen darstellbar sind. Solche Daten sind z. B. Textdokumente oder Bilder, bei denen eine Darstellung in zwei Raumdimensionen oft vollkommen ausreichend und etwas anderes auch nicht sinnvoll ist.

33 KAPITEL 2 25 Zur dreidimensionalen Repräsentation, die für den Menschen der realen visuellen Wahrnehmungserfahrung der physikalischen Umwelt entspricht, eignet sich im Prinzip jede Information. Im Fall der digitalen Erweiterung einer Büroumgebung beschränkt sich dies auf dreidimensionale virtuelle Modelle von Objekten oder Personen, die einem Arbeitsprozeß zugeordnet werden können. So kann der physikalischen Umgebung z. B. bei einem Telecollaboration-System eine entfernte Person oder bei einem Konstruktionssystem ein in der Entwicklung befindliches Objekt als dreidimensionales Modell hinzugefügt werden Integrationsmethoden Der Aufwand zur Integration virtueller Hilfsmittel in ein Büroszenario ist je nach Art der digitalen Informationen unterschiedlich. So reicht bei einer Information, die lediglich zweidimensional dargestellt werden soll, eine brauchbare Oberfläche im Raum für Projektionen oder ein Bildschirm aus. Bei dreidimensionalen Informationen ist die Verwendung einer geeigneten AR-Display Technologie notwendig, um die virtuellen Objekte in die physikalische Umgebung einzubinden. Die zusätzlich eingeblendeten Informationen sind dabei den Arbeitsprozessen der Benutzer angepaßt und dienen zur Unterstützung der jeweiligen Tätigkeiten. Zur Generierung und Wahrnehmung einer in drei Raumdimensionen virtuell erweiterten Arbeitsumgebung gibt es verschiedene Ansätze, die ihre Vor- und Nachteile haben. Ein Weg ist die Implementierung einer virtuellen Umgebung, die sich auf das visuelle Feld des Benutzers beschränkt und durch ein See-Through HMD dargestellt wird. Ein solches am Kopf befestigtes Anzeigegerät, bei dem durchsichtige Bildschirme direkt vor den Augen des Trägers angebracht sind, hat durch die überlagernde Einblendung digitaler Informationen in die physikalische Umgebung die Eignung als klassisches AR-Display. Ein wichtiger Vorteil dieser Alternative ist, daß die virtuellen Objekte für jeden Benutzer aus einer korrekten Perspektive dargestellt werden, was bei anderen Lösungen zum Problem werden kann. Allerdings besteht der Nachteil, daß der Tragekomfort von HMDs eher schlecht ist, wodurch die Interaktionsmöglichkeiten mit Personen und Objekten der Umgebung begrenzt werden. Eine Alternative ist die Integration der virtuellen Hilfsmittel durch ein Projektionssystem, bei dem zur Wahrnehmung von Stereobildern das Tragen von aktiven Shutter-Brillen oder passiven Polarisationsbrillen nötig ist. Im Unterschied zu der HMD Lösung werden die virtuellen Objekte hier direkt in die Umgebung des Benutzers integriert und nicht nur in dessen visuellem Feld angezeigt. Die ideale Eignung von Projektionssystemen zur Erzeugung lebensgroßer Bilder kann als Vorteil betrachtet werden. Besteht die Motivation darin, virtuelle Objekte auf die Fläche einer kompletten Büroumgebung

34 26 OFFICE OF THE FUTURE zu verteilen, die sich gewöhnlich über einen Raum erstreckt, bietet sich dafür ein Spatially Immersive Display (SID), wie z. B. CAVE, an. Ein SID hat normalerweise Raumgröße und eignet sich dazu, sämtliche im Raum befindlichen Oberflächen durch Front- oder Rückprojektionen als Anzeigeflächen zu nutzen. Ein Beispiel für den Einsatz eines SID ist das in Abschnitt vorgestellte Telecollaboration-Projekt The Office of the Future. In [RL01] werden Projektionssysteme, die zur virtuellen Erweiterung der physikalischen Umgebung genutzt werden, als Spatially Augmented Reality bezeichnet. Zur Umsetzung von Collaborative Virtual Environments (CVE), also virtuellen Umgebungen die durch mehrere Personen genutzt werden können, eignen sowohl See-Through-HMDs als auch Projektionssysteme. Das ist im Fall von Büroumgebungen vorteilhaft, da dort in verschiedenen Situationen der Fall auftreten kann, daß mehrere Personen an einem Arbeitsprozeß teilnehmen möchten. Allerdings besteht bei Projektionssystemen im Gegensatz zur Verwendung von HMDs der Nachteil, daß nur für einen Beobachterpunkt im Raum eine korrekte perspektivische Sicht geliefert werden kann. Dieser Nachteil kann abgeschwächt werden, indem das System eine Umschaltung der Perspektive implementiert, die Benutzer verwenden können um selbst die richtige Ansicht der virtuellen Szene zu erhalten. Doch auch so kann das System zur gleichen Zeit nur einem Benutzer die richtige Perspektive liefern. Sollen nur bestimmte Raumkomponenten der Umgebung virtuell erweitert werden, kann dies durch direkten Einbau von Display-Technologien in die Raumkomponenten gelöst werden. Beispiele für die virtuelle Erweiterung von Raumkomponenten sind die in Abschnitt vorgestellte Roomware oder der OfuturO Tisch (Kapitel 3). Aufgrund der Verwendung von Rückprojektionen zählt OfuturO zu den Projektionssystemen. 2.3 Interaktionstechniken Die bei zweidimensionalen Benutzerschnittstellen eingesetzten Interaktionstechniken lassen sich zum Teil auch auf dreidimensionale virtuelle Umgebungen anwenden. Allerdings ist eine direkte Übertragung nicht immer möglich, da die meisten Techniken modifiziert werden müssen, um die Ansprüche an dreidimensionale Interaktion zu erfüllen [Goe01]. Ein Beispiel für die Verwendung einer durch zweidimensionale GUI-Interaktion bekannten Komponente ist die in Abbildung 2.2 gezeigte CAVE-basierte virtuelle Museumslandschaft, deren Eigenschaften durch die Bearbeitung einer transparent in die Umgebung eingebetten Dialog Box geändert werden können. Die Interaktion mit der Dialog Box erfolgt über einen stiftartigen Stylus 1 in der Hand des Benutzers. 1 Der Stylus ist ein Zeigegerät zum Wählen und Markieren.

35 KAPITEL 2 27 Abbildung 2.2: Dialog Box in einer CAVE-basierten Umgebung aus [Goe01] Direkte Manipulation Die meist benutzte Interaktionstechnik in virtuellen Umgebungen ist die direkte Manipulation von objektbezogenen Datensätzen, die eine Gruppierung von Interaktionstechniken zur Bearbeitung von Objekten darstellt. Die in [Goe01] aufgezählten Haupteigenschaften der direkten Manipulation sind: permanente Sichtbarkeit der zu manipulierenden Objekte permanente Sichtbarkeit der Aktionen, die auf Objekte angewendet werden Ersetzung komplexer Befehle durch physikalische Aktionen schnelle und rückgängig zu machende Interaktion mit einer direkten und meist sichtbaren Rückmeldung Einige der in [Goe01] aufgezählten Vorteile der direkten Manipulation sind: schnelle Erlernbarkeit für Anfänger gelegentliche Nutzer können sich leicht an die Art und Weise der Interaktion erinnern Experten können effizient arbeiten systematisches Arbeiten wird durch direktes Feedback auf Interaktionen unterstützt

36 28 OFFICE OF THE FUTURE Körperbezogene Interaktion Direkte Manipulation bildet die Basis für die Entwicklung körperbezogener Interaktionstechniken, welche korrespondierend eine hohe Bedeutung für die direkte Manipulation haben. Die Registrierung von körperbezogenen Aktionen des Benutzers erlaubt es, ohne die Verwendung weiterer Eingabegeräte mit dem VE-System zu interagieren. Eine oft verwendete körperbezogene Interaktionstechnik ist die Gestenerkennung, bei der meist die Bewegungen der Hände des Benutzers überwacht werden um bestimmten Gesten Befehle an das System zuzuordnen Weitere Interaktionstechniken Die Möglichkeiten der Gestenerkennung sind mit denen der Spracherkennung vergleichbar, da auch hier ohne ein spezielles, weiteres Gerät Eingaben in das System gemacht werden können. Tatsächlich stellt die Spracherkennung eine gute Ergänzung zu handbasierten Interaktionstechniken dar. Aufgrund der Ausführkeit von Aktionen mit lediglich der Hilfe der Stimme ist sie eine nicht sichtbare Interaktionsform, die sowohl auf zwei- als auch auf dreidimensionale virtuelle Umgebungen anwendbar ist. Um die virtuelle Welt durch Berühr- und Fühlbarkeit erfahrbarer zu gestalten, werden zur Ergänzung der visuellen Wahrnehmung sogenannte Tactile/Force Feedback Techniken eingesetzt. Taktile Techniken geben Informationen bezüglich der Oberflächeneigenschaften und Force Feedback Techniken bezüglich der Masse virtueller Objekte an den Benutzer weiter. 2.4 Projekte Im folgenden Teil werden Ansätze präsentiert, die mit jeweils verschiedenen Zielsetzungen Büroumgebungen durch die Integration von virtuellen Komponenten funktionell aufwerten. Zu Projekten dieser Art ist neben den hier vorgestellten auch das in Kapitel 4 behandelte Mixed Reality Conferencing System zu zählen Roomware for Cooperative Buildings Roomware for Cooperative Buildings ist ein Projekt am Integrated Publication and Information Systems Institute der Fraunhofer Gesellschaft. In [SGH98] werden die Konzepte Cooperative Building und Roomware vorgestellt, die die Integration von realen, physikalischen architektonischen Räumen und virtuellen, digitalen Informationsräumen verfolgen.

37 KAPITEL 2 29 Der Antrieb des Projekts liegt in der Annahme, daß die Anforderungen an Arbeit und Kooperation in Firmen zukünftig steigen werden, da zwar Arbeitsinhalte und -prozesse bereits signifikant von der Informations- und Kommunikationstechnologie verändert wurden, aber das Design von Arbeitsumgebungen sich nicht dementsprechend weiterentwickelt hat. In the future, work and cooperation in organizations will be characterized by a degree of dynamics, flexibility and mobility that will go far beyond many of today s developments and examples. [SGH98] Das Ziel ist also die Entwicklung gleichwertig dynamischer, flexibler und mobiler Arbeitsumgebungen. Das Konzept Cooperative Building kombiniert reale mit virtuellen Welten und bietet so kooperative Arbeitsplätze, die die Erweiterung von menschlicher Kommunikation und Zusammenarbeit unterstützen. Personen sollen in einem kooperativen Gebäude miteinander kommunizieren, Informationen teilen und unabhängig von der physikalischen Position zusammenarbeiten können. Das Gebäude selbst soll dazu in der Lage sein zu (re-)agieren, sobald es bestimmte Bedingungen identifiziert hat. Es kann Probleme analysieren, Verbindungen zwischen Personen herstellen und Hilfe anbieten sowie kontextabhängige Informationen, die auf dem Wissen von vergangenen und derzeitigen Zuständen und Aktionen basieren, zur Verfügung stellen. Abbildung 2.3: Roomware-Komponente CommChair aus [SGH98] Mit Roomware sind durch Computer erweiterte Gegenstände in Räumen gemeint. Stühle, Tische und die Wand sollen interaktive Geräte sein, die Unterstützung für Kooperation und Interaktion durch eingebettete Informationstechnologie bieten und die Erstellung, Bearbeitung und Präsentation von Informationen ermöglichen. Durch Team- oder Projekträume, Präsentationseinrichtungen oder Informationshallen, in denen Roomware-Komponenten in-

38 30 OFFICE OF THE FUTURE tegriert sind, sollen flexible und dynamische Räume geschaffen werden, die auch als cooperative landscapes bezeichnet werden. Ein Beispiel für eine Roomware-Komponente ist der in Abbildung 2.3 zu sehende CommChair. In der gezeigten Variante dieses Armstuhls ist ein Computer integriert (in einer zweiten Variante wird über eine Docking-Station ein Laptop angeschlossen), durch den der Benutzer aufgrund der Vernetzung von Roomware-Komponenten Zugang zu einem gemeinsamen virtuellen Arbeitsraum erhält, in dem er vom CommChair aus Daten manipulieren kann The Office of the Future Die in Abbildung 2.1 gezeigte Vision eines Office Of The Future ist eine konzeptionelle Skizze, die im Rahmen eines Projekts an der University of North Carolina enstanden ist, das den Namen The Office of the Future trägt und in [RWC + 98] beschrieben wurde. Die Motivation besteht in der Entwicklung eines 3D-Systems zur Telekollaboration, durch das mit Hilfe von Darstellungsund Interaktionsmöglichkeiten, die der menschlichen Erfahrungswelt entsprechen, ein verbesserter Immersionseindruck im Vergleich zu bereits verfügbaren 2D-Systemen erreicht werden soll. Die Problematik bei der zweidimensionalen Telekollaboration liegt darin, daß den über ein solches System miteinander arbeitenden Personen oft nicht die Interaktionsmöglichkeiten zur Verfügung stehen, die sie hätten, würden sie sich im gleichen Raum befinden. Außerdem ist es problematisch, daß Benutzer eines solchen Systems dazu gezwungen sind, zwei sogenannte separate Egocenter 2 beizubehalten; eines in der lokalen Umgebung und ein anderes in der entfernten Büroumgebung der Mitarbeiter. Zur Umsetzung der 3D-Telekollaboration wird ein auf CAVE basierendes Spatially Immersive Display (SID) in ein Büro eingebaut. Um eine nahezu natürliche Arbeitsform (als ob man sich im gleichen Raum befände) zu gewährleisten, ist die Darstellung von und die Interaktion mit entfernten Mitarbeitern dreidimensional. Das lokale und das entfernte Büro werden zusammengefügt, indem mittels Echtzeit-Bilderkennungstechniken Informationen über die sichtbaren Oberflächen der Umgebungen (Wände, Möbel, Personen) extrahiert und diese als 3D-Szene am entfernten Ort rekonstruiert werden. Als SID wird dafür nahezu alles, das sich in der lokalen Büroumgebung befindet, genutzt und die dreidimensionale Interaktion wird über das Tracking der Hände der handelnden Personen umgesetzt. Im nächsten Kapitel wird die VE Plattform OfuturO vorgestellt. 2 In [RWC + 98] bezeichnet das Egocenter die Vorstellung davon, wo man sich und mit wem man sich an diesem Ort befindet.

39 Kapitel 3 Die OfuturO Plattform Abbildung 3.1: OfuturO Tisch 3.1 Vorstellung Bei der Betrachtung von Möglichkeiten zur Einbettung von virtuellen Hilfsmitteln in Büroumgebungen wird in Abschnitt unter anderem der Ansatz zur virtuellen Erweiterung von Raumkomponenten beschrieben. Diese bietet sich an, wenn Arbeitsprozesse, die sich nicht auf die Verwendung des gesamten 31

40 32 OFUTURO PLATTFORM Büroraums, sondern nur auf bestimmte Komponenten der Umgebung beziehen, durch den Zugang zu digitalen Informationen unterstützt werden sollen. Zu diesem Zweck müssen Systeme geschaffen werden, die geeignete Technologien zur virtuellen Erweiterung direkt in Raumkomponenten integrieren. Ein solches System ist das in der Abteilung Virtual Environments des Fraunhofer Instituts für Medienkommunikation (IMK.VE) in der Entwicklung befindliche OfuturO 1, das in Zukunft mittels integrierter MR/AR-Displaytechnologie die Plattform für verschiedene tischbasierte MR-Anwendungen in Büroszenarien bieten soll. 3.2 Aufbau Abbildung 3.2: Konzeptionelle Skizze von OfuturO 1 Der Name OfuturO bezieht sich auf das Office Of The Future-Konzept und leitet sich von dem portugiesischen O Futuro ab, was übersetzt Die Zukunft bedeutet.

41 KAPITEL 3 33 Die OfuturO Plattform verfügt über geeignete Aus- und Eingabeschnittstellen, die es bis zu drei Personen erlauben zwei- als auch dreidimensionale digitale Daten zu betrachten und zu bearbeiten. Des weiteren können physikalisch entfernte Personen per Videoconferencing mit der Arbeitsgruppe am OfuturO Tisch in Kontakt treten und so trotz der Entfernung an einer Sitzung teilnehmen. In Abbildung 3.2 wird der Großteil der Geräte dargestellt, die bei OfuturO zum Einsatz kommen, um die gewünschte Arbeitsumgebung zu erzeugen und mit ihr zu interagieren. Weitere Komponenten, welche dort zum Teil aufgrund der gewählten Perspektive nicht dargestellt werden konnten, sind ein Spiegel und Projektoren unterhalb des Tisches sowie eine RGB-Kamera Tisch Abbildung 3.1 zeigt den OfuturO Tisch kurz nach dem Bau, zu einer Phase der Entwicklung, in der noch keinerlei Display- oder Eingabevorrichtungen integriert waren. Die Abmessungen des Tisches sind inklusive der seitlich herausragenden Arbeitsflächen ca Meter x 3.50 Meter. Der Tisch ist mit vier Plätzen ausgestattet, wovon einer als passiver Arbeitsplatz ausgelegt ist. Die drei verbleibenden Plätze geben ebenso vielen Personen den vollen Umfang an Interaktionsmöglichkeiten, um an einer OfuturO-Sitzung teilzunehmen. Die Teilnehmer können dort ihre tragbaren Computer anschließen und des weiteren über permanent am Arbeitsplatz installierte Eingabegeräte mit dem OfuturO- System interagieren. Abbildung 3.3: Arbeitsplatz mit Laptop und weiteren Eingabegeräten 2 Die auf Abbildung 3.2 nicht dargestellten Komponenten sind in Abbildung 3.4 bzw. Abbildung 3.5 zu sehen.

42 34 OFUTURO PLATTFORM Display Die bei OfuturO verwendeten Vorrichtungen zur Anzeige sind von den Anforderungen an das System bestimmt. Zum einen soll die Möglichkeit bestehen zwei- und dreidimensionale Daten darzustellen und mit ihnen zu arbeiten und zum anderen sollen auch entfernte Personen mittels Videoconferencing an einer Arbeits-Sitzung teilnehmen können. Sämtliche in Abbildung 3.4 aufgezeichneten Anzeigegeräte sowie weitere zur Anzeige benötigte Vorrichtungen sind mit dem Grafikcomputer verbunden, der die zentrale System-Komponente für die Verarbeitung von Aus- und Eingaben ist. Abbildung 3.4: Display Vorrichtungen Videoconferencing Display Der zum Videoconferencing genutzte Plasma-Bildschirm hat eine Bildschirmdiagonale von ca Meter. Er wird zur Darstellung von Videobildern entfernter, auf diese Weise an einer Arbeits-Sitzung teilnehmender, Personen eingesetzt, wobei durch eine in das OfuturO-System integrierte Kamera 3 das Videobild der Arbeitsgruppe am OfuturO-Tisch aufgenommen wird. Die auf beiden Seiten durch die Video-Aufnahme anfallenden Datenströme werden über das Internet ausgetauscht, wodurch nahezu eine Live-Präsenz möglich ist. 3 Die Videoconferencing-Kamera ist in der Konzeptions-Skizze in Abbildung 3.2 eingezeichnet.

43 KAPITEL 3 35 MR Display Die über OfuturO dargestellten Daten können entweder zwei- (Dokumente, Bilder) oder dreidimensional (3D-Objekte) sein. Die Ausgabe der Daten erfolgt mit bis zu vier Projektoren, die unterhalb des Tisches plaziert sind. Dabei werden zweidimensionale Daten durch Monoprojektionen und dreidimensionale Daten durch Stereoprojektionen visualisiert. Um eine höhere Auflösung zu erreichen wird das Projektionsbild aus Halbbildern zusammengesetzt, wobei jeweils zwei Projektoren die Darstellung eines Halbbildes übernehmen 4. Die höhere Auflösung ist speziell bei Dokumenten notwendig, da diese hochaufgelöst dargestellt werden müssen um noch lesbar zu sein. Die Projektoren sind an einem beweglichen Metallgestell befestigt und daher frei justierbar. Sie zeigen auf einen 1.45 Meter x 1.30 Meter großen, schräg ausgerichteten Spiegel, über den das ausgesendete Licht von unten auf die Projektionsfläche umgeleitet wird. Dies geschieht um den Projektionsweg zu verlängern, der so vom Projektor bis zur Projektionsfläche ca Meter beträgt. Die Projektionsfläche ist eine in den Tisch eingelassene Platte, die aus einem speziellen lichtdurchlässigen Material (PVC) besteht und deren Abmessungen 1.48 Meter x 1.12 Meter sind. Durch die Verwendung dieser Spezialplatte können virtuelle Objekte mit einer guten Farbgenauigkeit oberhalb der Platte dargestellt werden. Im Falle der Anzeige dreidimensionaler Objekte auf der Projektionsfläche benötigt der Betrachter zur räumlichen Wahrnehmung des bereits von den Projektoren polarisierten Bildes eine Polarisationsbrille Eingabegeräte Jedes zur Interaktion mit dem OfuturO-System genutzte Gerät verfügt über eine Verbindung zum Grafikcomputer 5 (siehe Abbildung 3.5). Die Verbindung zu den von den Benutzern verwendeten Laptops wird durch den Anschluß an einen Netzwerk-Switch hergestellt, der die Laptops in ein Netzwerk mit dem Grafikcomputer integriert. Im Gegensatz zu den nicht fest installierten Laptops, die bei jeder Sitzung neu angeschlossen werden, sind die weiteren Eingabegeräte permanent mit dem System verbunden. Pro Arbeitsplatz sind jeweils eine SpaceMouse sowie ein Touchpad angebracht, deren Verbindung zum Grafikcomputer durch einen USB Hub realisiert ist. Außerdem ist eine RGB-Kamera angeschlossen, die zur Erkennung von Mustern und Gesten eingesetzt wird. 4 Bei Monoprojektionen werden zwei Projektoren genutzt (einer pro Halbbild), bei Stereoprojektionen sind es vier (zwei pro Halbbild). 5 In Abbildung 3.5 wird der Grafikcomputer als Visualisation Server bezeichnet.

44 36 OFUTURO PLATTFORM Abbildung 3.5: Eingabegeräte Die SpaceMouse kann aufgrund von sechs Freiheitsgraden zur räumlichen Steuerung verwendet werden. Somit lassen sich Objekte im Raum plazieren und in ihm ausrichten, d. h. es können Translationen auf den und Rotationen um die drei Raumachsen ausgeführt werden. Die SpaceMouse besteht aus einer Basisplatte, auf der neun Knöpfe sowie eine Steuerkappe angebracht sind. Alle Knöpfe sind frei belegbar, einer davon ist darüber hinaus zu Konfigurationszwecken bestimmt. D. h., daß mit dem Konfigurationsknopf Funktionen, die fest in das Gerät integriert sind, wie z. B. die Einstellung der Steuerungsgenauigkeit oder die Abschaltung von Translationen, genutzt werden können. Die Steuerkappe ist nach vorne/hinten sowie seitlich beweglich, sie kann nach oben gezogen und nach unten gedrückt und außerdem gedreht werden, so daß sich aus den Bewegungsmöglichkeiten der Steuerkappe die bereits erwähnten sechs Freiheitsgrade zur räumlichen Steuerung ergeben. Das Touchpad besteht hauptsächlich aus einem 6 cm x 4.5 cm großen, berührungsempfindlichen Feld sowie zwei frei belegbaren Funktionsknöpfen. Bewegungen auf dem berührungsempfindlichen Bereich, z. B. von Fingern, werden registriert und können zur Verschiebung von Objekten auf Oberflächen, also in zwei Dimensionen, umgesetzt werden.

45 KAPITEL 3 37 Abbildung 3.6: SpaceMouse und Touchpad 3.3 Software Um die in die OfuturO Plattform integrierte Hardware zur Erzeugung einer MR-Umgebung nutzen zu können, ist die Verwendung eines Software-Systems notwendig, das speziell auf die Erstellung interaktiver virtueller Umgebungen ausgerichtetet ist. Dazu wird Avango, ein Entwicklungssystem für virtuelle Umgebungen, eingesetzt, das im folgenden Abschnitt vorgestellt wird. Darauf folgt die Beschreibung eines Hardware-Treibers, dessen Programmierung zur Anbindung der an OfuturO angeschlossenen USB-Eingabegeräte an das Avango-System erforderlich war. Als Betriebssystem für die OfuturO-Software kommt Linux zum Einsatz Avango Das Software Framework Avango wird seit 1996 in der Abteilung Virtual Environments des Fraunhofer Instituts für Medienkommunikation (IMK.VE) entwickelt [IMK03] und dient zur Erstellung verteilter, interaktiver VE Anwendungen. Es unterstützt eine Vielzahl von Display-Konfigurationen und Eingabegeräten, zu denen z. B. unterschiedliche Trackingsysteme oder 3D Interaktionsgeräte zählen. Um so viele menschliche Sinne wie möglich anzusprechen, kann zur Ausgabe Spezialhardware, wie Vibrationsböden, Duftzerstäubungssysteme oder 3D-Soundsysteme, verwendet werden. Die in [Goe01] aufgezählten Anforderungen an ein solches Entwicklungssystem für virtuelle Umgebungen sind: Performance, Flexibilität, schnelle Anwendungsentwicklung, Erweiterbarkeit und Portierbarkeit. Als Basis dient das OpenGL Performer Toolkit der Firma SGI. Darauf baut das objektorientierte Avango Framework auf, das eine Programmierschnittstelle (API) in der Sprache C++ zur Verfügung stellt und die Erstellung von an-

46 38 OFUTURO PLATTFORM wendungsspezifischen Klassen erlaubt. Zusätzlich zur C++ API bietet Avango eine vollständige Anbindung der Interpreter-Sprache Scheme, von der aus alle high-level Avango Objekte erstellt und manipuliert werden können. Komplexe und performance-kritische Funktionalitäten werden durch Ableitungen und Erweiterungen bestehender Avango-Klassen in C++ implementiert, während die typische Avango Anwendung selbst aus einer Sammlung von Scheme-Skripten besteht, die Avango-Objekte instantiieren, ihre Methoden anwenden, Werte von Feldern setzen und die Beziehungen zwischen Objekten definieren. Die Komponenten der Avango-Entwicklungsumgebung werden in Abbildung 3.7 dargestellt. Abbildung 3.7: Avango-Entwicklungsumgebung Das auf dem Scene-Graph 6 Konzept aufbauende Programmiermodell von Avango wird in [Tra98] beschrieben. Die C++ API erlaubt die Definition zweier verschiedener Kategorien von Objektklassen; Nodes bieten eine objektorientierte Scene-Graph API, die die Repräsentation und die Darstellung komplexer Geometrien ermöglicht, während Sensors Avango s Schnittstellen zur realen Welt sind und benutzt werden, um externe Gerätedaten in eine Anwendung zu importieren. Alle Avango-Objekte werden als sogenannte Fieldcontainer bezeichnet, welche den Status von Objekten als eine Sammlung von Feldern repräsentieren Hardware-Treiber Zur Registrierung von Eingaben nutzt Avango ein Konzept des Betriebssystems Linux, das mit Hilfe von sogenannten Kernel-Treiber-Modulen Hardware- Eingaben als Zeichenkette in eine sogenannte Gerätedatei lenkt, die dem jeweiligen Gerät zugeordnet ist. Die Eingaben können so von Avango-Objekten 6 Der Scene-Graph ist eine baumartige Struktur, die die komplette Beschreibung eines virtuellen Universums enthält. Dieses Modell wird auch bei anderen stand-alone APIs (wie z. B. Java 3D [Mic03]) verwendet.

47 KAPITEL 3 39 durch das Auslesen der in einer Gerätedatei enthaltenen Zeichenkette interpretiert werden. Obwohl Linux eine Vielzahl von Geräten durch die mitgelieferten Kernel-Treiber unterstützt, galt dies nicht für die durch USB angebundene SpaceMouse. Aus diesem Grunde wurde ein Hardware-Treiber entwickelt, der die Eingaben der USB-Geräte SpaceMouse und Touchpad in die von Avango benötigten Gerätedateien umlenkt und weitere anwendungsspezifische Funktionen implementiert. Der Treiber ist auf die Unterstützung von drei aus SpaceMouse und Touchpad bestehenden Gerätepaaren ausgelegt, da jedem der drei OfuturO-Arbeitsplätze ein solches Paar zugewiesen ist. Ausgeführte Eingaben werden in zwei separate Gerätedateien für SpaceMouse und Touchpad gelenkt. Die Aufgabe, die Verknüpfung der Gerätepaare und deren Zuordnung zu einem Arbeitsplatz (und damit auch zu dem daran angeschlossenen Laptop) zu gewährleisten, wird ebenfalls vom Treiber gelöst. Da das OfuturO-System nur Eingaben von einem Gerätepaar zur gleichen Zeit akzeptiert, ist die Implementierung eines Eingabefokus, der immer nur von einem Arbeitsplatz aus beansprucht werden kann, eine weitere Aufgabe des Treibers. Des weiteren bietet der Treiber die Basis für eine Anwendung, die es ermöglicht Eingaben der USB-Geräte als Gesten zu interpretieren, die in Kommandos übersetzt und an die in Kapitel 5 vorgestellte Visualisierungs- und Kommunikationsschnittstelle weitergeleitet werden können. Die Nahtstellen zur Kommunikation mit der Gestenerkennungs-Software werden allerdings erst im Anschluß an diese Diplomarbeit in die Visualisierungs- und Kommunikationsschnittstelle integriert. 3.4 Anwendungen In Zukunft soll die OfuturO Plattform als Grundlage für diverse tischbasierte MR-Anwendungen dienen. Die noch in der Entwicklung befindliche Prototyp- Anwendung ist das in Kapitel 4 vorgestellte MR Conferencing System. Noch in der Planungsphase befindet sich als weitere Anwendung eine Mindmapping 7 Software, die als Tangible User Interface (TUI) realisiert werden soll. Dabei werden die Ideen der Teilnehmer eines Brainstormings von diesen auf digitalen Karten notiert, um danach in eine globale Darstellung eingegliedert zu werden, die über die Projektionsfläche von OfuturO angezeigt und für eine Gruppendiskussion freigegeben wird. Die Gruppenbewertung der Ideen wird 7 Eine Mindmapping Software assistiert bei der Sammlung und Gliederung von Ideen und Gedanken.

48 40 OFUTURO PLATTFORM durch TUI phicons 8 markiert, die neben der Projektion der Idee zu plazieren sind und mit Hilfe einer Mustererkennungs-Software vom OfuturO-System interpretiert werden können. Als Beispiel kann ein auf das phicon gezeichnetes Mülleimer -Symbol für eine nicht akzeptierte, zu verwerfende Idee stehen, ein Daumen nach oben -Symbol wäre ein Beispiel für eine beizubehaltende Idee. Im nächsten Schritt werden die Bewertungen vom System eingelesen und je nach dem, wie sie ausgefallen sind, verworfen oder beibehalten. Eine tiefergehende Beschreibung der Mindmapping Anwendung für OfuturO findet sich in [GKG + 03]. 3.5 Verwandte Projekte In den folgenden Abschnitte werden einige Projekte präsentiert, in deren Rahmen ebenfalls an der Integration von Techniken zur virtuellen Erweiterung tischbasierter Plattformen gearbeitet wurde DigitalDesk Der DigitalDesk ist ein Schreibtisch, auf dessen Oberfläche auf traditionelle Art mit Papier gearbeitet werden kann, der allerdings um charakteristische Merkmale elektronischer Workstations aufgewertet ist. Die Motivation für das von Peter Wellner an der University of Cambridge entwickelte System [Wel93] ist die Erzeugung einer virtuellen Umgebung, in der die physikalischen Begrenzungen von Papierdokumenten durch zusätzliche Eigenschaften elektronischer Dokumente überwunden werden. Die Bearbeitung von Dokumenten kann in zwei verschiedenen Welten stattfinden: in der elektronischen Welt des Computers und der physikalischen Welt auf dem Schreibtisch, also auf Papier. Dabei haben beide Arten von Dokumenten ihre speziellen Vorteile; so sind elektronische Dokumente schnell editierbar, sie besitzen Funktionen um Passagen zu kopieren oder sie bieten die Möglichkeit nach Schlüsselwörtern zu suchen. Die Vorteile von Papierdokumenten sind die universelle Akzeptanz aufgrund der Vertrautheit mit dem Medium, die durch die hohe Auflösung bedingte, gute Lesbarkeit sowie die geringen Kosten und die einfache Transportierbarkeit. Der DigitalDesk soll die die Vorteile beider Medien vereinen. Zur digitalen Erweiterung der Papierdokumente wird ein Computerbild auf den Tisch projiziert, während zur Realisierung der Aktionen des Benutzers auf 8 phicon = physical icon. In diesem Fall entspricht ein phicon einem Kärtchen, auf dem ein der Bewertung entsprechendes Piktogramm aufgezeichnet ist.

49 KAPITEL 3 41 den Tisch gerichtete Video-Kameras ein Bildverarbeitungssystem füttern. Der DigitalDesk hat folgende Charakteristika: er projiziert Computerbilder auf die Tischoberfläche und somit auf Papierdokumente er bietet die Möglichkeit von Interaktion mit Stiften oder Fingern er kann Papierdokumente, die auf seiner Oberfläche plaziert wurden, lesen. Abbildung 3.8: Schematisches Diagramm des DigitalDesk aus [Wel93] Zur Demonstration der DigitalDesk Plattform wurden einige Anwendungs- Prototypen umgesetzt. Einer davon ist die Anwendung DoubleDigitalDesk, die es zwei Personen an verschiedenen Orten erlaubt, ihre DigitalDesk-Arbeitsflächen zu teilen. Dabei können beide Teilnehmer die Papierdokumente der anderen Person sehen und editieren. Der DigitalDesk nimmt ständig Bilder vom lokalen Schreibtisch auf, während er skalierte Bilder des entfernten Schreibtischs projiziert. Beide Benutzer können mit einem Stift auf Papier- und elektronischen Dokumenten zeichnen, während die Aktionen der anderen Person am eigenen Arbeitsplatz immer sichtbar sind. Als Beispiel können die beiden Teilnehmer auf diese Weise z. B. TicTacToe gegeneinander spielen, indem die eigenen Züge mit einem Stift und die Züge des anderen Benutzers durch eine System-Projektion eingetragen werden.

50 42 OFUTURO PLATTFORM KoKoBel Um strukturelle und organisatorische Probleme bei Produktionsaufgaben zu bewältigen, die bei Massenproduktionen und dem großen Rahmen, innerhalb dessen sie stattfinden, auftreten, wurde am Fraunhofer Institut für Angewandte Informationstechnik (FIT) mit dem Projekt KoKoBel [FIT03] eine tischbasierte Plattform zur Optimierung von Herstellungsprozessen entwickelt. Das sich dabei stellende Hauptproblem sind Inkompatibilitäten zwischen den an der Produktion beteiligten Fachbereichen, da sich dort Unterschiede bei den angewandten Methoden oder der verwendeten Software entgegen stehen. Zur Überwindung dieser Unterschiede ist ein hoher Grad an Kommunikation und Kooperation zwischen den an der Produktion beteiligten Fachbereichen notwendig. Die von den KokoBel-Entwicklern angebotene Lösung liegt in einem gemeinsamen Arbeitsplatz für alle beim Arbeitsmanagement mit einbezogenen verantwortlichen Spezialisten, durch den Aufgaben auf der generellen Management-Ebene unterstützt werden. Dies wird in Form eines Tisches, dem Cooperative Worktable (siehe Abbildung 3.9), realisiert, der mit mehreren Planungsund Simulationswerkzeugen ausgestattet ist, die untereinander funktionell und grafisch übereinstimmen und so die gemeinsame Arbeit deutlich erleichtern. Neben der Darstellung des aktuellen Status einer gerade bearbeiteten Produktionslinie für jeden Teilnehmer stellt der Tisch auch direkte Plausibilitätsprüfungen zur Verfügung. So können die am gleichen Platz arbeitenden Experten Fehler beheben und Anpassungen am Produktionsfluß vornehmen, um einen höheren Effizienzgrad zu erzielen. Abbildung 3.9: Cooperative Worktable von Fraunhofer FIT aus [FIT03] Der Tisch ist so konzipiert, daß jeder Teilnehmer über seinen eigenen, mit einem PC ausgestatteten, Arbeitsplatz verfügt. In diesem, auch als private

51 KAPITEL 3 43 area bezeichneten, persönlichen Arbeitsbereich kann er die spezifischen Aufgaben seines Fachbereichs mit angemessenen Planungs- und Simulationstools bearbeiten. Die erreichten Ergebnisse können in einen als protected area bezeichneten Bereich transferiert werden, der über Schnittstellen zum globalen System-Modell verfügt. Diese Schnittstellen gewährleisten eine Übersicht der Auswirkungen von Änderungen auf die Gesamtheit der Produktion; so resultiert z. B. eine Steigerung der Produktionsgeschwindigkeit in einem höheren Materialfluß. Dadurch werden Abhängigkeiten sichtbar und Modifikationen können schnell erledigt werden. Schließlich werden die Komponenten aus der protected area in die sogenannte public area überführt, die eine interaktive Repräsentation der gesamten Produktionslinie ist. Die Anzeige der public area erfolgt im Zentrum des Tisches metadesk Der metadesk ist eine Plattform zur Demonstration neuer Interaktionstechniken auf der Grundlage von Tangible User Interfaces (TUI) und wurde als Bestandteil des Tangible Bits Projekts [IU97a] des MIT Media Lab entwickelt. Zusammen mit einem Prototyp-System zur Interaktion im geographischen Raum, dem Tangible Geospace, wurde es in [IU97b] vorgestellt. Das Tangible Bits Projekt behandelt die physikalische Instantiierung von Schnittstellen-Elementen grafischer Benutzeroberflächen (GUI), d. h. Fenstern oder Icons soll eine physikalische Form verliehen werden. Objekte werden dabei als physikalische Schnittstellen zu digitalen Informationen genutzt. Abbildung 3.10: Übersicht des metadesk Systems aus [IU97b]

52 44 OFUTURO PLATTFORM Die metadesk Plattform besteht aus folgenden Komponenten: einem Tisch, dessen horizontale Plexiglas-Oberfläche für grafische Rückprojektionen geeignet ist einem an einen Befestigungsarm angebrachten Flatpanel-Display, der sogenannten active lens (die Display-Befestigung sowie der Arm selbst verfügen beide über drei Freiheitsgrade) einem zweiten als passive lens bezeichneten transparenten Display, das einer überdimensionierten Lupe ähnelt einer Ansammlung von physikalischen Objekten und Instrumenten, die auf der Tischoberfläche benutzt werden. Das System registriert die Komponenten durch eine Reihe von optischen, mechanischen und elektromagnetischen Sensoren und wird durch drei untereinander vernetzte Computer koordiniert. Zur Anzeige der Computergrafik wird ein Projektor verwendet, der über zwei interne Spiegel auf die Oberfläche des Tisches projiziert. Auf der lichtdurchlässigen Oberfläche des metadesk- Tisches können physikalische Objekte und Interaktions-Instrumente, sogenannte phicons (physical icons), phandles (physical handles) oder TUI instruments, plaziert werden. Um visuelle Erweiterungen durch Rückprojektion zu ermöglichen, bestehen die Objekte aus durchsichtigem Material. Die Prototyp-Anwendung Tangible Geospace arbeitet mit einer zweidimensionalen Karte des MIT Campus, die auf die Tischoberfläche projiziert wird. Das Aufsetzen eines z. B. mit einem Campus-Gebäude assoziierten phicons auf die Tischoberfläche bewirkt eine Positionierung des auf der Karte verzeichneten Gebäudes unterhalb des phicons. Neben der zweidimensionalen Kartendarstellung auf der Tischoberfläche bietet das active lens Display eine perpektivische, dreidimensionale Ansicht des MIT Campus. Durch Rotationen oder Translationen des assozierten phicons auf der Tischoberfläche verändern sich korrespondierend die 2D-Ansicht auf der Tischoberfläche wie auch die 3D-Ansicht der active lens. Die Verwendung eines zweiten phicons, das z. B. ein anderes Gebäude auf dem Campus repräsentiert, kann durch relative Bewegungen der beiden phicons zueinander zur Skalierung oder Rotation der Karte genutzt werden. Nachdem in diesem Kapitel die OfuturO Plattform vorgestellt wurde, behandelt das nächste Kapitel das Mixed Reality Conferencing System, welches die Prototyp-Anwendung für OfuturO darstellt.

53 Kapitel 4 Der Mixed Reality Conferencing Prototyp 4.1 Vorstellung Durch die erweiterten Visualisierungs- und Interaktionsmöglichkeiten im Bereich Mixed Reality ergeben sich für die als tischbasiertes System konzipierte OfuturO Plattform zahlreiche Anwendungsmöglichkeiten zur Unterstützung von Arbeitsprozessen im Bürobereich. Die Motivation für die Entwicklung der Prototyp-Anwendung für OfuturO, einem Mixed Reality Conferencing System, ist die Nutzung der angebotenen erweiterten Darstellungs- und Interaktionsmöglichkeiten zur Schaffung eines verbesserten multimedialen Konferenzszenarios. An einer Konferenz nehmen Mitarbeiter im Rahmen von Firmenprojekten teil, denen es um die Besprechung von Arbeitsergebnissen oder die Vorstellung von Ideen und Konzepten geht. Durch ein traditionelles Konferenzszenario wird in der Regel ein ganzer Meetingraum belegt, in dem neben einem Konferenztisch, um den sich die Teilnehmer versammeln, ein Projektor enthalten ist, der sich für die Präsentation von Folien oder elektronischen Dokumenten eignet, die auf eine Wandfläche projiziert werden. Präsentationen finden in der Form eines Vortrags statt, den die vortragende Person zunächst zu Ende führt, bevor im Anschluß eine Besprechung mit den Zuhörern folgt, in der Fragen gestellt und Verbesserungsvorschläge angebracht werden. Sollten aufgrund der Diskussion Änderungen an digitalen Inhalten der Präsentation notwendig werden, so fehlen oft die Mittel diese unmittelbar innerhalb der Konferenz umzusetzen. Die Änderungsvorstellungen werden stattdessen an den zuständigen Mitarbeiter weitergegeben, der diese zu einem späteren Zeitpunkt an seinem gewöhnlichen Arbeitsplatz implementiert. Damit die Zuhörer die Auswirkungen von Änderungen begutachten können, ist auf diese Weise eine weitere Präsentati- 45

54 46 MR CONFERENCING PROTOTYP on nötig, in welcher der aktualisierte Inhalt vorgestellt wird. Die Nachteile der traditionellen Konferenzumgebung sind: die Darstellungsmöglichkeiten sind auf zweidimensionale Informationen beschränkt und eignen sich daher für Dokumente und Bilder, aber nicht für dreidimensionale Objektmodelle durch das eingesetzte Projektionssystem besteht ein hoher Platzbedarf, in der Regel wird ein ganzer Meetingraum belegt aufgrund fehlender Interaktionsmöglichkeiten können Änderungsvorstellungen an digitalen Präsentationsinhalten oft nicht unmittelbar umgesetzt werden. Der Anspruch des Mixed Reality Conferencing Prototypen ist die Entwicklung eines Konferenzkonzepts, das keinen der aufgezählten Nachteile enthält. Die Reduzierung des Platzbedarfs wird durch die Basierung auf der OfuturO Plattform erreicht, da das direkt integrierte Rückprojektionssystem keinen zusätzlichen Raum benötigt und so lediglich die Fläche eines großen Arbeitstisches (2.50 Meter x 3.50 Meter) beansprucht wird. Daher kann eine solche Konferenzumgebung anstatt einen separaten Raum zu belegen in einem gewöhnlichen Büroraum untergebracht werden, der für weitere Aufgaben nutzbar bleibt. Meetingraum Traditionelle Konferenzumgebung Bueroraum Integriertes MR Conferencing Wand Gewoehnliche Bueroarbeitsplaetze Konferenztisch Stuehle Projektor Projektions flaeche OfuturO Tisch mit integriertem Projektionssystem Abbildung 4.1: Vergleich von Konferenzszenarien Durch das zur Wiedergabe von zwei- als auch dreidimensionalen Informationen geeignete Rückprojektionssystem werden die Darstellungsmöglichkeiten um die Anzeige entsprechender Präsentationsdaten als dreidimensionale Objekte erweitert. Die Darstellung von Präsentationsinhalten erfolgt im für alle Teilnehmer gut einsehbaren Zentrum des OfuturO Tisches auf der dort angebrachten Projektionsfläche.

55 KAPITEL 4 47 Die für Präsentationen bestimmten Daten bringen die Teilnehmer mit ihren eigenen portablen Computern zur Konferenz mit, auf denen die Präsentationsinhalte in Datenbankarchiven organisiert sind. Diese Laptops werden an den OfuturO Arbeitsplätzen angeschlossen und damit untereinander und mit einem Rechner, der das Visualierungssystem steuert, vernetzt. Zur Wiedergabe der Präsentationsdaten wird das OfuturO Projektionssystem mit den Datenbankarchiven der Laptops kombiniert, indem die zur Präsentation bestimmten Informationen an den Visualisierungsrechner weitergegeben werden. Durch die Vernetzung der Laptops können Daten unter den Teilnehmern ausgetauscht werden. Abbildung 4.2: Verbindung von Datenbankarchiven und Projektionssystem Werden Präsentationsinhalte durch das OfuturO System visualisiert, so bestehen verschiedene Möglichkeiten mit diesen zu interagieren und sie zu manipulieren. Dabei werden die Laptop Computer der Teilnehmer als Interaktionskonsolen verwendet, weitere Interaktionsmöglichkeiten bestehen durch die fest an den OfuturO Arbeitsplätzen installierten Eingabegeräte, wie dem Touchpad zur Interaktion mit zweidimensionalen und der SpaceMouse zur Interaktion mit dreidimensionalen Inhalten. Mit diesen Interaktionsmöglichkeiten können die Teilnehmer die Darstellungsart der präsentierten Informationen beeinflussen, indem sie z. B. in Echtzeit die perspektivische Ansicht von einem dreidimensionalen Modell ändern, um das Modell von allen Seiten zu betrachten.

56 48 MR CONFERENCING PROTOTYP Sollen Änderungen an den digitalen Inhalten vorgenommen werden, können Präsentationsdaten auf Laptops transferiert werden, um sie dort mit einer geeigneten Anwendung den Vorstellungen anzupassen und die angepaßte Version anschließend wieder dem Visualisierungssystem zu übergeben. Damit besteht die Möglichkeit der direkten Manipulation von digitalen Daten unmittelbar im Rahmen einer Konferenz. Des weiteren vereinfacht das MR Conferencing System die Aufbewahrung von Präsentationsinhalten, da die Daten problemlos auf Wunsch in das eigene Datenbankarchiv integriert werden können. Zur Interaktion und zum Daten-Austausch sollen auch Gesten genutzt werden, denen das System entsprechende Befehle zuordnet. Diese Gesten können entweder über die Eingabegeräte oder durch körperbezogene Aktionen der Teilnehmer (in der Regel Handgesten) ausgeführt werden. Handgesten werden dabei von einer RGB-Kamera aufgenommen und durch ein Bildverarbeitungssystem interpretiert. Um externe Partner mit einzubeziehen, die nicht lokal an der Konferenz teilnehmen können, wird das OfuturO Videoconferencing Display verwendet. Den externen Konferenzpartnern sollen dabei durch die Integration in das Konferenznetzwerk die gleichen Möglichkeiten zur Interaktion und zur Manipulation von Präsentationsinhalten zur Verfügung stehen. Ein Nachteil des MR Conferencing Systems ist die Beschränkung auf drei Arbeitsplätze durch die Vorgaben der OfuturO Plattform, da nur ebenso viele Personen (abgesehen von externen Konferenzpartnern) an einer Konferenz teilnehmen können. Aufgrund dieser Beschränkung eignet sich das System am Besten zu einer Besprechung unter Spezialisten, die auch in einem kleinen Personenkreis in der Lage sind zu einem guten Ergebnis zu kommen. Die Entwicklung der Software-Basis für das MR Conferencing System, durch die die beschriebenen Möglichkeiten zur Visualisierung von Präsentationsinhalten und zum Austausch selbiger realisiert werden, stellte den praktischen Teil dieser Diplomarbeit dar. Daher wird die Implementierung der als Visualisierungs- und Kommunikationsschnittstelle bezeichneten Software in Kapitel 5 genau dargelegt. 4.2 Beschreibung eines Konferenzszenarios Während des Ablaufs einer Konferenz auf der Basis der MR Conferencing Prototyp-Anwendung bestehen diverse Möglichkeiten für die Teilnehmer, um Daten zu präsentieren oder untereinander auszutauschen. Die Mittel und Wege zur Vorstellung und zum Austausch von Präsentationsinhalten werden in dem nun folgenden Abschnitt beschrieben. Zunächst verteilen sich die Konferenzteilnehmer auf die Arbeitsplätze von

57 KAPITEL 4 49 OfuturO und schließen dort ihre Laptop Computer an ein Netzwerkkabel an. Dies verbindet die Laptops sowohl untereinander als auch mit dem Grafikcomputer der OfuturO Plattform, an den das Projektionssystem angeschlossen ist. Nun besteht eine Verbindung zwischen den Datenbankarchiven, in denen auf den Laptops die Präsentationsinhalte verwaltet werden, und dem Visualisierungssystem von OfuturO (siehe Abbildung 4.2). Diese Verbindung wird von der in Kapitel 5 beschriebenen Software-Basis des MR Conferencing Prototypen, der Visualisierungs- und Kommunikationsschnittstelle, zur Weitergabe von digitalen Präsentationsinhalten an das Projektionssystem genutzt. Die Software verfügt neben einer Schnittstelle zu dem Datenbankarchiv auch über mehrere Schnittstellen zu dem Netzwerk und bietet so die benötigten Transportwege für die Daten. Mit Hilfe der Software können die Laptops nun als Interaktionskonsolen bei einer Konferenz verwendet werden, da sämtliche den Teilnehmern zur Verfügung stehenden Optionen, um in eine Präsentation einzugreifen, in der Software implementiert sind. Als weitere Interaktionsgeräte befinden sich an jedem Arbeitsplatz eine SpaceMouse sowie ein Touchpad, die den Teilnehmern alternativ zur Verfügung stehen, um Aktionen der Software auszulösen und so mit dem MR Conferencing System zu interagieren. Die Visualisierungs- und Kommunikationsschnittstelle besteht aus verschiedenen Komponenten, die über alle Rechner des Netzwerks verteilt sind, sowohl auf die Laptops als auch auf den Visualisierungsrechner. Auf den Laptops steht den Teilnehmern eine grafische Benutzeroberfläche (GUI ) zur Verfügung, mit der sie sich am Konferenzsystem anmelden und über die sie sämtliche Conferencing-Funktionen abrufen können. Da in der GUI die Schnittstelle zur Datenbank integriert ist, hat der Benutzer Zugriff auf Präsentationsdaten enthaltende Datensätze und kann so über die GUI die gewünschten Informationen selektieren. Gewählte Daten kann er dann entweder zur Präsentation freigegeben oder mit anderen Teilnehmern austauschen; beides geschieht, indem die Daten zu einer an die GUI angegliederten Netzwerkschnittstelle weitergegeben werden. Die Software besteht neben der GUI-Netzwerkschnittstelle aus einer weiteren Netzwerkkomponente, die in einen Programmteil integriert ist, der auf dem Visualisierungsrechner ausgeführt und als GVM Server bezeichnet wird. Die Abkürzung GVM steht für Global View Manager, ein Oberbegriff für die Programmkomponenten, die über einen Zugang zum Visualisierungssystem verfügen, worunter neben dem GVM Server auch die GUI- Netzwerkschnittstelle fällt, welche den Namen GVM Interface trägt. Dem auf der Seite des Visualisierungsrechners angesiedelten Programmteil GVM Server sind einige wichtige Aufgaben des Konferenzsystems zugewiesen. Er nimmt Präsentationsinhalte von dem GVM Interface entgegen, die visualisiert werden können, indem der GVM Server eine geeignete Anwendung zur Darstellung von

58 50 MR CONFERENCING PROTOTYP Dokumenten, Bildern oder dreidimensionalen Daten startet, die mit Hilfe des Projektionssystems wiedergegeben wird. Des weiteren verwaltet der GVM Server Informationen, die zur Koordination des Systems benötigt werden, z. B. welche Präsentationsinhalte gerade dargestellt werden oder welche Teilnehmer am System angemeldet sind. Laptop Datenbank archiv Datenbank schnittstelle GUI Netzwerk schnittstelle GVM Interface Netzwerk Netzwerk schnittstelle GVM Server Visualisierungs schnittstelle Visualisierungsrechner Projektions system Abbildung 4.3: Vernetzung der Software-Komponenten Im Rahmen einer Konferenz stehen den Teilnehmern verschiedene Möglichkeiten zur Verfügung, Präsentationsinhalte weiterzugeben. Dazu finden Datentransfers zwischen den an das System angeschlossenen Rechnern statt, die in drei Arten von Datenströmen unterteilt werden können: zur Visualisierung von Präsentationsinhalten Upload von Laptop zu Visualisierungsrechner zur Übernahme und lokalen Sicherung von Präsentationsinhalten Download von Visualisierungsrechner zu Laptop zur direkten Daten-Weitergabe von Teilnehmer zu Teilnehmer Transfer von Laptop zu Laptop Wenn ein Teilnehmer die Absicht hat, der Gruppe Informationen aus seinem Datenbankarchiv zu präsentieren, kann er diese unter Verwendung der GUI selektieren und zur globalen Anzeige durch das Projektionssystem freigeben. Die Daten werden nun in einen sogenannten Shared Workspace (gemeinsamen Arbeitsraum) kopiert, in dem sich alle gerade zur globalen Anzeige

59 KAPITEL 4 51 freigegeben Daten befinden. Dieser gemeinsame Arbeitsraum wird vom GVM Server verwaltet, der in der Lage ist, den Typ (Dokument, Bild oder 3D Objekt) der über die Netzwerkschnittstelle entgegen genommenen Daten zu identifizieren. Zur Darstellung der Daten startet der GVM Server eine geeignete Anwendung, die der Visualisierungsrechner über das Projektionssystem, global und für die ganze Konferenzgruppe sichtbar, wiedergibt. Werden dreidimensionale Informationen dargestellt (dies geschieht mit Hilfe von Stereobildern), so benötigen die Teilnehmer für deren Betrachtung Polarisationsbrillen. Praesentationsinhalt aus dem Datenbank archiv selektieren GVM Interface Daten in den Shared Workspace kopieren GVM Server Anwendung zur Wiedergabe starten Anzeige durch das Projektionssystem Abbildung 4.4: Visualisierung von Präsentationsinhalten Der Zugriff auf gerade angezeigte Präsentationsinhalte ist den Teilnehmern entweder möglich, indem sie deren Darstellung für zweidimensionale Daten mit Hilfe des Touchpads oder für dreidimensionale Daten mit Hilfe der Space- Mouse beeinflussen (durch Translationen, Rotationen oder Skalierungen der dargestellten Informationen) oder, indem sie die Daten auf ihren Laptop kopieren, um diese dort mit erweiterten Manipulationsmöglichkeiten bearbeiten zu können. Das Erstellen einer solchen Kopie erfordert den Download der Daten vom Visualisierungsrechner auf den Laptop, der durch einen Datentransfer zwischen dem GVM Server und dem GVM Interface erreicht wird. Gewuenschten Praesentationsinhalt aus dem Shared Workspace selektieren GVM Server Daten auf den Laptop kopieren GVM Interface Abbildung 4.5: Download von Präsentationsinhalten Wenn Informationen weitergegeben, aber nicht visualisiert werden sollen, weil sie lediglich als Präsentations- Beilage verteilt werden oder weil sie eventuell nicht für die Sichtung durch die gesamte Gruppe bestimmt sind, haben die Teilnehmer die Möglichkeit, Daten direkt untereinander auszutauschen. Ein solcher direkter Datentransfer findet zwischen zwei Laptops statt, genauer gesagt werden die Daten von GVM Interface zu GVM Interface übertragen.

60 52 MR CONFERENCING PROTOTYP Weiterzugebende Information waehlen GVM Interface Direkter Datentransfer GVM Interface Abbildung 4.6: Direkter Transfer von Informationen Die beschriebenen Operationen zum Austausch und zur Visualisierung von Präsentationsinhalten werden entweder durch die Anwahl entsprechender GUI Optionen mit dem Laptop oder über die weiteren zur Verfügung stehenden Interaktionsgeräte, also Touchpad und SpaceMouse, in das System eingegeben. Zur Eingabe mit Hilfe von Touchpad oder SpaceMouse werden Gesten interpretiert, denen bestimmte Bewegungen mit dem Eingabegerät zugeordnet sind, wobei jede Geste analog zu einer Operation ist. Abgesehen von der am OfuturO Tisch arbeitenden Konferenzgruppe können weitere Personen teilnehmen, die durch das OfuturO Videoconferencing Display einbezogen und deren Workstations über das Internet mit dem System verbunden werden. In Bezug auf die Austauschmöglichkeiten von Daten sind Videoconferencing Teilnehmer gleichgestellt. 4.3 Entwicklungsstand Der MR Conferencing Prototyp und seine Software-Basis, die Visualisierungsund Kommunikationsschnittstelle, befinden sich noch in der Entwicklungsphase. Da die Implementierung der Software bereits weit fortgeschritten ist, können Daten auf den zuvor beschriebenen Wegen unter vernetzten Rechnern ausgetauscht und zur Wiedergabe an den Visualisierungsrechner weitergegeben werden. Die Hardware-Grundlage OfuturO befindet sich noch im Aufbau, eine große Lücke läßt das zur Zeit noch fehlende Projektionssystem offen, dessen Integration allerdings unmittelbar bevorsteht. Bis jetzt werden die Präsentationsinhalte lediglich auf einem zweidimensionalen Display wiedergegeben, nach dem Einbau des Projektionssystems wird die Möglichkeit der Darstellung dreidimensionaler Objekte über der Projektionsfläche vorhanden sein. Die Wiedergabe von Präsentationsinhalten geschieht derzeit durch das Öffnen der Daten in einer jeweils dazu geeigneten Anwendung und der gleichzeitigen, aber voneinander getrennten, Darstellung. Dies ist nur eine Übergangslösung, da die Daten nicht in verschiedenen separaten Anwendungen angezeigt werden sollen, sondern in einer Anwendung, die alle Daten in einer virtuellen Umgebung integriert. Dieses Vorhaben wird mit dem Software Framework Avango realisiert werden.

61 Kapitel 5 Die Visualisierungs- und Kommunikationsschnittstelle Die Implementierung der Software-Basis für den im vorigen Kapitel erläuterten Mixed Reality Conferencing Prototypen ist der praktische Teil, und somit ein Kernstück, dieser Diplomarbeit. Neben der einleitenden Beschreibung von Aufgabenstellungen an die Software und der Einzelbetrachtung der Komponenten, aus denen sie sich zusammensetzt, werden die zur Erstellung der Software verwendeten Programmierschnittstellen vorgestellt. Darauf folgt eine detaillierte Betrachtung der programmiertechnischen Umsetzung, in der neben der Struktur des Programms Wege und Methoden zur Lösung von aufgetretenen Problemstellungen behandelt werden. 5.1 Beschreibung Auf der Basis der OfuturO Plattform und deren Darstellungstechniken bietet der Mixed Reality Conferencing Prototyp ein im Vergleich zu einer traditionellen Konferenzumgebung verbessertes multimediales Konferenzszenario. Den Teilnehmern einer Konferenz sollen Möglichkeiten zur Verfügung stehen, digitale Präsentationsinhalte über OfuturO zu visualisieren, mit präsentierten Informationen zu interagieren oder die digitalen Daten einer Präsentation zu manipulieren. Als Grundlage für dieses Conferencing System dient eine Software, die einen Shared Workspace, also einen gemeinsamen virtuellen Arbeitsraum, für die Konferenzteilnehmer bereitstellt. Dieser ist mit dem OfuturO Projektionssystem verbunden und kann zur Visualisierung bestimmte Informationen aufnehmen. Um mit den im Shared Workspace enthaltenen Präsentationsdaten zu interagieren oder die Daten zu manipulieren, verfügen die Teilnehmer über einen freien Zugriff auf den gemeinsamen Arbeitsraum. Durch Eingabegeräte wie SpaceMouse oder Touchpad können sie durch Translationen und Rotatio- 53

62 54 VIS.- UND KOM.SCHNITTSTELLE nen Einfluß auf die grafische Wiedergabe präsentierter Informationen nehmen. Weiterhin besteht durch die Verwendung von Laptops, die als Interaktionskonsolen genutzt werden, die Möglichkeit, Daten aus dem Shared Workspace zu kopieren um diese manipulieren zu können. Da die Software den Teilnehmern den Zugriff auf das Visualisierungssystem ermöglicht und verschiedene Arten beinhaltet, durch welche die Teilnehmer sowohl untereinander als auch mit dem Shared Workspace kommunizieren und Daten austauschen können, wurde sie als Visualisierungs- und Kommunikationsschnittstelle bezeichnet. Abbildung 5.1: Gemeinsamer virtueller Arbeitsraum Die Präsentationsdaten bringen die Teilnehmer mit ihren eigenen Laptop Computern zur Konferenz mit, auf denen diese in Datenbankarchiven organisiert sind. Der Anschluß eines Laptops an OfuturO vernetzt diesen mit den Laptops der anderen Teilnehmer und einem Visualisierungsrechner, der mit dem OfuturO Projektionssystem verbunden ist. Auf dem Visualisierungsrechner wird eine Software-Komponente ausgeführt, die den Namen GVM Server 1 trägt und den Shared Workspace sowie einen Zugang zum Visualisierungssystem zur Verfügung stellt. Auf den Laptops befindet sich als weitere Software- Komponente eine grafische Oberfläche, über die sich die Teilnehmer mit dem Shared Workspace verbinden können um dort Präsentationsinhalte hineinzulegen oder herauszunehmen. Diese wird im folgenden als GUI bezeichnet und bietet den Zugriff auf die Datenbankarchive, in denen die Präsentationsdaten verwaltet werden. Durch die Vernetzung von GUI und GVM Server werden die Datenbankarchive mit dem Visualisierungssystem verbunden. Die Konzeption des MR Conferencing Prototyps definiert klar die Vorgaben für die Entwicklung der Software. Die an die Software gestellte Hauptaufgabe besteht darin, den Teilnehmern Zugriff auf den Shared Workspace und somit auf das Visualisierungssystem zu gewähren, um ihnen zu erlauben der Konferenzgruppe eigene Daten zu präsentieren. Des weiteren können die Teilnehmer 1 GVM steht für Global View Manager. Dies ist der Bestandteil der Software, der die benötigten Daten-Transportwege, die zur Visualisierung benötigt werden, bereitstellt. Eine Beschreibung folgt in Abschnitt

63 KAPITEL 5 55 auf die im Shared Workspace verwalteten Präsentationen zugreifen und es besteht die Möglichkeit, Daten direkt unter Teilnehmern auszutauschen. Möchte ein Teilnehmer Informationen präsentieren, die in seinem Datenbankarchiv vorliegen, so muß er zunächst mit Hilfe der GUI die gewünschte Information selektieren. Derzeit können diese Informationen in drei verschiedene Arten von Medientypen unterteilt werden: in Textdokumente, Bilder und 3D Objektmodelle. Zur Visualisierung der Daten werden diese nun von der GUI zum GVM Server transferiert, der alle Präsentationsdaten im Shared Workspace verwaltet und zur Wiedergabe eine geeignete Anwendung startet. Die Darstellungsform von Präsentationsinhalten durch verschiedene Anwendungen (siehe Abbildung 5.2) ist nicht endgültig; in Zukunft besteht die Absicht der Integration sämtlicher im Shared Workspace vorhandener Daten in einer grafischen Umgebung, die mit dem VE Software Framework Avango umgesetzt werden soll. Abbildung 5.2: Darstellung verschiedener Medientypen Der Konferenzgruppe steht die Möglichkeit offen, auf die Daten im Shared Workspace zu zugreifen. Um Daten aus dem Shared Workspace auf den eigenen Laptop zu transferieren, können diese zunächst durch die GUI selektiert werden. Die Informationen werden darauf von dem GVM Server zur GUI übertragen. Die Speicherung der Daten auf dem eigenen Laptop Computer ermöglicht den Teilnehmern, die Präsentationsdaten mit den dort durch entsprechende Werkzeuge gegebenen, erweiterten Manipulationsmitteln zu bearbeiten. Wenn ein Teilnehmer Informationen verteilen möchte, die nicht zur Visualisierung im Shared Workspace und damit zur Sichtung durch die gesamte Gruppe bestimmt sind, besteht die Möglichkeit von direkten Datentransfers zwischen den Laptops bzw. den Konferenzteilnehmern. Ein solcher direkter Datentransfer übermittelt Daten von GUI zu GUI.

64 56 VIS.- UND KOM.SCHNITTSTELLE 5.2 Programmkomponenten Die Software setzt sich aus drei Komponenten zusammen, die nicht in jedem Fall klar voneinander abgrenzbar sind und teilweise ineinander übergehen. Zum einen ist dies eine Datenbank, in der die Präsentationsinhalte archiviert sind, des weiteren eine grafische Benutzerschnittstelle (GUI) sowie eine als Global View Manager (GVM) bezeichnete Komponente. Der GVM ist der Bestandteil des Programms, der aufgrund der Zusammensetzung aus einem in die GUI integrierten Teil und einem weiteren eigenständigen Teil (dem GVM Server) nicht klar gekapselt ist Datenbankarchiv Die potentiellen Präsentationsinhalte einer Konferenz sind in Datenbankarchiven organisiert, die sich auf den Laptop Computern der Konferenzteilnehmer befinden. Zur Implementierung der Datenbank wurde das frei erhältliche Open Source Datenbank-Management-System MySQL der Firma MySQL AB benutzt. MySQL ist ein Datenbank-Server, der mit relationalen Datenbanken arbeitet. D. h., daß die Daten in separaten Tabellen gehalten werden und nicht in einem großen Daten-Container, was Flexibilität und Geschwindigkeit bei der Datenverwaltung gewährleistet. Die Präsentationsdateien liegen physikalisch auf Datenträgern der Laptops vor und können frei über diese verteilt sein. In der Datenbank wird lediglich eine Verweisliste auf die Dateien geführt, auf die mittels der GUI Komponente der Visualisierungs- und Kommunikationsschnittstelle zugegriffen werden kann. Den in der Liste verwalteten Daten ist jeweils eine Seriennummer zugeordnet, unter der Verweise zu den drei zur Darstellung vorgesehenen Medientypen gruppiert sind. Dies sind Text-, 3D Objekt- und Bilddateien zur Beschreibung des unter der Seriennummer geführten Eintrags. Zur Abbildung der von der Visualisierungs- und Kommunikationsschnittstelle verwendeten Verweisliste wird eine Tabelle mit den Spalten Serialnr (Seriennummer), Txtlink (Verweis zur Textdatei), 3dlink (Verweis zur 3D-Objektdatei) und Piclink (Verweis zur Bilddatei) benutzt. Eine solche Tabelle kann z. B. folgendermaßen aussehen: Serialnr Txtlink 3dlink Piclink /home/goran/10001.txt /home/goran/10002.txt /home/goran/10001.iv /home/goran/10002.iv /home/goran/10001.jpg /home/goran/10002.jpg Abbildung 5.3: Tabellenstruktur der Datenbank

65 KAPITEL 5 57 Sollte sich in Zukunft die Komplexität der Daten, auf die die Visualisierungsund Kommunikationsschnittstelle zugreifen können soll, vergrößern, ist eine Änderung der Tabellenstruktur nötig GUI Damit die Teilnehmer die im Rahmen eines Mixed Reality Conferencing Szenarios angebotenen Optionen nutzen können, befindet sich auf ihren Laptop Rechnern eine grafische Benutzeroberfläche (GUI). Diese hat zwei grundlegende Aufgaben, die darin bestehen dem Benutzer Zugriff auf Präsentationsdaten, die in einer Datenbank organisiert sind, zu gestatten und diese dann über ein Netzwerk an den Grafikcomputer weiterzugeben, der sie, je nach Medientyp, durch geeignete Anwendungen darstellt. Des weiteren bietet die GUI Möglichkeiten mit der Datenbank zu arbeiten, wie etwa durch die Editierung oder Erstellung neuer Datensätze. Die Netzwerkkommunikation ist nicht nur auf die Weitergabe von Präsentationsdaten an den Grafikcomputer beschränkt, sondern kann neben der Weitergabe von Daten an andere Teilnehmer auch dazu genutzt werden, Daten anzufordern, die von dem auf dem Grafikcomputer laufenden Server-Teil des Global View Managers verwaltet werden. Aufbau Der Aufbau der GUI ist in Abbildung 5.4 dargestellt. Die Erstellung der grafischen Oberfläche, also der Fenster und Dialoge aus denen sie sich zusammensetzt, erfolgte auf der Grundlage des GUI Toolkits Qt, welches in Abschnitt erläutert wird. Außerdem besteht die GUI aus Schnittstellen zu einer MySQL Datenbank und zum Netzwerk, das zum Datentransfer zwischen den verbundenen Rechnern genutzt wird. Die Datenbankschnittstelle wurde mit dem offenen Programmiermodell ODBC realisiert (eine Erläuterung von ODBC folgt in Abschnitt 5.3.1). Die Schnittstelle zum Netzwerk wird vom Client-Teil des im nächsten Abschnitt beschriebenen Global View Manager (GVM) abgedeckt, welcher unter anderem alle Netzwerkfunktionalitäten der Software übernimmt. Der Client-Teil wird in der Abbildung als GVM Interface bezeichnet und ist für die Kommunikation mit dem GVM Server zuständig. Durch den Client können Anfragen über den Status des Servers sowie Transfers durchgeführt werden. Die als GVM Interface Server bezeichnete Komponente wird für die Behandlung von Anfragen benötigt, die sich z. B. auf den direkten Datentransfer zwischen Konferenzteilnehmern beziehen.

66 58 VIS.- UND KOM.SCHNITTSTELLE Fenster und Dialoge Qt Datenbankschnittstelle ODBC GVM Interface/Client GVM InterfaceServer GUI GVM Server GUI GUI Datenbank MySQL Netzwerkschnittstelle Abbildung 5.4: Aufbau und Schnittstellen der GUI Anwendung Bei einer Konferenz können die Teilnehmer entweder eigene Daten, welche in Form von verschiedenen Medientypen wie Textdokumenten, Bildern oder 3D- Modellen vorliegen, anderen über die OfuturO Plattform präsentieren oder auf gerade dargestellte Präsentationsdaten anderer Teilnehmer zugreifen. Außerdem können Daten auch direkt untereinander ausgetauscht werden. Der Zugriff auf diese Optionen wird den Teilnehmern durch die Verwendung der GUI ermöglicht. Der erste Schritt nach dem Starten der GUI ist der Login, durch den eine Verbindung mit den Datenbankarchiven und dem gemeinsamen Arbeitsraum (Shared Workspace) hergestellt wird. Dies geschieht durch die Angabe einiger Zugangsdaten, die aus dem Namen der Datenbank, der darin zu verwendenden Tabelle, der Benutzerregistrierung (Benutzername und Passwort) bei der Datenbank, und dem Namen oder der IP-Adresse des Grafikcomputers bestehen. Nach der Eingabe gültiger Daten öffnet sich das Hauptfenster der GUI Anwendung. Der größte Anteil des Hauptfensters wird von einer Auflistung der in der angegebenen Datenbank-Tabelle gefundenen Datensätze belegt, welche durch Seriennummern repräsentiert werden. Außerdem besteht es neben Buttons zum Auslösen wichtiger Aktionen wie dem Lookup eines Datensatzes, d. h. dessen Visualisierung, oder Remove (Löschen eines Datensatzes) auch aus einem Eingabefeld zum Suchen von Datensätzen sowie aus einer Menüleiste. Dort sind die drei Menüs General, Database und SharedSpace untergebracht, über die auf sämtliche Funktionen der GUI zugegriffen werden kann.

67 KAPITEL 5 59 Abbildung 5.5: Login Dialog und Hauptfenster Datensätze bearbeiten Durch die GUI können die in der selektierten Datenbank organisierten Datenmengen verwaltet werden. Dazu bestehen verschiedene Möglichkeiten für den Anwender. Er kann sich vorhandene Daten über diverse Anzeigegeräte ausgeben lassen, neue Daten in die Datenbank integrieren und bestehende Daten verändern oder ganz aus der Datenbank entfernen. Die Möglichkeiten zum Umgang mit der Datenbank und den darin verwalteten Daten sind in dem Menü Database zusammengefaßt. Soll ein bestehender Datensatz bearbeitet werden, so muß er zunächst in der Liste markiert werden. Die erste Bearbeitungsmöglichkeit, nämlich die Ausgabe bestehender Daten, wird mit dem Menüpunkt Lookup aktiviert, zu dem auch ein bedeutungsgleicher Button existiert. Wenn neue Daten, die durch Transfers zwischen den an der Plattform angeschlossenen Rechnern oder von außerhalb zugeführt wurden, in die Datenbank integriert werden sollen, kann dies über den Menüpunkt Insert DataSet geschehen. In dem entsprechenden Dialog wird ein neuer Datensatz durch die Angabe von dessen Seriennummer sowie der Pfade zu den zugeordneten Dateien definiert und nach der Bestätigung der Datenbank hinzugefügt. Die Veränderung eines bestehenden Datensatzes geschieht mit der Anwahl des Menüpunkts Edit DataSet. Der entsprechende Dialog ermöglicht die Anpassung der dem Datensatz zugeordneten Pfade zu den jeweiligen Dateien.

68 60 VIS.- UND KOM.SCHNITTSTELLE Abbildung 5.6: Einfügen und editieren eines Datensatzes Soll ein Datensatz aus der Datenbank entfernt werden, kann dies entweder über den Menüpunkt Remove DataSet oder durch den bedeutungsgleichen Button im Hauptfenster passieren. Zur Änderung der Datenquellen, d. h. die bearbeitete Datenbank oder Tabelle soll gewechselt werden, existiert der Menüpunkt Change DataSource im Menü General. Der nach der Anwahl erscheinende Dialog entspricht dem in Abbildung 5.5 gezeigten Login Dialog. Visualisierung von Daten Möchte ein Teilnehmer Daten visualisieren, so kann er dies tun, indem er den Datensatz, also dessen Seriennummer in der Liste, markiert und den Lookup Button betätigt oder den entsprechenden Punkt in dem Menü Database auswählt. Ein Doppelklick auf den Datensatz führt zum gleichen Ergebnis. Danach öffnet sich der sogenannte TypeSelection Dialog, in dem ein gewünschter Medientyp selektiert werden kann, da wie bereits angesprochen zu jedem Datensatz entweder ein Text, ein 3D Objekt oder ein Bild vorhanden ist (siehe Abbildung 5.7). Außerdem wird an dieser Stelle über die Optionen Local oder Global der Ort (oder das Gerät) der Ausgabe angegeben. Local wählt den Bildschirm des Laptops für die Darstellung, ist hingegen Global aktiviert, werden die Daten an den Shared Workspace und somit an den Grafikcomputer weitergegeben und durch das OfuturO Projektionssystem dargestellt. An dieser Stelle besteht also die Möglichkeit eine Wahl zu treffen, ob die Daten nur als lokale Vorschau auf dem eigenen Rechner oder global für die ganze Teilnehmergruppe visualisiert werden sollen.

69 KAPITEL 5 61 Abbildung 5.7: Auswahl eines Medientyps über den TypeSelection Dialog Datentransfers Die Datentransfers finden zwischen den an die OfuturO Plattform angeschlossenen Rechnern statt. Das sind der Grafikcomputer, der auch als Visualisierungsrechner bezeichnet wird, sowie die Laptops der Konferenzteilnehmer. Zum besseren Verständnis der folgenden Beschreibungen sollten die Abbildungen 5.4 und 5.8 zur Hilfe genommen werden. Eine Transferart, der sogenannte Lookup, wurde bereits angesprochen. Damit ist die Weitergabe eigener Daten an den Shared Workspace gemeint, welche infolgedessen für alle Konferenzteilnehmer global sichtbar dargestellt werden. Genauer gesagt handelt es sich um einen Netzwerktransfer zwischen der in die GUI integrierten Client-Komponente des Global View Managers, also dem GVM Interface, und dessen Server-Komponente (GVM Server), die sich auf dem Grafikcomputer befindet. Die Server-Komponente kümmert sich dann um die global sichtbare Darstellung und um die weitere Verwaltung der Daten. Datensatz markieren Datensatz selektiert Lookup ausloesen TypeSelection Dialog lokale Darstellung ausgewaehlt globale Darstellung Daten beim GVM Client ausgewaehlt Netzwerktransfer Daten beim GVM Server Abbildung 5.8: Datensatz-Lookup Will ein Teilnehmer auf die gerade im Shared Workspace befindlichen Daten zugreifen, kann er das über den Menüpunkt Request SharedData im Menü SharedSpace tun. Eine Anforderung von Daten des Shared Workspace macht aber nur Sinn, wenn sie von einem anderen Teilnehmer dort hinein gelegt wurden. Diese Daten gehören dann dem anderen Teilnehmer und will man sie haben, muß der Besitzer zuerst gefragt werden. Dieser Vorgang wird mit einer Anfrage

70 62 VIS.- UND KOM.SCHNITTSTELLE von der GVM Client-Komponente an die Server-Komponente eingeleitet, welche prüft ob Daten existieren, die im Besitz anderer Teilnehmer sind. Wenn dies der Fall ist, öffnet sich ein Dialog, der alle freigegebenen Daten anderer Teilnehmer auflistet. Dort wird nun die gewünschte Datei ausgewählt und der Request kann gestellt werden (siehe Abbildungen 5.9 und 5.10). Abbildung 5.9: Request SharedData Dialog Der Request wird vom GVM Client an den GVM Server weitergeleitet, der darauf den GVM Interface Server des Datei-Besitzers benachrichtigt. Auf dessen Bildschirm öffnet sich nun ein Ja-Nein-Dialog mit der Frage, ob er dem fragenden Teilnehmer gestatten will, die Datei vom Server herunterzuladen. Die Antwort wird über den GVM Server geleitet und ist an den GVM Interface Server des Fragestellers gerichtet. Ist sie negativ ausgefallen, erscheint beim Fragesteller ein Dialog der ihn darauf hinweist. Ansonsten kann der Datei- Transfer zwischen dem GVM Server und dem GVM Interface stattfinden. Request SharedData Pruefen ob Daten anderer Teilnehmer beim GVM Server vorhanden nicht vorhanden Request Dialog Wahl der Datei Datentransfer GVM Client Request GVM Interface Server Datei Besitzer GVM Interface Server Fragesteller Antwort Nein Antwort Ja Antwort GVM Server Request Antwort Frage Dialog nach Freigabe der Datei Abbildung 5.10: Herunterladen von Daten aus dem Shared Workspace Die dritte und letzte Art eines Datentransfers, der mit der GUI durchgeführt werden kann, ist der direkte Transfer vom Laptop eines Teilnehmers

71 KAPITEL 5 63 zum Laptop eines anderen Teilnehmers. Dabei spielt der GVM Server so gut wie keine Rolle mehr, da es sich hier nicht um Daten handelt, die im Shared Workspace verwaltet werden. Dieser Vorgang wird dadurch eingeleitet, daß der Besitzer der Datei letztere demjenigen anbietet, für den sie bestimmt ist. Dazu wählt der Datei-Besitzer im Menü General den Menüpunkt DirectTransfer aus. Die einzige Stelle, an welcher der GVM Server ins Spiel kommt, ist eine nun folgende Prüfung, ob außer diesem Teilnehmer noch andere verbunden sind. Ist das der Fall, öffnet sich ein Dialog, der aus einer Auflistung der sonstigen verbundenen Benutzer und einem Feld besteht, in dem der Name der weiterzugebenden Datei angegeben wird. Nach der Eingabe des Dateinamens und der Selektierung des Benutzers wird der Vorgang durch die Bestätigung mit dem Offer File Button eingeleitet (siehe Abbildung 5.11). Abbildung 5.11: DirectTransfer Dialog Nun nimmt der GVM Interface Server des Datei-Besitzers Verbindung zum GVM Interface Server des Teilnehmers auf, für den die Datei bestimmt ist. Darauf erscheint bei diesem ein Dialog, der ihn über das Angebot der Datei benachrichtigt und ihm die Möglichkeiten läßt, entweder das Angebot abzulehnen oder es anzunehmen und zu bestimmen, wo die Datei auf seinem lokalen Datenträger gesichert werden soll. Hat er dem Transfer zugestimmt, sendet sein GVM Interface Server dem Pendant auf der Seite des Anbieters ein Signal zur Benachrichtigung, daß der Transfer stattfinden kann. Die Daten werden dann vom GVM Interface Server des Anbieters zum GVM Interface Server des Empfängers übermittelt (siehe Abbildung 5.12).

72 64 VIS.- UND KOM.SCHNITTSTELLE Direct Transfer Pruefen ob andere Benutzer beim GVM Server registriert sind Ja Nein DirectTransfer Dialog Auswahl des Benutzers und der Datei Frage Dialog Soll das Angebot angenommen werden? Nein Ja GVM Interface Server des Datei Besitzers I II III GVM Interface Server des Empfaengers Transfer beendet I: Offerierung der Datei II: Signal Offerte angenommen III: Dateitransfer Abbildung 5.12: Direkter Datentransfer von Teilnehmer zu Teilnehmer Global View Manager Um Präsentationsdaten visualisieren zu können, muß die Software die notwendige Verbindung zwischen den Datenbankarchiven und dem Visualisierungssystem herstellen. Die Bestandteile der Software, die über das Netzwerk einen Daten-Transportweg zum Visualisierungssystem bereitstellen, werden unter dem Oberbegriff Global View Manager (GVM) zusammengefaßt. Der Global View Manager setzt sich aus mehreren Teilen zusammen und ist auf die Komponenten der Visualisierungs- und Kommunikationsschnittstelle verstreut. Die Hauptkomponente ist der GVM Server, der als autonomer Prozeß auf dem Visualisierungsrechner ausgeführt wird. Die weiteren Teile sind die in die GUI integrierten Komponenten GVM Interface und GVM Interface Server. Da die Bestandteile des GVM im wesentlichen Schnittstellen zum Netzwerk anbieten, bündeln sie die komplette Netzwerkfunktionalität der Software. Der GVM Server verwaltet einen gemeinsamen virtuellen Arbeitsraum (Shared Workspace), in den die Konferenzteilnehmer Informationen hinein geben können, die zur Präsentation bestimmt sind. Dadurch erhält die restliche Gruppe Zugriff auf diese Informationen. Daten, die dem GVM Server übergeben wurden, visualisiert dieser durch das Starten einer geeigneten Anwendung, die über das Projektionssystem der OfuturO Plattform dargestellt wird. Des weiteren haben die Teilnehmer die Möglichkeit, Daten aus dem Shared Workspace auf den eigenen Laptop zu transferieren, um diese dort zu sichern oder zu manipulieren. Die Koppelung zwischen dem Shared Workspace des Visualisierungsrechners und den Laptops wird durch das in die GUI integrierte GVM Interface

73 KAPITEL 5 65 hergestellt, das mit dem GVM Server verbunden ist. Durch diese Schnittstelle werden sämtliche Anfragen der Teilnehmer an den gemeinsamen Arbeitsraum behandelt. Möchte ein Teilnehmer z. B. Daten aus dem Shared Workspace auf den eigenen Rechner übertragen, selektiert er die gewünschten Informationen in der GUI, worauf das GVM Interface ein Signal an den GVM Server absetzt, der schließlich den Datentransfer einleitet. Das GVM Interface sendet im Verlauf einer Konferenz eine Reihe weiterer Signale, durch die der Teilnehmer am Shared Workspace an- oder abgemeldet wird oder die es dem Teilnehmer erlauben, Informationen über den verwalteten Datenbestand abzurufen. Auch der direkte Transfer von Daten, die nicht zur Visualisierung bestimmt sind, wird durch das GVM Interface eingeleitet. Damit das Signal für einen solchen direkten Datentransfer zwischen den Laptop Computern registriert werden kann, muß in die GUI ein Server integriert sein, also eine Netzwerkschnittstelle, die in der Lage ist auf Signale zu lauschen. Diese Schnittstelle trägt die Bezeichnung GVM Interface Server und übernimmt die verbleibenden Operationen eines direkten Datentransfers. 5.3 Verwendete Programmierschnittstellen Die verschiedenen Bestandteile des Programms wurden durch Methoden einer jeweils geeigneten API (Application Programming Interface) aufgebaut, also einer Programmierschnittstelle, die Bibliotheken zur Verfügung stellt, die sich zur Lösung bestimmter Aufgaben eignen. Die Anbindung des Datenbankarchivs wurde mit dem ODBC (Open Database Connectivity) Modell implementiert, während die grafische Benutzeroberfläche mit der Hilfe des GUI Toolkits Qt umgesetzt wurde. Die Netzwerkprogrammierung, die sich in den Komponenten des Global View Managers wiederfindet, wurde abgesehen vom GVM Interface Server (der mit Qt Methoden arbeitet), mit ANSI C Funktionen umgesetzt ODBC Die Abkürzung ODBC steht für Open Database Connectivity und stellt eine von der Firma Microsoft und zahlreicher weiterer Datenbankhersteller entwickelte standardisierte Programmschnittstelle für Datenbanksysteme dar. Der Standard ist plattformübergreifend und ODBC-Anwendungen können in verschiedenen Programmiersprachen entwickelt werden. Da zur Zeit die Unterstützung durch alle verbreiteten Datenbanken gegeben ist, kann durch ODBC auf Datenbankarchive unabhängig davon zugegriffen werden, welches Datenbank- Management-System (DBMS) eingesetzt wird. Die Vorraussetzung für den Zu-

74 66 VIS.- UND KOM.SCHNITTSTELLE griff auf ein DBMS via ODBC ist, daß für das DBMS ein geeigneter ODBC- Treiber existiert, der eine Verbindung zur Datenquelle herstellt. Der Treiber für das von der Visualisierungs- und Kommunikationsschnittstelle eingesetzte DBMS MySQL heißt MyODBC. Die unter dem Betriebssystem Linux eingesetzte ODBC-API trägt den Namen unixodbc, die den ODBC Standard für Non-Windows Plattformen bietet [uni03] und die Programmierung in der Sprache C erlaubt. Die ODBC-Programmschnittstelle setzt sich aus vier Komponenten zusammen, die in [Däs01] folgendermaßen beschriebenen sind: Datenquelle: Datenbank und DBMS, das die Daten speichert und verwaltet. ODBC-Treiber: stellt eine Verbindung zur Datenquelle her und wandelt ODBC-konforme Befehle und Datenformate in spezifische Anweisungen und Datenformate der Datenquelle um. ODBC-Manager: Aktiviert die erforderlichen ODBC-Treiber und verarbeitet und überprüft ODBC-spezifische Anweisungen und Parameter. ODBC-Anwendung: Anwendungsprogramm, meist mit einer interaktiven Benutzeroberfläche zur Eingabe von Daten, für die Formulierung von Datenbankabfragen und zur Darstellung der Suchergebnisse. ODBC Anwendung (GUI) ODBC Manager ODBC Treiber (MyODBC) DBMS (MySQL) Abbildung 5.13: Komponenten der ODBC-Programmschnittstelle Qt Qt (Aussprache: cute ) ist eine von der Firma Trolltech entwickelte Grafikbibliothek für die Programmiersprache C++. Durch die intensive Nutzung des Konzepts der Klassenvererbung erhält die Bibliothek eine übersichtliche und einheitliche Schnittstelle, die sehr einfach durch neue Klassen erweitert werden kann [Leh01]. Da für fast alle gängigen grafischen Eingabeelemente, wie z. B. Buttons, Menüleisten, usw. Klassen zur Verfügung stehen, eignet sich Qt besonders zur Erstellung grafischer Benutzeroberflächen. Aus diesem Grund wurde zur Programmierung der GUI der Visualisierungs- und Kommunikationsschnittstelle auf die Qt-Bibliothek 2.3 [Tro03] zurückgegriffen.

75 KAPITEL 5 67 Qt existiert in zwei Versionen: eine für Microsoft Windows und eine für den X-Server, der auf den meisten Unix-Systemen und somit auch unter dem Unix- Derivat Linux lauffähig ist, welches als Betriebssystem für die Mixed Reality Conferencing Software fungiert. Zum Zeichnen der grafischen Elemente und zum Zugriff auf den X-Server benutzt Qt Funktionen der XLib-Bibliothek. Diese stellt eine einfache Aufrufschnittstelle zum X-Server bereit, der die Befehle ausführt und die Grafik anzeigt. Grafische Anwendung (GUI) Qt Bibliothek XLib Bibliothek X Server Abbildung 5.14: Umfeld der Qt-Bibliothek Ein Beispiel für den Einsatz der Qt-Bibliothek ist der Linux-Desktop KDE, für dessen Entwicklung sie die Grundlage bildet Netzwerkprogrammierung in C Zur Implementierung der Netzwerkfunktionalitäten der Software, die in den Komponenten des Global View Managers gebündelt sind, wurde für den GVM Server sowie für das GVM Interface auf Funktionen der ANSI C Bibliothek zurückgegriffen. Die Komponente GVM Interface Server wurde von einer Klasse der Qt API, nämlich QServerSocket, abgeleitet, die einige Operationen zur Erstellung eines Servers sinnvoll in ihren Methoden kapselt. Die Rechner des OfuturO-Netzwerks kommunizieren über das Berkeley Socket API miteinander, das sich als Standard zur Herstellung einer Verbindung zwischen Client und Server etabliert hat [Her99]. Das eingesetzte Netzwerk-Protokoll ist TCP/IP, das zur Identifikation der Endpunkte einer Verbindung die Vergabe einer eindeutigen IP-Adresse pro Rechner sowie einer eindeutigen Port-Nummer pro Anwendung verlangt. Die Sockets, die in einer TCP/IP-Anwendung die abstrakten Software-Kommunikationsendpunkte sowohl beim Server- als auch beim Client-Teil bilden, nutzen zum Datenaustausch das Konzept der Adressierung durch IP-Adresse und Port-Nummer.

76 68 VIS.- UND KOM.SCHNITTSTELLE Die Vorbereitung einer Verbindung und darauf zu warten, daß sich der Client mit ihm verbindet, ist die Aufgabe des Server-Prozesses. Versucht der Client-Prozeß eine Verbindung aufzubauen, ist diese hergestellt sobald der Server den Verbindungsversuch akzeptiert. Nun können die Prozesse mit Hilfe von read/write Funktionen über Sockets kommunizieren. Die aus [Her99] entnommene Schrittfolge zur Herstellung einer Socket-Verbindung wird in Abbildung 5.15 dargestellt, indem die dazu verwendeten C-Funktionen aufgelistet werden. Server socket (Socket anlegen) Client socket (Socket anlegen) bind (Socket mit einer Adresse verknuepfen) listen / accept (Warten auf Verbindungen) Verbindung aufgebaut connect (Verbindung zum Server herstellen) Abbildung 5.15: Herstellung einer Socket-Verbindung 5.4 Programmiertechnische Umsetzung Die Visualisierungs- und Kommunikationsschnittstelle besteht aus zwei wesentlichen Teilen: zum einen aus dem GVM Server, der auf dem Visualisierungsrechner ausgeführt wird und einen Shared Workspace für Präsentationsdaten zur Verfügung stellt und verwaltet. Zum anderen aus der GUI, die auf den Laptop Computern der Konferenzteilnehmer ausgeführt wird und über eine Schnittstelle zu den Datenbankarchiven, in denen die Präsentationsdaten lagern, sowie über einen Netzwerk-Zugang zum GVM Server verfügt. Die Bestandteile der Software wurden in der Sprache C++ programmiert. Sie setzen sich aus Objekten zusammen, deren Methoden und Eigenschaften in Form von Klassen implementiert wurden. Zur Lösung einiger Aufgabenstellungen an die Software, wie z. B. dem Aufbau der grafischen Benutzeroberfläche, wurde auf Programmierschnittstellen (API) zurückgegriffen (siehe dazu Abschnitt 5.3), die zu diesem Zweck hilfreiche Bibliotheken anbieten. In den folgenden Abschnitten wird zunächst die Klassenhierarchie der Software erläutert, worauf eine Definition der Art und Aufgaben der einzelnen Klassen folgt. Danach werden die zentralen Klassen anhand ihrer Methoden

77 KAPITEL 5 69 vorgestellt, um zu zeigen auf welche Art und Weise sie die an die Software gestellten Aufgaben lösen. Außerdem wird das von den Schnittstellen des Programms eingesetzte Kommunikationsschema aufgezeigt, welches zur Ausführung der wichtigen Software-Operationen verwendet wird Klassenhierarchie GUI Qt QPaintDevice QObject GVMInterface DBInterface QWidget QServerSocket RootWindow QDialog GVMInterfaceServer BaseDialog ManipulateDB ButtonGroupDialog LoginDialog ConfigGUI TypeSelection DirectTransfer EditData InsertData RequestData TermProcess GVM Server GVMServer SignalEmitter Abbildung 5.16: Skizzierung der Klassenhierarchie Die beiden tragenden Säulen der Software, sowohl die GUI als auch der GVM Server, wurden durch das objektorientierte Klassenkonzept in der Sprache C++ umgesetzt. Zur Realisierung der grafischen Bestandteile der GUI wurde Klassenvererbung verwendet, durch welche mit Hilfe der Ableitung von Klassen der Qt API, die bereits Gerüste der Komponenten (Fenster, Dialoge, usw.) einer grafischen Benutzeroberfläche definieren, lediglich die Eigenschaften der grafischen Komponenten spezifiziert werden mußten. In Abbildung 5.16 werden alle Klassen, aus denen die Software besteht, zusammen mit den Klassen, von denen sie abgeleitet sind und Eigenschaften geerbt haben, dargestellt. Die Klassen, deren Namen ein Q vorangestellt ist, gehören der Qt API an und sind nur ein indirekter Bestandteil der Software. So hat z. B. die Klasse EditData, die ein Dialogfenster-Objekt zur

78 70 VIS.- UND KOM.SCHNITTSTELLE Editierung von Datenbankinhalten zur Verfügung stellt, Methoden und Eigenschaften von sechs verschiedenen Klassen geerbt: die Klasse, von der EditData direkt abgeleitet wurde, heißt ManipulateDB und ist eine abstrakte Basisklasse für Dialoge, die zur Manipulation von Datenbankinhalten verwendet werden. ManipulateDB wurde wiederum von BaseDialog, der abstrakten Basisklasse für alle Dialoge der Software, abgeleitet, die wiederum von QDialog abgeleitet wurde, der Klasse der Qt API, die das Gerüst zum Erstellen eines grafischen Dialogfensters bietet. QDialog wiederum leitet sich von den Klassen QWidget, QObject und Qt ab, die durch Vererbung das Aussehen von QDialog formen. Dies zeigt wie komplex die Zusammensetzung einer Klasse der Visualisierungsund Kommunikationsschnittstelle durch das Vererbungskonzept werden kann. Auf der Abbildung sind allerdings auch Klassen zu sehen, die von keinen anderen geerbt haben, z. B. GVMInterface auf der Seite der GUI oder GVM- Server auf der Seite des GVM Servers. Der Grund dafür ist, daß sich diese Klassen auf Funktionen von Bibliotheken stützen, die nicht auf dem objektorientierten Konzept basieren. So greifen die beiden als Beispiel genannten Klassen auf Funktionen der ANSI C Bibliothek zu. Ein weiteres Beispiel ist die Klasse DBInterface, durch welche die Verbindung zu den Datenbankarchiven hergestellt wird und die Funktionen der unixodbc-bibliothek verwendet Erläuterung der Klassen Die zum Programm gehörigen Klassen sind zwei Mengen zu zuordnen, die sich teilweise überschneiden. Die eine Menge sind die der GUI zugeordneten Klassen, die andere ist die Menge der GVM Server Klassen. Um die Aufgaben der Klassen des Progamms zu erläutern, werden erstere nun jeweils mit einer Kurzbeschreibung aufgelistet. Der GUI sind folgende Klassen zugeordnet: RootWindow: Hauptfenster der Anwendung. Es beinhaltet ein Menü, über das sämtliche Funktionen der GUI ansprechbar sind, eine Liste mit den Datensätzen der Datenquelle als Einträge sowie einige Buttons um schnell auf wichtige Funktionen zugreifen zu können. Abgeleitet von der Qt-Klasse QWidget. BaseDialog: Abstrakte Basisklasse für alle Dialoge der Anwendung, die einen Großteil der GUI-Klassen ausmachen (die Klasse RootWindow ausgenommen sind alle Fenster Dialoge). Abgeleitet von der Qt-Klasse QDialog. ManipulateDB: Basisklasse für Dialoge, die zum Zugriff auf die Datenbank und somit zur Manipulation von Datensätzen genutzt werden. Abgeleitet von BaseDialog.

79 KAPITEL 5 71 EditData: Dialog zum Editieren von bereits vorhandenen Datensätzen. Diese Klasse arbeitet eng mit der Klasse DBInterface zusammen. Abgeleitet von ManipulateDB. InsertData: Dialog zum Einfügen eines neuen Datensatzes. Diese Klasse arbeitet eng mit der Klasse DBInterface zusammen. Abgeleitet von ManipulateDB. ButtonGroupDialog: Basisklasse für Dialoge, die eine Gruppierung sogenannter RadioButtons enthalten, welche es erlauben, eine von verschiedenen angebotenen Optionen auszuwählen. Abgeleitet von BaseDialog. RequestData: Dialog zum Anfordern von Daten, die vom GVM Server verwaltet werden. Dafür wird eine Auflistung der verwalteten Dateien angeboten, aus der eine gewählt werden kann. Diese Klasse arbeitet eng mit der Klasse GVMInterface zusammen. Abgeleitet von ButtonGroup- Dialog. TermProcess: Dialog zur Remote -Beendigung eines vom GVM Server verwalteten Prozesses. Dafür wird eine Auflistung der verwalteten Prozesse angeboten, aus der einer gewählt werden kann. Diese Klasse arbeitet eng mit der Klasse GVMInterface zusammen. Abgeleitet von ButtonGroupDialog. LoginDialog: Dialog, der beim Start der Anwendung erscheint und später optional aus dem Menü des Hauptfenster wieder aufgerufen werden kann. Hier werden die Daten eingegeben, die benötigt werden, um eine Verbindung zur Datenbank sowie zum GVM Server herstellen zu können. Abgeleitet von BaseDialog. ConfigGUI : Dialog zum Konfigurieren der Login-Einstellungen der GUI sowie zur Auswahl von Standard-Anwendungen, mit denen die verschiedenen Medientypen dargestellt werden sollen. Abgeleitet von BaseDialog. TypeSelection: Dialog, der sich nach der Anwahl eines Datensatzes zum Lookup öffnet und die Auswahl eines Medientyps verlangt. Dabei kann spezifiziert werden, ob die Datei lokal oder global geöffnet werden soll. Abgeleitet von BaseDialog. DirectTransfer: Dialog zum Anbieten eines direkten Dateitransfers von Teilnehmer zu Teilnehmer, ohne die Einbindung des GVM Servers. Abgeleitet von BaseDialog. DBInterface: Schnittstelle zur MySQL Datenbank, die Funktionen der unixodbc-bibliothek verwendet um die Verbindung zu ermöglichen.

80 72 VIS.- UND KOM.SCHNITTSTELLE GVMInterface: Schnittstelle der GUI zum GVM Server, die Signale an den Server sendet um dort Aktionen auszulösen. Diese Klasse ist also der Client-Teil des GVM. Die Netzwerkfunktionalität ist über ANSI C Funktionen realisiert. Bestandteil des Global View Managers. GVMInterfaceServer: Ein kleiner Server auf der GUI Seite, der benötigt wird um Antworten auf Requests vom GVM Server und auf DirectTransfer Offers zu bearbeiten. Die Netzwerkfunktionalität ist von der Qt-API geerbt. Abgeleitet von der Qt-Klasse QServerSocket. Bestandteil des Global View Managers. Zum GVM Server gehören die folgenden Klassen: GVMServer: Erhält Signale von der GUI-Klasse GVMInterface und setzt diese in die jeweils angeforderten Operationen um. Diese sind: (De-)Registrierung von Benutzern, Übernahme von Daten in den Shared Workspace, Starten von Anwendungen zum Anzeigen globalisierter Daten, Behandlung von Daten-Anforderungen, Bereitstellung von Umgebungsinformationen. Die Netzwerkfunktionalität ist über ANSI C Funktionen realisiert. Bestandteil des Global View Managers. SignalEmitter: Absetzen spezieller Signale auf der Server-Seite. Diese sind: Informierung über die Beendigung von Prozessen innerhalb des Shared Workspace, Beendigung des GVM Servers. Die Netzwerkfunktionalität ist über ANSI C Funktionen realisiert. Bestandteil des Global View Managers Implementation zentraler Programmteile Die zentralen Aufgabenstellungen an die Visualisierungs- und Kommunikationsschnittstelle konzentrieren sich auf die Realisierung der folgenden Programmteile: eine Schnittstelle, die den Zugriff auf die in Datenbankarchiven organisierten Präsentationsinhalte ermöglicht ein Prozeß, der einen gemeinsamen virtuellen Arbeitsraum, den sogenannten Shared Workspace, bereitstellt, in dem Präsentationen verwaltet werden eine Schnittstelle, welche zur Kommunikation mit dem Shared Workspace geeignet ist, um Präsentationsdaten hinein- oder heraus zu transferieren oder Informationen bezüglich des Status des Shared Workspace zu erfragen

81 KAPITEL 5 73 Zur Analyse der Implementation des Programms wird im folgenden der Aufbau derjenigen Klassen definiert, durch welche die zentralen Programmteile realisiert sind. Außerdem wird die Art und Weise der Verwendung dieser Klassen zur Lösung der Problemstellungen betrachtet. Definition der Datenbankschnittstelle Die Präsentationsinhalte des Mixed Reality Conferencing Systems sind in My- SQL Datenbanken organisiert, die auf den Laptop Computern der Konferenzteilnehmer lagern. Zum Zugriff auf die Datenbankarchive ist eine Schnittstelle notwendig, die in der Lage ist über den ODBC Standard mit der Datenbank zu kommunizieren. Die Datenbankschnittstelle basiert auf der unixodbc- Bibliothek, deren Funktionen sie zur Kommunikation mit der Datenbank nutzt, und ist in die GUI-Komponente der Software integriert, deren Aufbau in Abbildung 5.4 dargestellt ist. Auf diese Weise können die Teilnehmer mit Hilfe der grafischen Oberfläche Datensätze lesen und manipulieren. Die Datenbankschnittstelle ist durch die Klasse DBInterface realisiert und kann verwendet werden, sobald eine Instanz der Klasse gebildet wird. Zur Initialisierung der Klasse stehen zwei Konstruktoren zur Verfügung. DBInterface() DBInterface(int rsize) Damit die Datenbank auf ihre Inhalte abgefragt werden kann, verfügt die Klasse über eine Liste, dem sogenannten ResultSet, in der die Ergebnisse solcher Abfragen gespeichert werden. Bei Verwendung des Default-Konstruktors wird ein DBInterface-Objekt mit einer Ergebnisliste erzeugt, die maximal hundert Einträge aufnehmen kann, durch den Konstruktor mit dem Parameter rsize kann die maximale Größe der Liste frei spezifiziert werden. Damit eine Kommunikation mit der Datenbank realisiert werden kann, muß zunächst eine Verbindung hergestellt werden. Dazu wird die Methode connect verwendet. short connect(const char* dbname, const char* username, const char* password) Rückgabewert: 0 (bei Erfolg); kleiner 0 bei Fehler Der Parameter dbname gibt den Namen der Datenbank an, zu der eine Verbindung aufgebaut werden soll. Mit dem zweiten Parameter username wird der Name eines Benutzers mit Zugriffsberechtigung auf die Datenbank angegeben. Der letzte Parameter password teilt das Passwort des Benutzers mit.

82 74 VIS.- UND KOM.SCHNITTSTELLE Besteht eine Verbindung zur Datenbank, können die darin enthaltenen Einträge abgefragt und manipuliert werden. Für Datenbankabfragen steht die Methode query zur Verfügung. short query(const char* querystr, int qstrlen, int& count) Rückgabewert: 0 (bei Erfolg); kleiner 0 bei Fehler Durch den ersten Parameter querystr wird eine Zeichenkette zur Formulierung einer Datenbankabfrage in SQL-Syntax übergeben, wozu in SQL der Befehl SELECT vorgesehen ist. Der Parameter qstrlen gibt die maximale Länge der Rückgabewerte für das jeweils abgefragte Feld in Zeichen an und durch den letzten Parameter count wird eine Adresse bekannt gegeben, in welche die Anzahl der gefundenen Resultate geschrieben wird. Die Resultate selbst werden in einer nicht öffentlichen Ergebnisliste gespeichert, die den Namen resultset trägt und vom Typ char** ist. Zum Zugriff auf die Resultatliste wird die Methode getresultsetvalue verwendet. char* getresultsetvalue(int index) const Rückgabewert: Wert aus dem ResultSet an der Stelle index Der Parameter index gibt die Position des aus der Ergebnisliste zu lesenden Eintrags an. Durch das Schlüsselwort const hinter der Parameterliste wird getresultsetvalue als nur lesende Methode deklariert. Die Manipulation von Datensätzen wird durch die Methode statement ermöglicht. short statement(char* sqlstr) Rückgabewert: 0 (bei Erfolg); kleiner 0 bei Fehler Die Methode verlangt für den Parameter sqlstr lediglich eine korrekt formulierte SQL-Anweisung und eignet sich zum Senden von Kommandos an die Datenbank. Von der Software wird statement eingesetzt, um der spezifizierten Tabelle neue Datensätze hinzu zufügen, vorhandene Datensätze zu bearbeiten oder sie zu löschen. Zum Einfügen neuer Datensätze wird die SQL-Anweisung INSERT verwendet, mit der Anweisung UPDATE können vorhandene Datensätze editiert und mit der Anweisung DELETE gelöscht werden. Die Verbindung mit der Datenbank kann schließlich durch die Methode disconnect wieder getrennt werden. void disconnect()

83 KAPITEL 5 75 Verwendung der Datenbankschnittstelle Die Datenbankschnittstelle wird von verschiedenen Objekten des Programms instantiiert, um ebenso verschiedene Aufgaben zu lösen. Bereits bei der Anmeldung eines Benutzers an die Visualisierungs- und Kommunikationsschnittstelle werden mehrere Methoden der Klasse DBInterface genutzt. Der Anmeldungsschritt stellt eine Verbindung zur Datenbank her, indem die Zugangsdaten in einen Dialog eingetragen und durch ein DBInterface-Objekt verwertet werden. Der Dialog wird durch die Klasse LoginDialog implementiert, die das DBInterface-Objekt erzeugt und die in den Dialog eingetragenen Zugangsdaten an die Methode connect weitergibt. Sobald die Verbindung hergestellt ist, kann der Eintrag eines weiteren Dialogfelds, in dem der Name einer Datenbank-Tabelle angegeben ist, dazu genutzt werden aus dieser die verfügbaren Präsentationsinhalte auszulesen. Dazu wird die Methode query verwendet. Im Falle der Anmeldung werden den Präsentationen zugeordnete Seriennummern aus der angegebenen Tabelle gelesen, um diese in eine Liste des Hauptfensters der Anwendung, das durch die Klasse RootWindow realisiert ist, einzutragen. Daher hat die in query anzugebende Anweisung die Form SELECT serialnr FROM tablename. Die gefundenen Seriennummern werden durch die Methode getresultsetvalue Eintrag für Eintrag aus der Ergebnisliste ausgelesen und in das Hauptfenster eingetragen. Abbildung 5.17: Datenbankzugriffe beim Anmeldungsvorgang

84 76 VIS.- UND KOM.SCHNITTSTELLE Wenn ein Benutzer die Absicht hat, Präsentationsdaten zum Shared Workspace zu übertragen, wählt er zunächst in einem Dialog den Medientyp des zu transferierenden Eintrags. Dieser Dialog wird durch die Klasse TypeSelection implementiert. Die Datei, die diesem Eintrag und Medientyp zugeordnet ist, kann durch einen Verweis, der in der Datenbank steht und angibt, an welchem Ort sie auf dem lokalen Datenträger zu finden ist, ermittelt werden. Um den Verweis aus der Datenbank lesen zu können, bildet TypeSelection die Instanz eines DBInterface-Objekts und nutzt dessen query-methode. Damit Datensätze manipuliert werden können, stellt die GUI die Funktionen Einfügen, Editieren und Löschen zur Verfügung. Zur Durchführung dieser Operationen eignet sich die Datenbankschnittstellen-Methode statement, der für jede Operation eine entsprechende SQL-Anweisung übergeben werden kann. Das Einfügen neuer Datensätze geschieht über einen Dialog, der mit der Klasse InsertData umgesetzt wurde, zur Editierung existiert ein weiterer, durch die Klasse EditData realisierter, Dialog und die Löschen-Funktion ist direkt über das Hauptfenster anwählbar und durch die Klasse RootWindow implementiert. Alle diese Klassen arbeiten mit einem DBInterface-Objekt, um den Zugriff auf die statement-methode zu erreichen. Abbildung 5.18: Instanzen der Klasse DBInterface

85 KAPITEL 5 77 Die Datentypen der Attribute, denen auf Abbildung 5.18 das Präfix SQL vorangestellt ist, stammen aus der unixodbc-bibliothek. Definition des Shared Workspace Prozesses Zur Visualisierung werden die Präsentationsdaten in einen gemeinsamen Arbeitsraum transferiert, der als Shared Workspace bezeichnet wird. Dieser wird von einem Prozeß verwaltet, der auf dem Visualisierungsrechner, an den das Projektionssystem angeschlossen ist, ausgeführt wird. Der Prozeß verfügt über eine Schnittstelle zum Netzwerk, die ihn mit den Laptop Computern der Konferenzteilnehmer verbindet und die er überwacht, um Signale und Dateien entgegen nehmen und versenden zu können. Neben der Kommunikation mit den Laptops fällt dem Prozeß die Aufgabe zu, die entgegen genommenen Präsentationsdaten zu visualisieren. Der Prozeß ist durch die Klasse GVMServer implementiert. Im wesentlichen stellt GVMServer einen Netzwerk-Server zur Verfügung, der durch ANSI C Funktionen realisiert ist. Zur Initialisierung des Servers wird die Methode initserver verwendet. int initserver() Rückgabewert: 0 (bei Erfolg); -1 bei Fehler Durch initserver wird eine nicht öffentliche Methode mit dem Namen demonizeprocess aufgerufen. Diese wandelt den GVM Server in einen Dämonprozeß um, d. h. daß er im Hintergrund ausgeführt wird, was typisch für Server- Prozesse ist, die ständig anfallende Aufgaben bearbeiten. int demonizeprocess() Rückgabewert: 0 (bei Erfolg); -1 bei Fehler Der GVM Server kommuniziert mit einer Schnittstelle der GUI, die als GVM Interface bezeichnet wird. Von dieser nimmt er verschiedenartige Signale entgegen, die als Kommandos zur Steuerung von Funktionen des Servers interpretiert werden. Zur Annahme und Abarbeitung der Signale steht die Methode processsignals zur Verfügung. void processsignals() In der nun folgenden Auflistung werden alle Signale erklärt, die das GVM Interface an den GVM Server übertragen kann.

86 78 VIS.- UND KOM.SCHNITTSTELLE REGUSER: Beim Start der GUI meldet sich der Teilnehmer am Shared Workspace und am Datenbankarchiv an. Dieses Signal registriert den Teilnehmer beim GVM Server, andere Teilnehmer sind nun in der Lage zu sehen, daß er angemeldet ist. UNREGUSER: Bei Beendigung der GUI wird der Teilnehmer mit diesem Signal automatisch vom Shared Workspace abgemeldet. ENVINFO: Übermittlung von Informationen bezüglich der beim Shared Workspace registrierten Teilnehmer und der vom Shared Workspace verwalteten Daten. GLOBALIZE: Mitteilung an den GVM Server, daß Daten in den Shared Workspace übertragen und darauf durch das Visualisierungssystem dargestellt (globalisiert) werden sollen. REQUEST / REQANSWER: Diese Signale werden verschickt, wenn ein Teilnehmer Daten aus dem Shared Workspace auf den eigenen Laptop kopieren möchte. Nach der Selektion der gewünschten Daten wird RE- QUEST gesendet, worauf zunächst eine Anfrage an den Besitzer der Daten gestellt wird 2, die auch negativ beantwortet werden kann. Die Antwort des Besitzers wird mit dem Signal REQANSWER übermittelt. TRANSFER: Wenn eine Datei vom GVM Server zum GVM Interface übertragen werden soll, was nach dem Signal REQUEST der Fall ist, wird dies mit TRANSFER angezeigt. TERMINATE: Teilnehmer können die von ihnen für den Shared Workspace freigegebenen Präsentationen von der GUI aus wieder schließen, wozu das Signal TERMINATE verwendet wird. Zum Lesen der vom GVM Interface gesendeten Signale und Daten verwendet processsignals die nicht öffentliche Methode recstr, welche die übertragenen Zeichen in der durch den Parameter buffer angegebenen Adresse speichert. void recstr(char* buffer) Falls der GVM Server das Signal REQUEST erhält, d. h. daß ein Teilnehmer Präsentationsdaten aus dem Shared Workspace auf seinen eigenen Laptop 2 An dieser Stelle wird der GVM Interface Server eingesetzt, um das REQUEST Signal zu behandeln.

87 KAPITEL 5 79 übertragen möchte, muß er vor dem eigentlichen Transfer zunächst die Erlaubnis des Besitzers der Präsentation einholen. Dazu sendet der GVM Server eine Anfrage an eine weitere Netzwerkschnittstelle der GUI, die den Namen GVM Interface Server trägt. Zur Übermittlung einer Anfrage an den GVM Interface Server und zur Weitergabe der darauf folgenden Antwort des Besitzers, welche dem GVM Server durch das Signal REQANSWER mitgeteilt wird, stellt der GVM Server die nicht öffentliche Methode gvmimessage bereit. void gvmimessage(char* sig, char* hostname, char* arg1, char* arg2) Der Parameter sig gibt der Methode an, welches Signal der GVM Server erhalten hat und behandelt werden soll, also entweder REQUEST oder REQANSWER. Die Netzwerk-Adresse des GVM Interface Servers, zu dem eine Verbindung hergestellt werden soll, wird durch den Parameter hostname mitgeteilt. Durch die beiden letzten Parameter arg1 und arg2 werden Zeichenketten übergeben, die für beide Fälle den Anforderungen entsprechend verschiedenartig verwertet werden. Informationen zu den im Shared Workspace befindlichen Präsentationsdaten verwaltet der GVM Server in einer internen Liste. Diese Verwaltungsliste wurde durch eine nicht öffentliche Struktur mit dem Namen GlobalList umgesetzt. struct GlobalList { char* app; char* file; char* owner; }; Im Feld app wird eine Anwendung eingetragen, die zur Wiedergabe des jeweiligen Präsentationsinhalts bestimmt ist. Durch das Feld file kann der GVM Server ermitteln, unter welchem Dateinamen die Präsentation auf dem Visualisierungsrechner abgelegt wurde. In dem Feld owner wird schließlich angegeben, welcher Benutzer der Besitzer der Präsentation ist, d. h. wer sie für den Shared Workspace freigegeben hat. Sobald die Freigabe einer neuen Präsentation für den Shared Workspace erfolgt, fügt die Methode addgloballist der Verwaltungsliste des Shared Workspace einen neuen Eintrag hinzu. Die Methode subgloballist wird aufgerufen, sobald eine Präsentation aus dem Shared Workspace und somit auch aus der Verwaltungsliste entfernt wird.

88 80 VIS.- UND KOM.SCHNITTSTELLE void addgloballist(char* app, char* file, char* owner) void subgloballist(char* file name) Die Parameter app, file und owner der Methode addgloballist entsprechen den Feldern der Struktur GlobalList und füllen diese mit Werten auf. Zur Entfernung eines Eintrags durch die Methode subgloballist reicht die Angabe des Dateinamens der Präsentation durch den Parameter file name aus, da dieser eindeutig vergeben wurde. Zur Beendigung des GVM Servers wird die Methode closeserver verwendet. void closeserver() Definition der GUI-Schnittstelle zum Shared Workspace Die in die grafische Benutzeroberfläche integrierte Schnittstelle, durch die den Konferenzteilnehmern der Zugriff auf den Shared Workspace ermöglicht wird, ist durch die Klasse GVMInterface implementiert. Die Umsetzung der Netzwerkfunktionalität basiert auf ANSI C Funktionen. Die Kommunikation mit dem GVM Server wird durch die Methode initcom initialisiert. static void initcom(rootwindow* root) Die Methode ist, wie die übrigen Methoden der Klasse GVMInterface auch, als static deklariert, d. h. daß unabhängig davon, wie viele Objekte der Klasse erzeugt werden, nur eine Version dieser Methode existiert. Die GUI verwendet für die gesamte Laufzeit nur ein GVMInterface-Objekt, das direkt zu Beginn des Programmablaufs erzeugt wird. Dadurch wird die Kommunikation mit dem GVM Server an lediglich einer Stelle initialisiert und die sonstigen Programmteile brauchen aufgrund der static-deklarationen der Methoden zum Senden von Signalen keine weiteren Instanzen der Klasse zu erzeugen. Der Parameter root übergibt einen Zeiger auf das durch die Klasse Root- Window realisierte Hauptfenster-Objekt. Dieses verwaltet eine öffentliche Struktur, in der die in dem Anmeldungs-Dialog eingegebenen Daten gespeichert werden. Dazu gehört auch die Netzwerk-Adresse des GVM Servers, die von initcom gelesen und zur Herstellung der Verbindung genutzt wird. Die eigentliche Aufgabe des GVM Interface besteht in der Übermittlung von Signalen und Daten an den GVM Server, wozu die Methode sendsignal verwendet wird.

89 KAPITEL 5 81 static char* sendsignal(short msgmode, char* arg1 = 0, char* arg2 = 0, char* arg3 = 0, short arg4 = 0) Rückgabewert: Umgebungsinformationen (falls msgmode = ENVINFO); sonst 0 Durch den Parameter msgmode wird das zu übertragende Signal spezifiziert 3. Im Falle des Signals ENVINFO gibt die Methode als Rückgabewert eine Adresse bekannt, die eine Zeichenkette mit Umgebungsinformationen bezüglich des Shared Workspace enthält, ansonsten ist der Rückgabewert von sendsignal gleich 0. Die restlichen vier Parameter arg1, arg2, arg3 und arg4 sind optional und werden abhängig von der zu übertragenden Nachricht verwendet. Kommunikation mit dem Shared Workspace Die Anwendung der Visualisierungs- und Kommunikationsschnittstelle erfordert eine ständige Verfügbarkeit des Shared Workspace. Aus diesem Grund befindet sich der GVM Server Prozeß in einem ständigen Ausführungsstatus. Das GVM Interface wird erzeugt, sobald die GUI von einem Konferenzteilnehmer gestartet wird. Nach dem Anmeldungsvorgang sendet es das Signal REGUSER an den GVM Server, um den Teilnehmer beim Shared Workspace zu registrieren. Der GVM Server nimmt zur Identifizierung des Teilnehmers den Hostnamen von dessen Laptop Computer entgegen und merkt sich diesen in einer Verwaltungliste. Um die beim Shared Workspace registrierten Teilnehmer zu erfragen, verwendet das GVM Interface das Signal ENVINFO. Damit wird der GVM Server angewiesen eine Zeichenkette zurückzusenden, durch die mitgeteilt wird, welche Informationen er bezüglich seiner Umgebung verwaltet. Dazu gehört neben der Liste der registrierten Teilnehmer auch eine weitere Liste, in der die momentan für den Shared Workspace freigegebenen Präsentationsdaten eingetragen sind. Die Freigabe von Präsentationen für den Shared Workspace zeigt das GVM Interface durch das Signal GLOBALIZE an, dem ein Transfer der jeweiligen Präsentationsdatei folgt. Der GVM Server nimmt diese entgegen und sorgt durch das Starten einer zur Darstellung der Präsentation geeigneten Anwendung für deren Wiedergabe. Möchte ein Teilnehmer Daten aus dem Shared Workspace auf seinen eigenen Laptop kopieren, ist dazu das Signal REQUEST vorgesehen. Dies weist den GVM Server an, eine Transfer-Erlaubnis von dem Besitzer der angefragten Präsentation einzuholen. Dazu stellt der GVM Server eine Verbindung zu dem 3 Die möglichen Signale für msgmode werden im vorhergehenden Abschnitt Definition des Shared Workspace Prozesses aufgelistet.

90 82 VIS.- UND KOM.SCHNITTSTELLE GVM Interface Server des Datei-Besitzers her, dessen Antwort auf die Anfrage durch das Signal REQANSWER vom GVM Server wahrgenommen wird. Diese wird an das GVM Interface des Fragestellers weitergeleitet, der nun wählen kann an welchem Ort seines lokalen Datenträgers die Datei abgelegt werden soll, worauf die Datei nach dem Signal TRANSFER vom GVM Server zum GVM Interface des Fragestellers übertragen wird. Die Teilnehmer können die eigenen, für den Shared Workspace freigegebenen Präsentationen, bei Bedarf auch wieder beenden. Dazu schickt das GVM Interface das Signal TERMINATE an den GVM Server, der darauf die Ausführung der Anwendung, in der die Präsentation dargestellt wird, abbricht und die Präsentation aus dem Shared Workspace entfernt. Außerdem werden die Informationen bezüglich der Präsentation aus der internen Verwaltungsliste ausgetragen. Meldet sich ein Teilnehmer durch das Schließen der grafischen Benutzeroberfläche vom Shared Workspace ab, wird dies vor der Beendigung der GUI von dem GVM Interface mitgeteilt. Dazu sendet es das Signal UNREGUSER an den GVM Server, der den entsprechenden Eintrag aus der internen Liste der angemeldeten Teilnehmer entfernt. Abbildung 5.19: Kommunikation zwischen GVM Interface und GVM Server

91 KAPITEL Evaluierung Zum Abschluß der Betrachtung der Visualisierungs- und Kommunikationsschnittstelle folgt eine Evaluierung von Leistungsmerkmalen der Software. Funktionalität Die Software ist den an sie gestellten Anforderungen angemessen. Die Standardanforderungen an die Funktionalität sind: Konferenzteilnehmer sollen die Möglichkeit haben, der Teilnehmergruppe eigene Präsentationsdaten vorzustellen. Für die Teilnehmergruppe soll der Zugriff auf gerade im Besprechungsprozeß befindliche Präsentationen möglich sein, um die Präsentationsinhalte für eine spätere Verwendung sichern oder während der Konferenz manipulieren zu können. Die Anforderungen werden durch einen mit einem Zugang zum Visualisierungssystem ausgestatteten Shared Workspace erfüllt, der den Konferenzteilnehmern einen gemeinsamen virtuellen Arbeitsraum bietet. Erreichen können die Teilnehmer den Shared Workspace mit Hilfe der GUI, die sowohl Lese- als auch Schreibzugriff auf den Arbeitsraum hat. Auf diese Weise können Präsentationen in den Shared Workspace transferiert und durch das OfuturO Projektionssystem visualisiert werden. Außerdem besteht für die Teilnehmergruppe die Möglichkeit, auf die im Shared Workspace enthaltenen Daten zu zugreifen, um sie auf eigenen Laptop Computern zu sichern oder zu manipulieren. Usability Der kognitive Aufwand zur Durchführung von Aktionen mit der Software ist vertretbar. Dies evaluierten Mitarbeiter des OfuturO-Projekts, die während der Software-Entwicklung Usability-Tests mit der GUI-Komponente der Software durchführten. Diese basiert auf dem WIMP-Konzept 4 und bietet den Konferenzteilnehmern eine grafische Benutzerschnittstelle zur Interaktion mit der Mixed Reality Conferencing Anwendung. Die Bedienung der Aktionen der Software wurde als einprägsam und gut wiederholbar befunden. Erst-Benutzer benötigen allerdings zunächst eine Einführung in den Umgang mit der Oberfläche, da zum Verständnis der durch die Interaktionselemente anwählbaren Funktionen eine gewisse Vertrautheit mit den Möglichkeiten des MR Conferencing Szenarios notwendig ist. 4 WIMP = Windows, Icons, Menus & Pointer. Fenster, Piktogramme, Menüs und Zeigeinstrumente bilden zusammen die zentralen Elemente der Mensch-Maschine Interaktion.

92 84 VIS.- UND KOM.SCHNITTSTELLE Erweiterbarkeit Die Software ist problemlos erweiterbar. Dies ist eine wichtige Vorraussetzung für die Weiterentwicklung der Software. Zur Gewährleistung dieser Eigenschaft wurde die Software objektorientiert konzipiert, wodurch die Funktionalitäten der Software in Klassen gekapselt und über Objekte referenziert werden. Besteht die Absicht das Programm um neue Elemente zu erweitern, wird dies durch die Möglichkeit der Bildung von Klasseninstanzen vereinfacht, da auf diese Weise bereits implementierte Funktionalitäten weiterverwendet werden können. Außerdem wurden auch die Vorteile der Klassenvererbung berücksichtigt und Basisklassen bereitgestellt, die Gerüste zur Bildung grafischer Dialoge anbieten. Durch die Ableitung von Objekten aus diesen Basisklassen kann die GUI-Komponente der Software ohne großen Aufwand erweitert werden. Skalierbarkeit Die Software ist in Hinsicht auf die Anzahl der Personen, die an einer Konferenz teilnehmen, frei skalierbar. Die Teilnehmerzahl einer Konferenz ist durch den GVM Server theoretisch unbeschränkt. Dieser ist in der Lage, beliebig viele Verbindungen von Teilnehmern zu akzeptieren und diese ohne Probleme zu verwalten. Da die Zuverlässigkeit des GVM Servers bei der Verrichtung seiner Aufgaben nicht von der Anzahl verbundener Teilnehmer abhängig ist, kann die Software in Hinsicht auf die Anzahl teilnehmender Personen als frei skalierbar bezeichnet werden. Unabhängigkeit vom verwendeten Datenbanksystem Die Software ist nicht an die Verwendung eines bestimmten Datenbank-Management-Systems (DBMS) gebunden. Die Datenquellen des Mixed Reality Conferencing Systems sind MySQL Datenbanken. Anstatt dieser könnte aber auch jedes andere DBMS die Daten bereitstellen. Das liegt daran, daß die Datenbankschnittstelle der Software auf dem von allen gängigen Datenbanken unterstützten ODBC Modell basiert. Außerdem sind die Datenquellen während der Laufzeit dynamisch spezifizierbar, wodurch die Möglichkeit für die Teilnehmer besteht, im Laufe einer Konferenz von einem DBMS zu einem anderen zu wechseln. Die Software ist somit unabhängig von dem verwendeten DBMS und erlaubt die Verwendung diverser Datenquellen während einer Sitzung.

93 Kapitel 6 Zusammenfassung und Ausblick In dieser Diplomarbeit wurden Möglichkeiten zur Einbettung virtueller Hilfsmittel in Arbeitsumgebungen sowie die daraus resultierenden Auswirkungen auf Arbeitsprozesse untersucht und anhand eines in eine Büroumgebung integrierten Mixed Reality (MR) Conferencing Systems beschrieben, für das im praktischen Teil die als Visualisierungs- und Kommunikationsschnittstelle bezeichnete Software-Basis entwickelt wurde. Dieser letzte Teil der Diplomarbeit dient zunächst der Zusammenfassung der Schritte dieser Untersuchung, um die Art und Weise des Vorgehens zu verdeutlichen. Danach werden die Ergebnisse der Arbeit erläutert und eine daraus resultierende Schlußfolgerung dargestellt. Die Diplomarbeit endet schließlich mit einem Ausblick, in dem neben den zukünftigen Perspektiven für das MR Conferencing System bevorstehende Entwicklungen für die Visualisierungsund Kommunikationsschnittstelle aufzeigt werden. Zusammenfassung Durch die Einbettung von virtuellen Hilfsmitteln in eine Arbeitsumgebung entsteht eine sogenannte virtuelle Umgebung, die sich dadurch auszeichnet, den darin handelnden Personen den Zugriff auf Informationen zu ermöglichen, die sonst in der realen Umgebung am gegebenen Ort und zur gegebenen Zeit nicht verfügbar wären. Das erste Kapitel der Diplomarbeit behandelt die Grundlagen der durch den Begriff Virtual Reality (VR) bezeichneten Technologie zur Erzeugung virtueller Umgebungen. Nach einem Überblick über die historische Entwicklung der VR-Technologie wurden deren grundlegenden technischen Komponenten betrachtet, welche vor allem Ausgabegeräte zur Reizung der menschlichen Sinne und Eingabegeräte zur Interaktion mit dem virtuellen Raum sind. Darauf folgt die Erläuterung verschiedener Kategorien virtueller Umgebungen, wozu auch eine Klärung der Begriffe Mixed und Augmented Reality (AR) zählt, deren Darstellungs- und Interaktionsformen beim später 85

94 86 ZUSAMMENFASSUNG UND AUSBLICK behandelten MR Conferencing System zur Anwendung kommen. Außerdem wurde ein Konzept zur direkten physikalischen Interaktion mit Objekten vorgestellt, das als berührbare Benutzerschnittstelle bezeichnet wird und den Namen Tangible User Interface trägt. Im letzten Abschnitt des ersten Kapitels wurden Anwendungsmöglichkeiten für VR-Technologie in diversen Bereichen des realen Lebens beschrieben. Das zweite Kapitel dient der Betrachtung von Szenarien, in denen reale, physikalische Arbeitsumgebungen mit computergenerierten virtuellen Objekten überlagert und verschmolzen werden. Der Teil bezieht sich dabei speziell auf das sogenannte Office Of The Future Szenario, in dem virtuelle Hilfsmittel in eine Büroumgebung eingebettet werden. Am Anfang des Kapitels steht eine Definition des Begriffs virtuelles Hilfsmittel, worauf erklärt wurde, auf welche Weise ein solches in eine Arbeitsumgebung integriert werden kann. Darauf wurden Techniken zur Interaktion mit virtuell erweiterten Büroumgebungen betrachtet. Den Abschluß des Kapitels bildet eine Präsentation von Projekten, die Büroumgebungen durch die Integration von virtuellen Komponenten funktionell aufwerten. Im nächsten Kapitel folgt die Vorstellung von OfuturO, einem tischbasierten VE System, in das geeignete Technologien zur virtuellen Erweiterung direkt integriert sind. Das OfuturO System soll in Zukunft eine Plattform für verschiedene tischbasierte Anwendungen in Büroszenarien bereitstellen, worunter auch das MR Conferencing System fällt, welches die Prototyp-Anwendung für OfuturO darstellt. Das dritte Kapitel beginnt mit der Beschreibung des Aufbaus der Plattform, wobei auf Display- und Eingabegeräte eingegangen wurde. Auch das zur Erzeugung einer virtuellen Umgebung verwendete Software- System Avango wurde hier vorgestellt. Als nächstes folgt eine Beschreibung von Anwendungen, die auf der Grundlage der OfuturO Plattform umgesetzt werden sollen, wozu neben dem MR Conferencing Prototyp auch eine Mindmapping Software für Brainstormings zählt. Das Kapitel schließt mit einer Vorstellung von Projekten, die ebenfalls an der Integration von Techniken zur virtuellen Erweiterung tischbasierter Plattformen arbeiteten. Eine konkrete Anwendung, bei der virtuelle Hilfsmittel zur Unterstützung von Arbeitsprozessen verwendet werden, wurde im vierten Kapitel vorgestellt. Diese Anwendung ist das Mixed Reality Conferencing System, welches im Vergleich zu traditionellen Konferenzen ein verbessertes multimediales Konferenzszenario bieten soll. Dabei besteht die Verbesserung vor allem in erweiterten Visualisierungs- und Interaktionsmöglichkeiten von und mit Informationen, die im Rahmen einer Konferenz präsentiert werden können. Zur Verdeutlichung der erweiterten Möglichkeiten wurde der Ablauf einer Konferenz auf der Basis des MR Conferencing Systems dargestellt und genau beschrieben. Abschließend folgt ein Überblick über den Entwicklungsstand der Anwendung.

95 KAPITEL 6 87 Zur Umsetzung des MR Conferencing Systems wurde eine Software-Basis benötigt, die den Konferenzteilnehmern den Zugriff auf das Visualisierungssystem von OfuturO ermöglicht, um über dieses Präsentationsinhalte wiedergeben zu können. Die Entwicklung dieser als Visualisierungs- und Kommunikationsschnittstelle bezeichneten Software stellt den praktischen Teil der Diplomarbeit dar und wurde im letzten Kapitel behandelt. Der erste Abschnitt beschreibt die an die Software gestellten Aufgaben, die neben der Bereitstellung des Zugangs zum Visualisierungssystem auch darin bestehen, den Teilnehmern Kommunikationswege anzubieten, die sich zum Austausch von Daten eignen. Die Komponenten, aus denen die Software sich zusammensetzt, wurden im anschließenden Teil erläutert. Da zur Erstellung des Programms auf diverse Programmierschnittstellen (APIs) zurückgegriffen wurde, die Bibliotheken zur Verfügung stellen, welche die Implementierung erleichterten, widmet sich der folgende Teil den verwendeten APIs. Den Hauptteil des letzten Kapitels nimmt die Beschreibung der eigentlichen programmiertechnischen Umsetzung der Software ein. Zunächst wurde die Klassenhierarchie des objektorientiert aufgebauten Programms erläutert, worauf eine Erklärung der jeweiligen Aufgaben aller Klassen folgte. Der umfassendste Teil besteht aus einer Analyse der Implementation von zentralen Bestandteilen des Programms, in welcher der Aufbau derjenigen Klassen definiert wurde, durch deren Instantiierung die zentralen Programmteile realisiert werden. Die Beschreibung der Visualisierungsund Kommunikationsschnittstelle endet schließlich mit einer Evaluierung der Leistungsmerkmale der Software. Zur Untersuchung der Auswirkungen einer Einbettung von virtuellen Hilfsmitteln in Arbeitsumgebungen im Hinblick auf die Vereinfachung von Arbeitsprozessen für die in dem Kontext handelnden Personen wurde ein konkretes Anwendungsbeispiel verwendet, das in Form eines Mixed Reality Conferencing Systems ein verbessertes multimediales Konferenzszenario bieten soll. Die Motivation für die Konzeption der Anwendung war es, den Teilnehmern einer Konferenz Handlungsmöglichkeiten zur Verfügung zu stellen, die durch die Verwendung von Display- und Interaktionstechniken einer virtuellen Umgebung über die Möglichkeiten traditioneller Konferenzszenarien hinausgehen. Nachdem eine weitgehend implementierte Software-Basis und somit eine geeignete Testumgebung vorhanden war, konnten auch mit bis dahin lediglich teilweise realisierten Display- und Interaktionsformen bereits einige der an das MR Conferencing System geknüpften Erwartungen validiert werden. Im Vordergrund der Bemühungen stand die Absicht den Konferenzteilnehmern die Möglichkeit zu bieten, Präsentationsinhalte unmittelbar gestalten zu können, um bei Besprechungen auftretende Änderungsvorstellungen sofort vorzunehmen. Zur Umsetzung dieses Vorhabens wurde ein Shared Workspace

96 88 ZUSAMMENFASSUNG UND AUSBLICK bereitgestellt, der die Daten von Präsentationen verwaltet und den Teilnehmern durch verbundene Interaktionskonsolen (Laptops) den Zugriff auf diese Daten ermöglicht. Als Resultat eines solchen gemeinsamen Arbeitsraums ergeben sich für die Konferenzteilnehmer im Vergleich zu einem traditionellen Szenario die folgenden erweiterten Handlungsmöglichkeiten: Durch die direkte Manipulierbarkeit von Präsentationsinhalten können diese bereits während der Besprechungsphase den Vorstellungen der Teilnehmergruppe angepaßt werden. Da ein freier Zugriff auf die digitalen Präsentationsinhalte besteht, sind diese auf den Datenträgern der Laptops speicherbar, wodurch die Teilnehmer die Ergebnisse von Besprechungen aufbewahren und weiterverwenden können. Darüber hinaus werden der Entwicklungsfortschritt und der dadurch bedingte Einsatz vielfältigerer Display- und Interaktionsformen die folgenden Erweiterungen für das MR Conferencing Szenario bewirken: Durch die Wiedergabe dreidimensionaler Daten in stereoskopischer Form werden diese für die Teilnehmer räumlich wahrnehmbar sein. Dadurch können z. B. frei skalierbare Ansichten von Konstruktionsmodellen von allen Seiten begutachtet werden. Zur Beeinflussung von Präsentationen werden den Teilnehmern weitere Interaktionsgeräte bereitgestellt. Jedem Teilnehmer wird zur Anwendung von Translationen und Rotationen auf zweidimensionale Präsentationsdaten ein Touchpad und für dreidimensionale Daten eine SpaceMouse angeboten. Aufgrund der bereits validierten und noch zu erwartenden Effekte der Einbettung virtueller Hilfsmittel in einen Konferenzprozeß konnte die in der Einführung geäußerte Hypothese untermauert werden. Demnach ist eine Mischung von physikalischen Umgebungen mit virtuellen Objekten an Arbeitsplätzen sinnvoll, da auf diese Weise den in der Umgebung agierenden Personen zusätzliche Informationen vermittelt werden können, die eine Hilfestellung bei der Bewältigung von Arbeitsaufgaben leisten. Ausblick Die durch die Untersuchung des Mixed Reality Conferencing Prototyps gewonnen positiven Erkenntnisse im Hinblick auf die Verwendung virtueller Hilfsmittel innerhalb einer Konferenzumgebung fördern die Absicht, die Entwicklung

97 KAPITEL 6 89 des Systems und dessen Software-Basis, der Visualisierungs- und Kommunikationsschnittstelle, weiter voranzutreiben. Der entscheidende Schritt bei der folgenden Entwicklung des Konferenzsystems wird sein, es zur Marktreife zu bringen, da die Hoffnung bei der Entwicklung eines solchen Konzepts schließlich darin besteht, daß es irgendwann unter realen Arbeitsbedingungen umgesetzt werden kann und nicht Gefahr läuft, schon im Forschungsstadium zu versanden. Zur Zeit befindet sich der Mixed Reality Conferencing Prototyp noch in einem Stadium der System- Evaluierung, die in einer Forschungsumgebung stattfindet, in der zahlreiche Ideen zur Verbesserung der Anwendung getestet und bewertet werden. Das Nahziel der zukünftigen Entwicklung wird sein, das Konferenzsystem in einer ausgereiften Form anbieten zu können, die den Ansprüchen interessierter Firmen genügt. Mit Hilfe dieser Firmen wird es dann möglich sein, die in der Forschungsumgebung festgestellten Ergebnisse in einer realen Arbeitsumgebung zu evaluieren. Dadurch wird man erfahren können, welche Chancen die Technik wirklich hat und auf welche Weise sie den Bedürfnissen entsprechend angepaßt und verbessert werden kann. In Kapitel 4.3 wurde bereits erwähnt, daß zur Aufnahme des Konferenzsystems in eine reale Arbeitsumgebung weitere Entwicklungsschritte notwendig sind. Ein unmittelbar bevorstehender Schritt ist der Einbau des OfuturO Visualisierungssystems, durch das Präsentationsdaten sowohl zwei- als auch dreidimensional in hoher Auflösung auf der Projektionsfläche des OfuturO Tisches wiedergegeben werden können. Die für das Visualisierungssystem vorgesehenen Projektoren werden in Abbildung 6.1 gezeigt. Auf der dort zu sehenden Halterung werden sie unterhalb des OfuturO Tisches eingebaut. Abbildung 6.1: Projektoren vor dem Einbau Des weiteren werden mit SpaceMouse und Touchpad zusätzliche Interaktionsgeräte bereitgestellt. Diese werden die Möglichkeit bieten, die Handlungen

98 90 ZUSAMMENFASSUNG UND AUSBLICK in dem Konferenzszenario durch die Ausführung von Gesten mit den Eingabegeräten zu steuern, welche von der Software interpretiert werden. Außerdem wird sich die Art der Wiedergabe von Präsentationsinhalten ändern. Derzeit werden diese durch das Öffnen der Daten in einer jeweils dazu geeigneten Anwendung visualisiert. Dies ermöglicht zwar eine parallele Darstellung der Daten, isoliert diese aber gleichzeitig durch die Darstellung in separaten Anwendungen. Diese Wiedergabeform wird in Zukunft mit Hilfe des Software Frameworks Avango durch eine gemeinsame grafische Umgebung ersetzt. Diese Neuerungen bedingen eine Weiterentwicklung der Software-Basis des Conferencing Systems. Zur Interpretation von Gesten mit SpaceMouse oder Touchpad wird die Implementierung einer weiteren Software-Schnittstelle notwendig, die in der Lage ist Steuerungs-Signale von den jeweiligen Geräte- Treibern entgegenzunehmen und zu verarbeiten. Die Verwendung einer gemeinsamen grafischen Umgebung für Präsentationen erfordert eine weitere Anpassung der Software. Diese wird darin bestehen, die Präsentationsdaten an einen Shared Memory Bereich weiterzugeben, aus dem sie Avango lesen und visualisieren kann. Bezüglich des Software-Designs wäre zu überlegen, ob sich die derzeit durch TCP/IP-Sockets realisierte Netzwerkkommunikation durch eine alternative Technologie, wie z. B. CORBA, verbessern ließe. CORBA setzt einen höheren Abstraktionsgrad bei der Kommunikation an und gestaltet diese völlig transparent für den Software-Entwickler. Dieser müßte sich dann keine Gedanken mehr über ein eigenes Kommunikationsprotokoll machen und könnte sich anstatt dessen ganz auf die Implementierung der Anwendungslogik konzentrieren.

99 Anhang A Glossar Dieser Teil enthält kurz gehaltene Definitionen für wichtige Begriffe dieser Arbeit. Die Erklärungen sollen dabei helfen, eventuelle Unklarheiten auszuräumen. Augmented Reality Um virtuelle Objekte erweiterte physikalische Umgebung. Die AR ist ein Teilspektrum der Mixed Reality, in dem der Realitätsanteil dominiert. Cyberspace Der Zustand des Seins, in dem sich ein Mensch innerhalb einer für ihn von Computern geschaffenen künstlichen Wirklichkeit befindet. Immersionsgrad Um so weiter es dem Benutzer einer künstlich erzeugten Welt möglich ist, ist diese einzutauchen, um so höher ist der Immersionsgrad dieser Welt. Dies kann z. B. dadurch erreicht werden, daß sich die virtuelle Umgebung so wenig wie möglich von der Wahrnehmung der realen Umwelt unterscheidet. Immersive VR Bei der immersiven virtuellen Realität wird die Wahrnehmung der realen Umgebung des Benutzers ausgeblendet und auf eine komplett von Computern kontrollierte Simulation eingeschränkt. Dazu werden die Sinne des Benutzers so weit wie möglich vollständig von Computer-gesteuerten Ausgabegeräten versorgt. Mixed Reality Jede Mixtur von realer und virtueller Welt. Dabei reicht der Mischungsgrad von einer realen Umgebung mit wenigen virtuellen Anteilen bis hin zur Mischung von virtuellen Umgebungen mit wenigen realen Anteilen. 91

100 92 GLOSSAR SID Spatially Immersive Display. Ein auf Projektionstechnik basierendes räumlich immersives Anzeigesystem, das den Benutzer physikalisch umgibt. Gewöhnlich hat es die Größe eines Raums, in dem mehrere Front- und Rückprojektionseinheiten zur Anzeige integriert sind. SIDs sind für die Benutzung durch mehrere Personen geeignet. CAVE ist ein solches Anzeigesystem. TUI Tangible User Interface. Bei diesen berührbaren Benutzerschnittstellen wird die Welt selbst zur Schnittstelle, indem alltägliche physikalische Objekte mit digitalen Informationen gekoppelt werden. Tracking Unter Tracking versteht man die Ortung dreidimensionaler Positionen im Raum, z. B. über die Messung von elektromagnetischen Feldern. Virtual Reality Eine Technik, die Computer und deren Peripherie dazu verwendet eine sensorische künstliche Umgebung zu erzeugen, die dynamisch durch Aktionen des Menschen kontrolliert wird, so daß diesem die Umgebung real erscheint. Virtuelle Umgebung Eine künstlich erweiterte Umgebung, in der dem Benutzer der Zugriff auf Informationen ermöglicht wird, die sonst in der realen Umgebung am gegebenen Ort und zur gegebenen Zeit nicht verfügbar wären.

101 Anhang B Einrichtung der Software-Umgebung In diesem Abschnitt wird die Vorgehensweise bei der Einrichtung der von der Visualisierungs- und Kommunikationsschnittstelle benötigten Software- Umgebung beschrieben. Entwickelt wurde die Software für das Betriebssystem Linux, da dieses auf der OfuturO Plattform zum Einsatz kommt. Testumgebungen für die folgende Installationsanleitung waren: Red Hat Linux 7.2 Red Hat Linux 8.0 SuSE Linux 7.2 Entwicklungswerkzeuge, wie zum Beispiel der Compiler gcc oder make, sollten standardmäßig mit dem Betriebssystem installiert worden sein. Da bei der Software-Entwicklung zur Erstellung einer grafischen Oberfläche und zur Kommunikation mit einer Datenbank entsprechende Programmierschnittstellen verwendet wurden, müssen als erstes die zugehörigen Entwicklungs-Pakete installiert werden. Diese Pakete sind: qt (QT API zur Erstellung der GUI) mysql (Open Source Datenbank-System MySQL) myodbc (ODBC Treiber für MySQL) unixodbc (API zum Zugriff auf Datenquellen mittels ODBC) 93

102 94 INSTALLATION Die Anleitungen zur Installation dieser Pakete sind jeweils enthalten, daher wird hier nicht näher darauf eingegangen. Außerdem werden Anwendungen benötigt, die in der Lage sind die von der Visualisierungs- und Kommunikationsschnittstelle unterstützten Medientypen (Texte, Bilder, 3D-Objekte) anzuzeigen. Dies wären zum Beispiel: emacs oder jeder andere Texteditor xview oder jedes andere Bildbetrachtungsprogramm ivview zur Anzeige von 3D Objekten Falls diese Anwendungen nicht installiert sind, können anstatt dieser auch alternative Programme verwendet werden (ivview ist übrigens im SGI OpenInventor Paket enthalten). Der nächste Schritt ist die Konfiguration von MySQL, wonach zu Testzwecken eine Datenbank mit einigen Tabellen erstellt werden sollte. Dabei enthalten die Tabellen Verweise zu den jeweiligen Datenquellen. Die folgenden Kommandos, die nur als Beispiel zur Einrichtung einer beliebigen MySQL Datenbank dienen sollen, müssen auf einer root Shell ausgeführt werden. Abbildung B.1: MySQL Konfiguration

103 ANHANG B 95 Es kann sein, daß beim Starten des MySQL Dämonprozesses mysqld ein Fehler auftritt, falls der Prozeß schon existiert. Nach der Ausführung dieser Kommandos existiert eine Datenbank mit dem Namen project, welche zwei Tabellen data1 und data2 in der von der Visualisierungs- und Kommunikationsschnittstelle geforderten Struktur enthält. Der Zugriff auf die in den Tabellen enthaltenen Daten ist den Benutzern root und goran erlaubt. Um die erstellten Tabellen mit Werten aufzufüllen, kann entweder die MySQL Shell oder die Visualisierungs- und Kommunikationsschnittstelle verwendet werden. Nun folgt die Konfiguration der Data Source Names (DSN), d. h. es muß ein ODBC Treiber festgelegt und diesem klargemacht werden, auf welche Datenbank er zugreifen soll, wozu eine Bearbeitung der Datei /usr/local/etc/odbc.ini notwendig ist. Um die zuvor in MySQL angelegte Beispiel-Datenbank zu verwenden, sollte die Datei folgendermaßen aussehen: Abbildung B.2: DSN Konfiguration Mit dem im Paket unixodbc enthaltenen Tool ODBCConfig muß schließlich noch der ODBC Treiber festgelegt werden. Dort wird mit dem Button Add... unter der Registerkarte Drivers ein neuer Eintrag erstellt. Abbildung B.3: ODBC Treiber Einstellung Durch die Bekanntmachung des ODBC Treibers sollte nun auf die Datenbank zugegriffen werden können. Überprüft werden kann dies mit dem Tool

Einsatz der Virtuellen Realität in der Fabrikplanung

Einsatz der Virtuellen Realität in der Fabrikplanung Virtuelle Fabrik Einsatz der Virtuellen Realität in der Fabrikplanung Begriffserläuterung Geschichte der VR-Technologie VR-Technik VR-Systeme Anwendungsgebiete der VR Einsatz der VR in der Fabrikplanung

Mehr

Thema: Interaktionstechniken und - metaphern für AR, Tangible User Interfaces und AR

Thema: Interaktionstechniken und - metaphern für AR, Tangible User Interfaces und AR Hauptseminar Virtual and Augmented Reality SS 2004 Thema: Interaktionstechniken und - metaphern für AR, Tangible User Interfaces und AR Akos Regi Hauptseminarvortrag am 7. Juni 2004 Geschichte der Interaktion

Mehr

Von. Lino Sanfilippo. Zur Erlangung des akademischen Grades Diplom-Informatiker (FH)

Von. Lino Sanfilippo. Zur Erlangung des akademischen Grades Diplom-Informatiker (FH) Einbinden von Eingabegeräten zur Manipulation visualisierter 2D- und 3D- Daten, sowie die Integration von Funktionen zum Austausch der Daten, in das OfuturO- Projekt Von Lino Sanfilippo Zur Erlangung des

Mehr

Thema: Virtueller 3D Desktop. augmented reality

Thema: Virtueller 3D Desktop. augmented reality Thema: Virtueller 3D Desktop Problemstellung Dritte Dimension wird immer bedeutender im IT-Bereich Maus- und Tastatur- Konzept basiert auf zweidimensionaler Ein- und Ausgabe Ein neues, intuitives und natürliches

Mehr

Prinzip wird heute noch zur Erzeugung von stereoskopischen Effekten mit Polarisationsmonitoren eingesetzt

Prinzip wird heute noch zur Erzeugung von stereoskopischen Effekten mit Polarisationsmonitoren eingesetzt i. Virtual Reality - Historie 1928 Edwin Land konstruiert Polarisator-Brille mit Hilfe dieser Brille ist die stereoskopische Betrachtung eines Bilds bestehend aus zwei unterschiedlich polarisierten, leicht

Mehr

Ressourcenschutz in der Arbeitswelt der Zukunft

Ressourcenschutz in der Arbeitswelt der Zukunft Ressourcenschutz in der Arbeitswelt der Zukunft Gabriele Bleser Deutsches Forschungszentrum für Künstliche Intelligenz GmbH augmentedvision DFKI und Augmented Vision augmentedvision Deutsches Forschungszentrum

Mehr

HMD Gerät zur Visualisierung von Bildern besteht aus zwei kleinen Bildschirmen (in einer Art Helm benutzt) liefern die Bilder getrennt für jedes Auge

HMD Gerät zur Visualisierung von Bildern besteht aus zwei kleinen Bildschirmen (in einer Art Helm benutzt) liefern die Bilder getrennt für jedes Auge Bildschirmbrille Stereoskopisches Visualisierungsgerät, mit dem man synthetische Bilder betrachten kann. Es ist mit einem Messfühler ausgestattet, der die Bewegung des Kopfes registriert. Auf diese Weise

Mehr

Chancen und Möglichkeiten der Nutzung von Augmented Reality Technologien im Industrie 4.0 Umfeld Vortrag auf dem Karlsruher Entwicklertag 2015

Chancen und Möglichkeiten der Nutzung von Augmented Reality Technologien im Industrie 4.0 Umfeld Vortrag auf dem Karlsruher Entwicklertag 2015 Karlsruhe Technology Consulting www.karlsruhe-technology.de Chancen und Möglichkeiten der Nutzung von Augmented Reality Technologien im Industrie 4.0 Umfeld Vortrag auf dem Karlsruher Entwicklertag 2015

Mehr

Immersive Interaktion in der Spieleindustrie

Immersive Interaktion in der Spieleindustrie Immersive Interaktion in der Spieleindustrie Prof. Dr. Paul Grimm Computer Graphics Applied Computer Science Erfurt University of Applied Sciences Eröffnung des Interaktionsloabors Fraunhofer IAO Über

Mehr

Die dritte Dimension in der Medientechnik

Die dritte Dimension in der Medientechnik Die dritte Dimension in der Medientechnik Dr.-Ing. Matthias Bues Competence Team Visual Technologies Fraunhofer IAO, Stuttgart Visual Technologies was wir tun Interaktive Systeme von 3D bis 2D Neue Interaktionsformen

Mehr

Scheinaufgabe im Fach Web Engineering

Scheinaufgabe im Fach Web Engineering Otto-von-Guericke-Universität Magdeburg Fakultät für Informatik Institut für Verteilte Systeme Scheinaufgabe im Fach Web Engineering Thomas Thüm 07. August 2006 Matrikel: 171046 Lehrveranstaltung: Web

Mehr

iflat: Vision of Computer Supported Cooperative Work in Home Environment

iflat: Vision of Computer Supported Cooperative Work in Home Environment iflat: Vision of Computer Supported Cooperative Work in Home Environment - - - AW2 - - Master Informatik HAW Hamburg Wintersemester - 03. Dezember 2008 Folie 1 AGENDA Kurzvorstellung iflat Kontext und

Mehr

Einführung von VR- Systemen

Einführung von VR- Systemen 1 Einführung von VR- Systemen Angrenzende Themen und Problemstellen 23.04.2015, Christian Neth 2 Inhalt Allgemeines Prozesse Hardware Software Change Management 3 Allgemeines 4 Kurze Vorstellung Person

Mehr

Der Einsatz moderner Virtual und Augmented Reality Technologie zur Schulung von Mitarbeitern. Dennis Walch, Lehrstuhl fml, TU München

Der Einsatz moderner Virtual und Augmented Reality Technologie zur Schulung von Mitarbeitern. Dennis Walch, Lehrstuhl fml, TU München Der Einsatz moderner Virtual und Augmented Reality Technologie zur Schulung von Mitarbeitern Dennis Walch, Lehrstuhl fml, TU München «Sag es mir und ich vergesse es, zeig es mir und ich erinnere mich,

Mehr

Medizintechnik. Dr.-Ing. Johann Habakuk Israel Geschäftsfeld Virtuelle Produktentstehung. Konstruktionstechnik (IPK)

Medizintechnik. Dr.-Ing. Johann Habakuk Israel Geschäftsfeld Virtuelle Produktentstehung. Konstruktionstechnik (IPK) PLUG-IN VR PLUG-IN VR: Virtuelle Realität in der Medizintechnik Dr.-Ing. Johann Habakuk Israel Geschäftsfeld Virtuelle Produktentstehung Fraunhofer Institut für Produktionsanlagen und Konstruktionstechnik

Mehr

Computer Augmented Reality

Computer Augmented Reality Computer Augmented Reality Eine Zusammenfassung von Joachim Steinmetz Vorwort: Die folgenden Seiten sollen einen Überblick über den jetzigen Stand im Bereich CAR (Computer Augmented Reality) wiedergeben.

Mehr

Befragung und empirische Einschätzung der Praxisrelevanz

Befragung und empirische Einschätzung der Praxisrelevanz Befragung und empirische Einschätzung der Praxisrelevanz eines Vorgehensmodells zur Auswahl von CRM-Systemen D I P L O M A R B E I T zur Erlangung des Grades eines Diplom-Ökonomen der Wirtschaftswissenschaftlichen

Mehr

IT-basierte Erstellung von Nachhaltigkeitsberichten. Diplomarbeit

IT-basierte Erstellung von Nachhaltigkeitsberichten. Diplomarbeit IT-basierte Erstellung von Nachhaltigkeitsberichten Diplomarbeit zur Erlangung des Grades eines Diplom-Ökonomen der Wirtschaftswissenschaftlichen Fakultät der Leibniz Universität Hannover vorgelegt von

Mehr

Virtuelle Realität und persistente Datenspeicherung mithilfe von XML

Virtuelle Realität und persistente Datenspeicherung mithilfe von XML Virtuelle Realität und persistente Datenspeicherung mithilfe von XML von Jürgen Diewald Eine Diplomarbeit an der Fachhochschule Köln, Abteilung Gummersbach - Fachbereich Informatik In Zusammenarbeit mit

Mehr

Definitionsversuche. Virtual Reality, ein Oxymoron mit Zukunft?! Historie. Andere Begriffe für VR

Definitionsversuche. Virtual Reality, ein Oxymoron mit Zukunft?! Historie. Andere Begriffe für VR Definitionsversuche Virtual Reality, ein Oxymoron mit Zukunft?! Prof. Dr. Ulrich Schwanecke Fachhochschule Wiesbaden EDV-Lexikon (2000): Oxymoron und Modefloskel, die häufig zur Aufwertung graphisch animierter

Mehr

i3sync DRAHTLOSES "PLUG&PLAY" PRÄSENTATIONSTOOL

i3sync DRAHTLOSES PLUG&PLAY PRÄSENTATIONSTOOL i3sync DRAHTLOSES "PLUG&PLAY" PRÄSENTATIONSTOOL ERLEBEN SIE EINE NEUE ART VON MEETING Mit diesem kompakten und leichten Präsentationstool wird sich die Art, wie Sie Präsentationen halten und Meetings führen

Mehr

Animation der Montage von CATIA-Bauteilen

Animation der Montage von CATIA-Bauteilen Animation der Montage von CATIA-Bauteilen KONZEPTION UND PROTOTYP PRÄSENTATION ZUM PRAXISPROJEKT SS 2007 VON TIM HERMANN BETREUER: PROF. DR. HORST STENZEL Motivation Voraussetzungen Ziele Datenkonvertierung

Mehr

Dezentrale Zusammenarbeit und die Digitalisierung von Kollaborationsprozessen

Dezentrale Zusammenarbeit und die Digitalisierung von Kollaborationsprozessen Dezentrale Zusammenarbeit und die Digitalisierung von Kollaborationsprozessen Maria Frank (M.Sc.) Frau Frank ist Doktorandin im PBL Laboratory (pbl.stanford.edu) an der Stanford Universität in Kalifornien.

Mehr

NÄHER AN DER REALITÄT BEBAUUNGSPLANUNG MIT BIM

NÄHER AN DER REALITÄT BEBAUUNGSPLANUNG MIT BIM NÄHER AN DER REALITÄT BEBAUUNGSPLANUNG MIT BIM Wie Linz in Österreich Vorreiter der 3D-Stadtplanung wurde 5 MINUTEN LESEZEIT EINFÜHRUNG Linz Vorreiter im Bereich 3D-Stadtplanung 2 Im Wohnungsbau wird seit

Mehr

Collaborative Virtual Environments

Collaborative Virtual Environments Collaborative Virtual Environments Stefan Lücking Projektgruppe Kreativität und Technik AG Domik WS 02/03 09.01.2003 1/35 Was sind CVE? Versuch einer Definition : Ein CVE ist ein Programm, das eine virtuelle

Mehr

LCM-6 Digital Signage Software

LCM-6 Digital Signage Software Die richtige Information zur richtigen Zeit am richtigen Ort LCM-6 Digital Signage Software LCM-6 Player-Software LCM-6 Digital Signage Software Die richtige Information zur richtigen Zeit am richtigen

Mehr

Danach selektiert man die beiden 2D-Kurven und wählt dann im Menü Editieren so wie dargestellt den Befehl Schneiden.

Danach selektiert man die beiden 2D-Kurven und wählt dann im Menü Editieren so wie dargestellt den Befehl Schneiden. Tipps und Tricks für Pro/Engineer (Wildfire 3) (Von EWcadmin, U_Suess und Michael 18111968) Okt.2007 Schneiden (WF3): Erzeugen einer 3D-Kurve aus zwei 2D-Kurven (von EWcadmin) Man kann aus zwei 2D-Kurven,

Mehr

Multimedia. Seminar an der RFH-Köln von Bernd Schmitz Block VR / AR

Multimedia. Seminar an der RFH-Köln von Bernd Schmitz Block VR / AR Multimedia Seminar an der RFH-Köln von Bernd Schmitz Block VR / AR Inhaltsüberblick Wahl des Multimedia-Produzenten Exkurs: AR/VR mit Filmbeispiele (ca. 45 min.) Multimedia in der Kunst Multimedia Event

Mehr

Bildverarbeitung in der Medizintechnik

Bildverarbeitung in der Medizintechnik Bildverarbeitung in der Medizintechnik Aufgrund einer Zusammenarbeit mit Würth Elektronik im Gebiet der Medizintechnik ist eine Arbeit aus dem Gebiet der Bildverarbeitung in der Medizintechnik ausgeschrieben.

Mehr

Stereoskopisches 3D Gaming

Stereoskopisches 3D Gaming PRIME Symposium 17.02.2011 BERLIN Stereoskopisches 3D Gaming Jonas Schild Lehrstuhl für Medieninformatik und Entertainment Computing Universität Duisburg Essen Lehrstuhl Medieninformatik Entertainment

Mehr

Was bedeutet Online-Moderation eigentlich? Seite 9. Welche Aufgaben hat ein Online- Moderator zu erfüllen? Seite 16

Was bedeutet Online-Moderation eigentlich? Seite 9. Welche Aufgaben hat ein Online- Moderator zu erfüllen? Seite 16 Was bedeutet Online-Moderation eigentlich? Seite 9 Welche Aufgaben hat ein Online- Moderator zu erfüllen? Seite 16 Was unterscheidet ein Online- Meeting von einem persönlichen Meeting? Seite 18 1. Online-Moderation:

Mehr

LCM-6 Digital Signage Software

LCM-6 Digital Signage Software Die richtige Information zur richtigen Zeit am richtigen Ort LCM-6 Digital Signage Software LCM-6 Administratoren-Software LCM-6 Player-Software LCM-6 Stand-Alone-Software LCM-6 Digital Signage Software

Mehr

Virtuelle Realität im Automobilbau.

Virtuelle Realität im Automobilbau. Informationen der BMW Group Mai 2003 Virtuelle Realität im Automobilbau. Leistungsstarke Computer ermöglichen es heute, viele Entwicklungsschritte schon im Vorfeld wirklichkeitsnah auf dem Bildschirm zu

Mehr

Umfrage Immersive Design

Umfrage Immersive Design Vielen Dank, dass Sie uns unterstützen! Fast seit dem Aufkommen kommerziell erhältlicher Virtual-Reality(VR)-Systeme Anfang der 1990er Jahre wurde versucht, diese Technologie auch für -Anwendungen nutzbar

Mehr

Reality, only better The Economist, Dezember 2007

Reality, only better The Economist, Dezember 2007 Augmented Reality Technik, Systeme, Potenziale, Funktionen, Einsatzgebiete Virtual Dimension Center (VDC) Auberlenstr. 13 70736 Fellbach Augmented Reality Prinzipien und Chancen Reality, only better The

Mehr

beziehung kommunikation im raum / dreidimensionale kommunikation interaction design

beziehung kommunikation im raum / dreidimensionale kommunikation interaction design beziehung kommunikation im raum / dreidimensionale kommunikation interaction design mensch - objekt - kontext gestaltung bedeutet kontextualisierung von informationen. statisch und dynamisch statisch designgebote

Mehr

NX für die digitale Produktentwicklung:

NX für die digitale Produktentwicklung: StS.fact sheet NX Virtual Studio NX für die digitale Produktentwicklung: Als vollständige Lösung für die digitale Produktentwicklung bietet die NX Software integrierte und technologisch führende Funktionen

Mehr

Virtuelle Logistikplanung

Virtuelle Logistikplanung Virtual Reality Magazin 1 (2010), S. 24-26 Virtuelle Logistikplanung Das Forschungsprojekt VR-LogPlan (Virtual Reality Logistik-Planungssystem) befasst sich mit der Logistikplanung in der virtuellen Realität.

Mehr

Thomas Alt. Augmented Reality in der Produktion. Herbert Utz Verlag Wissenschaft München

Thomas Alt. Augmented Reality in der Produktion. Herbert Utz Verlag Wissenschaft München Thomas Alt Augmented Reality in der Produktion Herbert Utz Verlag Wissenschaft München Bibliografische Information Der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der

Mehr

Cloud Computing in Industrie 4.0 Anwendungen: Potentiale und Herausforderungen

Cloud Computing in Industrie 4.0 Anwendungen: Potentiale und Herausforderungen Cloud Computing in Industrie 4.0 Anwendungen: Potentiale und Herausforderungen Bachelorarbeit zur Erlangung des akademischen Grades Bachelor of Science (B.Sc.) im Studiengang Wirtschaftsingenieur der Fakultät

Mehr

Linear Workflow. Linear Workflow. Version 1.0-2011-10-11

Linear Workflow. Linear Workflow. Version 1.0-2011-10-11 Version 1.0-2011-10-11 Verfahren, Bilder unter Rücksichtnahme ihres Farbprofils und der des Ausgabegeräts zu berechnen (3D), bzw. zu bearbeiten (Compositing), um eine mathematisch und physikalisch korrekte

Mehr

Thema. Aufgabenstellung. Fachpraktikum Visualisierung und interaktive Systeme WS 2011. Aufgabe 5: 3D-Tetris. 3D - Tetris.

Thema. Aufgabenstellung. Fachpraktikum Visualisierung und interaktive Systeme WS 2011. Aufgabe 5: 3D-Tetris. 3D - Tetris. Fachpraktikum Visualisierung und interaktive Systeme WS 2011 Aufgabe 5: 3D-Tetris Thema 3D - Tetris. Aufgabenstellung Die Aufgabe ist, ein Drei-Dimensionales Tetrisspiel zu konstruieren. Es werden zufällig

Mehr

Grob- und Detailplanung bei der Implementierung nutzen

Grob- und Detailplanung bei der Implementierung nutzen Softwarearchitektur Grob- und Detailplanung bei der Implementierung nutzen Bereich Realisierung Aktivität Softwareinkrement realisieren Ziele Vermitteln einer Orientierungshilfe für alle Entwickler Etablierung

Mehr

Wiki-basierte Dokumentation von Software-Entwicklungsprozessen

Wiki-basierte Dokumentation von Software-Entwicklungsprozessen Wiki-basierte Dokumentation von Software-Entwicklungsprozessen Erfahrungen aus der industriellen Praxis Fraunhofer IESE Kaiserslautern Inhalt Wiki-basierte Dokumentation von Software-Entwicklungsprozessen

Mehr

Gestengesteuerte Visualisierung digitaler Bestandsdaten

Gestengesteuerte Visualisierung digitaler Bestandsdaten Verteidigung der Masterarbeit Gestengesteuerte Visualisierung digitaler Bestandsdaten Mo, 11 NOV 2013 (SLUB Dresden, R0.46) In Kooperation mit der Sächsischen Landes- und Universitätsbibliothek (SLUB)

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

Mehr

Messdaten auswerten und visualisieren 5 Tipps, die passende Darstellungstechnik für ein Messsystem zu finden

Messdaten auswerten und visualisieren 5 Tipps, die passende Darstellungstechnik für ein Messsystem zu finden Messdaten auswerten und visualisieren 5 Tipps, die passende Darstellungstechnik für ein Messsystem zu finden 27.05.13 Autor / Redakteur: Nach Unterlagen von National Instruments / Hendrik Härter Messdaten

Mehr

White Paper Meditel TV

White Paper Meditel TV White Paper Meditel TV Edisonweb srl Der Kontext Dienstleister und Behörden können Web Signage als Informationsinstrument nutzen. Es ermöglicht eine zeitnahe Statusübermittlung von öffentlichen Dienstleistungen

Mehr

SiWear: Sichere Wearable-Systeme zur Kommissionierung industrieller Güter sowie für Diagnose, Wartung und Reparatur

SiWear: Sichere Wearable-Systeme zur Kommissionierung industrieller Güter sowie für Diagnose, Wartung und Reparatur SiWear: Sichere Wearable-Systeme zur Kommissionierung industrieller Güter sowie für Diagnose, Wartung und Reparatur www.siwear.de FORSCHUNGSPROJEKT 1. September 2007 28. Februar 2010 (30 Monate) PROJEKTÜBERSICHT

Mehr

Medienkompetenz, Grafik und DTP

Medienkompetenz, Grafik und DTP VO 340381 Informationsdesign; Medienkompetenz, Grafik und DTP Zentrum für Translationswissenschaft Letztes Mal sprachen wir über: Computer Aufbau Software Was ist Software? Software Soft im Sinne von weich/veränderbar

Mehr

Ve² - Virtual Engineering Environment VR/AR-Plattform am iwb

Ve² - Virtual Engineering Environment VR/AR-Plattform am iwb Ve² - Virtual Engineering Environment VR/AR-Plattform am iwb Dipl.-Inf. Michael Spitzweg Dipl.-Ing. Bernd Petzold Dipl.-Ing. Wolfgang Vogl Institut für Werkzeugmaschinen und Betriebswissenschaften Übersicht

Mehr

Buzzword Bingo Game Documentation (Java based Game)

Buzzword Bingo Game Documentation (Java based Game) Buzzword Bingo Game Documentation (Java based Game) Meppe Patrick Djeufack Stella Beltran Daniel April 15, 2011 1 Inhaltsverzeichnis 1 Einleitung 3 2 Aufgabenstellung 3 3 Allgemeines zu Buzzword Bingo

Mehr

1 Einleitung. Software Engineering. Vorgehensweisen

1 Einleitung. Software Engineering. Vorgehensweisen 1 Noch ein Buch über Software Engineering? Warum nicht! Wir folgen einem Prinzip, das zur Lösungsfindung in den verschiedensten Domänen Einzug gehalten hat: die Betrachtung aus verschiedenen Blickwinkeln.

Mehr

3.9 Grundelemente einer Benutzeroberfläche

3.9 Grundelemente einer Benutzeroberfläche 92 3 Grundlagen einer ios-anwendung 3.8.4 Target-Actions Einer der häufigsten Anwendungsfälle bei einer Oberfläche ist das Betätigen einer Schaltfläche durch einen Anwender, woraufhin eine bestimmte Aktion

Mehr

Diplomarbeit. Entwurf eines generischen Prozessleitstandes für Change Request Systeme

Diplomarbeit. Entwurf eines generischen Prozessleitstandes für Change Request Systeme Fakultät für Mathematik, Informatik und Naturwissenschaften Forschungsgruppe Softwarekonstruktion Diplomarbeit Entwurf eines generischen Prozessleitstandes für Change Request Systeme Development of a Generic

Mehr

We put the REAL in Real Estate.

We put the REAL in Real Estate. We put the REAL in Real Estate. Von Architekturvisualisierungen bis Augmented Reality. BÜRO OG / GARTENGASSE 21 A-1050 VIENNA / +43 (0) 1 545 78 25 OFFICE@BUROWHAT.COM / WWW.BUROWHAT.COM Visualisierungen

Mehr

Kurzübersicht zur Autostereoskopie. 3D-Sehen auf dem Monitor ohne 3D-Brille

Kurzübersicht zur Autostereoskopie. 3D-Sehen auf dem Monitor ohne 3D-Brille Kurzübersicht zur Autostereoskopie 3D-Sehen auf dem Monitor ohne 3D-Brille Autor: Maria Krüger I Stand: 05/2010 3D-Effekte auf dem Monitor sehen, ganz ohne Brille geht das? 3D-Filme, die mit Rot-Grün-Brillen

Mehr

18 Windows-Anwendungen auf Linux-PCs

18 Windows-Anwendungen auf Linux-PCs 575 18 Windows-Anwendungen auf Linux-PCs Windows-Anwendungen gelten für viele Anwender und Entscheider als so populär, dass sie sich auch für Windows-Betriebssysteme als Arbeitsumgebung entscheiden. Doch

Mehr

VR im Reallife. Virtual Reality für Einsteiger. von Mara & Siegfried 1/30

VR im Reallife. Virtual Reality für Einsteiger. von Mara & Siegfried 1/30 Virtual Reality für Einsteiger von Mara & Siegfried 1/30 Was ist VR? Definition: Virtual Reality = Immersion + Interaktion in Echtzeit Immersion: Eintauchen in die virtuelle Welt mit allen Sinnen Interaktion

Mehr

Die Cloud, die für Ihr Unternehmen geschaffen wurde.

Die Cloud, die für Ihr Unternehmen geschaffen wurde. Die Cloud, die für Ihr Unternehmen geschaffen wurde. Das ist die Microsoft Cloud. Jedes Unternehmen ist einzigartig. Ganz gleich, ob im Gesundheitssektor oder im Einzelhandel, in der Fertigung oder im

Mehr

Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I)

Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I) Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I) Historisch Kulturelle Informationsverarbeitung Hauptseminar: KLIPS 2.0 Dozent: Prof. Dr. Thaller Referent:

Mehr

MONTAG, 28. APRIL, 2014. Copyright 2014 Tobias Camadini. Digitale Medien erobern Schweizer Schulen

MONTAG, 28. APRIL, 2014. Copyright 2014 Tobias Camadini. Digitale Medien erobern Schweizer Schulen Bildungsanzeiger Copyright 2014 Tobias Camadini MONTAG, 28. APRIL, 2014 Dokumentation Digitale Medien erobern Schweizer Schulen Basel. In immer mehr Schweizer Schulen sind in heutigen Tagen digitale Hilfsmittel

Mehr

Unterrichtsinhalte Informatik

Unterrichtsinhalte Informatik Unterrichtsinhalte Informatik Klasse 7 Einführung in die Arbeit mit dem Computer Was ist Informatik? Anwendungsbereiche der Informatik Was macht ein Computer? Hardware/Software Dateiverwaltung/Dateien

Mehr

Content Management Systeme

Content Management Systeme Content Management Systeme Ein Vergleich unter besonderer Berücksichtigung von CoreMedia und TYPO3 Bachelorthesis im Kooperativen Bachelor Studiengang Informatik (KoSI) der Fachhochschule Darmstadt University

Mehr

Aufbruch in die Digitale Wirtschaft: Wertschöpfungskonzepte und Sicherheitsperspektiven

Aufbruch in die Digitale Wirtschaft: Wertschöpfungskonzepte und Sicherheitsperspektiven acatech DEUTSCHE AKADEMIE DER TECHNIKWISSENSCHAFTEN Aufbruch in die Digitale Wirtschaft: Wertschöpfungskonzepte und Sicherheitsperspektiven Henning Kagermann WELT-Konferenz Wirtschaft_digital Berlin, 12.

Mehr

Analyse Mobiler Applikationen zur Patientenbetreuung in Krankenhäusern. Bachelorarbeit

Analyse Mobiler Applikationen zur Patientenbetreuung in Krankenhäusern. Bachelorarbeit Analyse Mobiler Applikationen zur Patientenbetreuung in Krankenhäusern Bachelorarbeit zur Erlangung des akademischen Grades Bachelor of Science (B.Sc.) im Studiengang Wirtschaftswissenschaft der Wirtschaftswissenschaftlichen

Mehr

Selbstständigkeit und Selbstbestimmung sind nicht unmöglich, auch wenn Sie von einer Tetra- oder Paraplegie betroffen sind.

Selbstständigkeit und Selbstbestimmung sind nicht unmöglich, auch wenn Sie von einer Tetra- oder Paraplegie betroffen sind. elektronische hilfsmittel für menschen mit einer behinderung www.activecommunication.ch ELEKTRONISCHE HILFSMITTEL FÜR MENSCHEN MIT PARA- ODER TETRAPLEGIE Selbstständigkeit und Selbstbestimmung sind nicht

Mehr

Institut für angewandte Informationstechnologie (InIT)

Institut für angewandte Informationstechnologie (InIT) School of Engineering Institut für angewandte Informationstechnologie (InIT) We ride the information wave Zürcher Fachhochschule www.init.zhaw.ch Forschung & Entwicklung Institut für angewandte Informationstechnologie

Mehr

Der Rechner. Grundbegriffe. Aufbau. Funktionsweise. Betriebssystem. Kategorisierung. PC-Komponenten. Prof. Dr. Aris Christidis

Der Rechner. Grundbegriffe. Aufbau. Funktionsweise. Betriebssystem. Kategorisierung. PC-Komponenten. Prof. Dr. Aris Christidis Der Rechner Grundbegriffe Aufbau Funktionsweise Betriebssystem Kategorisierung PC-Komponenten Auf der Grundlage eines Programms kann ein Computer Daten mit seiner Umgebung austauschen, mathematische und

Mehr

Lastenheft. Auftraggeber IBR Abteilung ALG

Lastenheft. Auftraggeber IBR Abteilung ALG Lastenheft Auftraggeber IBR Abteilung ALG Versionsübersicht Version Datum Autor Status Kommentar 1.0 9. 2. 2011 Auftraggeber 1.1 1. 4. 2011 Auftraggeber Ergänzung Miniflur, Personenerkennung 1.1.1 6. 4.

Mehr

Lösungsvorschlag für das Übungsblatt 1. Aufgabe 1.

Lösungsvorschlag für das Übungsblatt 1. Aufgabe 1. Lösungsvorschlag für das Übungsblatt 1. Aufgabe 1. Zusammengefasst aus Ihren Beiträgen Wie bewerten sie das System ingesamt? Das Watson System verdeutlicht den Fortschritt der Künstlichen Intelligenz Forschung/Computerlinguistik/Informatik

Mehr

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014 Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung Klaus Kusche, September 2014 Inhalt Ziel & Voraussetzungen Was sind abstrakte Datentypen? Was kann man damit grundsätzlich?

Mehr

#openillustration. open source technical illustration

#openillustration. open source technical illustration #openillustration open source technical illustration Mac Krebernik / Einreichung zum tekom intro / Juli 2014 www.openillustration.net facebook.com/openillu twitter.com/openillu instagram.com/openillu #openillu

Mehr

Industrie 4.0 Berufliche und akademische Aus- und Weiterbildung vor neuen Herausforderungen?

Industrie 4.0 Berufliche und akademische Aus- und Weiterbildung vor neuen Herausforderungen? Industrie 4.0 Berufliche und akademische Aus- und Weiterbildung vor neuen Herausforderungen? Prof. Dr. habil. Christoph Igel Universität des Saarlandes Shanghai Jiao Tong University Deutsches Forschungszentrum

Mehr

Mixed Mock-Up System und Anwendungen bei Daimler. Ralf Specht, Daimler AG Information Technology Mercedes-Benz Cars

Mixed Mock-Up System und Anwendungen bei Daimler. Ralf Specht, Daimler AG Information Technology Mercedes-Benz Cars Mixed Mock-Up System und Anwendungen bei Daimler Ralf Specht, Daimler AG Information Technology Mercedes-Benz Cars Inhalt Mixed Reality Einführung Grundsätzliche Anwendungsgebiete System/Software Mixed

Mehr

Beschleunigen Sie Ihre Kommunikation. Videoconferencing. Ihr Spezialist für Videoconferencing und Telepresence Lösungen.

Beschleunigen Sie Ihre Kommunikation. Videoconferencing. Ihr Spezialist für Videoconferencing und Telepresence Lösungen. Beschleunigen Sie Ihre Kommunikation. Videoconferencing Ihr Spezialist für Videoconferencing und Telepresence Lösungen. Kommunikationstechnik aus einer Hand Besprechen Sie Ihre Präsentation online. Und

Mehr

Visual Business Intelligence Eine Forschungsperspektive

Visual Business Intelligence Eine Forschungsperspektive Visual Business Intelligence Eine Forschungsperspektive Dr. Jörn Kohlhammer Fraunhofer-Institut für Graphische Datenverarbeitung IGD Fraunhoferstraße 5 64283 Darmstadt Tel.: +49 6151 155 646 Fax.: +49

Mehr

Neue Wege in der technischen Dokumentation

Neue Wege in der technischen Dokumentation Neue Wege in der technischen Dokumentation Unternehmen Bytes+Lights entwickelt Software für 3D Visualisierung und technische Dokumentation Gründung 2002 Spin-Off der Universität Erlangen-Nürnberg Produkte

Mehr

Computer Graphik I (3D) Dateneingabe

Computer Graphik I (3D) Dateneingabe Computer Graphik I (3D) Dateneingabe 1 3D Graphik- Pipeline Anwendung 3D Dateneingabe Repräsenta

Mehr

2. In Abhängigkeit von der Anwendung und dem Zugang zum Internet im engeren Sinne verbindet sich der User über verschiedene Varianten mit dem Netz.

2. In Abhängigkeit von der Anwendung und dem Zugang zum Internet im engeren Sinne verbindet sich der User über verschiedene Varianten mit dem Netz. Aufbau des Internet Im Überblick ist im wesentlichen die Hardeare dargestellt, die digitale Informationen vom User bis zur Entstehung transportiert. Für diesen Überblick beschränken wir uns auf die wesentlichen

Mehr

Einsatz der Mehrkörpersimulation in Verbindung mit Computertomographie in der Produktentwicklung

Einsatz der Mehrkörpersimulation in Verbindung mit Computertomographie in der Produktentwicklung Einsatz der Mehrkörpersimulation in Verbindung mit Computertomographie in der Produktentwicklung Hintergrund Bei komplexen Baugruppen ergeben sich sehr hohe Anforderungen an die Tolerierung der einzelnen

Mehr

Entwicklung eines Scheduling-Verfahrens zur Optimierung der Reihenfolge von Prototypentests. Masterarbeit

Entwicklung eines Scheduling-Verfahrens zur Optimierung der Reihenfolge von Prototypentests. Masterarbeit Entwicklung eines Scheduling-Verfahrens zur Optimierung der Reihenfolge von Prototypentests Masterarbeit zur Erlangung des akademischen Grades Master of Science (M.Sc.) im Masterstudiengang Wirtschaftswissenschaft

Mehr

paluno Software & CPS Matthias Book Innovationsworkshop Horizon 2020 ICT 23.01.2014

paluno Software & CPS Matthias Book Innovationsworkshop Horizon 2020 ICT 23.01.2014 Impulse aus dem CPS-Netzwerk NRW Software & CPS Matthias Book Innovationsworkshop Horizon 2020 ICT 23.01.2014 Cyber Physical NRW Überblick: Software-technische Herausforderungen Cyber Physical Systems

Mehr

Inhatsverzeichnis. 1.Einleitung. Lehrgang: NMM Informatik: Der Computer. Lehrer: Spahr Marcel. Name: E L E M E N T E D E S C O M P U T E R S Datum:

Inhatsverzeichnis. 1.Einleitung. Lehrgang: NMM Informatik: Der Computer. Lehrer: Spahr Marcel. Name: E L E M E N T E D E S C O M P U T E R S Datum: Lehrer: Spahr Marcel SCHULE LAUPEN Lehrgang: NMM Informatik: Der Computer Name: E L E M E N T E D E S C O M P U T E R S Datum: In diesem Kapitel erfährst du die Bedeutung der Begriffe Hardware" und Software"

Mehr

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching 1.1 Caching von Webanwendungen In den vergangenen Jahren hat sich das Webumfeld sehr verändert. Nicht nur eine zunehmend größere Zahl an Benutzern sondern auch die Anforderungen in Bezug auf dynamischere

Mehr

Grenzenlos Swipen Geräteübergänge im Multiscreen-Kontext

Grenzenlos Swipen Geräteübergänge im Multiscreen-Kontext Workshop Be-greifbare Interaktion, 8. September 2015 Grenzenlos Swipen Geräteübergänge im Multiscreen-Kontext Kirstin Kohler, Horst Schneider, Valentina Burjan // Hochschule Mannheim Die Vision ist nicht

Mehr

Design Betrachtungen für r Tablet PC Software

Design Betrachtungen für r Tablet PC Software Design Betrachtungen für r Tablet PC Software Stefan Wick Software Design Engineer / Test Lead Tablet PC Group - Microsoft Corporation swick@microsoft.com Überblick Design Betrachtungen Richtlinien für

Mehr

6 Architektur-Mittel (WOMIT)

6 Architektur-Mittel (WOMIT) 6 Architektur-Mittel (WOMIT) Abb. 6-1: Positionierung des Kapitels im Ordnungsrahmen. Dieses Kapitel befasst sich mit der WOMIT-Dimension des architektonischen Ordnungsrahmens, indem es grundlegende Konzepte

Mehr

Mehrfach wurden unsere Arbeiten mit Designpreisen ausgezeichnet.

Mehrfach wurden unsere Arbeiten mit Designpreisen ausgezeichnet. PROFIL DCEINS erarbeitet effektive Marketing-, Design- und Kommunikationslösungen. Diese umfassen die Beratung, Planung, Konzept und Realisierung von Projekten in allen Bereichen des Designs, der visuellen

Mehr

Abbildung 1: Titelbild (Quelle: http://www.oobject.com/algorithmic-architecture/follymorph-continuum-group-finalpresentation/3267/)

Abbildung 1: Titelbild (Quelle: http://www.oobject.com/algorithmic-architecture/follymorph-continuum-group-finalpresentation/3267/) Abbildung 1: Titelbild (Quelle: http://www.oobject.com/algorithmic-architecture/follymorph-continuum-group-finalpresentation/3267/) Enterprise Continuum Wiederverwendung von Unternehmensarchitekturen Modul

Mehr

Executive Briefing. Big Data und Business Analytics für Kunden und Unternehmen. In Zusammenarbeit mit. Executive Briefing. In Zusammenarbeit mit

Executive Briefing. Big Data und Business Analytics für Kunden und Unternehmen. In Zusammenarbeit mit. Executive Briefing. In Zusammenarbeit mit Big Data und Business Analytics für Kunden und Unternehmen Umfangreiche und ständig anwachsende Datenvolumen verändern die Art und Weise, wie in zahlreichen Branchen Geschäfte abgewickelt werden. Da immer

Mehr

Neue Technologien Chance für Menschen mit Beeinträchtigungen?

Neue Technologien Chance für Menschen mit Beeinträchtigungen? Neue Technologien Chance für Menschen mit Beeinträchtigungen? Michael J. Tauber Universität Paderborn Kontakt: tauber@uni-paderborn.de 17. 09. 2004 Integra 2004, Dr. Michael J. Tauber 1 Terminologie aus

Mehr

Medizin im Kontext von Pico-Projektion

Medizin im Kontext von Pico-Projektion Medizin im Kontext von Pico-Projektion Madleen Sklenar Projekt pico.pro Masterstudiengang Interaction Design WS 2010/2011 Betreuung : Prof. Steffi Hußlein Dipl. Des. Robert Laux Beispiele aus der APP-Welt

Mehr

MEETINGBOARD MEETINGPAD MEETING SOFTWARE MEETING SERVICES interwri nterwrite MEETING SUITE IM ZEICHEN ERFOLGREICHER MEETINGS meetingboard Machen Sie mehr aus Ihren Präsentationen. Das InterWrite MeetingBoard

Mehr

1. Vorüberlegungen zu visueller und auditiver Eigenwahrnehmung. 2. Auditive Eigenwahrnehmung/ Eigenwahrnehmung der Stimme

1. Vorüberlegungen zu visueller und auditiver Eigenwahrnehmung. 2. Auditive Eigenwahrnehmung/ Eigenwahrnehmung der Stimme Gliederung: 1. Vorüberlegungen zu visueller und auditiver Eigenwahrnehmung 2. Auditive Eigenwahrnehmung/ Eigenwahrnehmung der Stimme 2.1 Relevanz für Kommunikation 2.2 Eigenschaften der EdS: Kanäle 2.3

Mehr

CREATIVE PROGRAMMING TOOLKITS

CREATIVE PROGRAMMING TOOLKITS CREATIVE PROGRAMMING TOOLKITS Unter Creative Programming Toolkits verstehen wir Software-Teile welche uns helfen vielfältige Medien-kunst zu erstellen. Viele dieser Werkzeuge wurden durch Künstler für

Mehr

Dank Meisterplan treffen wir bessere Entscheidungen im Projektportfolio und das kommt unseren Kunden zugute.

Dank Meisterplan treffen wir bessere Entscheidungen im Projektportfolio und das kommt unseren Kunden zugute. ANWENDERBERICHT Dank Meisterplan treffen wir bessere Entscheidungen im Projektportfolio und das kommt unseren Kunden zugute. Marcus Plach, Geschäftsführer, Ergosign GmbH AUF EINEN BLICK Bessere Portfolioplanung,

Mehr

Rollen- und Rechtekonzept

Rollen- und Rechtekonzept Inhaltsverzeichnis Rollen- und Rechtekonzept 1. Ziele...1 2. Konzeption zur Realisierung durch Access Control List und im Management-Interface...2 2.1. Ansatz...2 2.2. Safety oder Security...2 2.3. User-

Mehr

Die wahre Entdeckung besteht nicht darin, Neuland zu finden, sondern die Dinge mit neuen Augen zu sehen. Marcel Proust

Die wahre Entdeckung besteht nicht darin, Neuland zu finden, sondern die Dinge mit neuen Augen zu sehen. Marcel Proust Dynamische Rollen Dreh- und Angelpunkt von perbit.insight ist ein intuitiv bedienbares HR Solution Center. Hier stehen alle personalwirtschaftlichen Anwendungen zusammengeführt unter einer einheitlichen

Mehr

ClickShare The one click Das One-Click-wonder W

ClickShare The one click Das One-Click-wonder W ClickShare Das The One-Click-Wonder one click wonder Teamarbeit leicht gemacht Die Verbesserung der Tagungsdynamik und eine schnellere Entscheidungsfindung sind aktuell zwei der großen Herausforderungen

Mehr