Share via


Coarse-relokalisatie

Coarse-relokalisatie is een functie die grootschalige lokalisatie mogelijk maakt door een geschat, maar snel antwoord te bieden op deze vragen:

  • Waar is mijn apparaat nu?
  • Welke inhoud moet ik observeren?

Het antwoord is niet precies. Het is in deze vorm: U bent 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 wordt gebruikt om snel te bepalen welke ankers zich dicht bij uw apparaat bevinden.

Wanneer moet u coarse-relokalisatie gebruiken

Als u van plan bent ankers te verwerken in een ruimte die groter is dan een tennisbaan, profiteert u waarschijnlijk van coarse-relokalisatie ruimtelijke indexering.

De snelle zoekactie van ankers die zijn ingeschakeld door coarse-relokalisatie is ontworpen om de ontwikkeling van toepassingen te vereenvoudigen die worden ondersteund door verzamelingen op wereldschaal van bijvoorbeeld miljoenen geo-gedistribueerde ankers. De complexiteit van ruimtelijke indexering is allemaal verborgen, zodat u zich kunt richten op uw toepassingslogica. Al het moeilijke werk wordt achter de schermen uitgevoerd door Azure Spatial Anchors.

Coarse-relokalisatie gebruiken

Hier volgt de gebruikelijke werkstroom voor het maken en opvragen van Azure Spatial Anchors met coarse-relokalisatie:

  1. Maak en configureer een sensorvingerafdrukprovider om de gewenste sensorgegevens te verzamelen.
  2. Start een Azure Spatial Anchors-sessie en maak de ankers. Omdat sensorvingerving is ingeschakeld, worden de ankers ruimtelijk geïndexeerd door coarse-relokalisatie.
  3. Query's uitvoeren op omringende ankers met behulp van coarse-relokalisatie via de toegewezen zoekcriteria in de sessie Spatial Anchors.

Raadpleeg een van deze zelfstudies om coarse-relokalisatie in uw toepassing in te stellen:

Sensoren en platforms

Beschikbaarheid van platform

De volgende typen sensoren kunnen worden gebruikt in combinatie met coarselocatie (zie de details in de onderstaande tabel):

  • GPS-positie: breedtegraad, lengtegraad, hoogte
  • Signaalsterkte van Wi-Fi-toegangspunten in bereik
  • Signaalsterkte van Bluetooth-bakens in bereik

Deze tabel bevat een overzicht van de beschikbaarheid van de sensorgegevens op ondersteunde platforms en bevat informatie die u moet kennen:

HoloLens Android iOS
GPS Geen1 Ja4 Ja6, 7
Wi-Fi Ja2 Ja5 Ja7
BLE-bakens Ja3 Ja3 Ja3, 7

1 Een extern GPS-apparaat kan worden gekoppeld aan HoloLens. Handle the UpdatedSensorFingerprintRequired event to submit GeoLocation readings if you are using HoloLens with an external GPS tracker.
2 Ondersteund met een snelheid van ongeveer één scan elke 3 seconden.
3 Beperkt tot Limitedstone en iBeacon.
4 Ondersteund via LocationManager-API's (zowel GPS als NETWORK).
5 Vanaf API-niveau 28 worden Wi-Fi-scans elke 2 minuten beperkt tot vier aanroepen. Vanaf Android 10 kunt u deze beperking uitschakelen vanuit het menu Instellingen voor ontwikkelaars . Zie de Android-documentatie voor meer informatie.
6 Rechtstreeks ondersteund via iOS.
7 Indirect ondersteund via CLLocationManager-API's .

Welke sensor moet worden ingeschakeld

De keuze van 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:

Diagram that shows enabled sensors for various scenarios.

De volgende secties bieden meer inzicht in de voordelen en beperkingen van elk sensortype.

GPS

GPS is de go-to optie voor outdoor scenario's. Wanneer u GPS in uw toepassing gebruikt, moet u er rekening mee houden dat de metingen die door de hardware worden geleverd doorgaans:

  • Asynchrone en lage frequentie (minder dan 1 Hz).
  • Onbetrouwbaar/lawaaierig (gemiddeld 7 m standaarddeviatie).

Over het algemeen zullen zowel het besturingssysteem van het apparaat als Spatial Anchors een aantal filters en extrapolatie van het onbewerkte GPS-signaal uitvoeren 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 sensorvingerprovider in uw toepassing.
  • Houd de sensorvingerprovider actief tussen meerdere sessies.
  • Deel de vingerafdrukprovider van de sensor tussen meerdere sessies.

GPS-apparaten op consumentenniveau zijn doorgaans onnauwkeurig. Uit een onderzoek van Zandenbergen en Barbecueau (2011) blijkt dat de mediaannauwkeurigheid van mobiele telefoons met ondersteunde GPS (A-GPS) 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 waarschijnlijkheidsverdelingen in GPS-ruimte. Een anker is dus het gebied van ruimte dat waarschijnlijk (met meer dan 95% betrouwbaarheid) de werkelijke, onbekende GPS-positie bevat.

