Ankerbeziehungen und Wegeleitsysteme in Azure Spatial Anchors

Mit Ankerbeziehungen können Sie in einem Bereich verbundene Anker erstellen und dann Fragen wie diese stellen:

  • Befinden sich Anker in der Nähe?
  • Wie weit sind sie entfernt?

Beispiele

Sie können beispielsweise in folgenden Fällen verbundene Anker verwenden:

  • Eine Mitarbeiterin oder ein Mitarbeiter muss eine Aufgabe erledigen, für die in einem Werk verschiedene Orte besucht werden müssen. Das Werk verfügt an jedem Ort über Raumanker. Mit einer HoloLens- oder mobilen App wird der Mitarbeiter von einem Ort zum nächsten geführt. Die App fragt zuerst nach den Raumankern in der Nähe und führt den Mitarbeiter dann zum nächsten Ort. In der App werden die grobe Richtung und die Entfernung bis zum nächsten Ort angezeigt.

  • Ein Museum erstellt Raumanker für Ausstellungsstücke. Zusammen ergeben diese Anker eine einstündige Tour entlang der wichtigsten Ausstellungsstücke des Museums. An einem Ausstellungsstück können Besucher auf ihrem mobilen Gerät die Mixed Reality-App des Museums öffnen. Indem sie die Kamera ihres Smartphones auf den Bereich richten, können sie die allgemeine Richtung und Entfernung zu den anderen Ausstellungsstücken der Tour anzeigen. Wenn ein Benutzer in Richtung eines Ausstellungsstücks geht, aktualisiert die App die allgemeine Richtung und Entfernung, um dem Benutzer den Weg zu weisen.

Einrichten des Wegeleitsystems

In einer App, für die die Sichtrichtung und die Entfernung zwischen Ankern verwendet wird, um Hilfestellung zu leisten, wird ein Wegeleitsystem genutzt. Ein Wegeleitsystem unterscheidet sich von Wegbeschreibungen. Bei Wegbeschreibungen werden Benutzer um Wände herum, durch Türen und über Stockwerke geleitet. Bei Wegeleitsystemen erhält der Benutzer Hinweise zur allgemeinen Richtung, in der das Ziel liegt. Aber auch eigene Rückschlüsse oder Ortskenntnisse erleichtern dem Benutzer die Navigation zum Ziel.

Erstellen Sie zum Entwickeln eines Wegeleitsystems zunächst einen Bereich für die Umgebung, und entwickeln Sie dann eine App, mit der Benutzer interagieren können. Dies sind die grundlegenden Schritte:

  1. Planen Sie den Raum: Entscheiden Sie, welche Orte innerhalb des Raums Teil der Wegsuche sind. In unseren Szenarien kann ggf. der Werksleiter oder der für die Museumstour verantwortliche Mitarbeiter die Entscheidung treffen, welche Orte in das Wegeleitsystem aufgenommen werden sollen.

  2. Verbinden Anker: Besuchen Sie die ausgewählten Orte, um räumliche Verankerungen zu schaffen. Sie können dies in einem Administratormodus der Endbenutzer-App oder in einer völlig anderen App durchführen. Sie verbinden jeden Anker mit den anderen Ankern bzw. setzen sie miteinander in Beziehung. Der Dienst verwaltet diese Beziehungen.

  3. Starten Sie die Endbenutzerumgebung: Benutzer führen die App aus, um einen Anker zu finden, der sich an einem der ausgewählten Speicherorte befinden kann. In Ihrem Gesamtentwurf sollten die Orte bestimmt werden, an denen Benutzer mit der Verwendung der Erfahrung beginnen können.

  4. Finden Sie Naheanker: Nachdem der Benutzer einen Anker gefunden hat, kann die App Naheanker anfordern. Bei diesem Verfahren wird der Bezug des Geräts zu diesen Ankern zurückgegeben.

  5. Leiten Sie den Benutzer: Die App kann die Pose für jeden dieser Anker verwenden, um Anleitungen zur allgemeinen Richtung und Entfernung des Benutzers zu geben. Im Kamerafeed der App können beispielsweise ein Symbol und ein Pfeil angezeigt werden, um die einzelnen potenziellen Ziele darzustellen. Dies ist in der folgenden Abbildung zu sehen.

  6. Verfeinern Sie die Anleitung: Während der Benutzer führt, kann die App regelmäßig eine neue Pose zwischen dem Gerät und dem Zielanker berechnen. Die App optimiert ständig die Hinweise zur Benutzerführung, damit der Benutzer sein Ziel erreicht.

    An example of how an app can show way-finding guidance

