Grov omlokaliseringCoarse relocalization

Grov omlokalisering är en funktion som möjliggör storskalig lokalisering genom att ge ett ungefärligt men snabbt svar på dessa frågor:Coarse relocalization is a feature that enables large-scale localization by providing an approximate but fast answer to these questions:

  • Var är min enhet nu?Where is my device now?
  • Vilket innehåll ska jag observera?What content should I be observing?

Svaret är inte exakt.The response isn't precise. Den är i det här formuläret: Du är nära dessa fästpunkter. Försök att hitta en av dem.It's in this form: You're close to these anchors. Try to locate one of them.

Grov omlokalisering fungerar genom att tagga fästpunkter med olika sensoravläsningar på enheten som senare används för snabba frågor.Coarse relocalization works by tagging anchors with various on-device sensor readings that are later used for fast querying. I utomhusscenarier är sensordata vanligtvis enhetens GPS-position (Global Positioning System).For outdoor scenarios, the sensor data is typically the GPS (Global Positioning System) position of the device. När GPS är otillgängligt eller otillförlitligt, till exempel när du är inomhus, består sensordata av de Wi-Fi åtkomstpunkter och Bluetooth-sändare som är inom räckhåll.When GPS is unavailable or unreliable, like when you're indoors, the sensor data consists of the Wi-Fi access points and Bluetooth beacons in range. Insamlade sensordata bidrar till att upprätthålla ett spatialt index som används av Azure Spatial Anchors för att snabbt avgöra vilka fästpunkter som är nära din enhet.The collected sensor data contributes to maintaining a spatial index used by Azure Spatial Anchors to quickly determine which anchors are close to your device.

När du ska använda grov omlokaliseringWhen to use coarse relocalization

Om du planerar att hantera fler än 35 spatiala fästpunkter i ett utrymme som är större än en områdesbana kan du förmodligen dra nytta av grov omlokalisering av rumslig indexering.If you're planning to handle more than 35 spatial anchors in a space larger than a tennis court, you'll probably benefit from coarse relocalization spatial indexing.

Den snabba sökning av fästpunkter som aktiveras av grov omlokalisering är utformad för att förenkla utvecklingen av program som backas upp av världsskaliga samlingar av till exempel miljontals geo-distribuerade fästpunkter.The fast lookup of anchors enabled by coarse relocalization is designed to simplify the development of applications backed by world-scale collections of, say, millions of geo-distributed anchors. Komplexiteten i spatial indexering är dold, så du kan fokusera på din programlogik.The complexity of spatial indexing is all hidden, so you can focus on your application logic. Allt svårt arbete utförs i bakgrunden av Azure Spatial Anchors.All the difficult work is done behind the scenes by Azure Spatial Anchors.

Använda grov omlokaliseringUsing coarse relocalization

Här är det vanliga arbetsflödet för att skapa och köra frågor mot Azure-Spatial Anchors grov omlokalisering:Here's the typical workflow to create and query Azure Spatial Anchors with coarse relocalization:

  1. Skapa och konfigurera en sensor fingeravtrycksprovider för att samla in de sensordata som du vill ha.Create and configure a sensor fingerprint provider to collect the sensor data that you want.
  2. Starta en Azure Spatial Anchors-session och skapa fästpunkter.Start an Azure Spatial Anchors session and create the anchors. Eftersom fingeravtryckssensorer är aktiverade indexeras fästpunkter rumsligt genom grov omlokalisering.Because sensor fingerprinting is enabled, the anchors are spatially indexed by coarse relocalization.
  3. Fråga kring kringliggande fästpunkter genom att använda grov omlokalisering via de dedikerade sökvillkoren i Spatial Anchors sessionen.Query surrounding anchors by using coarse relocalization via the dedicated search criteria in the Spatial Anchors session.

Du kan gå till någon av dessa självstudier för att konfigurera grov omlokalisering i ditt program:You can refer to one of these tutorials to set up coarse relocalization in your application:

Sensorer och plattformarSensors and platforms

PlattformstillgänglighetPlatform availability

Du kan skicka dessa typer av sensordata till fästpunktstjänsten:You can send these types of sensor data to the anchor service:

  • GPS-position: latitud, longitud, höjdGPS position: latitude, longitude, altitude
  • Signalstyrka för Wi-Fi åtkomstpunkter i intervalletSignal strength of Wi-Fi access points in range
  • Signalstyrka för Bluetooth-sändare inom räckhållSignal strength of Bluetooth beacons in range

