Métodos de localización en interiores con redes inalámbricas

Volvemos despues de un paréntesis vacacional……. hemos sobrevivido…

Una de las aplicaciones clásicas (por el momento parece que en un plano frecuentemente teórico) de las redes de sensores inalámbricos es la localización en interiores,este tipo de sistemas también son conocidos como Sistemas de localización en tiempo real (RTLS).

El funcionamiento de esta tecnología se basa en dos tipos de dispositivos:

  • Reader: Uno o varios dispositivos, generalmente estáticos, que se encargan de leer los datos emitidos.
  • Transponder: el dispositivo instalado en el elemento a localizar.

La localización del transponder puede llevarse a cabo de diferentes maneras, el objetivo de este post es simplemente enumerarlas, supongo que con el tiempo tendremos la oportunidad de profundizar en alguna de ellas.

 
  • Localización basada en el reader más cercano: es un sistema con bastante poca precisión y que puede confundir plantas en edificios (si estás en el segundo piso alejado del reader y justo encima del reader del primer piso es posible que falle la localización). La localización se calcula de forma aproximada suponiendo que es la del punto de acceso que recibe mayor intensidad de señal “RSSI”.
  • Localización por trilateración entre varios readers basada en el RSSI: La idea es parecida a la del caso anterior, en este caso se lee la potencia recibida en cada reader, logicamente el dispositivo a localizar tenemos que suponer que esté más cerca del reader que más potencia recibe, en función del valor del RSSI en cada reader podemos suponer una distancia al dispositivo a localizar. Este sistema se ve perturbado por la presencia de obstáculos (como por ejemplo paredes), pero podemos obteren una precisión de aproximadamente 5 metros.
  • Localización por “Time to fly” (TOF): Todos los dispositivos tienen que tener un reloj en tiempo real perfectamente sincronizado, los readers analizan la diferencia de tiempos al recibir la señal del Transponder, no es estrictamente necesario que el transponder esté sincronizado, pero si existen obstáculos la señal recibida por un reader puede ser un rebote, lo cual limita la precisión.
  • Localización por cálculo del ángulo: se basa en un principio parecido al del punto anterior, aunque en este caso el reader tiene dos antenas, la diferencia de tiempos entre la recepción en las dos antenas permite calcular el ángulo, en este caso el problema es el tamaño de las antenas, ya que a mayor distancia mayor precisión en el cálculo.
  • Para finalizar hay un último procdimiento, que permite aumentar la precisión en algunos casos. Cosiste en almacenar los valores recogidos por todos los readers en cada punto a sensar y almacenarlos en una tabla, eso compensa los errores producidos por los obstáculos porque las atenuaciones son las mismas en el momento en el que recoges los datos que en el que intentas averiguar la posición.

Trilaterización

Los retos a resolver en esta tecnología son:

  • Conseguir maximizar el número de tags por célula.
  • Conseguir mejorar los tiempos de vida de las baterías
  • Evitar que los problemas de entorno radioeléctrico provoquen inprecisiones en la localización.

Como siempre mi opinión es que hay que buscar las soluciones razonables para cada campo de aplicación. Imaginad un sistema de localización de equipos médicos en un hospital, sería suficiente con una resolución de una habitación ¿no? y ¿un sistema de localización de camiones en un puerto?

Jennic tiene una referencia de diseño para esta aplicación, al final del video se puede apreciar el modelo basado en Trilateración por el RSSI.

