Softwaresysteme für Augmented Reality: Beispiele. Ein Generisches AR-System

Ähnliche Dokumente
Softwaresysteme für AR Beispielsysteme, Authoring

Softwaresysteme für Augmented Reality

Einführung: Was ist AR?

Softwaresysteme für Augmented Reality: Beispiele. Vorlesung Augmented Reality Andreas Butz

Softwaresysteme für Augmented Reality: Beispiele. Ein Generisches AR-System

Mixed Reality. Nira Dietrich

Aufbau eines modernen Betriebssystems (Windows NT 5.0)

Interaction techniques for AR. Ein Generisches AR-System

Architektur und Entwicklung von Augmented Reality Anwendungen; AR Frameworks

LMU München, LFE Medieninformatik

Applikations-Entwicklung mit Studierstube ES. Daniel Wagner

Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software

Streaming Media - MPEG-4 mit Linux

Rendering für Augmented Reality. Ein Generisches AR-System

Streaming Techniken zur Übertragung multimedialer Daten im Web Universität Paderborn

Alternative Architekturkonzepte

Kooperative, verteilte und mobile Augmented Reality-Anwendungen

IUG DRESDEN ERSTELLUNG VON ROBUSTEN NATURAL SERVICES Software AG. All rights reserved. For internal use only

Multimediaschnittstelle. Microsoft DirectShow

Smartphone Entwicklung mit Android und Java

Universität Karlsruhe (TH)

Rendering für Augmented Reality

Xcalibur-2 Alpha. Time. Christian Rempis University of Applied Sciences Bonn-Rhein-Sieg 17. Januar

Enterprise JavaBeans Überblick

VIRTUAL REALITY HYPE! Virtual Reality ist Super-Cool! Virtual Reality is Super-Cool! Virtual Bungee Jumping

Multi-Tool Testlandschaft mit DDS

Client-Server mit Socket und API von Berkeley

Dabei sollen die Nutzern nach einer Authentifizierung entsprechend ihren Rechten Begriffe ändern, anlegen und kommentieren können.

Verteiltes Rendering: Herausforderungen und Lösungsansätze

Einführung... 1 Anwendungsszenarien multimedialer Client-Server Systeme... 1 Aufbau des Buches... 2 Die Entwicklung des multimedialen Internets...

VIRTUALISIERUNG IN MIKROKERN BASIERTEN SYSTEMEN

Client/Server-Systeme

Model-View-Controller

Modul Software Komponenten 01 Komponenten

Rendering für Augmented Reality

Windows CE. Process Control and Robotics. Fabian Garagnon

Komponentenorientierte Software-Entwicklung. Seite 1 / 42

Grid-Systeme. Betrachtung verschiedener Softwareplattformen zur Realisierung von Grids und Vorstellung des Globus Toolkit Grid Systeme 1

Parallele und verteilte Anwendungen in Java

Mobile Application Development

Betriebssystemschichten ( )

Web Services. Web Services in the News. Vision: Web of Services. Learning for Results. DECUS Symposium 2002, Vortrag 1K07,

3-Tier-Architecture und J2EE

Referenzbericht Verkehr & Transport

Situation-Adaptive Multimodal Dialogue Platform. Übersicht

OpenCL. Programmiersprachen im Multicore-Zeitalter. Tim Wiersdörfer

Business Objekte. Der Schlüssel für Applikationen mit Zukunft TMN Systemberatung GmbH Folie 1

Projektpraktikum AR Fernrohr - Jens Epe

Verteidigung der Diplomarbeit 3D-Netzwerk-Visualisierung

Szenengraphen. Codruţa Cosma. Universität Ulm Sommersemester 2005

SIMATIC PCS 7 V8.2 SIMIT V9. Clever kombiniert: Testen und Trainieren von Automatisierungsprojekten

Mathematik Seminar WS 2003: Simulation und Bildanalyse mit Java. Software-Architektur basierend auf dem Plug-in-Konzept

Verteilte und kooperative VR-Anwendungen

Game Engine Architecture and Development. Platform Unabhängiger Code Multi Threading in Game Engines Profiling

F A C H H O C H S C H U L E W E D E L S T U D I E N A R B E I T

Generischer Modellvergleich mit EMF Compare

TwinCAT HMI Application

Microsoft.NET Framework & Component Object Model. ein Vortrag von Florian Steuber

Videostreaming. Josko Hrvatin DMT. Prof. Dr. Robert Strzebkowski. TFH-Berlin WS 05/06

