Posicionamiento Indoor


Por

Los sistemas de posicionamiento son mecanismos que nos permiten detectar la posición de los objetos o eventos en un contexto (en un sistema de coordenadas).

Los podemos diferenciar entre globales y locales.

  • Los globales (Global Positioning Systems o GPS) consisten en una serie de satélites situados alrededor de la Tierra que envían unas señales que permiten al receptor calcular la distancia a la que se encuentran esos satélites y así poder calcular su posición.
  • Los locales (Local Positioning Systems o LPS) nos permiten alcanzar el mismo objetivo de forma similar pero usando mecanismos locales en lugar de satélites (torres de telefonía, puntos de acceso wifi, …) y calculando la posición sólo en una parte del planeta.
Posicionamiento globalPosicionamiento local
Posicionamiento global con satélites (fuente: OpenStreetMap) y local con Wi-Fi (fuente: Wikimedia)

 

Los sistemas de posicionamiento en interiores (Indoor Positioning System o IPS) son casos específicos de LPS cuya particularidad es que tienen por objetivo posicionar objetos o eventos dentro de un espacio no expuesto al aire libre. Los principios son similares en todos los casos, pero sus particularidades los hacen distintos.

En este post hablaremos de los IPS y veremos sus particularidades, tanto a nivel tecnológico como metodológico y funcional.

Posición Y localización

En el ámbito académico de la Geografía, a menudo se habla de localización como uno de los 5 temas principales de la geografía y se diferencia entre localización absoluta y relativa. No existe, sin embargo, un dogma ámpliamente aceptado para diferenciar entre posición y localización.

Sin embargo, en el ámbito de los sistemas de posicionamiento, puede ser útil diferenciar los términos y entender la posición de un objeto o evento como las coordenadas absolutas dentro de un sistema de referencia. Es un mecanismo para ubicar a alguien o algo en valores absolutos dentro de ese sistema.

Por el contrario, podemos entender la localización como la ubicación de ese mismo objeto o evento en relación a otro objeto o evento. Por ejemplo:

 ¿Cuál es tu posición? 2.21ºE, 42.12ºN
 ¿Cuál es tu localización? Delante de la facultad

Entonces, un sistema de posicionamiento sería el mecanismo mediante el cual conseguimos conocer la posición (las coordenadas) de un objeto o evento dentro de un sistema de referencia. Éste será global si el sistema de referencia lo es y local si no lo es.

Asimismo, los servicios basados en la localización (Location Based Services o LBS) serían servicios que nos ofrecen información relativa a nuestra posición.

Enrutamiento y navegación

Una de las aplicaciones del posicionamiento más usadas y conocidas es la gestión de rutas, que responde a preguntas del tipo:

¿Cómo voy desde A hasta B?

A este proceso se le llama cálculo de rutas y en este contexto podemos diferenciar entre enrutamiento (encaminamiento o routing) y navegación.

  • El enrutamiento es la capacidad para conocer cuáles son los segmentos de vía (o camino) que conectan a A con B. El resultado más habitual del enrutamiento es el dibujo en un mapa del camino que lleva de A a B.
  • La navegación, en cambio, son el conjunto de instrucciones que nos permiten seguir ese camino (sigue recto 100 metros, gira a la derecha, …).

El enrutamiento puede ser bidireccional pero la navegación no (cuando vamos en una dirección giramos a la derecha, pero cuando volvemos por el mismo camino giramos a la izquierda).

Podemos considerar que el enrutamiento es la versión línea de una posición y la navegación es la versión línea de la localización. Tanto el posicionamiento como el enrutamiento nos devuelven coordenadas (un par o una série de pares) y tanto la localización como la navegación nos devuelven instrucciones en relación a otros objetos o posiciones del mapa.

EnrutamientoInstrucciones de navegación
Enrutamiento (fuente: OpenRouteService) y navegación (fuente: OpenRouteService)

Tecnologías de posicionamiento

