Přibližná relokalizace

Hrubá relokalizace je funkce, která umožňuje rozsáhlou lokalizaci tím, že poskytuje přibližnou, ale rychlou odpověď na tyto otázky:

  • Kde je teď moje zařízení?
  • Jaký obsah mám pozorovat?

Odpověď není přesná. Je to v této podobě: Jste blízko k těmto ukotvením. Zkuste najít jeden z nich.

Hrubé relokalizace funguje označováním ukotvení s různými čteními snímačů na zařízení, které se později používají k rychlému dotazování. V případě venkovních scénářů jsou data snímačů obvykle polohy GPS (Global Positioning System) zařízení. Pokud gps není dostupný nebo nespolehlivý, například když jste uvnitř, data ze senzorů se skládají z přístupových bodů Wi-Fi a signálů Bluetooth v dosahu. Shromážděná data ze snímačů přispívají k udržování prostorového indexu používaného službou Azure Spatial Anchors k rychlému určení, které kotvy jsou blízko vašeho zařízení.

Kdy použít hrubou relokalizaci

Pokud plánujete zvládnout kotvy v prostoru větším než tenisový kurt, pravděpodobně budete mít prospěch z hrubé relokalizace prostorového indexování.

Rychlé vyhledávání ukotvení, které umožňuje hrubá relokalizace, je navržené tak, aby zjednodušilo vývoj aplikací založených na kolekcích světových kolekcí, například milionů geograficky distribuovaných ukotvení. Složitost prostorového indexování je všechna skrytá, takže se můžete zaměřit na logiku aplikace. Azure Spatial Anchors provádí veškerou složitou práci na pozadí.

Použití hrubé relokalizace

Tady je typický pracovní postup pro vytvoření a dotazování Azure Spatial Anchors s hrubou relokalizací:

  1. Vytvořte a nakonfigurujte zprostředkovatele otisků prstů senzoru tak, aby shromažďovali požadovaná data ze snímačů.
  2. Spusťte relaci Azure Spatial Anchors a vytvořte ukotvení. Protože je povolené otisky prstů snímače, kotvy jsou prostorově indexovány hrubou relokalizací.
  3. Dotazování okolních ukotvení pomocí hrubé relokalizace prostřednictvím vyhrazených kritérií hledání v relaci Spatial Anchors.

Můžete se podívat na jeden z těchto kurzů a nastavit hrubou relokalizaci ve vaší aplikaci:

Senzory a platformy

Dostupnost platformy

Následující typy senzorů lze použít ve spojení s hrubým přemístěním (viz podrobnosti v následující tabulce):

  • Poloha GPS: zeměpisná šířka, zeměpisná délka, výška
  • Síla signálu přístupových bodů Wi-Fi v rozsahu
  • Síla signálu signálu Bluetooth v rozsahu

Tato tabulka shrnuje dostupnost dat snímačů na podporovaných platformách a poskytuje informace, o které byste měli vědět:

HoloLens Android iOS
GPS č.1 Ano4 Ano6, 7
Wi-Fi Ano2 Ano5 Ano7
Signály BLE Ano3 Ano3 Ano3, 7

1 Externí GPS zařízení může být přidruženo k HoloLens. Zpracujte událost UpdatedSensorFingerprintRequired k odeslání čtení GeoLocation, pokud používáte HoloLens s externím gps trackerem.
2 Podporováno rychlostí přibližně jedné kontroly každých 3 sekundy.
3 Omezeno na Eddystone a iBeacon.
4 Podporováno prostřednictvím rozhraní LOCATIONManager API (GPS i NETWORK).
5 Počínaje rozhraním API úrovně 28 jsou kontroly Wi-Fi omezené na čtyři volání každých 2 minut. Od Androidu 10 můžete toto omezení zakázat v nabídce Nastavení pro vývojáře. Další informace najdete v dokumentaci k Androidu.
6 Podporováno přímo prostřednictvím iOSu.
7 Podporuje se nepřímo prostřednictvím rozhraní API CLLocationManager .

Který senzor se má povolit

Volba senzoru závisí na aplikaci, kterou vyvíjíte, a platformě. Tento diagram poskytuje výchozí bod pro určení kombinace senzorů, které můžete povolit v závislosti na scénáři lokalizace:

Diagram that shows enabled sensors for various scenarios.

Následující části poskytují lepší přehled o výhodách a omezeních jednotlivých typů snímačů.

GPS

GPS je možnost přechodu na venkovní scénáře. Při použití GPS ve vaší aplikaci mějte na paměti, že čtení poskytovaná hardwarem jsou obvykle:

  • Asynchronní a nízká frekvence (méně než 1 Hz).
  • Nespolehlivý/hlučný (v průměru, směrodatná odchylka 7 m).

Obecně platí, že operační systém zařízení i spatial anchors budou provádět určité filtrování a extrapolace nezpracovaného GPS signálu při pokusu o zmírnění těchto problémů. Toto dodatečné zpracování vyžaduje čas pro konvergenci, takže pro nejlepší výsledky byste se měli pokusit:

  • V aplikaci co nejdříve vytvořte jednoho poskytovatele otisků prstů ze snímačů.
  • Zachovejte poskytovatele otisků prstů senzoru mezi několika relacemi.
  • Sdílejte poskytovatele otisků prstů senzoru mezi několika relacemi.

Uživatelská zařízení GPS jsou obvykle nepřesná. Studie Zandenbergen a Barbeau (2011) hlásí, že medián přesnosti mobilních telefonů s asistencí GPS (A-GPS) je asi 7 metrů. To je docela velká hodnota, kterou je potřeba ignorovat! Aby služba zohlednila tyto chyby měření, považuje kotvy za rozdělení pravděpodobnosti v prostoru GPS. Takže kotva je oblast vesmíru, která s největší pravděpodobností (s větší než 95% jistotou) obsahuje svou skutečnou, neznámou polohu GPS.