Mehrprozessorarchitekturen

Software- /Systemarchitektur

Verteilte Systeme - Java Networking (Sockets) -

VRML Tools. Markus Czok, Carsten Rohde

Praxiseinheit: Realisierung einer hardwarebeschleunigten Disparitätenberechnung zur automatischen Auswertung von Stereobildern

Netzwerk Technologien in LabVIEW

Kollaboratives Editieren von XML-Dokumenten in P2P-Systemen

Entwicklungstand der GUI

Rainer Oechsle. Parallele und verteilte. Anwendungen in Java. 4., neu bearbeitete Auflage. Mit 165 Listings, 5 Tabellen und 71 HANSER

Andreas Kosch. Software & Support $ > Verlag GmbH

Grundprinzipien des Game Design 3D Game Design mit Unity3D

Grundlagen der Augmented Reality

Informatik Einführung in das ROS Robot Operating System

Mac OS X und ios. Softwarearchitekturen SS Von Pawel Wall

12.4 Sicherheitsarchitektur

LINUX Schulung. FrauenComputerZentrum Berlin. Jutta Horstmann, Mai 2006

Multiuser Client/Server Systeme

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes

Vorstellung zu einem Web Desktop: eyeos

Softwareentwicklung mit Enterprise JAVA Beans

Protected User-Level DMA in SCI Shared Memory Umgebungen

Anwendungen des Matlab-Webservers als Simulationstool für virtuelle Laborumgebungen

MARKERLESS AUGMENTED REALITY. Henrik Brauer

Verteiltes Debugging. Gemeinsames Debuggen in Saros

Betriebssysteme. Tutorium 2. Philipp Kirchhofer

Vernetzung von Systemen mit LabVIEW. Christian Mergl Applications and Systems Specialist NI Central European Region

Mesh-Visualisierung. Von Matthias Kostka. Visualisierung großer Datensätze

.NET Networking 1. Proseminar Objektorientiertes Programmieren mit.net und C# Matthias Jaros. Institut für Informatik Software & Systems Engineering

Quick Cluster Overview

Version Referenzhandbuch. DiscretePhoton H.264 encoder. DiscretePhoton.

Szenengraph-Architekturen im Kontext von VR- und AR-Anwendungen

Der Einsatz von CORBA in verteilten EDA-Tools

Effizient, sicher und flexibel: Desktop-Virtualisierung mit Citrix XenDesktop

Webstreaming Grundlagen. Thomas Baumann

Rich Internet Applications, Flex & Mate. (Ja, das ist Grafische Benutzeroberflächen!) Jakob Külzer jakob.kuelzer@gmail.

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010

1.3 Architektur von Betriebssystemen

Netzwerkprogrammierung unter Linux und UNIX

Komponentenbasierter

Neuer Funkrufmaster: DAPNET Folien: Daniel Sialkowski und Ralf Wilke. 2. Hamnettagung in Aachen,

Transkript:

Softwaresysteme für Augmented Reality: Beispiele Vorlesung Augmented Reality Prof. Dr. Andreas Butz, Dr. Martin Wagner 24.06.2005 LMU München Medieninformatik Butz/Wagner Vorlesung Augmented Reality SS2005 24.06.2005 Folie 1 Ein Generisches AR-System Sensorik Einbeziehung der Ortsinformation in virtuelle Welt Realität Tracking (Ortsbestimmung) Virtualität Feedback an Benutzer Rendering und Realitätserweiterung Kombination realer und virtueller Inhalte LMU München Medieninformatik Butz/Wagner Vorlesung Augmented Reality SS2005 24.06.2005 Folie 2 Reality - SS 2005 1

Überblick Wiederholung: Architekturstile Verteilte Kommunikation Verteilte Kommunikationsarten Shared Memory Streaming Existierende Systeme AR Toolkit VRIB/ VARIO Studierstube COTERIE/ Repo-3D LMU München Medieninformatik Butz/Wagner Vorlesung Augmented Reality SS2005 24.06.2005 Folie 3 Wiederholung: Architekturstile Monolithische Systeme Für einfache Probleme schnell programmiert Aber: nicht wartbar, schwer wieder verwendbar und ungeeignet für Multithreading Komponentenansätze: Schnittstellen in Interface Definition Language (IDL) Komponenten (theoretisch) austauschbar Notation in UML Unterscheidung Komponenten LMU München Medieninformatik Butz/Wagner Vorlesung Augmented Reality SS2005 24.06.2005 Folie 4 Reality - SS 2005 2