No existe ningún estándar en cuanto a las tecnologías usadas para el posicionamiento indoor y hay muchas potencialmente válidas para conseguir ese objetivo: ópticas, de rádio, magnéticas o acústicas.

Sin embargo, la mayoría de implementaciones actuales de sistemas de posicionamiento indoor usan tecnologías de radio para su cometido. Las tecnologías de radio más usadas se dividen entre las que usan ondas de banda estrecha (Bluetooth y Wi-Fi) y las que usan ondas de banda ancha (Ultra Wide Band).

Ondas de banda estrecha

BLE (Bluetooth Low Energy) y Wi-Fi han competido y colaborado durante cierto tiempo entre ellas, cada una adaptada a un contexto específico debido a sus diferencias. Por ejemplo, BLE permite alcanzar una mayor precisión en el posicionamiento, el hardware (habitualmente llamados beacons) es mucho más barato que un router Wi-Fi pero también tiene un alcance menor.

Otra diferencia entre ambos es que las señales de BLE no se ven muy afectadas si hay objetos sólidos (hechos con materiales no conductores) entre el beacon y el receptor, mientras que la señal Wi-Fi sí.

Por otro lado, el posicionamiento por BLE requiere que el usuario active su dispositivo bluetooth y permita formalmente su localización. En cambio, cualquier dispositivo que tenga el Wi-Fi activado está constantemente buscando puntos de acceso y con sólo eso el sistema ya puede detectar su posición.

En ambos casos las medidas obtenidas habitualmente son sobre la fuerza de la señal recibida. El problema es que no hay una traducción directa entre la fuerza de la señal y la distancia entre emisor y receptor. La fuerza de la señal nos permite saber si estamos cerca o muy cerca del beacon o router, pero no nos pueden decir con precisión a qué distancia estamos. Sin embargo, se han desarrollado técnicas para estimar la posición del usuario que parten de un muestreo previo para aproximar la posición (ver Métodos deductivistas en el apartado Métodos de cálculo de posición).

En el mejor de los casos, las ondas de banda estrecha nos permiten obtener una posición con una precisión de unos cuantos metros (entre 1 y 3 con BLE y entre 5 y 10 con Wi-Fi).

Puedes leer una comparativa sobre ambas tecnologías de banda estrecha en el siguiente enlace:
https://hackernoon.com/ble-vs-wi-fi-a-comparison-of-wireless-technology-for-iot-product-development-1c7be179f379

Ondas de banda ancha

Recientemente se está incorporando una nueva tecnología llamada Ultra Wide Band (UWB). Aunque la tecnología en sí hace años que existe, no es hasta hace poco que han tomado una relevancia notable en el campo del posicionamiento en interiores.

Así como en el caso de las ondas de banda estrecha sólo podemos medir la fuerza de la señal, en el caso de UWB su naturaleza nos permite medir directamente la distancia. Eso nos permite calcular la posición de una manera mucho más precisa que con BLE o Wi-Fi (algunos proveedores aseguran obtener la posición con una precisión de 10 centímetros). Podemos usar una fórmula matemática (triangulación o trilateración) para calcular la posición sin tener que recurrir a un muestreo previo (o fingerprinting).

Además, las ondas UWB también quedan poco afectadas por la presencia de cuerpos sólidos entre emisor y receptor.

Puedes ver una comparativa entre las tres tecnologías (BLE, Wi-Fi y UWB) en el siguiente enlace:
http://www.electronicdesign.com/communications/what-s-difference-between-measuring-location-uwb-wi-fi-and-bluetooth

Métodos del cálculo de posición

Independientemente de la tecnología usada para posicionar objetos, todo posicionamiento requiere de medidas procedentes de varias fuentes para poder calcular la posición de un dispositivo en un tiempo dado.

Una vez obtenidas las medidas de esas fuentes, y según el tipo de medida obtenido, podemos calcular la posición con métodos distintos. Los métodos de cálculo los podemos diferenciar entre los deterministas y los basados en muestreos.

Métodos deterministas

Los métodos deterministas parten de unas medidas (más o menos precisas) que se usan en una fórmula matemática para obtener la posición.

