Relocalização genérica

A relocalização grosseira é um recurso que permite a localização em larga escala, fornecendo uma resposta aproximada, mas rápida, a estas perguntas:

  • Onde está o meu dispositivo agora?
  • Que conteúdo devo observar?

A resposta não é precisa. É desta forma: você está perto dessas âncoras. Tente localizar um deles.

A relocalização grosseira funciona marcando âncoras com várias leituras de sensores no dispositivo que são usadas posteriormente para consultas rápidas. Para cenários externos, os dados do sensor são normalmente a posição GPS (Global Positioning System) do dispositivo. Quando o GPS não está disponível ou não é confiável, como quando você está dentro de casa, os dados do sensor consistem nos pontos de acesso Wi-Fi e beacons Bluetooth no alcance. Os dados do sensor recolhidos contribuem para manter um índice espacial utilizado pelas Âncoras Espaciais do Azure para determinar rapidamente que âncoras estão próximas do seu dispositivo.

Quando usar a relocalização grosseira

Se você está planejando manusear âncoras em um espaço maior do que uma quadra de tênis, provavelmente se beneficiará da indexação espacial de relocalização grosseira.

A rápida pesquisa de âncoras possibilitada pela relocalização grosseira foi projetada para simplificar o desenvolvimento de aplicativos apoiados por coleções em escala mundial de, digamos, milhões de âncoras distribuídas geograficamente. A complexidade da indexação espacial está toda oculta, para que você possa se concentrar na lógica do aplicativo. Todo o trabalho difícil é feito nos bastidores pelo Azure Spatial Anchors.

Usando relocalização grosseira

Aqui está o fluxo de trabalho típico para criar e consultar Âncoras Espaciais do Azure com relocalização grosseira:

  1. Crie e configure um provedor de impressão digital do sensor para coletar os dados do sensor desejados.
  2. Inicie uma sessão de Âncoras Espaciais do Azure e crie as âncoras. Como a impressão digital do sensor está ativada, as âncoras são indexadas espacialmente por relocalização grosseira.
  3. Consulte âncoras ao redor usando a relocalização grosseira por meio dos critérios de pesquisa dedicados na sessão Âncoras espaciais.

Você pode consultar um destes tutoriais para configurar a relocalização grosseira em seu aplicativo:

Sensores e plataformas

Disponibilidade da plataforma

Os seguintes tipos de sensores podem ser usados em conjunto com a realocação grosseira (veja detalhes na tabela abaixo):

  • Posição GPS: latitude, longitude, altitude
  • Intensidade do sinal dos pontos de acesso Wi-Fi ao alcance
  • Intensidade do sinal de beacons Bluetooth no alcance

Esta tabela resume a disponibilidade dos dados do sensor em plataformas suportadas e fornece informações que você deve estar ciente:

HoloLens Android iOS
GPS N.o1 Sim 4 Sim 6, 7
Wi-Fi Sim2 Sim 5 Sim 7
Balizas BLE Sim3 Sim3 Sim 3, 7

1 Um dispositivo GPS externo pode ser associado ao HoloLens. Manipule o evento UpdatedSensorFingerprintRequired para enviar leituras de GeoLocalização se estiver usando o HoloLens com um rastreador GPS externo.
2 Suportado a uma taxa de aproximadamente uma varredura a cada 3 segundos.
3 Limitado a Eddystone e iBeacon.
4 Suportado através de APIs LocationManager (GPS e NETWORK).
5 A partir do nível 28 da API, as verificações de Wi-Fi são limitadas a quatro chamadas a cada 2 minutos. A partir do Android 10, você pode desativar essa limitação no menu Configurações do desenvolvedor . Para obter mais informações, consulte a documentação do Android.
6 Suportado diretamente através do iOS.
7 Suportado indiretamente através de APIs CLLocationManager.

Qual sensor ativar

A escolha do sensor depende da aplicação que está a desenvolver e da plataforma. Este diagrama fornece um ponto de partida para determinar qual combinação de sensores você pode habilitar, dependendo do cenário de localização:

Diagram that shows enabled sensors for various scenarios.

As seções a seguir fornecem mais informações sobre as vantagens e limitações de cada tipo de sensor.

GPS

O GPS é a opção ideal para cenários ao ar livre. Quando você usa GPS em seu aplicativo, tenha em mente que as leituras fornecidas pelo hardware são normalmente:

  • Assíncrono e de baixa frequência (menos de 1 Hz).
  • Não confiável/barulhento (em média, desvio padrão de 7 m).

Em geral, tanto o sistema operacional do dispositivo quanto o Spatial Anchors farão alguma filtragem e extrapolação do sinal GPS bruto na tentativa de mitigar esses problemas. Este processamento extra requer tempo para convergência, portanto, para obter melhores resultados, você deve tentar:

  • Crie um fornecedor de impressões digitais do sensor o mais cedo possível na sua aplicação.
  • Mantenha o provedor de impressão digital do sensor ativo entre várias sessões.
  • Partilhe o fornecedor de impressões digitais do sensor entre várias sessões.

Os dispositivos GPS de nível de consumidor são normalmente imprecisos. Um estudo de Zandenbergen e Barbeau (2011) relata que a precisão média dos telefones celulares que assistiram GPS (A-GPS) é de cerca de 7 metros. Esse é um valor muito grande para ignorar! Para dar conta desses erros de medição, o serviço trata as âncoras como distribuições de probabilidade no espaço GPS. Assim, uma âncora é a região do espaço que muito provavelmente (com mais de 95% de confiança) contém a sua verdadeira e desconhecida posição GPS.