Wiederholung: Architekturstile (2) Client/Server Benutzer interagiert nur mit Client Server ist zentrale Instanz (Ausfallrisiko, aber einfache Verwaltung) Sehr große Verbreitung Peer to Peer Jede Komponente ist Client und Server zugleich Passt gut in Idee des Ubiquitous Computing Sehr flexibel und ausfallsicher Aber: hochkomplex LMU München Medieninformatik Butz/Wagner Vorlesung Augmented Reality SS2005 24.06.2005 Folie 5 Wiederholung: Architekturstile (3) Blackboard Tupel werden in gemeinsamem Blackboard abgelegt Abfrage durch partielle Tupel Extrem lose Kopplung Pipe and Filter Datenflussarchitektur Einfache Modellierung Gute Unterstützung von Nebenläufigkeit Aber: keine globale Systemsicht (Filter kennen nur sich selbst) LMU München Medieninformatik Butz/Wagner Vorlesung Augmented Reality SS2005 24.06.2005 Folie 6 Reality - SS 2005 3

Wiederholung: Kommunikationsarten RPC/RMI Scheinbar lokaler Aufruf entfernter Prozeduren/Objekte Sehr enge Kopplung Multiplexing von Nachrichten komplex Events Programme warten auf Events und bearbeiten diese Häufig: Kaskaden Sehr gut für interaktive Anwendungen (GUIs) Problemloses Multiplexing Aber: Eventstaus möglich, schlecht für statusbehaftete Komponenten LMU München Medieninformatik Butz/Wagner Vorlesung Augmented Reality SS2005 24.06.2005 Folie 7 Shared Memory Grundidee: Mehrere Prozesse teilen sich gemeinsamen Speicherbereich Vor allem für sehr breitbandige Übertragungen geeignet (Videodaten!) Analogie zur Blackboard Architektur Beispiele: Multithreading: mehrere Threads greifen auf gemeinsamen Speicher zu Parallelrechner (SMP): mehrere CPUs greifen auf gemeinsamen Speicher zu LMU München Medieninformatik Butz/Wagner Vorlesung Augmented Reality SS2005 24.06.2005 Folie 8 Reality - SS 2005 4