Uno de los métodos deterministas más conocidos es la triangulación. Consiste en encontrar la posición mediante el uso de triángulos. Para llevar a cabo este cálculo necesitamos conocer la dimensión de uno de los lados de cada triángulo y dos de sus ángulos.

Usamos éste método cuando las medidas que obtenemos hacen referencia al ángulo de cada uno de los puntos de referencia en relación al punto observado.

Triangulación
Triangulación (fuente: Wikipedia)

 

Otro método, muy parecido, es el conocido como trilateración. Consiste, igualmente, en calcular la posición usando una fórmula matemática pero que toma como factores del cálculo las distancias entre el objeto a posicionar y los puntos de referencia.

Trilateración
Trilateración (fuente: Wikipedia)

Métodos Basados en muestreos

Al contrario que en el caso anterior, estos métodos de cálculo no usan una fórmula matemática que nos de la posición final, sino que parten de un muestreo previo para deducir cuál es la supuesta posición de un dispositivo.

A estos métodos les llamamos fingerprinting porque tienen un funcionamiento similar a las huellas dactilares. Para poder decir a quién pertenece una huella dactilar es necesario primero tener una base de datos con las huellas dactilares de los posibles candidatos. Luego comparamos los rasgos de nuestra huella con la base de datos y la que más se le parece será la de la persona a quien pertenece la huella buscada.

Del mismo modo, el fingerprinting en los IPS consiste en almacenar previamente para cada posición de nuestro mapa los valores de las fuerzas de las señales recibidas por los beacons o routers que nos han detectado. Para ello un operario se pasea por el edificio marcando manualmente la posición en la que se encuentra en cada momento en un mapa de planta (a partir de algunos puntos identificables tanto en el mapa como en la realidad). Cada vez que el operario marca una posición se almacena esa posición y la fuerza de las señales de los routers/beacons que detectamos.

Esto genera una base de datos que usaremos posteriormente para calcular la posición de los usuarios. Es decir, el dispositivo detecta unos valores de fuerza de la señal de los routers A, B y C. Busca en la base de datos cuáles son las posiciones que tienen unos valores parecidos de fuerza de la señal con esos mismos routers y asume que el usuario debe encontrarse en esas coordenadas.

Puedes ver una comparativa entre los 3 métodos de cálculo en el siguiente enlace:
https://locationbased-services.de/en/start/positioning/trilateration-triangulation-fingerprinting/

Datos y estándares

Los datos obtenidos en un IPS tienen algunas particularidades que también los hacen distintos de otros SIG y que podemos resumir en las dos siguientes:

  • Tienen 4 dimensiones. En la mayoría de los casos, además de una X y una Y necesitaremos saber una Z (la planta) y una T (el momento). La gestión de los datos con 4 dimensiones resultará algo más compleja y las operaciones relacionadas pueden necesitar inputs más complejos (por ejemplo, el cálculo de rutas debe estar basado en un grafo de 3 dimensiones).
  • Son voluminosos. La naturaleza del sistema hace que se generen muchos datos y que tengamos un flujo muy elevado de los mismos. Eso requiere del uso de una tecnología más propia del campo del Big Data que del mundo de los SIG.

Existen algunos estándares para la estructura y modelo de los datos, aunque por el momento no parece que gocen aún de una ámplia implementación. A grandes rasgos podemos hablar del estándar IndoorGML del OGC (Open Geospatial Consortium), que está estrechamente relacionado con los estándares CityGML y SensorML del mismo organismo.

En ellos se describen modelos de datos, operaciones y sistemas de referencia estándares.

IndoorGML: http://www.opengeospatial.org/standards/indoorgml
CityGML: http://www.opengeospatial.org/standards/citygml
SensorML: http://www.opengeospatial.org/standards/sensorml

También hay una estrecha relación entre los datos de posicionamiento dentro de edificios con los usados durante la construcción de dicho edificio, por ejemplo con las IFC (Industry Foundation Classes) usadas en software BIM (Building Information Modeling).