O mesmo raciocínio se aplica quando você consulta usando GPS. O dispositivo é representado como outra região de confiança espacial em torno de sua posição GPS verdadeira e desconhecida. Descobrir âncoras próximas se traduz em encontrar as âncoras com regiões de confiança próximas o suficiente da região de confiança do dispositivo, como ilustrado aqui:

Diagram that illustrates finding anchor candidates by using GPS.

Wi-Fi

No HoloLens e no Android, a intensidade do sinal Wi-Fi pode ser uma boa maneira de permitir a relocalização grosseira interna. A vantagem é a potencial disponibilidade imediata de pontos de acesso Wi-Fi (comuns em espaços de escritórios e centros comerciais, por exemplo) sem necessidade de configuração extra.

Nota

O iOS não fornece uma API para ler a intensidade do sinal Wi-Fi, por isso não pode ser usado para relocalização grosseira ativada via Wi-Fi.

Quando você usa Wi-Fi em seu aplicativo, lembre-se de que as leituras fornecidas pelo hardware são normalmente:

  • Assíncrono e de baixa frequência (menos de 0,1 Hz).
  • Potencialmente limitado no nível do sistema operacional.
  • Não confiável/barulhento (em média, desvio padrão de 3 dBm).

As Âncoras Espaciais tentarão construir um mapa filtrado da intensidade do sinal Wi-Fi durante uma sessão na tentativa de mitigar esses problemas. Para obter melhores resultados, tente:

  • Crie a sessão bem antes de colocar a primeira âncora.
  • Mantenha a sessão ativa pelo maior tempo possível. (Ou seja, crie todas as âncoras e consultas em uma sessão.)

Beacons Bluetooth

A implantação cuidadosa de beacons Bluetooth é uma boa solução para cenários de relocalização grosseira interna em grande escala, onde o GPS está ausente ou impreciso. É também o único método interno que é suportado em todas as três plataformas.

Os beacons são normalmente dispositivos versáteis nos quais tudo pode ser configurado, incluindo UUIDs e endereços MAC. O Azure Spatial Anchors espera que os beacons sejam identificados exclusivamente por seus UUIDs. Se você não garantir essa exclusividade, provavelmente obterá resultados incorretos. Para melhores resultados:

  • Atribua UUIDs exclusivos aos seus beacons.
  • Implante beacons de forma a cobrir seu espaço uniformemente e para que pelo menos três beacons sejam acessíveis de qualquer ponto no espaço.
  • Passe a lista de UUIDs de beacon exclusivos para o provedor de impressão digital do sensor.

Sinais de rádio como os do Bluetooth são afetados por obstáculos e podem interferir com outros sinais de rádio. Por isso, pode ser difícil adivinhar se o seu espaço está uniformemente coberto. Para garantir uma melhor experiência ao cliente, recomendamos que você teste manualmente a cobertura de seus beacons. Você pode realizar um teste andando pelo seu espaço com dispositivos candidatos e um aplicativo que mostra Bluetooth no alcance. Enquanto testa a cobertura, certifique-se de que consegue alcançar pelo menos três balizas a partir de qualquer posição estratégica no seu espaço. Ter muitos beacons pode resultar em mais interferência entre eles e não necessariamente melhorará a precisão da relocalização grosseira.

As balizas Bluetooth normalmente cobrem 80 metros se não houver obstáculos no espaço. Assim, para um espaço que não tem grandes obstáculos, você pode implantar balizas em um padrão de grade a cada 40 metros.

Um beacon que está ficando sem bateria afetará os resultados, portanto, certifique-se de monitorar sua implantação periodicamente para baterias baixas ou descarregadas.

As Âncoras Espaciais do Azure rastrearão apenas beacons Bluetooth que estão na lista de UUIDs de proximidade de beacons conhecidos. Mas beacons maliciosos programados para permitir UUIDs listados podem afetar negativamente a qualidade do serviço. Assim, você obterá os melhores resultados em espaços com curadoria onde poderá controlar a implantação de beacons.

Precisão do sensor

A precisão do sinal GPS, tanto durante a criação da âncora como durante as consultas, tem uma influência significativa no conjunto de âncoras devolvidas. Em contrapartida, as consultas baseadas em Wi-Fi/beacons considerarão todas as âncoras que tenham pelo menos um ponto de acesso/beacon em comum com a consulta. Nesse sentido, o resultado de uma consulta baseada em Wi-Fi/beacons é determinado principalmente pelo alcance físico dos pontos de acesso/beacons e obstruções ambientais. Esta tabela estima o espaço de pesquisa esperado para cada tipo de sensor:

Sensor Raio do espaço de pesquisa (aproximado) Detalhes
GPS 20 m até 30 m Determinado pela incerteza do GPS, entre outros fatores. Os números relatados são estimados para a precisão média do GPS de telefones celulares com A-GPS: 7 metros.
Wi-Fi 50 m até 100 m Determinado pelo alcance dos pontos de acesso sem fio. Depende da frequência, força do transmissor, obstruções físicas, interferência e assim por diante.
Balizas BLE 70 metros Determinado pelo alcance do farol. Depende da frequência, força de transmissão, obstruções físicas, interferência e assim por diante.