Shared Memory: Bsp. [http://www.csl.mtu.edu/cs4411.ck/www/notes/process/shm/what-is-shm.html] LMU München Medieninformatik Butz/Wagner Vorlesung Augmented Reality SS2005 24.06.2005 Folie 9 Shared Memory: Diskussion Pro: Höchst effizient Quasi beliebige Datengröße Beliebige Daten können ausgetauscht werden Con: Extrem enge Kopplung Nur lokal möglich Synchronisation (z.b. über Semaphore) zwingend nötig LMU München Medieninformatik Butz/Wagner Vorlesung Augmented Reality SS2005 24.06.2005 Folie 10 Reality - SS 2005 5

Streaming-Protokolle Grundidee: Übertrage (zeitsynchronisierten) Datenstrom Einsatz i.a. nur bei Audio/Videodaten sinnvoll Meist verlustbehaftete Übertragung (z.b. über UDP) Beispiele: RTSP (RealTime Streaming Protocol, Kontrollinformationen für eigentliche Streams) RealMedia/RealAudio Windows Media Quicktime (Framework für Vielzahl von Formaten) LMU München Medieninformatik Butz/Wagner Vorlesung Augmented Reality SS2005 24.06.2005 Folie 11 Streaming-Protokolle: Diskussion Pro: Sehr gut für Videodaten geeignet (Bildverarbeitung/ Remote Rendering) Variable Kompression der Daten, je nach Protokoll/Framework Con: I.A. verlustbehaftete, unzuverlässige Übertragung Komplexe Technik LMU München Medieninformatik Butz/Wagner Vorlesung Augmented Reality SS2005 24.06.2005 Folie 12 Reality - SS 2005 6

Beispielsysteme AR Toolkit VRIB/ VARIO Studierstube COTERIE/ Repo-3D LMU München Medieninformatik Butz/Wagner Vorlesung Augmented Reality SS2005 24.06.2005 Folie 13 AR Toolkit Entwickelt am HITLab (Seattle, WA, USA) C-Bibliothek für Windows, Mac OS X, UNIX Bestandteile: Videograbbing (DirectShow, Quicktime, V4L) Markererkennung und -training Hilfsfunktionen für OpenGL-Rendering auf dem Marker Kalibrierungsroutinen LMU München Medieninformatik Butz/Wagner Vorlesung Augmented Reality SS2005 24.06.2005 Folie 14 Reality - SS 2005 7

AR Toolkit: Beispielprogramm arinitcparam(); // init Kameraparameter arginit(); // init Ausgabefenster while (true) { arvideogetimage(); // Bild holen argdrawmode2d(); // für Video See-Through: argdispimage(); // Bild zeichnen ardetectmarker(); // Marker finden argettransmat(); // Trafo Kamera Marker finden argdrawmode3d(); argdraw3dcamera(); glloadmatrixd(); // Trafo K M in OpenGL laden glutsolidteapot(); // Teekanne dort zeichnen } LMU München Medieninformatik Butz/Wagner Vorlesung Augmented Reality SS2005 24.06.2005 Folie 15 AR Toolkit: Beispiele aus dem Praktikum LMU München Medieninformatik Butz/Wagner Vorlesung Augmented Reality SS2005 24.06.2005 Folie 16 Reality - SS 2005 8

AR Toolkit: Diskussion Monolithisches System Läuft auf jedem halbwegs aktuellen Rechner (+ billige Webcam) Fokus auf markerbasiertem Tracking Rendering nur direkt auf Markern genau Neuentwicklung (soon come ): Texturbasiertes Tracking Gut für schnelles Ausprobieren neuer AR-Interaktionen LMU München Medieninformatik Butz/Wagner Vorlesung Augmented Reality SS2005 24.06.2005 Folie 17 VRIB/ VARIO BMBF-Projekt: Virtual Reality Interaktionsbaukasten (u.a. TU Ilmenau, DaimlerChrysler R&D) Ziel: Optimale Unterstützung der Methodik zu Entwurf und Umsetzung von 3D User Interfaces, also Rapid Prototyping von 3D User Interfaces VARIO (Virtual and Augmented Reality Inputs and Outputs) ist verteilte Softwarebasis von VRIB LMU München Medieninformatik Butz/Wagner Vorlesung Augmented Reality SS2005 24.06.2005 Folie 18 Reality - SS 2005 9

VARIO: Architektur [R. Schönfelder, VRIB The Virtual Reality Interaction Toolkit] Datenflussarchitektur (Pipe and Filter), von Interaktionsgerät hin zur Anwendung Zentrale Steuerung durch Central System Manager (CSM) Benutzer rekonfiguriert System zur Laufzeit über GUI für CSM Persistenz durch Speicherung des Systemzustands im XML-Format LMU München Medieninformatik Butz/Wagner Vorlesung Augmented Reality SS2005 24.06.2005 Folie 19 VARIO: Architektur (2) [R. Schönfelder, Der VR-Interaktionsbaukasten] Auf jedem Host kommuniziert ein Daemon mit dem CSM, dieser kann neue Prozesse starten Ein Process Manager kontrolliert je Prozess mehrere Komponenten Kommunikation über XML via TCP (Steuerung) und UDP-Streams (Datenfluss) LMU München Medieninformatik Butz/Wagner Vorlesung Augmented Reality SS2005 24.06.2005 Folie 20 Reality - SS 2005 10

VARIO: Diskussion Zentrale Steuerung erlaubt sehr leichtes Management der Komponenten (GUI) Trotzdem hohe Laufzeiteffizienz durch Datenflussarchitektur mit UDP-Streams Laufzeitrekonfiguration ermöglicht Rapid Prototyping neuer Interaktionsideen Leider nicht öffentlich erhältlich LMU München Medieninformatik Butz/Wagner Vorlesung Augmented Reality SS2005 24.06.2005 Folie 21 Studierstube AR-Framework der TU Wien/Graz (Prof. Schmalstieg) Grundlage: Szenengraphbibliothek Grundidee: Rendering ist wesentlicher Teil jeder AR- Anwendung Anwendungslogik ist in Knoten des Szenegraphen codiert wird bei Traversierung des Graphen automatisch ausgeführt LMU München Medieninformatik Butz/Wagner Vorlesung Augmented Reality SS2005 24.06.2005 Folie 22 Reality - SS 2005 11

Studierstube: Architektur Studierstube Kernel erweitert Open Inventor Szenegraph v.a. durch 3D Widgets Distributed Open Inventor (DIV) sorgt für replizierten Szenengraph auf mehreren Maschinen Applikationen werden als 3D Windows angezeigt; können dynamisch nachgeladen werden Multitasking möglich [Schmalstieg et al., The Studierstube Augmented Reality Project]] LMU München Medieninformatik Butz/Wagner Vorlesung Augmented Reality SS2005 24.06.2005 Folie 23 Studierstube: OpenTracker Problem: wie Tracker anbinden? Erweiterbarkeit, Konfigurierbarkeit Verteilung Rechenbelastung auf mehrere Rechner Daten müssen gefiltert werden (Transformationen, Kombinationen etc.) Lösung: Eigenes Framework OpenTracker Datenflussarchitektur Source Nodes: Anbindung von Hardware Filter Nodes: Transformationen, Kombinationen Sink Nodes: Abliefern der Daten in Szenengraph Persistente Speicherung in XML-Datei LMU München Medieninformatik Butz/Wagner Vorlesung Augmented Reality SS2005 24.06.2005 Folie 24 Reality - SS 2005 12