Stejné odůvodnění platí při dotazování pomocí GPS. Zařízení je reprezentováno jako další oblast prostorové spolehlivosti kolem své skutečné neznámé polohy GPS. Zjištění blízkých ukotvení znamená nalezení ukotvení s oblastmi spolehlivosti, které jsou dostatečně blízko oblasti spolehlivosti zařízení, jak je znázorněno tady:

Diagram that illustrates finding anchor candidates by using GPS.

Wi-Fi

Na HoloLensu a Androidu může být síla signálu Wi-Fi dobrým způsobem, jak povolit vnitřní hrubou relokalizaci. Výhodou je potenciální okamžitá dostupnost přístupových bodů Wi-Fi (společné v kancelářských prostorách a nákupních centrech, například) bez nutnosti dalšího nastavení.

Poznámka:

iOS neposkytuje rozhraní API pro čtení síly signálu Wi-Fi, takže se nedá použít k hrubé relokalizaci prostřednictvím Wi-Fi.

Pokud ve své aplikaci používáte Wi-Fi, mějte na paměti, že čtení poskytovaná hardwarem jsou obvykle:

  • Asynchronní a nízká frekvence (méně než 0,1 Hz).
  • Potenciálně se omezilo na úrovni operačního systému.
  • Nespolehlivé/hlučné (v průměru, směrodatná odchylka 3 dBm).

Spatial Anchors se pokusí vytvořit filtrovanou mapu síly signálu Wi-Fi během relace při pokusu o zmírnění těchto problémů. Nejlepších výsledků dosáhnete, když se pokusíte:

  • Vytvořte relaci dobře předtím, než umístíte první ukotvení.
  • Udržujte relaci naživu, dokud je to možné. (To znamená, že vytvořte všechny kotvy a dotazy v jedné relaci.)

Signály Bluetooth

Pečlivé nasazení signálů Bluetooth je dobrým řešením pro rozsáhlé vnitřní hrubé relokalizace scénářů, kdy GPS chybí nebo nepřesné. Je to také jediná vnitřní metoda, která je podporována na všech třech platformách.

Signály jsou obvykle všestranná zařízení, na kterých je možné konfigurovat vše, včetně identifikátorů UUID a adres MAC. Azure Spatial Anchors očekává, že signály budou jednoznačně identifikovány jejich identifikátory UUID. Pokud tuto jedinečnost nezajistíte, pravděpodobně se zobrazí nesprávné výsledky. Nejlepších výsledků dosáhnete:

  • Přiřaďte k signálům jedinečné identifikátory UUID.
  • Nasaďte signály způsobem, který rovnoměrně pokrývá prostor a aby byly alespoň tři signály dosažitelné z libovolného místa v prostoru.
  • Předejte seznam jedinečných identifikátorů UUID signálu poskytovateli otisků prstů snímače.

Rádiové signály, jako jsou signály Bluetooth, jsou ovlivněny překážkami a mohou kolidovat s jinými rádiovými signály. Proto může být obtížné odhadnout, jestli je prostor rovnoměrně pokryt. Pokud chcete zaručit lepší uživatelské prostředí, doporučujeme ručně otestovat pokrytí signálů. Test můžete provést tak, že se budete pohybovat po svém prostoru s kandidátskými zařízeními a aplikací, která zobrazuje Bluetooth v dosahu. Během testování pokrytí se ujistěte, že můžete dosáhnout alespoň tří signálů z libovolné strategické pozice ve vašem prostoru. Příliš mnoho signálů může vést k větší interferenci mezi nimi a nemusí nutně zlepšit přesnost hrubé relokalizace.

Signály Bluetooth obvykle pokrývají 80 metrů, pokud nejsou v prostoru přítomny žádné překážky. Takže pro prostor, který nemá žádné velké překážky, můžete nasadit signály v mřížce vzor každých 40 metrů.

Signál, na který dochází z baterie, ovlivní výsledky, takže nezapomeňte pravidelně monitorovat nasazení pro nízké nebo nenabité baterie.

Azure Spatial Anchors bude sledovat pouze signály Bluetooth, které jsou v seznamu identifikátorů UUID v blízkosti známého signálu. Škodlivé signály naprogramované tak, aby povolovaly identifikátory UUID, ale mohou negativně ovlivnit kvalitu služby. Nejlepších výsledků tedy získáte v kurátorovaných prostorech, kde můžete řídit nasazení signálu.

Přesnost snímačů

Přesnost signálu GPS, a to jak během vytváření ukotvení, tak během dotazů, má významný vliv na sadu vrácených ukotvení. Naproti tomu dotazy založené na Wi-Fi/signálech budou zvažovat všechny kotvy, které mají alespoň jeden přístupový bod nebo signál společné s dotazem. V tom smyslu je výsledek dotazu založeného na Wi-Fi/signálech určen především fyzickým rozsahem přístupových bodů / signálů a překážkami prostředí. V této tabulce se odhaduje očekávaný prostor hledání pro každý typ senzoru:

Senzor Poloměr vyhledávacího prostoru (přibližný) Detaily
GPS 20 m až 30 m Mimo jiné určuje nejistota GPS. Hlášená čísla se odhadují pro medián přesnosti GPS mobilních telefonů s A-GPS: 7 metrů.
Wi-Fi 50 m až 100 m Určuje rozsah bezdrátových přístupových bodů. Závisí na frekvenci, síle vysílače, fyzických obstrukcích, rušení atd.
Signály BLE 70 m Určuje rozsah signálu. Závisí na frekvenci, síle přenosu, fyzických obstrukcích, interferenci atd.