18
AndAR Android Augmented Reality 19.06.2010 Tobias Domhan Google Wave: http://tinyurl.com/droidcamp-andar-wave Präsentation: http://tinyurl.com/droidcamp-andar-presentation

WISTA: AndAR Android Augmented Reality

Embed Size (px)

DESCRIPTION

AndAR is a project that enables Augmented Reality on the Android platform. The app is supported by the MFG WISTA Programme.

Citation preview

AndARAndroid Augmented Reality

19.06.2010Tobias Domhan

Google Wave: http://tinyurl.com/droidcamp-andar-wavePräsentation: http://tinyurl.com/droidcamp-andar-presentation

Wer bin ich?

• Tobias Domhan

• Student der DHBW Stuttgart, (Behr GmbH & Co. KG)

• Informationstechnik, 6. Semester

Agenda

• Augmented Reality o Allgemein/Definitiono Beispiele

• Vorstellung AndARo Was ist AndAR?o Probleme bei der Entwicklungo AndAR Architektur (falls gewünscht)

• AndAR Model Viewer

Augmented Reality

• keine offizielle Definition vorhanden• Definition von Ronald Azuma(1995):

o 1. Combines real and virtualo 2. Interactive in real timeo 3. Registered in 3-D

• Überlagerung des Kamerabildes mit 3D Objekten in Echtzeit• Einsatzgebiete

o Fußball: Entfernungsangabeno Wohnungsgestaltungo Fertigungsplanungo Medizin

Anwendungsgebiete von ARInnenarchitektur Produktionsplanung

Anwendungsgebiete von ARUnterhaltung

Medizin

2D Augmented Reality auf Android

• Wikitude• mixare

o Open Source (2D) AR Engine• Layar

o Erweiterbar durch eigene Layer

• Alle: GPS basiert

AndAR

• (3D) Augmented Reality Framework für Android• Studienarbeit der DHBW Stuttgart

o gefördert durch die Medien- und Filmgesellschaft BW• Marker basiert• Open Source (GPL), dual-licensed (ARToolworks Inc.)• Nutzt das ARToolkit

o Erkennung der Markero Native library

• kümmert sich um:o Verbindung zur Kamerao Erkennung der Marker (ARToolkit)o Überlagerung von 2D und 3D

• Reine Java OO API

Android Camera API

• Registrierung einer Callback-Methode• Bild als byte Array (YCbCr-Farbmodell)• Allokation eines neues Arrays mit jedem Frame

o Garbage Collector wird häufig aktiv• Angabe einer Surface auf der das Video direkt gezeichnet

werden sollo Nicht erwähnt in der Compatibility Definition ob zwingend

notwendigo Auf manchen Smartphones notwendig

Motorola Droid• Überlagerung mit GLSurface

o Kompatibilität > Overhead

Kombination von 2D und 3D auf Android

• je eine API für 2D und 3D (OpenGL)

• keine offiziell unterstützte Möglichkeit der Kombination

• -> Reine OpenGL Anwendung

• Kamerabild als OpenGL Texturo OpenGL unterstützt nur RGBo Kamerabild im YCbCr-

Farbmodello -> zeitaufwendige

Konvertierung notwendig

Android Versionen

• Verschiedene Android Versionen in Benutzung (versionitis)• Oftmals werden keine Updates von den Herstellern

bereitgestellt• Aufwärtskompatibilität gewährleistet

Abwärtskompatibilität

• AndAR kompatibel zu Android 1.5 - 2.2• Nutzt trotzdem Funktionalität von Android 2.0• Referenz auf unbekannte Methode/Klasse -> VerifyError• Lösung:

o Reflectiono Wrapper Class

• Bsp: Ermitteln der verfügbaren Kameraauflösungen: private static Method getSupportedPreviewSizes = Parameters.class.getMethod("getSupportedPreviewSizes", (Class[]) null);

Object supportedFormats = getSupportedPreviewSizes.invoke(params, (Object[]) null);

AndAR Architektur

AndAR Model Viewer

• Anwendung basierend auf AndAR• Open Source (GPL)• Anzeigen Wavefront obj Modellen

o Integrierte + eigene• Im Android Market verfügbar

AndAR Model Viewer

ARFlashmob

– Dam square, Amsterdam – Ipanema Beach, Rio de Janeiro

AndAR im Android marketthe droid guys...

...I fixed the app, so fix your comments!! oO

??

??

??

Vielen Dank für die Aufmerksamkeit!

Website: http://code.google.com/p/andar/