Coarse-relokalisatie
Coarse-relokalisatie is een functie die grootschalige lokalisatie mogelijk maakt door een geschatte maar snelle antwoord te bieden op deze vragen:
- Waar is mijn apparaat nu?
- Welke inhoud moet ik observeren?
Het antwoord is niet nauwkeurig. Deze heeft deze vorm: U staat dicht bij deze ankers. Probeer een van deze te vinden.
Coarse-relokalisatie werkt door ankers te taggen met verschillende sensormetingen op het apparaat die later worden gebruikt voor snelle query's. Voor buitenscenario's zijn de sensorgegevens doorgaans de GPS-positie (Global Positioning System) van het apparaat. Wanneer GPS niet beschikbaar of onbetrouwbaar is, zoals wanneer u binnen bent, bestaan de sensorgegevens uit de Wi-Fi-toegangspunten en Bluetooth bakens in het bereik. De verzamelde sensorgegevens dragen bij aan het onderhouden van een ruimtelijke index die door Azure Spatial Anchors om snel te bepalen welke ankers dicht bij uw apparaat liggen.
Wanneer gebruikt u coarse-relokalisatie?
Als u van plan bent om meer dan 35 ruimtelijke ankers te verwerken in een ruimte die groter is dan een parkeerplaats, profiteert u waarschijnlijk van coarse-relokalisatie ruimtelijke indexering.
De snelle opzoekactie van ankers die mogelijk worden gemaakt door coarse-relokalisatie is ontworpen om de ontwikkeling te vereenvoudigen van toepassingen die worden gebruikt door grootschalige verzamelingen van bijvoorbeeld miljoenen geografisch gedistribueerde ankers. De complexiteit van ruimtelijke indexering is verborgen, zodat u zich kunt richten op uw toepassingslogica. Alle moeilijke werkzaamheden worden achter de schermen uitgevoerd door Azure Spatial Anchors.
Coarse-relokalisatie gebruiken
Hier is de gebruikelijke werkstroom voor het maken en opvragen van Azure-Spatial Anchors met coarse-relokalisatie:
- Maak en configureer een sensor vingerafdrukprovider voor het verzamelen van de sensorgegevens die u wilt.
- Start een Azure Spatial Anchors-sessie en maak de ankers. Omdat sensorvingervingerving is ingeschakeld, worden de ankers ruimtelijk geïndexeerd door coarse-relokalisatie.
- Query's uitvoeren rond ankers met behulp van coarse-relokalisatie via de toegewezen zoekcriteria in de Spatial Anchors sessie.
Raadpleeg een van deze zelfstudies voor het instellen van coarse-relokalisatie in uw toepassing:
- Coarse-relokalisatie in Unity
- Coarse-relokalisatie in Objective-C
- Coarse-relokalisatie in Swift
- Coarse-relokalisatie in Java
- Coarse-relokalisatie in C++/NDK
- Coarse-relokalisatie in C++/WinRT
Sensoren en platforms
Platformbeschikbaarheid
U kunt deze typen sensorgegevens naar de ankerservice verzenden:
- GPS-positie: breedtegraad, lengtegraad, hoogte
- Signaalsterkte van Wi-Fi toegangspunten binnen bereik
- Signaalsterkte van Bluetooth bakens binnen bereik
Deze tabel geeft een overzicht van de beschikbaarheid van de sensorgegevens op ondersteunde platforms en bevat informatie die u moet kennen:
| HoloLens | Android | iOS | |
|---|---|---|---|
| GPS | Nr.1 | Ja2 | Ja3 |
| Wi-Fi | Ja4 | Ja5 | No |
| BLE-bakens | Ja6 | Ja6 | Ja6 |
1 Er kan een extern GPS-apparaat worden gekoppeld aan HoloLens. Verhandel de gebeurtenis UpdatedSensorFingerprintRequired om GeoLocation-metingen te verzenden als u HoloLens met een externe GPS-tracker gebruikt.
2 Ondersteund via LocationManager-API's (zowel GPS als NETWORK).
3 Ondersteund via CLLocationManager-API's.
4 Ondersteund met een snelheid van ongeveer één scan per 3 seconden.
5 Vanaf API-niveau 28 worden Wi-Fi scans beperkt tot vier aanroepen om de 2 minuten. Vanaf Android 10 kunt u deze beperking uitschakelen via het menu Instellingen voor ontwikkelaars. Zie de Android-documentatie voor meer informatie.
6 Beperkt tot Moetstone en iBeacon.
Welke sensor moet worden ingeschakeld
De keuze van de sensor is afhankelijk van de toepassing die u ontwikkelt en het platform. Dit diagram biedt een beginpunt om te bepalen welke combinatie van sensoren u kunt inschakelen, afhankelijk van het lokalisatiescenario:

De volgende secties bieden meer inzicht in de voordelen en beperkingen van elk sensortype.
GPS
GPS is de optie voor buitenscenario's. Wanneer u GPS in uw toepassing gebruikt, moet u er rekening mee houden dat de metingen die door de hardware worden geleverd doorgaans zijn:
- Asynchrone en lage frequentie (minder dan 1 Hz).
- Onbetrouwbaar/ruis (gemiddeld 7 m standaarddeviatie).
In het algemeen zullen zowel het besturingssysteem van het apparaat als Spatial Anchors het onbewerkte GPS-signaal filteren en extrapoleren in een poging om deze problemen te verhelpen. Deze extra verwerking vereist tijd voor convergentie, dus voor de beste resultaten moet u het volgende proberen:
- Maak zo vroeg mogelijk één sensor-vingerafdrukprovider in uw toepassing.
- Houd de vingerafdrukprovider van de sensor tussen meerdere sessies in leven.
- Deel de vingerafdrukprovider van de sensor tussen meerdere sessies.
GPS-apparaten op consumentenkwaliteit zijn doorgaans onnauwkeurig. Een onderzoek door Kunnenteen en Barbavan (2011) meldt dat de mediaannauwkeurigheid van mobiele telefoons die GPS (A-GPS) hebben ondersteund, ongeveer 7 meter is. Dat is nogal een grote waarde om te negeren. Om rekening te houden met deze meetfouten, behandelt de service ankers als waarschijnlijkheidsdistributies in GPS-ruimte. Een anker is dus de regio van de ruimte die waarschijnlijk (met meer dan 95% vertrouwen) de werkelijke, onbekende GPS-positie bevat.
Dezelfde redenering is van toepassing wanneer u een query uitvoert met BEHULP van GPS. Het apparaat wordt weergegeven als een andere regio voor ruimtelijk vertrouwen rond de werkelijke, onbekende GPS-positie. Het detecteren van nabijgelegen ankers vertaalt zich in het vinden van de ankers met betrouwbaarheidsregio's die dicht genoeg bij de betrouwbaarheidsregio van het apparaat liggen, zoals hier wordt geïllustreerd:

Wi-Fi
Op HoloLens android kan Wi-Fi signaalsterkte een goede manier zijn om binnen coarse-relokalisatie mogelijk te maken. Het voordeel is de potentiële onmiddellijke beschikbaarheid van Wi-Fi-toegangspunten (bijvoorbeeld in kantoorruimten en winkelruimten) zonder dat er extra instellingen nodig zijn.
Notitie
iOS biedt geen API voor het lezen Wi-Fi signaalsterkte, zodat deze niet kan worden gebruikt voor coarse-relokalisatie die via Wi-Fi is ingeschakeld.
Wanneer u Wi-Fi in uw toepassing gebruikt, moet u er rekening mee houden dat de metingen van de hardware doorgaans het volgende zijn:
- Asynchrone en lage frequentie (minder dan 0,1 Hz).
- Mogelijk beperkt op besturingssysteemniveau.
- Onbetrouwbaar/ruis (gemiddeld 3 dBm standaarddeviatie).
Spatial Anchors probeert een gefilterde kaart van Wi-Fi signaalsterkte te bouwen tijdens een sessie om deze problemen te verhelpen. Probeer het volgende voor de beste resultaten:
- Maak de sessie goed voordat u het eerste anker gaat plaatsen.
- Houd de sessie zo lang mogelijk in leven. (Dat wil zeggen dat alle ankers en query's in één sessie worden uitgevoerd.)
Bluetooth bakens
Een zorgvuldige implementatie van Bluetooth bakens is een goede oplossing voor grootschalige scenario's met coarse-relokalisatie, waarbij GPS niet of onnauwkeurig is. Het is ook de enige indoormethode die op alle drie de platforms wordt ondersteund.
Bakens zijn doorgaans veelzijdige apparaten waarop alles kan worden geconfigureerd, waaronder UUID's en MAC-adressen. Azure Spatial Anchors verwacht dat bakens uniek worden geïdentificeerd door hun UUID's. Als u deze uniekheid niet zeker weet, krijgt u waarschijnlijk onjuiste resultaten. Voor de beste resultaten:
- Wijs unieke UUID's toe aan uw bakens.
- Implementeer bakens op een manier die uw ruimte gelijkmatig bedekt en zodat ten minste drie bakens bereikbaar zijn vanaf elk punt in de ruimte.
- Geef de lijst met unieke baken-UUID's door aan de vingerafdrukprovider van de sensor.
Radiosignalen zoals die van Bluetooth worden beïnvloed door obstakels en kunnen andere radiosignalen verstoren. Het kan dus lastig zijn om te raden of uw ruimte gelijkmatig wordt gedekt. Om een betere klantervaring te garanderen, raden we u aan de dekking van uw bakens handmatig te testen. U kunt een test uitvoeren door rond uw ruimte te lopen met kandidaatapparaten en een toepassing die de Bluetooth in het bereik. Zorg er tijdens het testen van de dekking voor dat u ten minste drie bakens kunt bereiken vanaf elke strategische positie in uw ruimte. Te veel bakens kunnen leiden tot meer interferentie tussen de bakens en verbeteren niet noodzakelijkerwijs de nauwkeurigheid van coarse-relokalisatie.
Bluetooth bakens omvatten doorgaans 80 meters als er geen obstakels in de ruimte aanwezig zijn. Voor een ruimte zonder grote obstakels kunt u dus elke 40 meter bakens in een rasterpatroon implementeren.
Een baken dat bijna vol is, heeft invloed op de resultaten. Zorg er daarom voor dat u uw implementatie regelmatig controleert op lage of niet-geladen accu's.
Azure Spatial Anchors houdt alleen de bakens Bluetooth die zich in de lijst met UUID's met bekende nabijheids-UUID's bevinden. Maar schadelijke bakens die zijn geprogrammeerd om toegestane UUID's te hebben, kunnen een negatieve invloed hebben op de kwaliteit van de service. U krijgt dus de beste resultaten in gecureerde ruimten waar u de implementatie van bakens kunt controleren.
Nauwkeurigheid van de sensor
De nauwkeurigheid van het GPS-signaal, zowel tijdens het maken van ankers als tijdens query's, heeft een aanzienlijke invloed op de set geretourneerde ankers. Query's op basis van Wi-Fi/bakens daarentegen houden rekening met alle ankers die ten minste één toegangspunt/baken gemeenschappelijk hebben met de query. In die zin wordt het resultaat van een query die is gebaseerd op Wi-Fi/bakens voornamelijk bepaald door het fysieke bereik van de toegangspunten/bakens en omgevingsfactoren. Deze tabel schat de verwachte zoekruimte voor elk sensortype:
| Sensor | Radius voor zoekruimte (bij benadering) | Details |
|---|---|---|
| GPS | 20 m tot 30 m | Bepaald door de GPS-onzekerheid, onder andere. De gerapporteerde nummers worden geschat voor de mediaan GPS nauwkeurigheid van mobiele telefoons met A-GPS: 7 meters. |
| Wi-Fi | 50 m tot 100 m | Bepaald door het bereik van de draadloze toegangspunten. Is afhankelijk van de frequentie, de sterkte van de sterkte van de sterkte, de fysieke verstoring, interferentie, en meer. |
| BLE-bakens | 70 m | Bepaald door het bereik van het baken. Is afhankelijk van de frequentie, de overdrachtssterkte, fysieke verstoringen, interferentie, en meer. |