I den här tabellen sammanfattas tillgängligheten för sensordata på plattformar som stöds och innehåller information som du bör känna till:This table summarizes the availability of the sensor data on supported platforms and provides information that you should be aware of:

HoloLensHoloLens AndroidAndroid iOSiOS
GpsGPS Nej1No1 Ja2Yes2 Ja3Yes3
Wi-FiWi-Fi Ja4Yes4 Ja5Yes5 NoNo
BLE-sändareBLE beacons Ja6Yes6 Ja6Yes6 Ja6Yes6

1 En extern GPS-enhet kan associeras med HoloLens.1 An external GPS device can be associated with HoloLens. Kontakta vår support om du vill använda HoloLens med en GPS-spårare.Contact our support if you'd be willing to use HoloLens with a GPS tracker.
2 Stöds via LocationManager-API:er (både GPS och NETWORK).2 Supported through LocationManager APIs (both GPS and NETWORK).
3 Stöds via API:er för CLLocationManager.3 Supported through CLLocationManager APIs.
4 Stöds med en hastighet på cirka en genomsökning var tredje sekund.4 Supported at a rate of approximately one scan every 3 seconds.
5 Från och med API-nivå 28 begränsas Wi-Fi till fyra anrop varannan minut.5 Starting with API level 28, Wi-Fi scans are throttled to four calls every 2 minutes. Från och med Android 10 kan du inaktivera den här begränsningen från menyn Inställningar för utvecklare.Starting with Android 10, you can disable this throttling from the Developer settings menu. Mer information finns i Android-dokumentationen.For more information, see the Android documentation.
6 Begränsat till Eddystone och iBeacon.6 Limited to Eddystone and iBeacon.

Vilken sensor som ska aktiverasWhich sensor to enable

Valet av sensor beror på vilket program du utvecklar och plattformen.The choice of sensor depends on the application you're developing and the platform. Det här diagrammet ger en startpunkt för att avgöra vilken kombination av sensorer som du kan aktivera, beroende på lokaliseringsscenariot:This diagram provides a starting point for determining which combination of sensors you can enable, depending on the localization scenario:

Diagram som visar aktiverade sensorer för olika scenarier.

Följande avsnitt innehåller mer information om fördelarna och begränsningarna för varje sensortyp.The following sections provide more insight on the advantages and limitations of each sensor type.

GpsGPS

GPS är alternativet för utomhusscenarier.GPS is the go-to option for outdoor scenarios. När du använder GPS i ditt program bör du tänka på att de avläsningar som tillhandahålls av maskinvaran vanligtvis är:When you use GPS in your application, keep in mind that the readings provided by the hardware are typically:

  • Asynkron och låg frekvens (mindre än 1 Hz).Asynchronous and low frequency (less than 1 Hz).
  • Opålitlig/brus (i genomsnitt 7 m standardavvikelse).Unreliable/noisy (on average, 7-m standard deviation).

I allmänhet kommer både enhetens operativsystem och Spatial Anchors att utföra viss filtrering och extrapolering av DEN råa GPS-signalen i ett försök att åtgärda dessa problem.In general, both the device OS and Spatial Anchors will do some filtering and extrapolation of the raw GPS signal in an attempt to mitigate these problems. Den här extra bearbetningen kräver tid för konvergens, så för bästa resultat bör du försöka att:This extra processing requires time for convergence, so, for best results, you should try to:

  • Skapa en sensor med fingeravtrycksprovider så tidigt som möjligt i ditt program.Create one sensor fingerprint provider as early as possible in your application.
  • Håll sensoravtrycksprovidern vid liv mellan flera sessioner.Keep the sensor fingerprint provider alive between multiple sessions.
  • Dela fingeravtrycksprovidern för sensorn mellan flera sessioner.Share the sensor fingerprint provider between multiple sessions.

GPS-enheter i konsumentklass är vanligtvis inexakta.Consumer-grade GPS devices are typically imprecise. En studie av Zandéen och Barbantal (2011) rapporterar att medianprecisionen för mobiltelefoner som har assisterat GPS (A-GPS) är cirka 7 meter.A study by Zandenbergen and Barbeau (2011) reports that the median accuracy of mobile phones that have assisted GPS (A-GPS) is about 7 meters. Det är ett ganska stort värde att ignorera!That's quite a large value to ignore! För att ta hänsyn till dessa måttfel behandlar tjänsten fästpunkter som sannolikhetsfördelningar i GPS-utrymme.To account for these measurement errors, the service treats anchors as probability distributions in GPS space. Så en fästpunkt är den region av utrymme som troligen (med mer än 95 % konfidens) innehåller sin sanna, okända GPS-position.So an anchor is the region of space that most likely (with more than 95% confidence) contains its true, unknown GPS position.