Stb/OpenTracker: Beispiel [Reitmayr & Schmalstieg, An Open Software Architecture for Virtual Reality Interaction] LMU München Medieninformatik Butz/Wagner Vorlesung Augmented Reality SS2005 24.06.2005 Folie 25 Studierstube: Diskussion Starker Fokus auf Interaktionstechniken für 3D-Umgebungen Besondere Betonung des Renderings Verteilung: Beim Tracking sehr flexibel, aber statisch Für Anwendungen zur Laufzeit möglich, skaliert allerdings nicht besonders gut (Szenengraph wird voll repliziert) Extrem viele Anwendungen und Erweiterungen (u.a. Scripting) Frei erhältlich, auch im Source Code LMU München Medieninformatik Butz/Wagner Vorlesung Augmented Reality SS2005 24.06.2005 Folie 26 Reality - SS 2005 13

COTERIE/ Repo-3D B. MacIntyre, Columbia University, 1996, Columbia Object-oriented Testbed for Exploratory Research in Interactive Environments Cross-Platform Library, Sprache: Modula 3 (Java hat viele der M3-Konzepte übernommen) Scriptsprache: Obliq + Repo (Replicated Obliq) Grundidee: Verteilter Shared Memory Ansatz (ähnlich Blackboard) Objektorientierung und Multithreading als Grundparadigmen (Kapselung) 3D Graphikbibliothek Repo-3D baut auf COTERIE LMU München Medieninformatik Butz/Wagner Vorlesung Augmented Reality SS2005 24.06.2005 Folie 27 COTERIE: Verteilungsarchitektur Hauptproblem: wie stellt man Synchronisation sicher? Sequencer empfängt Event, sobald ein Objekt geändert wird Dann: Replikation des geänderten Objekts, eventuell auch über weitere Sequencer [MacIntyre & Feiner, Language-Level Support for Exploratory Programming of Distributed Virtual Environments] LMU München Medieninformatik Butz/Wagner Vorlesung Augmented Reality SS2005 24.06.2005 Folie 28 Reality - SS 2005 14

Repo-3D: Architektur Repo-3D nutzt COTERIE zur Replikation eines Szenengraphen Aber: nicht gesamter Szenengraph wird repliziert, sog. local variations (z.b. Kameraposition) sind ausgenommen LMU München Medieninformatik Butz/Wagner Vorlesung Augmented Reality SS2005 24.06.2005 Folie 29 COTERIE/ Repo-3D: Diskussion System war seiner Zeit weit voraus Fokus auf Interaktionstechniken, Rapid Prototyping Großer Overhead für Replikation Skaliert nur sehr bedingt LMU München Medieninformatik Butz/Wagner Vorlesung Augmented Reality SS2005 24.06.2005 Folie 30 Reality - SS 2005 15

und nächste Woche Weitere AR-Systeme: DWARF Tinmith Authoring-Umgebungen für 3D/AR: SILK Alice AMIRE DART LMU München Medieninformatik Butz/Wagner Vorlesung Augmented Reality SS2005 24.06.2005 Folie 31 Schönes Wochenende. [Sommerbäder der Stadtwerke München, http://www.swm.de/m-baeder/pages/sommerbaeder.htm] LMU München Medieninformatik Butz/Wagner Vorlesung Augmented Reality SS2005 24.06.2005 Folie 32 Reality - SS 2005 16