Especificación IFC: http://www.buildingsmart-tech.org/specifications
BIM: https://es.wikipedia.org/wiki/Modelado_de_informaci%C3%B3n_de_construcci%C3%B3n

Funcionalidades de los IPS y campos de aplicación

Las funcionalidades de un sistema de posición en interiores son variadas y pueden dar respuesta a las necesidades u oportunidades en un ámplio rango de campos de aplicación.

Algunas de las funcionalidades más habituales son las siguientes.

Seguimiento a tiempo real

Una de las funcionalidades más evidentes es la del seguimiento a tiempo real de usuarios y dispositivos. Consiste en solicitar al sistema que nos indique dónde se encuentra un usuario o dispositivo concreto en ese mismo instante o bien en navegar por el mapa para ver quién hay en cada zona en ese momento.

Hay muchos campos de aplicación en los que esta funcionalidad puede resultar de interés:

  • Hospitales: ¿Dónde está el paciente/médico X? ¿Cuánta gente hay ahora en la sala de espera?
  • Seguridad: En caso de evacuación … ¿dónde está la gente? ¿queda alguien en el edificio? Hemos recibido una alerta … ¿quién está en el almacén de material sensible?
  • Fábricas: ¿Dónde está el operario X? ¿Dónde está la herramienta/material Y?
  • Museos: ¿Cuánta gente hay esperando para entrar?

Alertas por proximidad

En el caso anterior (seguimiento a tiempo real) el administrador puede acceder al sistema para ver dónde están los usuarios, pero para verlo tiene que estar delante del ordenador. De esa manera puede saber si alguien está cerca de algo o dentro de una habitación en un momento dado.

La funcionalidad de proximidad puede parecer similar pero su peculiaridad tiene mucho que ver con la emisión de alertas. A menudo el administrador no va a querer estar todo el día delante del sistema mirando dónde está la gente, sino que es necesario poder predefinir un conjunto de reglas o políticas de alertas de modo que se le avise cuando se dé una determinada circunstancia. El concepto de proximidad también será necesario si queremos automatizar ciertas tareas (p.ej: cuenta el número de personas que han pasado cerca de un determinado punto).

La detección de la proximidad de un dispositivo a un emisor no requiere que conozcamos las coordenadas de ambos, ni tan sólo que calculemos distancias, sinó que cuando el emisor detecta el dispositivo consideramos que está cerca.

Se usa habitualmente en muchos campos de aplicación, como por ejemplo en:

  • Museos: Cuando un usuario esté cerca de la pieza A envíale un documento explicativo de esa pieza.
  • Edificios emblemáticos: ¿Cuánta gente hay fuera del edificio y cuánta dentro?
  • Centros comerciales: Cuando un usuario está cerca de una sección envíale ofertas sobre los productos que se encuentran allí.
  • Transporte público: ¿Cuánta gente se acumula en la estación A? ¿Cuánta gente baja en la estación B?
  • Seguridad: En la construcción: cuando un operario esté a menos de X metros de una grúa … emite una alerta, o para la grúa. En fábricas: cuando un operario esté a menos de X metros de una determinada máquina, para la máquina.

Alertas por geofencing

A veces puede confundirse con el caso anterior. La diferencia es que cuando hablamos de geofencing nos referimos a un cálculo complejo en el que acostumbra a intervenir un polígono más o menos complejo.

Cuando ese polígono (o área de influencia) es un círculo perfecto entonces basta una operación trigonométrica básica (si la distancia entre el emisor y el receptor es menor que el radio del círculo entonces están cerca) y hablamos de una operación de proximidad.

En términos SIG, la operación de geofencing es una operación espacial punto-en-polígono mientras que la operación de proximidad es una simple operación de detección.

Proximidad: Responde a la pregunta ¿está A cerca de B?
Geofencing: Responde a la pregunta ¿está A contenido en B?