Samma resonemang gäller när du frågar med hjälp av GPS.The same reasoning applies when you query by using GPS. Enheten representeras som en annan rumslig konfidensregion runt dess sanna, okända GPS-position.The device is represented as another spatial confidence region around its true, unknown GPS position. Identifiering av närliggande fästpunkter innebär att hitta fästpunkter med konfidensregioner som är tillräckligt nära enhetens konfidensregion, vilket illustreras här: Discovering nearby anchors translates to finding the anchors with confidence regions close enough to the device's confidence region, as illustrated here:

Diagram som visar hur du hittar fästpunktskandidater med hjälp av GPS.

Wi-FiWi-Fi

På HoloLens och Android kan Wi-Fi signalstyrka vara ett bra sätt att aktivera grov omlokalisering av inomhus.On HoloLens and Android, Wi-Fi signal strength can be a good way to enable indoor coarse relocalization. Fördelen är den potentiella omedelbara tillgängligheten Wi-Fi åtkomstpunkter (t.ex. kontors- och shoppingcenter) utan att det behövs någon extra konfiguration.The advantage is the potential immediate availability of Wi-Fi access points (common in office spaces and shopping malls, for example) with no extra setup needed.

Anteckning

iOS tillhandahåller inte något API för läsning Wi-Fi signalstyrka, så det kan inte användas för grov omlokalisering som aktiveras via Wi-Fi.iOS doesn't provide an API for reading Wi-Fi signal strength, so it can't be used for coarse relocalization enabled via Wi-Fi.

När du använder Wi-Fi i ditt program bör du tänka på att de avläsningar som tillhandahålls av maskinvaran vanligtvis är:When you use Wi-Fi in your application, keep in mind that the readings provided by the hardware are typically:

  • Asynkron och låg frekvens (mindre än 0,1 Hz).Asynchronous and low frequency (less than 0.1 Hz).
  • Potentiellt begränsat på operativsystemnivå.Potentially throttled at the OS level.
  • Otillförlitlig/brus (i genomsnitt 3 dBm standardavvikelse).Unreliable/noisy (on average, 3-dBm standard deviation).

Spatial Anchors försöker skapa en filtrerad karta Wi-Fi signalstyrka under en session i ett försök att åtgärda dessa problem.Spatial Anchors will try to build a filtered map of Wi-Fi signal strength during a session in an attempt to mitigate these issues. För bästa resultat kan du försöka att:For best results, try to:

  • Skapa sessionen väl innan du placerar den första fästpunkten.Create the session well before you place the first anchor.
  • Håll sessionen vid liv så länge som möjligt.Keep the session alive for as long as possible. (Det vill säga skapa alla fästpunkter och fråga i en session.)(That is, create all anchors and query in one session.)

Bluetooth-sändareBluetooth beacons

Noggrann distribution av Bluetooth-sändare är en bra lösning för storskaliga scenarier med grov omlokalisering av inomhus, där GPS saknas eller är felaktig.Careful deployment of Bluetooth beacons is a good solution for large-scale indoor coarse relocalization scenarios, where GPS is absent or inaccurate. Det är också den enda inomhusmetoden som stöds på alla tre plattformarna.It's also the only indoor method that's supported on all three platforms.

Sändare är vanligtvis mångsidiga enheter där allt kan konfigureras, inklusive UID:er och MAC-adresser.Beacons are typically versatile devices on which everything can be configured, including UUIDs and MAC addresses. Azure Spatial Anchors förväntar sig att sändare identifieras unikt av sina UID:er.Azure Spatial Anchors expects beacons to be uniquely identified by their UUIDs. Om du inte ser till att detta är unikt får du förmodligen felaktiga resultat.If you don't ensure this uniqueness, you'll probably get incorrect results. För bästa resultat:For best results:

  • Tilldela unika UID:er till dina sändare.Assign unique UUIDs to your beacons.
  • Distribuera sändare på ett sätt som täcker ditt utrymme enhetligt och så att minst tre sändare kan nås från valfri punkt i rymden.Deploy beacons in a way that covers your space uniformly and so that at least three beacons are reachable from any point in space.
  • Skicka listan över unika beacon-UID:er till sensorens fingeravtrycksprovider.Pass the list of unique beacon UUIDs to the sensor fingerprint provider.