Dezelfde redenering is van toepassing wanneer u query's uitvoert met behulp van GPS. Het apparaat wordt weergegeven als een andere ruimtelijke betrouwbaarheidsregio rond de werkelijke, onbekende GPS-positie. Het detecteren van ankers in de buurt vertaalt zich in het vinden van de ankers met betrouwbaarheidsregio's dicht genoeg bij de betrouwbaarheidsregio van het apparaat, zoals hier wordt geïllustreerd:

Diagram that illustrates finding anchor candidates by using GPS.

Wi-Fi

Op HoloLens en Android kan wi-Fi-signaalsterkte een goede manier zijn om binnen coarse-relokalisatie mogelijk te maken. Het voordeel is de mogelijke onmiddellijke beschikbaarheid van Wi-Fi-toegangspunten (gemeenschappelijk in kantoorruimten en winkelcentra, bijvoorbeeld) zonder extra instellingen nodig te hebben.

Notitie

iOS biedt geen API voor het lezen van Wi-Fi-signaalsterkte, zodat deze niet kan worden gebruikt voor coarse-relokalisatie die is ingeschakeld via Wi-Fi.

Wanneer u Wi-Fi in uw toepassing gebruikt, moet u er rekening mee houden dat de metingen die door de hardware worden verstrekt doorgaans:

  • Asynchrone en lage frequentie (minder dan 0,1 Hz).
  • Mogelijk beperkt op besturingssysteemniveau.
  • Onbetrouwbaar/lawaaierig (gemiddeld 3-dBm standaarddeviatie).

Spatial Anchors probeert tijdens een sessie een gefilterde kaart van Wi-Fi-signaalsterkte te bouwen om deze problemen te verhelpen. Probeer het volgende voor de beste resultaten:

  • Maak de sessie goed voordat u het eerste anker plaatst.
  • Houd de sessie zo lang mogelijk in leven. (Dat wil gezegd, maak alle ankers en query's in één sessie.)

Bluetooth-bakens

Zorgvuldige implementatie van Bluetooth-bakens is een goede oplossing voor grootschalige coarse-relokalisatiescenario's, waarbij GPS afwezig of onnauwkeurig is. Het is ook de enige binnenmethode die wordt ondersteund op alle drie de platforms.

Bakens zijn meestal veelzijdige apparaten waarop alles kan worden geconfigureerd, inclusief UUID's en MAC-adressen. Azure Spatial Anchors verwacht dat bakens uniek worden geïdentificeerd door hun UUID's. Als u niet zeker weet dat deze uniekheid is, 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 uniform bedekt en zodat ten minste drie bakens bereikbaar zijn vanaf elk punt in de ruimte.
  • Geef de lijst met unieke UUID's van het beacon door aan de sensorvingerafdrukprovider.

Radiosignalen zoals die van Bluetooth worden beïnvloed door obstakels en kunnen andere radiosignalen verstoren. Het kan dus moeilijk zijn om te raden of uw ruimte uniform is bedekt. Om een betere klantervaring te garanderen, raden we u aan de dekking van uw bakens handmatig te testen. U kunt een test uitvoeren door uw ruimte te doorlopen met kandidaat-apparaten en een toepassing die Bluetooth binnen bereik weergeeft. Terwijl u de dekking test, moet u ervoor zorgen dat u ten minste drie bakens kunt bereiken vanaf elke strategische positie in uw ruimte. Het hebben van te veel bakens kan leiden tot meer interferentie tussen deze bakens en zal niet noodzakelijkerwijs de nauwkeurigheid van coarse-relokalisatie verbeteren.

Bluetooth-bakens dekken doorgaans 80 meter als er geen obstakels aanwezig zijn in de ruimte. Voor een ruimte die geen grote obstakels heeft, kunt u bakens in een rasterpatroon om de 40 meter implementeren.

Een beacon die bijna leeg is, heeft invloed op de resultaten. Zorg er dus voor dat u uw implementatie regelmatig controleert op lage of niet-opgeladen batterijen.

Azure Spatial Anchors houdt alleen Bluetooth-bakens bij die zich in de UUID's-lijst met bekende beacons bevinden. Maar kwaadwillende bakens die zijn geprogrammeerd om toegestane UUID's toe te staan, kunnen de kwaliteit van de service negatief beïnvloeden. U krijgt dus de beste resultaten in gecureerde ruimten waar u de implementatie van beacons kunt beheren.

Sensornauwkeurigheid

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 houden daarentegen rekening met alle ankers die ten minste één toegangspunt/baken hebben die gemeenschappelijk zijn 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 omgevingsobstructies. In deze tabel wordt de verwachte zoekruimte voor elk sensortype geschat:

Sensor Radius van zoekruimte (bij benadering) Details
GPS 20 m tot 30 m Bepaald door de GPS-onzekerheid, onder andere factoren. De gerapporteerde getallen worden geschat voor de mediaan GPS nauwkeurigheid van mobiele telefoons met A-GPS: 7 meter.
Wi-Fi 50 m tot 100 m Bepaald door het bereik van de draadloze toegangspunten. Hangt af van de frequentie, zendersterkte, fysieke obstakels, interferentie, enzovoort.
BLE-bakens 70 m Bepaald door het bereik van het baken. Hangt af van de frequentie, transmissiesterkte, fysieke obstakels, interferentie, enzovoort.