Verbinden der Anker

Zum Erstellen eines Wegeleitsystems müssen Sie zunächst die Anker an den gewählten Orten anordnen. In diesem Abschnitt gehen wir davon aus, dass der Administrator der App dies bereits durchgeführt hat.

Verbinden von Ankern in nur einer Sitzung

Verbinden Sie die Anker wie folgt:

  1. Gehen Sie zum ersten Ort, und erstellen Sie Anker A, indem Sie ein CloudSpatialAnchorSession-Element verwenden.
  2. Gehen Sie zum zweiten Ort. Mit der zugrunde liegenden MR/AR-Plattform wird die Bewegung nachverfolgt.
  3. Erstellen Sie Anker B, indem Sie dasselbe CloudSpatialAnchorSession-Element verwenden. Anker A und B sind jetzt verbunden. Diese Beziehung wird vom Spatial Anchors-Dienst verwaltet.
  4. Fahren Sie mit dieser Vorgehensweise für die restlichen Anker fort.

Verbinden von Ankern in mehreren Sitzungen

Sie können Raumanker auch in mehreren Sitzungen verbinden. Mit dieser Methode können Sie zunächst einige Anker und später dann weitere Anker erstellen und verbinden.

Verbinden Sie Anker wie folgt in mehreren Sitzungen:

  1. Die App erstellt einige Anker (Anker A und B) in einem CloudSpatialAnchorSession-Element.
  2. Später findet die App dann einen dieser Anker (z. B. Anker A), indem ein neues CloudSpatialAnchorSession-Element verwendet wird.
  3. Gehen Sie zu einem neuen Ort. Mit der zugrunde liegenden Mixed Reality- oder Augmented Reality-Plattform wird die Bewegung nachverfolgt.
  4. Erstellen Sie Anker C, indem Sie dasselbe CloudSpatialAnchorSession-Element verwenden. Die Anker A, B und C sind jetzt verbunden. Diese Beziehung wird vom Spatial Anchors-Dienst verwaltet.

Sie können dieses Verfahren später für weitere Anker und weitere Sitzungen fortsetzen.

Überprüfen von Ankerverbindungen

Die App kann überprüfen, ob zwei Anker verbunden sind, indem sie eine Abfrage für in der Nähe befindliche Anker durchführt. Hierfür werden NearAnchorCriteria für CloudSpatialAnchorWatcher festgelegt. Wenn das Ergebnis der Abfrage den Zielanker enthält, wird die Ankerverbindung bestätigt. Falls die Anker nicht verbunden sind, kann die App versuchen, die Verbindung wiederherzustellen.

Hier sind einige Gründe angegeben, warum beim Verbinden von Ankern ggf. ein Fehler auftritt:

  • Die zugrunde liegende Mixed Reality- oder Augmented Reality-Plattform konnte die Nachverfolgung während des Verbindungsprozesses für die Anker nicht fortführen.
  • Aufgrund eines Netzwerkfehlers während der Kommunikation mit dem Spatial Anchors-Dienst konnte die Ankerverbindung nicht aufrechterhalten werden.

Zugreifen auf Beispielcode

Informationen zum Zugreifen auf Beispielcode, mit dem veranschaulicht wird, wie Anker verbunden und Abfragen für den Bereich in der Nähe durchgeführt werden, finden Sie auf der Seite mit den Spatial Anchors-Beispiel-Apps.