

Danksagung
Ich danke Herrn Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster, der es mir ermöglichte, dieses hochinteressante und fordernde Diplomarbeitsthema zu bearbeiten und Herrn. Prof. Dr. Thorsten Herfet für das Interesse an meiner Arbeit.
Ein besonders herzliches Dankeschön geht an Dr. Dietmar Dengler vom Deutschen Forschungszentrum für Künstliche Intelligenz (DFKI) für die hervorragende Betreuung meiner Arbeit. In unzähligen Besprechungen gab er mir viele kritische und motivierende Anregungen.
Danke auch an Dipl.-Inform. Patrick Brandmeier für viele sachliche Tipps, an meinen Kommilitonen Daniel für Informationen bei Implementierungsfragen und das Korrekturlesen und an meinen Kommilitonen Sascha für die Einführung in OpenGL.
Ich möchte mich auch bei Dipl-Ing. Elmar Peter und dem LKVK Saarland für die wertvollen Informationen und Hinweise zu GPS und den bestehenden DGPS-Diensten bedanken.
Ganz besonderen Dank verdienen meine Eltern Annelie und Klaus. Sie standen mir stets zur Seite und hatten Sorgen und Freude während des Entstehens dieser Diplomarbeit mit mir geteilt, mir zugehört, mit mir diskutiert und mit äußerster Sorgfalt und Ausdauer Korrektur gelesen. Nicht zuletzt haben sie mein Studium überhaupt erst möglich gemacht.
Vor allem danke ich meiner Lebenspartnerin Jennifer Berger, die die entscheidenden Phasen meines Studiums mit mir gegangen ist, mich immer unterstützt und mir den Rücken frei gehalten hat. Sie leistete nicht nur viele kreative und kritische Anregungen zur Diplomarbeit, sondern vor allem auch immer wieder Aufbauhilfe.
I
Abkürzungsverzeichnis
API BITKOM BKG CAD CDMA CombINe CPU d.h. DFKI DGPS DLL DoD DOP DXF e.V. ECEF EDGE EGNOS engl. FOC GfK ggf. GLU GLUT GPL GPRS
HTML HTTP i.e. ICD IRIS GL ISO J2ME JPEG LKVK max. MEO
II
MIDP MIT MR MSAS NAVCEN NMEA NTRIP OpenGL OS PC PDA RISC RTCA RTCM RTP RTSP SA SBAS SDP SGI SIM SWIG TLM UI UMTS vgl. WAAS WCDMA WGS84 WPS XML z.B.
III
Inhaltsverzeichnis
1 EINLEITUNG 1
1.1 MOTIVATION 1
1.2 ZIELSETZUNG. 2
1.3 VORGEHENSWEISE 3
2 GRUNDLAGEN 4
2.1 EINORDNUNG. 4
2.2 PERVASIVE / UBIQUITOUS COMPUTING. 4
2.3 MOBILE COMPUTING. 6
2.3.1 Definition 6
2.3.2 Symbian OS 7
2.3.3 Smartphones. 8
2.3.4 Series 60. 9
2.3.5 Mobilfunknetze 10
2.4 ORTSSENSITIVE DIENSTE. 11
2.4.1 Definition 11
2.4.2 Positionierungstechniken 11
2.5 WEB SERVICES. 12
2.6 MIXED REALITY 13
2.7 OPENGL. 14
2.8 3D-COMPUTERGRAFIK. 15
2.9 DATENSCHUTZ, PRIVATSPHÄRE UND SICHERHEIT 16
2.10 EXISTIERENDE PROJEKTE. 16
2.10.1 Google Maps 16
2.10.2 Windows Live Local 16
2.10.3 Virtual Graffiti / Lobba 18
3 DER COMBINE PROTOTYP 20
3.1 ZWECK DES PROTOTYPS 20
3.2 ARCHITEKTUR 20
3.2.1 Endgerät. 21
3.2.2 Positionsfinder 23
3.2.3 CombINe-Renderer 24
3.2.4 Streaming Server. 26
3.2.5 CombINe-Server. 26
3.2.6 Datenbank 27
3.2.7 Kommunikationsprotokoll in CombINe. 28
3.2.8 Schnittstellen 31
IV
3.3 AUFBAU DES SZENARIOS. 32
3.3.1 Vorgehensweise. 32
3.3.2 Auslesen der Kartendaten 33
3.3.3 Initialisieren des Szenarios 33
3.3.4 Zeichnen des Szenarios 35
3.3.5 Billboard-Objekte im Szenario. 37
3.3.6 Texturierung. 37
3.3.7 Bewegen im Szenario 38
3.3.8 Interaktion mit dem Szenario 41
3.4 TEXTURIERUNG AM MOBILEN ENDGERÄT. 42
3.5 VIRTUELLE GRAFFITIS 49
3.5.1 Was sind virtuelle Graffitis? 49
3.5.2 Freie virtuelle Graffitis 50
3.5.3 Implementierung der freien virtuellen Graffitis 53
3.5.4 Objekt-Graffitis 56
3.5.5 Implementierung der Objekt-Graffitis. 58
3.6 MIXED-REALITY-FEATURES. 60
3.6.1 Einleitung 60
3.6.2 Look around-Funktion - Rundflug um die eigene Position 60
3.6.3 Picked Item - Objekt rotieren lassen 62
3.6.4 Overview - Überblick 63
3.6.5 Helligkeit 64
3.6.6 Demonstrationsfunktionen 64
3.7 COMMUNITY-DIENSTE. 66
3.8 FILTER. 68
3.8.1 Filter in CombINe 68
3.8.2 Benutzerprofil. 69
3.8.3 Position 69
3.8.4 Zeit 69
3.9 NAVIGATIONSDIENSTE 70
3.9.1 Grundsätzliches zu Navigationsmöglichkeiten in CombINe. 70
3.9.2 Walk 70
3.9.3 Informationen durch Objekte im Szenario 71
4 ANWENDUNGSBEISPIEL 73
5 GPS UND DGPS 75
5.1 GPS 75
5.2 GPS-GRUNDLAGEN 75
5.3 AUFBAU DES GPS 75
5.4 VERMESSUNG DER ERDOBERFLÄCHE. 77
5.5 BESTIMMUNG DER POSITION. 79
V
5.6 DAS SIGNAL. 80
5.7 FEHLERQUELLEN 80
5.8 DGPS 82
5.9 VERFÜGBARE ECHTZEIT-POSITIONIERUNGSDIENSTE. 84
5.9.1 SBAS. 84
5.9.2 SAPOS. 85
5.9.3 Ntrip 85
5.10 ENTWICKLUNG EINES DGPS-SYSTEMS 86
5.11 FUNKTIONSWEISE. 87
5.12 IMPLEMENTIERUNG 88
5.12.1 Aufbau 88
5.12.2 Parser 89
5.12.3 Nachrichten-Parser 90
5.12.4 Nachrichten-Boxen 95
5.12.5 Durchführung der GPS-Korrektur 96
5.13 ERGEBNISSE DER POSITIONSVERBESSERUNG 101
6 ZUSAMMENFASSUNG. 103
7 AUSBLICK 106
VI
Abbildungsverzeichnis
ABBILDUNG 1: THEMATISCHE EINORDNUNG DIESER ARBEIT
ABBILDUNG 2: WELLEN DES COMPUTING
ABBILDUNG 3: MARKTANTEILE DER SMARTPHONE-BETRIEBSSYSTEME 2005
ABBILDUNG 4: VERFÜGBARE EDITIONEN DER SERIES 60
ABBILDUNG 5: ARCHITEKTUR EINES WEB SERVICES
ABBILDUNG 6: 3-TIER-ARCHITEKTUR
ABBILDUNG 7: REALITY-VIRTUALITY CONTINUUM.
ABBILDUNG 8: SCHEMATISCHE DARSTELLUNG DER ZENTRALPROJEKTION
ABBILDUNG 9: 3D-OBJEKTE IN WINDOWS LIVE LOCAL.
ABBILDUNG 10: STREET-SIDE ANSICHT.
ABBILDUNG 11: VIRTUAL GRAFFITI / LOBBA.
ABBILDUNG 12: ARCHITEKTUR VON COMBINE
ABBILDUNG 13: ELEMENTE DER CLIENT-SOFTWARE
ABBILDUNG 14: SCHEMATISCHE DARSTELLUNG DES INTERAKTIONSMENÜS IN COMBINE.
ABBILDUNG 15: GPS-RECEIVER SYSONCHIP
ABBILDUNG 16: AUFBAU EINER SDP-DATEI VON COMBINE.
ABBILDUNG 17: SCHNITTSTELLEN IN COMBINE
ABBILDUNG 18: AUSSCHNITT AUS DER KLASSENSTRUKTUR DER SZENARIODARSTELLUNG.
ABBILDUNG 19: UNTEXTURIERTE GEBÄUDE.
ABBILDUNG 20: PRINZIPSKIZZE DER BILLBOARDS.
ABBILDUNG 21: DIMENSIONEN IN OPENGL
ABBILDUNG 22: ROTATIONEN IN OPENGL
ABBILDUNG 23: TRANSLATIONEN IN OPENGL.
ABBILDUNG 24: TASTENBELEGUNG ZUM MANUELLEN POSITIONIEREN.
ABBILDUNG 25: SCHEMATISCHE DARSTELLUNG DES ABLAUFS DER TEXTURIERUNG.
ABBILDUNG 26: SZENARIO MIT ZU TEXTURIERENDER FLÄCHE.
ABBILDUNG 27: KAMERAANSICHT
ABBILDUNG 28: COMBINE IM TEXTURIERUNGSMODUS.
ABBILDUNG 29: FERTIG AUSGERICHTETER UMRISS.
ABBILDUNG 30: ILLUSTRATION DER HÖHENANPASSUNG.
ABBILDUNG 31: BOUNDING-BOX UND ECKPUNKTE
ABBILDUNG 32: FERTIGE TEXTUR.
ABBILDUNG 33: SZENARIO NACH DER TEXTURIERUNG.
ABBILDUNG 34: KATEGORIEAUSWAHL
ABBILDUNG 35: GRUPPENAUSWAHL.
ABBILDUNG 36: FORMULAR ZUR GRAFFITI-EINGABE.
ABBILDUNG 37: DARSTELLUNG VON FREIEN VIRTUELLEN GRAFFITIS
ABBILDUNG 38: DARSTELLUNG VON MEHREREN GRAFFITIS AN DER GLEICHEN POSITION.
ABBILDUNG 39: ANZEIGE EINES GRAFFITIS
VII
ABBILDUNG 40: ANZEIGE VON ZUSÄTZLICHEN GRAFFITI-DATEN.
ABBILDUNG 41: ERZEUGUNG VON GRAFFITIS AUS DEN DATENBANKEINTRÄGEN.
ABBILDUNG 42: BILLBOARDS DER OBJEKT-GRAFFITIS
ABBILDUNG 43: POSITIONIERUNG EINES OBJEKT-GRAFFITIS AUF EINER HÄUSERFRONT.
ABBILDUNG 44: SZENARIO MIT OBJEKT-GRAFFITI
ABBILDUNG 45: FLUGBAHN UND BLICKRICHTUNG.
ABBILDUNG 46: ILLUSTRATION EINES RUNDFLUGES MIT DER LOOK AROUND-FUNKTION.
ABBILDUNG 47: REALISIERUNG DER KREISBAHN DER LOOK AROUND-FUNKTION
ABBILDUNG 48: AUSSCHNITT DER ROTATION EINES GEBÄUDES
ABBILDUNG 49: ANZEIGE EINES OVERVIEWS MIT HINTERLEGTEM LUFTBILD
ABBILDUNG 50: DEMONSTRATION VERSCHIEDENER HELLIGKEITSSTUFEN DES HORIZONTES
ABBILDUNG 51: VISUALISIERUNG ANDERER BENUTZER.
ABBILDUNG 52: ILLUSTRATION DER DEMONSTRATIONSFUNKTION BUS.
ABBILDUNG 53: VERKNÜPFEN UND DYNAMISCHES MITFÜHREN VON OBJEKTEN.
ABBILDUNG 54: GRUPPEN-AUSWAHLMENÜ.
ABBILDUNG 55: SZENARIENANSICHTEN IN VERSCHIEDENEN GRUPPEN.
ABBILDUNG 56: WECHSELN EINER EINZELNEN TEXTUR
ABBILDUNG 57: SETZEN DES ZEIT-FILTERS.
ABBILDUNG 58: BERECHNUNG DES DREHUNGSWINKELS IN DER WALK-FUNKTION
ABBILDUNG 59: KONTROLL-SEGEMENT DES GPS.
ABBILDUNG 60: ABBILDUNG EINES BLOCK II-GPS-SATELLITEN
ABBILDUNG 61: UMLAUFBAHNEN DER SATELLITEN
ABBILDUNG 62: IDEALE KUGEL, GEOID UND ELLIPSOID
ABBILDUNG 63: POSITIONSBESTIMMUNG MIT 3 SATELLITEN.
ABBILDUNG 64: BRECHUNG DES GPS-SIGNALS DURCH IONOSPHÄRE UND TROPOSSPHÄRE
ABBILDUNG 65: AUFBAU EINES DGPS-SYSTEMS
ABBILDUNG 66: ARCHITEKTUR VON NTRIP
ABBILDUNG 67: TRIMBLE GPS-RECEIVER MIT NTRIP-NUTZUNG ÜBER GPRS
ABBILDUNG 68: SCHEMATISCHER AUFBAU DES ENTWICKELTEN DGPS-SYSTEMS
ABBILDUNG 69: AUSLESEN UND BEREITSTELLEN DER SERVERDATEN.
ABBILDUNG 70: AUFBAU DES TLM UND DES HOW.
ABBILDUNG 71: AUFBAU UND DATENFORMAT DES SUBFRAMES 2.
ABBILDUNG 72: ABWEICHUNG IN LONGITUDINALRICHTUNG IN METERN
ABBILDUNG 73: ABWEICHUNG IN LATITUDINALRICHTUNG IN METERN.
ABBILDUNG 74: ABSOLUTABWEICHUNG IN METERN
VIII
Tabellenverzeichnis
TABELLE 1: NOTWENDIGE POSITIONIERUNGSGENAUIGKEITEN EINIGER ANWENDUNGEN. 12
TABELLE 2: TABELLEN IN DER COMBINE-DATENBANK. 28
TABELLE 3: FORMELN ZUM MANUELLEN BEWEGEN 40
TABELLE 4: FEHLERURSACHEN (TYPISCHE WERTE) 82
TABELLE 5: BINARY NACHRICHT 7 91
TABELLE 6: BINARY NACHRICHT 28 91
TABELLE 7: BINARY NACHRICHT 8 92
TABELLE 8: AUFBAU DER ICD-DATE-NMASKEN 94
TABELLE 9: AUSSCHNITT AUS DEN VERWENDETETEN KONSTANTEN 96
TABELLE 10: ZUSAMMENFASSUNG DER BOX-DATEN 97
IX
1 Einleitung
1.1 Motivation
Tragbare Navigationssysteme werden immer beliebter. So stiegen im vergangenen Jahr die Absatzzahlen in Westeuropa stark an. Dem Marktforschungsinstitut GfK zufolge wurden im Jahre 2005 auf diesem Markt 2 Millionen mobile Navigationsgeräte verkauft. Zwar liegen die Zahlen für 2006 noch nicht vor, laut GfK wird sich diese Zahl mit prognostizierten 5 Millionen verkauften Exemplaren jedoch mehr als verdoppeln. Der Bundesverband Informationswirtschaft, Telekommunikation und neue Medien e.V. (BITKOM) schätzt, dass allein in Deutschland 2006 mehr als eine Million Geräte verkauft wurden (2005: 407.000 Exemplare).
Aktuelle Navigationssysteme sind jedoch primär für die Navigation in Automobilen ausgelegt. Sie sind entsprechend für hohe Geschwindigkeiten geeignet und so konzipiert, dass sie den Benutzer möglichst wenig vom Straßenverkehr ablenken. Das heißt auch, dass Navigationssysteme kaum Interaktion zulassen und keine Mixed Reality Funktionalitäten aufweisen. Entsprechend spärlich ist der Nutzen, den Fußgänger von Navigationssystemen haben, obwohl diese durchaus die Möglichkeit zur Interaktion mit diesem System hätten.
Parallel zu Navigationssystemen erfährt auch die Mobilfunkbranche ein starkes Wachstum. Für fast jeden ist das Handy zu einem alltäglichen Gebrauchsgegenstand geworden, den er ständig mit sich trägt. 2005 gab es in Deutschland über 82 Millionen Mobiltelefone und die Tendenz ist weiter steigend [1]. Sowohl der Funktionsumfang als auch die Leistung moderner Mobiltelefone nimmt dabei ständig zu. Auch die Bandbreite, mit der Daten übertragen werden
können, hat durch Technologien wie GPRS, HSCSD, EDGE und UMTS 1 eine enorme Steigerung erlebt. Deshalb ist es nahe liegend, diese Geräte weit über Telefonie hinaus in unseren Alltag einzubinden.
Besonders vielfältige Einsatzmöglichkeiten bieten sogenannte Smartphones. Sie ermöglichen den Zugriff auf den kompletten Funktionsumfang eines Mobiltelefons in Verbindung mit adäquatem Speicher und entsprechender Rechenleistung. Des Weiteren erlauben sie es, zusätzliche Anwendungen zu installieren.
1 Auf diese Technologien wird in Kapitel 2 näher eingegangen.
1
1 Einleitung
Nutzt man die Konnektivität des Smartphones aus, so ist mithilfe eines mobilen Webservices ein Navigationsdienst für Fußgänger denkbar, der über die Möglichkeiten der Autonavigation hinaus einen ortssensitiven Informationsdienst mit Mixed Reality Charakter realisiert. Dennoch unterliegt ein solcher Dienst für Mobiltelefone vielen Beschränkungen. Insbesondere die begrenzte Displaygröße und Rechenleistung erschweren die Visualisierung und die Interaktionsfähigkeit. Auch Fußgänger-adäquate Karten, etwa von Innenstädten, sind kaum verfügbar.
Ortssensitive Dienste erfordern ein Ortungssystem. Ein Dienst hierzu ist das NAVSTAR Global Positioning System (GPS). Dieses System hat im Außenbereich weltweite Abdeckung und ist frei verfügbar. Durch hohe Stückzahlen ist auch die erforderliche Hardware kostengünstig. Doch das GPS ist für die Dimensionen, in denen sich Fußgänger bewegen, recht ungenau. Deshalb ist eine Verbesserung der Positionierung mittels Differential GPS (DGPS) unter der Verwendung von Standard-Hardware wünschenswert.
1.2 Zielsetzung
Ziel dieser Arbeit ist es, die Realisierbarkeit eines mobilen Webservices zu zeigen, der das community-basierte Administrieren von Informations- und Navigationsdiensten durch ein (D)GPS-basiertes Visualisierungstool für Smartphones ermöglicht.
Der mobile Webservice soll aus Client- und Serverapplikationen bestehen. Die Clientapplikation soll auf einem gängigen Smartphone realisiert werden und über ein (D)GPS-System Informations- und Navigationsdienste ermöglichen. Um eine hohe Realitätsnähe zu erreichen, soll trotz der begrenzten Ressourcen auf dem Endgerät die Visualisierung in 3D erfolgen. Hierbei sollen die Informations- und Navigationsdienste sowie das Szenario interaktiv und vom Endgerät aus administrierbar sein.
Das System soll community-basiert implementiert werden. Das heißt, das System muss mehrere Benutzergruppen erlauben und diesen ermöglichen, Informationen in einen gemeinsamen gruppenspezifischen Datenpool einpflegen und auslesen zu können. Zusätzlich soll der Datenpool über Filterfunktionen einschränkbar sein, damit das System auch bei großen Benutzerzahlen überschaubar bleibt.
2
1 Einleitung
Da eine Positionierung über GPS in urbanem Gebiet mit großen Ungenauigkeiten behaftet ist, soll die Machbarkeit eines DGPS-Systems, das für Smartphones nutzbar ist, gezeigt werden.
Die Umsetzung der entwickelten Lösungen soll mit Standard-Hardware möglich sein.
1.3 Vorgehensweise
Nach der Einführung in Kapitel 1 sollen in Kapitel 2 zunächst eine Einordnung der Thematik sowie eine Beschreibung der Grundlagen und der verwendeten Technologien erfolgen. Am Ende dieses Kapitels wird eine Übersicht über bestehende Projekte gegeben und aufgezeigt, warum diese den gestellten Anforderungen nicht entsprechen.
Kapitel 3 beschreibt die Realisierung der Aufgabenstellung. Hier wird zuerst die entwickelte Gesamt-Architektur beschrieben und daraufhin werden einzelne Teillösungen aufgeführt. Danach werden die integrierten Funktionalitäten und deren Implementierung dargestellt.
In Kapitel 4 folgt ein Anwendungsbeispiel, das exemplarische Einsatzmöglichkeiten für die integrierten Funktionen schildert.
Kapitel 5 zeigt zuerst die Funktionsweise des GPS-Systems auf und erläutert dessen Schwächen. Daraufhin werden bestehende DGPS-Systeme beschrieben und es wird dargelegt, dass zurzeit kein geeignetes System zur Verfügung steht. Schließlich wird die prototypische Implementierung eines DGPS-Systems, das für Mobiltelefone geeignet ist, entwickelt.
Kapitel 6 fasst die Ergebnisse dieser Arbeit zusammen und vergleicht die Ergebnisse aus Kapitel 3 und 5 mit der Zielsetzung in Kapitel 1.
Zuletzt gibt Kapitel 7 einen Ausblick und Anregungen für zukünftige Projekte.
3
2 Grundlagen
2.1 Einordnung
In der IT-Branche erfahren derzeit speziell drei Technologien besonders schnelle Fortschritte: Ubiquitous oder Pervasive Computing, Mobile Computing und Ortssensitive Technologien [2]. Architektur, Technologien und Software, die in dieser Arbeit entwickelt und betrachtet
werden sollen, finden sich in der Schnittmenge CombINe 2 (vgl. Abbildung 1).
Gemäß dem in der Informatik verbreiteten Grundsatz „divide and conquer“ 3 werden im Folgenden zuerst die einzelnen Teil-Technologien erörtert, die für die Bearbeitung der Aufgabenstellung relevant sind (Æ „divide“). Nach den oben aufgeführten Teiltechnologien, werden ab Kapitel 2.5 weitere relevante Technologien diskutiert.
Diese Ausführungen der Teilgebiete sollen die Basis zur Lösung der Aufgabenstellung bilden (Æ „conquer“).
2.2 Pervasive / Ubiquitous Computing
Die Computer-Geschichte wird in der Literatur oftmals in drei Wellen unterteilt [3] (vgl. Abbildung 2). Die erste Welle zeichnete sich dadurch aus, dass viele Personen einen einzigen Computer bedienten, die zweite wird von Personal Computern dominiert und die dritte,
2 CombINe ist der Name des in dieser Arbeit entwickelten Prototyps (vgl. Kapitel 3).
3 Der Ausspruch „teile und herrsche“ oder englisch „divide and conquer“ geht vermutlich auf den französischen König Ludwigs XI. (1461-1483) zurück. Er beschreibt das Prinzip, Uneinigigkeit bei Gegnern zu fördern oder sogar zu verursachen, um so einzelne, kleinere Gruppen leichter besiegen zu können [7].
4
2 Grundlagen
derzeit am stärksten ansteigende Welle zeigt die Tendenz, dass eine Person viele Computer nutzt. Hält dieser Trend an, wird es auf lange Sicht überall Zugang zu Rechenkapazitäten geben [4]. Er kann jedoch durch die Tatsache abgeschwächt werden, dass mit der dritten Welle die Portabilität der Geräte zunimmt, was auch zu einer besseren Ausnutzung der vorhandenen Ressourcen führt, aber nicht unbedingt die Anzahl der Geräte erhöht. Im Zusammenhang mit der dritten Welle werden oft die Begriffe Ubiquitous und Pervasives Computing verwendet, die diesen Umstand beschreiben.
“A few years ago I found myself on a stage at the MIT Media Lab, arguing with Nicholas Negroponte in front of 700 people. Nick was rhapsodizing about a world in which computerized "intelligent agents" will answer our every need. To illustrate Nick's idea, an actor dressed as a butler introduced speakers and entertained the audience with snide remarks. The butler was fun, up to a point, but also distracting and intrusive. Fortunately, Nick was wrong about what to expect from the third wave in computing. The defining words will not be "intelligent" or "agent", but rather "invisible" and "calm" and "connection".”
2 Grundlagen
Pervasives Computing und Ubiquitous Computing sind synonyme Begriffe, wobei der Begriff Pervasive Computing eher im industriellen Umfeld gebräuchlich ist. Der Ausdruck Ubiquitous Computing wurde von oben zitiertem Mark Weiser geprägt. Ubiquitous Computing beschreibt die Interaktion von Nutzern mit Umgebungen, die über Rechen- und Kommunikationsleistungen verfügen. Dabei sollen Computer in die Umwelt integriert sein und nicht als eigenes Objekt gesehen werden. Ubiquitous Computing ist jedoch keine Virtual Reality und kein persönlicher intelligenter Agent [4].
Die große Herausforderung liegt in der Integration von Ubiquitous Computing in die tagtägliche reale Welt. Ziel ist die Erweiterung der realen Welt. Dies sollte unmerklich und im Hintergrund geschehen [4], sodass der Benutzer seine Zeit mit der aktuellen Aufgabenstellung an sich und nicht mit der Bedienung des Computers verbringt.
Das Smartphone gibt dieser abstrakten Idee eine Gestalt [5]. Es unterstützt das oft für Ubiquitous Computing geforderte, kostengünstige Wireless Networking [4] und verkörpert das personifizierte abstrakte Handheld, das oft in den Visionen des Pervasive Computing gefordert wird [5]. Die Smartphone Technologie wird als Resultat der Konvergenz von Mobiltelefonen und PDAs angesehen und ist nach Ravi et al. [5] im Begriff „ubiquitous“, also allgegenwärtig zu werden.
Parallel bewegt sich auch die Software von Desktop Computern in neue unbekannte Territorien [6]. Dies beinhaltet viele neue Herausforderungen. Im Vergleich zu Desktop PCs unterscheidet sich das Erstellen und Verwalten von Software für Ubiquitous Computing [6]. Auch eine schlanke Integration von Diensten ist notwendig, da die Geräte, die typischerweise bei Ubiquitous Computing zu finden sind, eine, im Vergleich zu Desktop-PCs, geringere Leistungsfähigkeit besitzen.
2.3 Mobile Computing
2.3.1 Definition
Unter Mobile Computing 4 versteht man die computerunterstützte Ausübung von Tätigkeiten, die an einem beliebigen variablen oder festen Einsatzort stattfinden [7].
4 engl: mobiles Arbeiten mit einem Computer [7]
6
2 Grundlagen
2.3.2 Symbian OS
Im Jahre 1998 gründete der Softwareentwickler Psion das Unternehmen Symbian zusammen mit vier führenden Mobiltelefonherstellern: Nokia, Ericsson, Motorola und Panasonic. Dieses
Unternehmen entwickelte das Betriebssystem Symbian OS, basierend auf Psion’s EPOC 5 . Symbian OS ist ein robustes Multi-Tasking Betriebssystem und wurde für die besonderen Aspekte von Mobiltelefonen, wie z.B. die limitierte Speichergröße und die begrenzte Geschwindigkeit der CPU entwickelt. Es weist zahlreiche Charakteristika auf, die speziell für ein Mobile Computing Betriebssystem wichtig sind. Einige dieser Charakteristika sind:
x Stabilität und Sicherheit: Ein Systemabsturz kann fatal für den Benutzer und somit für die Akzeptanz des Mobiltelefons sein. Daher muss das Betriebssystem sehr stabil sein [8]. x Energieverbrauch: Da einem mobilen Gerät nur begrenzte Energie zur Verfügung steht, muss das Betriebssystem Ressourcen sparen [8].
x Echtzeit-Betriebssystem: Die Telefoneigenschaften des Gerätes brauchen definierte und möglichst kurze Reaktionszeiten, die denen eines Echtzeitbetriebssystem ähnlich sind [8][9].
x Integrierte Multi-Mode Mobiltelefonie: Symbian OS integriert Rechenleistung mit Mobiltelefonie, unterstützt komplexe Rechenoperationen, moderne Daten- und Telefonieservices auf einem mobilen Endgerät [10]. x Offene Anwendungen, die in unterschiedlichen Anwendungsumgebung:
Programmiersprachen wie z.B. C++ (für Symbian OS), Java oder Python implementiert wurden, können in Symbian OS eingesetzt werden [10].
x Offene Standards und Interoperabilität: Symbian OS bietet Kern-APIs, die in allen Symbian OS Mobiltelefonen verfügbar sind. Dies ermöglicht es, Programme, die unter Verwendung dieses Kernsets geschrieben wurden, auf vielen Telefonen zu verwenden, ohne dass eine Neu-Kompilierung notwendig ist [10].
x Multi-Tasking: Symbian OS unterstützt Multi-Tasking. Die Verwendung sog. active objects erlaubt es, Programme die Multi-Threading erfordern, mit nur einem Thread verschiedene aktive Objekte zu erzeugen [10].
x Vollständig objektorientiert: Symbian OS wurde unter Verwendung objektorientierter Techniken entwickelt und erlaubt objektorientierte Programme [10].
5 Das Betriebssystem EPOC wurde von der Firma Psion von 1989 bis 1998 auf PDAs verwendet.
7
2 Grundlagen
x Flexibles User-Interface: Die graphische Benutzeroberfläche in Symbian OS ist flexibel. So entwickelte Nokia für seine Mobiltelefone eine eigene graphische Benutzeroberfläche mit dem Namen „Avkon“ [10].
2.3.3 Smartphones
Da Software auf Mobiltelefonen, genau wie auf PCs, installiert werden kann, bietet sich aufgrund der Portabilität und Kommunikationsmöglichkeiten dieser Geräte eine Vielzahl neuer Einsatzmöglichkeiten. Mobiltelefone, auf denen Software installiert werden kann,
waren schon 2001 mit Java MIDlets 6 verfügbar. Java läuft jedoch immer auf einer virtuellen Maschine, was Hardware-nahe Funktionen wie SIM-Kartenzugriff oder den Zugriff auf das Adressbuch erschwert. Insbesondere die Kommunikationsschnittstellen wie z.B. das Bluetooth-Interface sind bei Java MIDlets stark eingeschränkt. Aus diesem Grund fanden die ersten Symbian-Telefone Nokia 7650 und Sony Ericsson P800, die 2002 erschienen sind, große Beachtung. Diese Telefone gelten als die ersten erhältlichen Smartphones [11].
Es ist jedoch schwierig zu spezifizieren, welche Charakteristika aus einem Mobiltelefon ein Smartphone machen. Im Allgemeinen besitzen Smartphones ein Farbdisplay, Applikationen wie Email-Funktionalität, Kalender, Adressbuch etc. [11]. Außerdem ist der Funktionsumfang durch die Installation von zusätzlichen Programmen durch den Benutzer erweiterbar. Smartphones besitzen also nicht wie andere Mobiltelefone einen vordefinierten Umfang an Anwendungen, der nur begrenzt z. B. durch Java-Anwendungen erweitert werden kann. Smartphones verfügen meist über ein Betriebssystem eines Drittanbieters. Neben Symbian OS gibt es das Microsoft Windows Powered Smartphone (WPS), Palm OS und andere mehr. Dem britischen Marktforschungsinstitut Canalys zu Folge liegt der Marktanteil von Smartphones mit Symbian OS im Jahre 2005 bei über 60% (vgl. Abbildung 3).
6 Ein Java MIDlet ist ein Java-Programm, das mit der Java 2 Platform, Micro Edition (J2ME) erstellt worden ist und dem Mobile Information Device Profile (MIDP) entspricht.
8
2 Grundlagen
2.3.4 Series 60
Series 60 ist eine von Nokia entwickelte Software-Plattform für Smartphones, die auf Symbian OS aufsetzt. Es ist momentan das am weitesten verbreitete Referenz-Design mit Symbian OS [13]. Die Plattform ist für die Einhandbedienung gedacht und kommt mit dem Ziffernblock, einer Navigationstaste und Sondertasten zur Zeicheneingabe aus [13]. Derzeit sind drei Editionen verfügbar. Die erste Edition erschien im Jahre 2002 und war zugleich die erste Symbian OS-Version.
Die zweite Edition der Series 60 Plattform war erstmal mit dem 2003 erschienenen Nokia 6600 verfügbar. Sie wurde seither um drei Feature-Packs erweitert, die neue Funktionalitäten ermöglichten ohne die Kompatibilität der Edition einzuschränken (vgl. Abbildung 4). Die zurzeit neueste dritte Edition verfügt, neben den Funktionen der zweiten, über verbesserte Funktionalitäten für Firmen und für Multimedia. Eine neue Plattformarchitektur soll hierbei zu mehr Flexibilität und höherer Sicherheit führen (vgl. Abbildung 4).
9
2 Grundlagen
2.3.5 Mobilfunknetze
Der Begriff Mobilfunknetz bezeichnet die technische Infrastruktur, um Sprache und Daten bidirektional zwischen einem Sender und einem Empfänger zu übertragen. Dies geschieht durch ein wabenartiges Netz von Basisstationen, die über die sogenannte Luftschnittstelle (i.e. Mobilfunk) Kontakt zu Mobiltelefonen (Handys) herstellt. Die Basisstationen sind kabelgebunden mit Funkvermittlungsstellen verbunden, die diese Daten weiter vermitteln.
Die Mobilfunknetze in Deutschland werden in drei Generationen unterteilt:
x Erste Generation (1G): Die erste Generation umfasst das A-Netz (1958/59-1977), B-Netz (1972-1994) und C-Netz (1985-2000) [15]. Diese Netze sind analog, wodurch sie eine geringe Bandbreitenausnutzung und dadurch eine beschränkte Teilnehmerkapazität besitzen.
x Zweite Generation (2G): Mithilfe des digitalen Global System of Mobile Communication (GSM) wird seit 1992 das D-Netz und seit 1993 das E-Netz in Deutschland betrieben. Diese Netze erlauben Neuerungen wie Verbindungsübergaben (Handover) und eine Datenrate von bis zu 9,6 kbit/s. Mithilfe von weiterentwickelten Techniken (oft auch als 2,5G bezeichnet) wie High Speed Circuit Switched Data (HSCSD) oder General Packet Radio Service (GPRS) ist es auf GSM-Basis möglich, höhere Bandbreiten bei der Datenübertragung zu erreichen. Das Enhanced Data Rates for GSM Evolution (EDGE) ist eine Weiterentwicklung von GPRS und HSCSD. Es erlaubt Bandbreiten bis zu 384 kbit/s und wird als Vorstufe / Ergänzung zur dritten Generation des Mobilfunks gesehen [15]. x Dritte Generation (3G): Der seit 2003 schrittweise eingeführte Standard für 3G ist in Europa das Universal Mobile Telecommunication System (UMTS). Es ist datenoptimiert und ermöglicht Übertragungsraten bis 2 Mbits/s [7]. Auch Kapazitätsprobleme bei der Sprachübertragung sollen durch UMTS vermindert werden.
In Deutschland werden zurzeit Mobilfunknetze der zweiten und dritten Generation betrieben. Das C-Netz wurde als letztes der ersten Generation 2000 abgeschaltet.
10
2 Grundlagen
2.4 Ortssensitive Dienste
2.4.1 Definition
Der stetige Fortschritt in der kabellosen Kommunikation und in den Positionierungstechnologien machen Ortssensitive Dienste möglich. Viele neue Anwendungen für diese Technik stehen kurz vor dem Durchbruch. Zur Begriffsklärung ist im Folgenden die Definition der International Standardization Organisation (ISO) angeführt:
Ein Ortssensitiver Dienst ist ein “…service, query or process whose return or other property is dependent on the location of the client requesting the service and / or of some other thing, object or person” (ISO TC 211).
Der Begriff Ortssensitive Dienste beschreibt also Anwendungen, die geographische Positionen mit Diensten und Informationen verbinden [16]. Nach einer Studie von Vodaphone kann man bei Ortssensitiven Diensten zwei Typen unterscheiden:
x Aktive Dienste: Der Benutzer initiiert die Positionierung (z.B. finde nächstes … -Anwendungen)
x Passive Dienste: Eine dritte Partei lokalisiert die Position des Ortssensitiven Dienstteilnehmers (z.B. Find-a-Friend Funktionalität)
Als dritte Dimension ergänzen Ortssensitive Dienste die beiden Dimensionen Benutzerprofil und Zeit für kundenspezifische Dienste [17].
2.4.2 Positionierungstechniken
Im Laufe der letzten Jahre wurden viele Systeme zur Positionierung entwickelt [18]. Hierzu existieren mehrere Ansätze mit unterschiedlichen Problemstellungen. Die eigene Position ist eine sehr persönliche und signifikante Information. Deshalb ist sie ein sehr gutes Attribut zur Personalisierung [9] und ein wichtiger Kontextparameter [19]. Beinahe jede Information ist mit einer Position verknüpfbar. Um diese jedoch zu bestimmen, ist ein Positionierungsdienst notwendig. Nach Hightower et al. [18] kann man drei Haupttechniken der Positionierung unterscheiden:
11
2 Grundlagen
x Triangulierung: Triangulierung benutzt die geometrischen Eigenschaften von Dreiecken, um die aktuelle Position zu berechnen. Dabei kann man zwischen Lateration und Angulation unterscheiden. Die Lateration berechnet die Position durch das Messen der Distanz von verschiedenen Referenzpositionen. Angulation ist ähnlich der Lateration, benutzt aber statt der Distanzen die Winkel zu Referenzpositionen [20]. x Proximation: Eine Proximations-Positionierungstechnik bestimmt die „Nähe“ eines Objektes zu einer bekannten Position [20].
x Szenenanalyse: Die Ortsbestimmungstechnik der Szenenanalyse bestimmt die Position durch Beobachtung des Szenarios von einem Betrachtungspunkt. Um die charakteristischen Eigenschaften einer Szene erkennen zu können, muss diese für gewöhnlich vereinfacht werden [20].
Keine dieser Ortsbestimmungstechniken erfüllt die Anforderungen aller Situationen perfekt [21]. Um eine genauere Positionierung durchzuführen, muss ein höherer technischer Aufwand betrieben werden. Deshalb ist es wichtig, die richtige Positionierungstechnik zu wählen und diese so akkurat wie nötig und einfach wie möglich zu halten. Ericsson erforschte diesen Umstand und entwickelte ein Schema für die notwendige Genauigkeit (vgl. Tabelle 1). Einen Überblick über den Stand der Technik der Positionierung wird in Anhang A gegeben.
2.5 Web Services
Nach Eberhart et al. [22] ist ein Web Service eine Schnittstelle für den netzbasierten Zugriff auf eine Anwendungsfunktionalität, die vollständig auf Standard-Internet-Technologien
12
2 Grundlagen
basiert. Dies verdeutlichen die oben genannten Autoren anhand der in Abbildung 5 gezeigten Architektur und definieren: „Ein Web Service unterstützt die direkte Interaktion mit anderen Softwareagenten durch XML-basierte Nachrichten, die über Internetprotokolle ausgetauscht werden.“ [22].
Web Services werden oft als „N-Tier-Anwendungen“ mit N = 2, 3, 4 entwickelt [22]. Jedes „Tier“, d.h. jede Ebene hat eine Aufgabe, wie in Abbildung 6 beispielhaft visualisiert wird. Die Vorteile dieser Architektur liegen in der geringeren Komplexität der einzelnen Teile, in der Verteilung von Implementierungsaufgaben, in der erhöhten Flexibilität bei der Verteilung der einzelnen Aufgaben und in der erleichterten Wartbarkeit und Skalierbarkeit [22].
2.6 Mixed Reality
Der Begriff Mixed Reality bezeichnet Umgebungen, die die reelle, physikalische Welt mit einer virtuellen Welt vermischen [23][24]. Um das gesamte Spektrum an möglichen Konstellationen zwischen Realität und Virtualität zeigen zu können, stellen Milgram et al. [25] eine Skala vor, die sie Reality-Virtuality Continuum nennen (vgl. Abbildung 7). Dabei werden die Begriffe Augmented Reality und Augmented Virtuality anhand des Anteils an realen und virtuellen Daten unterschieden. In diesem Zusammenhang stellt sich in Bezug zu
13
2 Grundlagen
der Themenstellung dieser Arbeit die Frage, ob von virtueller Realität oder von reeller Virtualität ausgegangen werden soll. Um die Problematik differierender Interpretationen zu vermeiden, wird im Folgenden der allgemeine Begriff Mixed-Reality verwendet, der die gegebene Thematik sehr gut umschreibt.
2.7 OpenGL
Die Open Graphics Library OpenGL beschreibt eine Spezifikation für 2D und 3D-Computergrafik [26]. OpenGL ist ein „software interface to graphics hardware“ [27]. Die eigentliche Implementierung des OpenGL-APIs erfolgt jedoch in den Grafikkartentreibern, die dann die entsprechenden Befehle auf der Grafikkarte ausführen. Das Standard-API von OpenGL enthält etwa 250 Befehle zur Darstellung von 3D-Szenen in Echtzeit.
Entstanden ist OpenGL 1992 aus dem von Silicon Graphics (SGI) entwickelten IRIS GL 7 , das nur auf spezieller Hardware lauffähig ist.
Eine Alternative zu OpenGL ist DirectX von Microsoft [28]. DirectX unterstützt ab der Version 3.0 die 3D-Funktionalität. Es ermöglicht genau wie OpenGL einen Direktzugriff auf die Hardware der Grafikkarte [28].
Ein zusätzlicher Bestandteil von DirectX ist DirectSound, das Soundeffekte wie Raumklang ermöglicht. Die zum Zeitpunkt der Entstehung dieser Arbeit aktuelle Version ist DirectX 9.0c.
DirectX benötigt jedoch anders als OpenGL einen Rechner mit einem Microsoft Windows-Betriebssystem.
7 Die Integrated Raster Imaging System Graphics Library (IRIS GL) war ein API von Silicon Graphics, das für die Erzeugung von 2D und 3D-Grafiken auf IRIX Workstations entwickelt wurde.
14
2 Grundlagen
2.8 3D-Computergrafik
Ein Raum wird in der Elementargeometrie als „ein sich in drei Dimensionen (Länge, Breite, Höhe) ohne feste Grenzen ausdehnendes Gebiet“ [7] definiert, wobei die Länge auch als Tiefe bezeichnet wird. Um einen Bezug im Raum zu haben, definiert man ein Koordinatensystem und ordnet jeder Dimension eine Achse zu. Bei einem Kartesischen Koordinatensystem stehen diese Achsen senkrecht zueinander. Den Schnittpunkt der Achsen bezeichnet man als Nullpunkt oder Ursprung. Objekte im Raum werden durch Knoten mit drei Koordinaten bestimmt, die die Lage des Knoten im Koordinatensystem eindeutig festlegen.
Um dreidimensionale Objekte auf einem zweidimensionalen Bildschirm (z.B. eines Mobiltelefons) darstellen zu können, müssen sie von 3D auf 2D projiziert werden. Zwei Grundtypen der Projektion werden unterschieden, die Parallelprojektion (orthografische Projektion) und die Zentralprojektion (perspektivische Projektion) [27].
Bei der Zentralprojektion laufen alle Projektionsstrahlen zu einem gemeinsamen Projektionszentrum O (vgl. Abbildung 8). Dabei schneiden sie auf dem Weg vom abzubildenden Objekt die Bildebene B und geben es dort wieder.
Die Parallelprojektion nimmt ein unendlich weit entferntes Projektionszentrum an, wodurch die Projektionsstrahlen senkrecht zur Bildebene verlaufen.
15
2 Grundlagen
2.9 Datenschutz, Privatsphäre und Sicherheit
Obwohl Datenschutz nicht Thema dieser Arbeit ist, soll erwähnt werden, dass die vorgestellten Technologien wie Mobile Computing und insbesondere Ortssensitive Dienste datenschutzrechtliche Bedenken hervorrufen. Die Übermittlung der eigenen Position ist in Verbindung mit Benutzer-Profilen ein Risiko für die Privatsphäre. Auch Spam-Problematiken und Probleme mit unerwünschter Werbung können in diesem Zusammenhang auftreten.
Als Reaktion auf diese potentiellen Risiken behandelt das Europa-Parlament diese Themen in seiner Directive on Privacy and Electronic Communications [9].
2.10 Existierende Projekte
2.10.1 Google Maps
Google Maps ist ein im Februar 2005 gestarteter Dienst von Google [29]. Er ermöglicht es, geografische Orte, Straßen und Objekte zu suchen, um deren Position dann auf einer Karte oder auf einem Satelliten-/ Luftbild anzuzeigen.
Zur Integration dieser Funktionalitäten in eigene Anwendungen bietet Google Maps ein kostenloses API an, das eine breite Palette an Funktionen bietet. Man benötigt hierzu einen API Key, der nach einer Registrierung bei Google kostenlos erhältlich ist. Google Maps bietet zwar eine Handy-Version für mobile Webbrowser an, es besitzt jedoch keine dreidimensionale Darstellung des Szenarios. Es ist nur möglich, eine Position in der Kartenansicht (ggf. mit hinterlegtem Luftbild) zu zeigen. Google Maps ist auch nicht community-basiert und bietet keine direkte Schnittstelle zu Positionierungsdiensten wie GPS.
2.10.2 Windows Live Local
Windows Live Local ist Teil der Windows Live Produkt-Gruppe [30]. Es ist ein Web-basierter Karten-Service, der ähnlich wie Google Maps Landkarten und Satellitenbilder/Luftbilder anbietet. Zudem sind Gebäude von ausgewählten Städten texturiert und in 3D verfügbar. Diese Technologie demonstriert Live Local anhand einiger, in der Karte ausmodellierter, 3D-Objekte (vgl. Abbildung 9). Die Anzahl an modellierten Objekten ist jedoch sehr beschränkt und der Aufwand, diese zu erstellen, ist sehr hoch. Zu Live Local existiert eine Version für den Browser von Mobiltelefonen. Dieser erlaubt jedoch keine 3D-Darstellung. Das System ist auch nicht community-basiert und hat keine integrierte Positionierungsschnittstelle.
16
2 Grundlagen
Die Street-side Ansicht bietet einen noch detaillierteren und realistischeren Einblick und ist derzeit als Technologie-Vorschau verfügbar [31]. Hierbei kann ein Automodell auf der Stadtkarte bewegt werden (vgl. Abbildung 10, unten). Ausgehend von dessen Position wird die entsprechende Ansicht (geradeaus, links und rechts) visualisiert (vgl. Abbildung 10, oben).
Die Ansichten bei dieser Technologie-Vorschau basieren auf Video-Sequenzen, aus denen Bilder je nach Position angezeigt werden. Diese Technik bedeutet jedoch, dass die gezeigten Bilder in ihrer Perspektive fest sind und somit nur von der Position, von der sie aufgenommen wurden, mit der realen Ansicht übereinstimmen; es ist keine perspektivische Anpassung möglich. Eine mobile Version dieser Technologie gibt es derzeit nicht. Zudem untersagt Microsoft ausdrücklich die Daten außerhalb von Live Local zu verwenden.
17
Arbeit zitieren:
Jan Conrad, 2007, CombINe, München, GRIN Verlag GmbH
Dieser Text kann über folgende URL aufgerufen und zitiert werden:
Einbetten
DOI
Formatvorlage (Microsoft Word) für eine Diplomarbeit, Masterarbeit, Ha...
Für MS Word 2003 - Update 2010
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 25 Seiten
Formatvorlage (OpenOffice) für eine Diplomarbeit, Masterarbeit, Hausar...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 35 Seiten
Formatvorlage / Vorlage zur Erstellung einer Diplomarbeit, Bachelorarb...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 15 Seiten
Formatvorlage / Vorlage für eine Diplomarbeit / Hausarbeit
Für MS Word 2007 - dotx
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 25 Seiten
Anleitung zum Erstellen schriftlicher Arbeiten: Der Aufbau einer wisse...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 20 Seiten
Erstellen einer schriftlichen Hausarbeit
Vorlagen, Muster, Formulare, Infobroschüren
Hausarbeit, 14 Seiten
Grundtechniken wissenschaftlichen Arbeitens
Bibliografieren - Reden - Schr...
Vorlagen, Muster, Formulare, Infobroschüren
Skript, 46 Seiten
Ratgeber zur Erstellung wissenschaftlicher Arbeiten. Diplomarbeiten - ...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 39 Seiten
Jan Conrad hat einen neuen Text hochgeladen
Professional Augmented Reality Browsers for Smartphones
Programming for junaio, Layar ...
Lester Madden
Emerging Technologies of Augmented Reality: Interfaces and Design
Michael Haller, Mark Billinghurst, Bruce Thomas
0 Kommentare