5 comments for “Métodos de localización en interiores con redes inalámbricas

  1. jcsaez
    22 junio, 2011 at 1:11 pm

    Buenos días desde España.
    Estoy trabajando con XBee y yo encuentro algunas barreras técnicas que dificilmente son salvables para poder implementar alguno de los métodos que se comentan en el artículo:

    – ZigBee no permite acceso a los servicios de la capa MAC. Entre otras cuestiones requiere que un dispositivo end-device o router esté completamente asociado a una red para poder transmitir. Al estar asociado a una red el dispositivo transmite siempre o hace pooling al mismo nodo, lo cual significa que no es posible transmitir “al aire” y quien lo reciba calcule la RSSI con la que lo ha recibido. Eso no permite realizar triangulación. 1ER INCONVENIENTE.
    – Las diferencias de tiempo entre la transmisión y la recepción son muy cortas. Nuestros dispositivos transmiten en la banda de 2,4 GHz lo cual significa que los real-time-clocks que se utilizan para calcular la direfencia deberían tener precisión de nano-segundos. Adicionalmente el sistema de sincronización horaria también sería un problema interesante a resolver. 2O INCONVENIENTE.
    – En la gama de XBee no existen receptores con doble antena para calcular el ángulo. No conozco ninguno en gama comercial lo cual implicaría la fabricación de uno a partir de receptores de RF. El diseño electrónico en RF es algo complicado. 3ER INCONVENIENTE.

    Si alguien ha avanzado en alguno de estos aspectos sería genial que pudiera compartirlo con nosotros.

  2. Carlos
    24 septiembre, 2010 at 6:02 pm

    Davince,

    La verdad es que como podrás deducir vamos avanzando poco a poco. En el camino nos vamos encontrando con tecnologías, ideas, novedades, etc. que vamos tratando desde un punto de vista puramente teórico, si te fijas en este artículo lo que hacemos es enumerar las formas de hacerlo, pero todavía no hemos llegado a intentarlo.

    Opino de los temas que comentas, pero quiero dejar claro que en la parte técnica de la localización en interiores no hemos hecho nada, simplemente tomatelo como opinión, aportación de ideas, etc.

    Sobre lo del valor RSSI en el modo API seguro que puedes obtenerlo, aunque no te se decir como, de todas formas trabajando con radios Digi hay una de las patillas que es configurable como salida PWM y que te da el valor del RSSI directamente en función del duty de la señal, ¿te has planteado esta opción?, seguramente en la doble conversión pierdas precisión, pero no es crítico en un sistema de localización por triangulación. Hay factores que impactan de forma mucho más significativa en la precisión. No tengo claro, eso si, si podrás averiguar el nodo ancla.

    Para que los nodos se comunquen sin intermediarios configura las anclas como routers y los nodos a localizar como end nodes, entendiendo que tu problema es que la retrasnmisión se produzca entre dos nodos a localizar, sino la única opción (evidente) es identificar en el paquete en el que lees el valor del RSSI el último nodo que lo ha retransmitido.

    Soy consciente de que no te ayudo mucho, pero como te decía todavía no hemos profundizado lo suficiente, esta tecnología tiene tantas posibilidades que estábamos corriendo el riesgo de desenfocarnos y hemos decidido seguir un orden.

    Para finalizar te animo a que escribas algún artículo, date de alta en el Blog (que pretende ser colaborativo) y habla de tus proyectos, seguro que entre todos hacemos grandes cosas.

    Carlos

    • davince
      24 septiembre, 2010 at 7:05 pm

      agradesco tus comentarios con respecto a mis inquietudes, voy a probar lo de configurar las anclas como roters y el movil como edn device….en cuanto al articulo seguro que cuando tenga desarrollado por completo el sistema y que arroje resultados concretos asi no sean del 100% exactos,lo ecriber, pues en mi univerisdad exigen realizarlo y ademas me interza q otras personas conoscan mi trabajo y me colabroen en coregir los errores q segure he de comenter…

      bueno… me mantendre al tanto de nuevas publicaciones y esamos en contacto….

      Davince

  3. davince
    24 septiembre, 2010 at 4:53 pm

    le saludo desde Colombia, soy estudiante de Ing electronik y estoy desarrollando un proyecto de localizacion en exteriores de animales.
    Estoy utilizando tecnologia Zigbee de Digi, los Xbee Pro. el metodo que escogi fue el usar metodo de trinagulacion usando el valor RSSI de la señal……los principales incovennientes q he tenido es el desarrollo del programa en el microcontrolador (16f877a) que me capture estos datos en cada nodo ancla (beacon)….
    al principio intente trabajar en modo API pero por USART no salia ningun mensaje referente al valor RSSI, despues migre al modo AT….pero el proceso de direccinamiento en cada uno de los nodos (asignar el valor de DL y DH) hace que se demore mas el enviar un mensaje de bandera a cada una de las anclas desde el nodo movil y viceversa…….pues como he leido el valor RSSI corresponde al ultimo mensaje recibido….x lo q hay que enviar mensajes a todos los nodos de referencia…

    Un ultimo inconveniente es que muchas veces este valor RSSI no corresponde al de un mensaje encviado directamente entre los dos nodos que me intersan, es decir en ocasiones otro recibe el mensaje y lo retransmite al nodo final o de destino….alterando x completo el valor leido de RSSI…………en esas estoy tratando de hacer q los nodos se comuniquen sin intermediarios pero no he logrado saber que configuracion en los parametros del firware en XCTU me sirve para funcionene de esta manera

    me gustaria saber si la forma como estoy tratando de hacer mi sistema de localizacion es viable…..pues veo q ustedes han manejado mas aplicaciones con este tipo de tecnologia, ademas acepto cualquier ayuda o sugerencia q me pudierna brindar…

    gracias

    • jcsaez
      22 junio, 2011 at 1:22 pm

      Davince,

      Este mensaje es un poco antiguo, no se si lo has solucionado, pero por si alguien lo encuentra interesante. Estoy trabajando en un sistema que detecta presencia. Para ello utilizo router como ancla controladas por un procesador Atmel (parecido al tuyo) y end-devices como localizadores sin controlador.
      Lo fundamental para que el end device emita al nodo más cercano es que emita a la dirección broadcast (DH=0, DL=FFFF) con radio 1 (BH=1). El protocolo ZigBee se encarga de que el localizador se reasocie cuando se pierde la señal del padre (router). También e encontrado interesante trabajar con diferentes valores del “rejoining policy” (NJ).

Deja un comentario