Christoffel App Beitragsbild

Christoffelturm – ein AR-Experiment

Mehrere Jahrhunderte prägte der Christoffelturm und seine zehn Meter hohe Figur des heiligen Christophorus das Stadtbild Berns. Nach dem Wandel zur Bundeshauptstadt wurde der Turm Opfer der Stadtentwicklung und 1865 abgerissen.

Heute erinnern nur noch einige Überreste im Untergrund des Bahnhofs Bern an das einst imposante Stadttor. Mit einer AR-App wollten wir den Turm wieder auferstehen lassen.

Mit 415 gegen 411 Stimmen beschlossen die Stimmbürger Berns am 15. Dezember 1864 den Abbruch des Christoffelturms. Es war der Schlussstrich unter einem länger währenden Konflikt. Für die einen stand der Turm der Stadtentwicklung der noch jungen Bundeshauptstadt und ihren neuen Prunkbauten im Weg. Für die anderen war er ein Wahrzeichen des alten Berns.

(Quelle: Christoffel Album, www.e-rara.ch)

Eine exzellente Vorlage also, um mit den Möglichkeiten von Augmented Reality zu experimentieren. Geschichte erlebbar machen, das ist eine der grossen Potenziale dieser Technologie. Wir haben uns zum Ziel gesetzt, den Christoffelturm digital wieder auferstehen zu lassen. Mit unserer App ist es möglich, via Smartphone-Bildschirm den alten Turm an seinem originalen Platz zu betrachten. Ausserdem kann man sich währenddessen über Kopfhörer seine Geschichte erzählen lassen. Quasi ein kleiner «Augmented Reality City Guide».

Android-Nutzer können unsere App selbst ausprobieren. Dazu könnt ihr euch nachfolgende APK-Datei herunterladen und installieren. Um die App zu nutzen muss die Installation aus unbekannten Quellen aktiviert sein (Einstellungen → Sicherheit → unbekannte Quellen).

APK Christoffel App

Alle anderen können sich mit folgendem Video ein Bild der Applikation machen:

(fms)

Kritik
von Pascal Albisser und Nathan Beer

Evaluation & erste Schritte

Nach ersten Recherchen schien Unity das geeignete Werkzeug für unser Vorhaben zu sein. Unity wird vor allem für die Entwicklung von Games eingesetzt. Als grosser Vorteil von Unity gilt die Plattformunabhängigkeit. Einmal entwickelt können Games für alle möglichen Plattformen ausgespielt werden. Desweiteren schienen die beiden Frameworks «Vuforia» und «Kudan AR» für unser Vorhaben geeignet. Beide sind (für Entwickler) frei zugänglich und mit Unity kompatibel.

Um virtuelle Objekte in der realen Welt zu platzieren, gibt es mehrere Möglichkeiten. Am meisten werden «Markers» verwendet, also Bilder, die von der Applikation erkannt werden und auf dem die virtuellen Objekte platziert werden. Mit dieser Methode konnten wir schnell erste Erfolge feiern.


Ein 3D-Modell von Trump projiziert auf einer 20er Note

Mit Markern zu arbeiten, stellte sich für unser Vorhaben allerdings als ungünstig heraus. Diese Methode ist eher für kleine, statische Objekte geeignet. Der Bahnhofplatz in Bern ist weder klein, noch statisch. Somit mussten wir auf die «Markerless»-Methode zurückgreifen. Mit Hilfe von GPS-Daten sollen damit Objekte platziert werden können.

Herausforderungen

Da die Technologie noch jung und einem steten Wandel unterworfen ist, waren Tutorials und Anleitungen eher rar und zudem oft schon überholt. Nachdem wir bereits einiges an Zeit benötigt hatten, um die Entwicklungsumgebung einzurichten und uns darin zurechtzufinden, stiessen wir auf erste Schwierigkeiten.

Zum Beispiel beim Debugging. Da wir Daten vom Smartphone benötigten, konnte die App nicht in der Entwicklungsumgebung getestet werden. Wir mussten jedes Mal die App aufs Handy exportieren und nach draussen gehen. Auf dem Smartphone stand uns zudem keine Entwicklungskonsole zur Verfügung, welche die Fehlersuche erheblich vereinfacht hätte. Dies hat die Entwicklung der App in die Länge gezogen.

Dann waren da verschiedene Probleme mit den GPS-Daten. Zum einen ist GPS eigentlich zu ungenau für unsere Anforderungen. Beim Entwickeln kam es vor, dass wir an Ort und Stelle standen und unsere GPS-Position laut Smartphone im Umkreis von 50 Metern hin und her sprang. Auch im Screencast oben ist zu erkennen, dass der Turm bisweilen hin und her hüpft.

Ferner versteht Unity kein GPS. Das heisst, die GPS-Daten mussten mittels eines komplexen Algorithmus in orthogonale Daten (x,y,z) umgewandelt werden, um den Turm überhaupt an der richtigen Stelle zu platzieren. Zudem mussten wir eruiren, in welche Himmelsrichtung die Smartphone-Kamera gerade zeigt und bei Drehungen die Unity-Welt simultan mitdrehen. Diese Funktionen waren in keinem frei zugänglichen Framework verfügbar und mussten selbst programmiert werden.

Ausblick

Bis zur Veröffentlichung der Applikation in einem App-Store müsste noch einiges getan werden. Die Benutzeroberfläche ist nur rudimentär gestaltet und könnte ein Update vertragen. Dasselbe gilt für das 3D-Objekt des Christoffelturms, das noch ausgearbeitet werden müsste. Zudem könnten der App nach dem gleichen Prinzip weitere Objekte hinzugefügt werden, um etwa einen digitalen Stadtführer zu erstellen.

Programmatisch gäbe es noch ein grosses Problem zu lösen. Die App kann zwar den Turm an der ungefähr richtigen Stelle platzieren, sie erkennt aber nicht, ob etwas zwischen dem Standort des Turms und der Position des Anwenders steht. Im Screencast oben ist das gut zu erkennen, zum Beispiel bei 00:10, als das Tram vorbeifährt.

Die Methode des «Simultaneous localization and mapping» (SLAM) könnte hier Abhilfe schaffen. SLAM ist in verschiedenen Frameworks verfügbar und erstellt in Echtzeit ein 3D-Mesh der Umgebung. Damit ist die Applikation in der Lage, Überlagerungen in der dritten Dimension zu erkennen. SLAM ist noch in einem frühen Entwicklungsstadium und hat sehr hohe Hardware-Anforderungen.

Fazit

Alles in allem haben wir ein manchmal etwas frustrierendes, aber umso lehrreiches Projekt hinter uns. Die Entscheidung, sich auf ein einzelnes Objekt mit klar umrissenen Anforderungen zu konzentrieren, hat sich im Nachhinein als sehr wertvoll herausgestellt. Trotzdem würden wir in Zukunft ein solches Vorhaben in einem grösseren Team durchführen um den grossen Aufwand besser zu verteilen.

Zuletzt bleibt uns noch einen Dank auszusprechen. Zum einen an Markus Schürpf, Leiter des Fotobüros Bern für seine Hilfestellungen in historischen Fragen und an Armand Baeriswyl, Leiter des Ressorts Mittelalterarchäologie und Bauforschung des Kantons Bern, welcher uns freundlicherweise ein 3D-Modell des Christoffelturms zur Verfügung gestellt hat. Dieses mussten wir nur noch leicht anpassen, was uns so einiges an Aufwand ersparte.

 

Keine Kommentare

Schreibe einen Kommentar