A nivel de infraestructura, la diferencia entre la proximidad y el geofencing es que para el primero no es necesario tener un sistema de posicionamiento (nos basta con saber qué beacon ha detectado a qué dispositivo) mientras que para el segundo sí (no podemos hacer geofencing, o cualquier operación punto-en-polígono, si no sabemos las coordenadas del dispositivo).

A nivel práctico, la diferencia entre ambos habitualmente tiene que ver con el nivel de precisión que necesitemos, de las funcionalidades que queremos obtener de nuestro sistema y del coste que estemos dispuestos a asumir. Si con operaciones de proximidad podemos cumplir con nuestros objetivos no implementaremos un IPS y no haremos geofencing.

Algunos campos de aplicación posibles son:

  • Gestión de stocks: Cuando un dispositivo entre (o salga) del almacén actualiza su disponibilidad en la base de datos.
  • Seguridad laboral: Cuando alguien entre en la zona de riesgo emite una alerta.
  • Protección de material sensible: Cuando alguien no autorizado entre en el almacén de material sensible emite una alerta.
  • Seguridad ciudadana: Cuando un preso sale de alguna de las zonas a las que puede tener acceso, emite una alerta.
  • Optimización de procesos: En cuanto un dispositivo X entre en una determinada zona dispara un proceso Y.

Cálculos de distancias

Sabiendo la posición de dos puntos podemos saber la distancia que los separa y con esa información podemos tomar decisiones que requieran de una cierta prestancia.

A menudo, la distancia que nos interesará no es la distancia en línea recta sino la distancia de la ruta calculada para ir de un punto a otro.

Algunos de los campos de aplicación de esta función pueden ser:

  • Mantenimiento o emergencias: Ha ocurrido un incidente ¿Qué operario/médico se encuentra más cerca del lugar del incidente?
  • Gestión de stocks: Necesito una herramienta o material determinado ¿Dónde está el más cercano?

Enrutamiento y navegación

Como ya hemos mencionado al inicio, esta funcionalidad permite conocer el mejor camino para ir de un punto a otro.

Es una de las funcionalidades de uso más común alrededor de los sistemas de posicionamiento global, pero en los locales también puede tener algunos campos de aplicación:

  • Hospitales: ¿Cómo voy hasta la sección de pediatría?
  • Universidades: ¿Cómo llego al aula 1?
  • Centros comerciales: ¿Cómo llego a la tienda X?
  • Aeropuertos: ¿Cómo llego a la puerta A32?
  • Estaciones de tren: ¿Cómo llego al andén 4? ¿Cómo llego hasta la oficina de información?
  • Oficinas: ¿Dónde está el empleado X y cómo llego hasta él?

Patrones de comportamiento

Las funcionalidades anteriores estaban centradas en el tiempo real de los acontecimientos y posición de los usuarios del sistema, pero también existen funcionalidades muy útiles que se basan en el análisis a posteriori de los desplazamientos hechos por los usuarios.

En este apartado, en realidad, agrupamos una diversidad de funciones: como el cálculo del tiempo de permanencia de los usuarios en distintas áreas del mapa o la identificación de las zonas de tránsito y de estacionamiento.

Algunos de los posibles campos de aplicación son:

  • Museos: ¿Cuánto tiempo se está quieta, de media, una persona delante de un determinado cuadro? ¿Qué zonas en las que se expone alguna pieza la gente pasa de largo?
  • Centros comerciales: ¿Qué zonas son las más visitadas? ¿Cuánto tiempo se está, de media, una persona en una tienda? ¿Qué entradas/salidas del centro comercial se usan más? ¿Cuánta gente se para delante de la oferta mostrada en un expositor? ¿Cuánta gente que entra en el supermercado entra también en otras tiendas?
  • Fábricas: ¿Qué recorrido hacen los operarios con mayor frecuencia? ¿Podemos cambiar alguna cosa para reducir el tiempo en tránsito de los operarios y optimizar los procesos?
  • Hospitales: ¿Cuánta gente hay en la sala de espera a lo largo del día? ¿Cuál es el tiempo de espera medio?