Relocalización general
La relocalización general es una característica que permite la localización a gran escala proporcionando una respuesta aproximada pero rápida a estas preguntas:
- ¿Dónde está ahora mi dispositivo?
- ¿Qué contenido debo observar?
La respuesta no es precisa. Está en este formato: Estás cerca de estos anclajes. Intente localizar uno de ellos.
La relocalización general funciona mediante el etiquetado de los delimitadores con varias lecturas de sensor en el dispositivo que se usan posteriormente para realizar consultas rápidas. En el caso de los escenarios exteriores, los datos del sensor suelen ser la posición GPS (sistema de posición global) del dispositivo. Cuando el GPS no está disponible o no es confiable, por ejemplo cuando se encuentra en interiores, los datos del sensor están formados por los puntos de acceso Wi-Fi y las balizas Bluetooth dentro del alcance. Los datos recopilados del sensor contribuyen al mantenimiento de un índice espacial que Azure Spatial Anchors usa para determinar rápidamente los anclajes que se encuentran cerca del dispositivo.
Cuándo usar la relocalización general
Si tiene previsto controlar anclajes en un espacio mayor que una pista de tenis, probablemente le resultará útil la indexación espacial de relocalización general.
La búsqueda rápida de los anclajes habilitados por la relocalización general está diseñada para simplificar el desarrollo de aplicaciones respaldadas por colecciones a escala mundial de, por ejemplo, millones de anclajes distribuidos geográficamente. La complejidad de la indexación espacial está completamente oculta, lo que le permite centrarse en la lógica de aplicación. Todo el trabajo difícil se realiza en segundo plano mediante Azure Spatial Anchors.
Uso de la relocalización general
El flujo de trabajo típico para crear y consultar Azure Spatial Anchors con la relocalización general es el siguiente:
- Cree y configure un proveedor de huellas digitales de sensor para recopilar los datos de sensor que desee.
- Inicie una sesión de Azure Spatial Anchors y cree anclajes. Como la huella digital de sensores está habilitada, los delimitadores se indexan espacialmente mediante la relocalización general.
- Consulte los anclajes cercanos mediante la relocalización general a través de los criterios de búsqueda dedicados de la sesión de Spatial Anchors.
Puede consultar uno de los siguientes tutoriales para configurar la relocalización general en la aplicación:
- Relocalización general en Unity
- Relocalización general en Objective-C
- Relocalización general en Swift
- Relocalización general en Java
- Relocalización general en C++ y NDK
- Relocalización general en C++ y WinRT
Sensores y plataformas
Disponibilidad de la plataforma
Los siguientes tipos de sensor se pueden usar junto con la reubicación general (consulte los detalles de la tabla siguiente):
- Posición del GPS: latitud, longitud y altitud
- Intensidad de la señal de los puntos de acceso Wi-Fi dentro del alcance.
- Intensidad de la señal de las balizas Bluetooth dentro del alcance.
En esta tabla se resume la disponibilidad de los datos del sensor en las plataformas admitidas y se proporciona información que debe tener en cuenta:
HoloLens | Android | iOS | |
---|---|---|---|
GPS | No1 | Sí4 | Sí6, 7 |
Wi-Fi | Sí2 | Sí5 | Sí7 |
Balizas de BLE | Sí3 | Sí3 | Sí3, 7 |
1 Se puede asociar un dispositivo GPS externo a HoloLens. Controle el evento UpdatedSensorFiprintprintRequired para enviar lecturas de GeoLocation si usa HoloLens con un rastreador GPS externo.
2 Compatible con una frecuencia de aproximadamente un examen cada 3 segundos.
3 Limitado a Eddystone y iBeacon.
4 Compatible con las API LocationManager (tanto GPS como NETWORK).
5 A partir del nivel 28 de API, los exámenes Wi-Fi se limitan a 4 llamadas cada 2 minutos. A partir de Android 10, puede deshabilitar esta limitación en el menú Configuración de desarrollador. Para más información, consulte la documentación de Android.
6 Se admite directamente mediante iOS.
7 Se admite indirectamente mediante las API CLLocationManager.
Qué sensor habilitar
La elección del sensor es específica de la aplicación que se desarrolla y de la plataforma. En el diagrama siguiente se proporciona un punto de partida para determinar la combinación de sensores que se puede habilitar según el escenario de localización:
En las secciones siguientes se proporciona más información sobre las ventajas y las limitaciones de cada tipo de sensor.
GPS
GPS es la opción para escenarios de exteriores. Al usar el GPS en la aplicación, tenga en cuenta que las lecturas que proporciona el hardware suelen ser:
- Frecuencia asincrónica y baja (menos de 1 Hz).
- No confiable/ruidoso (promedio, desviación estándar de 7 m).
En general, tanto el sistema operativo del dispositivo como Spatial Anchors realizarán algo de filtrado y extrapolación en la señal de GPS sin procesar en un intento de mitigar estos problemas. Este procesamiento adicional requiere tiempo para la convergencia, por lo que debe intentar lo siguiente para obtener mejores resultados:
- Crear un proveedor de huellas digitales del sensor lo antes posible en su aplicación.
- Mantener el proveedor de huellas digitales del sensor activo entre varias sesiones.
- Compartir el proveedor de huellas digitales del sensor entre varias sesiones.
Los dispositivos GPS de nivel de consumidor suelen ser imprecisos. Un estudio de Zandenbergen y Barbeau (2011) indica que la precisión media de los teléfonos móviles que tienen GPS asistido (A-GPS) es aproximadamente de 7 metros. Un valor lo suficientemente alto para ignorarlo. Para tener en cuenta estos errores de medición, el servicio trata los anclajes como distribuciones de probabilidad en el espacio GPS. Por tanto, un anclaje es la región del espacio que más probablemente (con más del 95 % de confianza) contiene su posición GPS verdadera y desconocida.
El mismo razonamiento se aplica cuando se realiza una consulta mediante GPS. El dispositivo se representa como otra región de confianza espacial en torno a su verdadera posición GPS desconocida. Descubrir los anclajes cercanos significa encontrar los anclajes con regiones de confianza suficientemente cercanas a la región de confianza del dispositivo, como se ilustra en la imagen siguiente:
Wi-Fi
En HoloLens y Android, la intensidad de la señal Wi-Fi puede ser una opción correcta para habilitar la relocalización general en interiores. La ventaja es la posible disponibilidad inmediata de los puntos de acceso Wi-Fi (habituales, por ejemplo, en oficinas o centros comerciales) sin necesidad de configuración adicional.
Nota:
iOS no proporciona ninguna API para leer la intensidad de la señal Wi-Fi, por lo que no se puede usar para la relocalización general habilitada a través de Wi-Fi.
Al usar Wi-Fi en la aplicación, tenga en cuenta que las lecturas que proporciona el hardware suelen ser:
- Frecuencia asincrónica y baja (menos de 0,1 Hz).
- Posible limitación en el nivel del sistema operativo.
- No confiable/ruidoso (promedio, desviación estándar de 3 dBm).
Spatial Anchors intentará crear un mapa de intensidad de señal Wi-Fi filtrado durante una sesión para intentar mitigar estos problemas. Para obtener unos resultados óptimos, intente lo siguiente:
- Cree la sesión antes de colocar el primer anclaje.
- Mantenga la sesión activa el máximo tiempo posible. (Es decir, cree todos los anclajes y la consulta en una sesión).
Balizas Bluetooth
La implementación adecuada de balizas Bluetooth es una buena solución para escenarios de relocalización general a gran escala en interiores, donde no hay GPS o es inexacto. También es el único método para interiores que se admite en las tres plataformas.
Las balizas suelen ser dispositivos versátiles en los que se puede configurar todo, incluidos los UUID y las direcciones MAC. Azure Spatial Anchors espera que las balizas se identifiquen de forma única por su UUID. Si no garantiza esta unicidad, es probable que obtenga resultados incorrectos. Para obtener los mejores resultados:
- Asigne UUID únicos a las balizas.
- Implemente las balizas de forma que abarquen el espacio de manera uniforme y de modo que se pueda acceder al menos a tres balizas desde cualquier punto del espacio.
- Pase la lista de UUID de baliza únicos al proveedor de huellas digitales del sensor.
Las señales de radio, como las de Bluetooth, se ven afectadas por los obstáculos y pueden interferir con otras. Por tanto, puede ser difícil adivinar si el espacio se abarca de forma uniforme. Para garantizar una mejor experiencia del cliente, se recomienda probar manualmente la cobertura de las balizas. Para realizar una prueba puede recorrer el espacio con los dispositivos candidatos y una aplicación que muestre Bluetooth dentro del alcance. Mientras prueba la cobertura, asegúrese de que puede alcanzar al menos tres balizas desde cualquier posición estratégica del espacio. La configuración de demasiadas balizas puede producir más interferencias entre ellas y quizás no mejore la precisión de la relocalización general.
Las balizas Bluetooth suelen tener una cobertura de 80 metros si no hay obstáculos en el espacio. Por tanto, en el caso de un espacio sin grandes obstáculos, puede implementar balizas en un patrón de cuadrícula cada 40 metros.
Una baliza que se quede sin batería afectará negativamente a los resultados, por lo que debe asegurarse de supervisar la implementación periódicamente en busca de baterías bajas o agotadas.
Azure Spatial Anchors solo realizará un seguimiento de las balizas Bluetooth que se encuentran en la lista de UUID conocidos de proximidad de las balizas. No obstante, las balizas malintencionadas programadas para tener UUID en la lista de permitidos pueden afectar negativamente a la calidad del servicio. Por lo tanto, los mejores resultados se obtendrán en espacios seleccionados en los que pueda controlar la implementación de las balizas.
Precisión del sensor
La precisión de la señal del GPS, tanto durante la creación del anclaje como en las consultas, tiene una gran influencia sobre el conjunto de anclajes devueltos. Por el contrario, las consultas basadas en Wi-Fi o balizas considerarán todos los anclajes que tengan al menos un punto de acceso o una baliza en común con la consulta. En ese sentido, el resultado de una consulta basada en Wi-Fi o balizas estará determinado principalmente por el alcance físico de los puntos de acceso o las balizas y los obstáculos ambientales. En esta tabla se calcula el espacio de búsqueda esperado para cada tipo de sensor:
Sensor | Radio del espacio de búsqueda (aproximado) | Detalles |
---|---|---|
GPS | De 20 a 30 m | Determinado por la incertidumbre del GPS entre otros factores. Los números indicados se estiman para la precisión media del GPS de los teléfonos móviles con A-GPS: 7 metros. |
Wi-Fi | De 50 a 100 m | Determinado por el intervalo de puntos de acceso inalámbrico. Depende de la frecuencia, la intensidad del transmisor, los obstáculos físicos, las interferencias, etc. |
Balizas de BLE | 70 m | Determinado por el intervalo de la señalización. Depende de la frecuencia, la intensidad de transmisión, los obstáculos físicos, las interferencias, etc. |