Radiosignaler som Bluetooth påverkas av hinder och kan störa andra radiosignaler.Radio signals like those of Bluetooth are affected by obstacles and can interfere with other radio signals. Därför kan det vara svårt att gissa om ditt utrymme är enhetligt täckt.So it can be hard to guess whether your space is uniformly covered. För att garantera en bättre kundupplevelse rekommenderar vi att du testar täckningen för dina sändare manuellt.To guarantee a better customer experience, we recommend that you manually test the coverage of your beacons. Du kan utföra ett test genom att gå runt i utrymmet med kandidatenheter och ett program som visar Bluetooth inom räckhåll.You can conduct a test by walking around your space with candidate devices and an application that shows Bluetooth in range. När du testar täckningen bör du se till att du kan nå minst tre sändare från valfri strategisk position i ditt utrymme.While you test the coverage, make sure you can reach at least three beacons from any strategic position in your space. Att ha för många sändare kan resultera i mer interferens mellan dem och förbättrar inte nödvändigtvis noggrannheten för grov omlokalisering.Having too many beacons can result in more interference between them and won't necessarily improve the accuracy of coarse relocalization.

Bluetooth-sändare täcker vanligtvis 80 meter om det inte finns några hinder i utrymmet.Bluetooth beacons typically cover 80 meters if no obstacles are present in the space. Så för ett utrymme som inte har några stora hinder kan du distribuera beacons i ett rutnätsmönster var 40:e meter.So, for a space that has no large obstacles, you could deploy beacons in a grid pattern every 40 meters.

En sändare som börjar få slut på batteri påverkar resultatet, så se till att regelbundet övervaka distributionen för låga eller oladdade batterier.A beacon that's running out of battery will affect the results, so be sure to monitor your deployment periodically for low or uncharged batteries.

Azure Spatial Anchors spårar endast Bluetooth-sändare som finns i listan med kända närhets-UIID:er.Azure Spatial Anchors will track only Bluetooth beacons that are in the known-beacon proximity UUIDs list. Men skadliga sändare som programmerats att ha tillåtna UID:er kan påverka tjänstens kvalitet negativt.But malicious beacons programmed to have allowlisted UUIDs can negatively affect the quality of the service. Därför får du de bästa resultaten i curated spaces där du kan styra distributionen av sändare.So you'll get the best results in curated spaces where you can control beacon deployment.

SensorprecisionSensor accuracy

Precisionen för GPS-signalen, både när fästpunkten skapas och under frågor, har en betydande inverkan på uppsättningen returnerade fästpunkter.The accuracy of the GPS signal, both during anchor creation and during queries, has a significant influence on the set of returned anchors. Frågor som baseras på Wi-Fi/beacons överväger däremot alla fästpunkter som har minst en åtkomstpunkt/-beacon som är gemensam för frågan.In contrast, queries based on Wi-Fi/beacons will consider all anchors that have at least one access point / beacon in common with the query. I det avseendet bestäms resultatet av en fråga som baseras på Wi-Fi/beacons huvudsakligen av det fysiska intervallet för åtkomstpunkter/sändare och miljöfaktorer.In that sense, the result of a query that's based on Wi-Fi/beacons is determined mostly by the physical range of the access points / beacons and environmental obstructions. I den här tabellen beräknas det förväntade sökutrymmet för varje sensortyp:This table estimates the expected search space for each sensor type:

SensorSensor Sökområdesradie (ungefärlig)Search-space radius (approximate) InformationDetails
GpsGPS 20 m till 30 m20 m to 30 m Bestäms av GPS-osäkerheten, bland andra faktorer.Determined by the GPS uncertainty, among other factors. De rapporterade siffrorna beräknas för median-GPS-precisionen för mobiltelefoner med A-GPS: 7 meter.The reported numbers are estimated for the median GPS accuracy of mobile phones with A-GPS: 7 meters.
Wi-FiWi-Fi 50 m till 100 m50 m to 100 m Bestäms av intervallet för de trådlösa åtkomstpunkterna.Determined by the range of the wireless access points. Beror på frekvens, sändarstyrka, fysiska hinder, interferens och så vidare.Depends on the frequency, transmitter strength, physical obstructions, interference, and so on.
BLE-sändareBLE beacons 70 m70 m Bestäms av intervallet för sändaren.Determined by the range of the beacon. Beror på frekvens, överföringsstyrka, fysiska hinder, interferens och så vidare.Depends on the frequency, transmission strength, physical obstructions, interference, and so on.