Professional Documents
Culture Documents
Junio de 2015
UNIVERSIDAD DE CASTILLA-LA MANCHA
Junio de 2015
Declaracion de Autora
Yo, Miguel Martnez del Horno con DNI 04628217L, declaro que soy el unico au-
tor del trabajo fin de grado titulado Sistema de localizacion para entornos de interior
basado en Android y que el citado trabajo no infringe las leyes en vigor sobre pro-
piedad intelectual y que todo el material no original contenido en dicho trabajo esta
apropiadamente atribuido a sus legtimos autores.
Albacete, a 8 de junio de 2015
Fdo: Miguel Martnez del Horno
Resumen
El problema de la localizacion ha sido objeto de estudio e investigacion durante
toda la historia de la humanidad. En los ultimos anos, se ha encontrado una solucion a
este problema en entornos de exterior mediante la tecnologa GPS (Global Positioning
System o Sistema de Posicionamiento Global), que hace uso de una constelacion de
satelites que permiten el posicionamiento en cualquier punto de la Tierra. El problema
de esta tecnologa se produce cuando no tenemos vision directa con los satelites, lo que
ocurre en entornos de interior.
Estos entornos de interior suelen estar equipados con emisores Wi-Fi, cuya senal
se puede recibir con cualquiera de los smartphones o telefonos inteligentes actuales.
Utilizando la potencia de la senal como estimador de la distancia a estos emisores,
podremos desarrollar un algoritmo de localizacion si conocemos la ubicacion inicial de
los emisores en el entorno. Sin embargo, esta potencia de emision es altamente ruidosa
y sufre grandes variaciones debido a reflexiones, as como a la aparicion de obstaculos
entre el emisor y el receptor (muros, personas, etc). Por ello, es necesario integrar estas
mediciones en un algoritmo recursivo que aporte robustez y pueda trabajar con datos
ruidosos. El desarrollo de este sistema en el sistema operativo Android permitira su
aplicacion para un elevado numero de usuarios finales, debido a la popularidad de este
sistema y su implantacion en un gran numero de telefonos moviles.
En este trabajo fin de grado se presenta una solucion al problema de la localizacion
en entornos de interior basada en dos elementos clave: a.- el procesamiento de la senal
Wi-Fi y b.- el uso del metodo de Monte Carlo, el cual se basa en un filtro de partculas.
El proyecto ha sido desarrollado completamente en Android para poder utilizarse en
la mayora de smartphones, y ademas ha sido evaluado en un entorno real.
dedicado a todos los
que han estado ayudandome
al pie del canon
Agradecimientos
Esta es sin duda la parte mas difcil de escribir de toda la memoria a mi parecer,
ya que es imposible agradecer a todo el mundo que me ha ayudado durante estos 4
maravillosos anos. Sin embargo, voy a hacer un esfuerzo y espero no olvidarme de
nadie.
En primer lugar quera agradecer la ayuda y el tiempo prestado de mis tutores Luis
y Jesus, as como la oportunidad que me han ofrecido con la realizacion de este TFG.
Su ayuda ha sido primordial para la realizacion de este proyecto, al igual que la de
Ismael y Luis, quienes me llevaron a ellos.
En segundo lugar quiero agradecer a Manuel la gran contribucion que realizo en las
primeras partes de este proyecto, cuando yo mas perdido estaba.
No quisiera olvidarme de la gran cantidad de amistades que he forjado durante estos
4 anos, tanto en clase como en la residencia universitaria en la que me he hospedado,
la Benjamn Palencia. Sin duda esto ha sido lo mejor de esta etapa de mi vida.
Por ultimo, agradecer todo a los verdaderos culpables de que yo este escribiendo
estas palabras en estos instantes, mis padres Luis Miguel y Mara Luisa. Sin su apoyo
incondicional no hubiera podido llegar a ser lo que soy, al igual que sin el apoyo de mi
hermana Ana y de Laura, quien me ha acompanado durante todo este viaje.
Indice general
INDICE DE FIGURAS XI
Lista de Tablas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1. INTRODUCCION 1
1.1. Motivacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3. Plataforma experimental . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4. Estructura de la memoria . . . . . . . . . . . . . . . . . . . . . . . . . 4
5. EXPERIMENTOS Y RESULTADOS 57
5.1. Experimento 1: variacion del numero de partculas . . . . . . . . . . . . 58
5.2. Experimento 2: uso del GPS . . . . . . . . . . . . . . . . . . . . . . . . 59
5.3. Experimento 3: ponderacion dinamica . . . . . . . . . . . . . . . . . . . 60
5.4. Estudio del error por areas . . . . . . . . . . . . . . . . . . . . . . . . . 61
ix
x INDICE GENERAL
6. CONCLUSIONES Y PROPUESTAS 63
6.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
6.2. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
BIBLIOGRAFIA 68
CONTENIDO DEL CD 69
B. MANUAL DE USUARIO 83
B.1. Consideraciones previas . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
B.2. Pantalla de bienvenida . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
B.3. Pantalla de localizacion . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
B.4. Pantalla de ajustes de ejecucion . . . . . . . . . . . . . . . . . . . . . . 85
INDICE DE FIGURAS
xi
xii INDICE DE FIGURAS
5.1. Grafica de los errores de cada medida a partir del fichero de salida con
la mejor ejecucion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
xiii
Captulo 1
INTRODUCCION
1.1. Motivacion
En los ultimos anos se ha producido un gran auge de las tecnologas inalambricas
y los servicios de localizacion. Las redes inalambricas han sufrido una gran expansion
1
2 CAPITULO 1. INTRODUCCION
tanto interiores como en zonas urbanas, dando lugar a la aparicion de una serie de
servicios que las utilizan debido a su sencillez. Los servicios de localizacion se han
homogeneizado mediante el uso del GPS, al menos en entornos de exterior.
La localizacion en interiores es un problema aun no resuelto con gran precision, ya
que no existe una tecnologa dedicada a ello. En estos entornos el GPS no funciona
debido a que no hay una conexion directa entre los satelites y el usuario. Debido a
la gran implantacion de redes Wi-Fi tanto en sitios publicos como en centros de ocio,
esta tecnologa se convierte en un candidato a considerar. Por otra parte, Android
ha experimentado en los ultimos anos un gran auge, llegando a ser actualmente la
tecnologa predominante por encima de sus competidores iOS y Windows Phone. Todo
esto crea un entorno idoneo para crear aplicaciones de localizacion en interiores va
Wi-Fi.
1.2. Objetivos
El objetivo principal del proyecto es desarrollar un sistema que permita localizar
dentro de un entorno de interior a usuarios a traves de sus dispositivos moviles. El
objetivo del proyecto es proponer un sistema hbrido capaz de utilizar la senal de satelite
cuando el usuario se encuentre en el exterior, pero que utilice un sistema alternativo
cuando esta senal sea insuficiente. Para ello, se hara uso del procesamiento de la senal
inalambrica y los emisores Wi-Fi desplegados por el entorno.
Los subobjetivos del proyecto son:
Desarrollar una aplicacion movil facil de usar y sin necesidad de requisitos adi-
cionales (libreras, software de terceros, etc)
Marca: Fonera.
1.3. PLATAFORMA EXPERIMENTAL 3
El smartphone utilizado tanto para realizar el estudio de la red como para la im-
plementacion del sistema se puede observar en la figura 1.2 y cuenta con la siguiente
especificacion:
Marca: LG.
Modelo: Nexus 5.
Red: 800 MHz/1900 MHz (CDMA), 1900 MHz (LTE), 850/900/1800/1900 MHz
(GSM) y 850/1900/2100 MHz (UMTS)
WiFi: 802.11a/b/g/n/ac.
ANTECEDENTES Y ESTADO DE
LA CUESTION
7
8 CAPITULO 2. ANTECEDENTES Y ESTADO DE LA CUESTION
Cupcake
Donut
Lanzada en septiembre de 2009, Android 1.6 Donut presento mejoras muy impor-
tantes a nivel de busquedas por medio del motor de Google, tanto en la parte local del
dispositivo como en Internet, introduciendo la llamada Busqueda Universal. Donut
tambien introdujo el sistema Speech to Text que permite al usuario realizar busquedas a
traves de ordenes de voz. Ademas de las busquedas, tambien se incorporaron avances en
la interfaz de usuario y en aplicaciones como Google Maps anadiendo funcionalidades
como el guiado paso a paso.
Eclair
Froyo
Android 2.2 Froyo fue presentada en mayo de 2010. Las novedades que aporto esta
version estuvieron dirigidas, en su mayora, a la mejora del manejo de los recursos del
sistema operativo, haciendo que Android se convirtiese en un sistema mucho mas fluido.
Froyo incorporo, como novedad importante, la posibilidad de convertir el dispositivo
en un punto de acceso Wi-Fi. Tambien permitio que el sistema pudiese sincronizarse
con el correo electronico de Microsoft Exchange y ofrecio la posibilidad de realizar
videollamadas.
Gingerbread
Honeycomb
Android 3.0 Honeycomb fue la version de Android optimizada para tabletas. Pre-
sentada en mayo de 2011, esta version incorporo muchos cambios a nivel de apariencia
en la interfaz de usuario. Mejoro la gestion de los procesos en la multitarea y permitio
al usuario anadir complementos a las tabletas mediante la interfaz USB. Honeycomb
continuo incorporando la posibilidad de realizar conexiones NFC y mejoro su navegador
anadiendo funcionalidades como el historial de visitas.
10 CAPITULO 2. ANTECEDENTES Y ESTADO DE LA CUESTION
Android 4.0 Ice Cream Sandwich fue presentada en diciembre de 2011 y supuso un
cambio radical en la interfaz de usuario de los smartphones con respecto a Gingerbread.
Este cambio de interfaz estuvo inspirado en la apariencia que presento Honeycomb en
la que predominaban estilos azules y negros. Tambien heredo de Honeycomb la gestion
de la multitarea anadiendo una lista con aplicaciones ejecutadas recientemente, que
permita al usuario un acceso mas rapido a cada una de ellas. Como novedad llamativa,
Ice Cream Sandwich abrio las puertas al reconocimiento facial, haciendo que el usuario
pudiese desbloquear su dispositivo acercando su rostro a la camara delantera. Con esta
version, Android acabo de una vez por todas con su mala fama en el terreno de la
accesibilidad del sistema operativo para usuarios con discapacidad visual, anadiendo
la posibilidad de cambiar el control de navegacion a un control basado en gestos con
realimentacion auditiva.
Jelly Bean
Android 4.1 Jelly Bean fue lanzada en mayo de 2012 y tuvo como novedad principal
la mejor de la velocidad del sistema permitiendo una mejor experiencia de uso. Jelly
Bean no realizo cambios significativos a nivel de apariencia de interfaz con respecto
a su antecesora Ice Cream Sandwich. Esta version s aporto nuevas funcionalidades,
como la posibilidad de utilizar el sintetizador de voz sin tener conexion a Internet, la
mejora de las notificaciones y el tratamiento de los widgets permitiendo que se pudiesen
redimensionar, mover y posicionar de una forma mas agil. En el campo de la seguridad,
Jelly Bean incorpora los sistemas Data Execution Prevention (DEP) y Address Space
Layout Randomization (ASLR) que ya incluan otros sistemas como iOS o Windows
Phone. Estos sistemas se encargan de gestionar la memoria reservada de las aplicaciones
de forma segura. Con estas medidas, Android se refuerza en un campo en el que es
muy criticado.
Kit Kat
Android 4.4 Kit Kat fue lanzada en octubre de 2013 con un nombre que no se supo
hasta su lanzamiento. Su nombre original iba a ser Android 5.0 Key Lime Pie pero
durante el Mobile World Congress de Barcelona se firmo un acuerdo con la compana
Nestle para que el nombre de la nueva version fuera Kit Kat. Esta version rebajo los
requisitos hardware para lograr un mejor rendimiento en dispositivos con menos de 512
MB de RAM, anadio servicios de almacenamiento en la nube integrados, incorporo el
Administrador de dispositivos Android, etc.
2.1. SISTEMA OPERATIVO ANDROID 11
Sistema operativo Ventas 2014 Cuota de mercado 2014 Ventas 2013 Cuota de mercado 2013 Cambios ano por ano
Android 1059.3 81.5 % 802.2 78.7 % 32.0 %
iOS 192.7 14.8 % 153.4 15.1 % 25.6 %
Windows Phone 34.9 2.7 % 33.5 3.3 % 4.2 %
BlackBerry 5.8 0.4 % 19.2 1.9 % -69.8 %
Otros 7.7 0.6 % 2.3 0.2 % 234.8 %
Total 1300.4 100 % 1018.7 100 % 27.7 %
Lolipop
Android 5.0 Lolipop [17] es la ultima version de este sistema operativo y fue lanzada
en noviembre de 2014. Esta version cambio de nuevo la interfaz del sistema, utilizando
para ello Material Design, una nueva forma de disenar interfaces de usuario realizada
por Google. Esta version tambien introdujo soporte para pantallas pequenas (weara-
bles), renovo el sistema de notificaciones (permitiendo ahora ver las notificaciones sin
necesidad de desbloquear el dispositivo), aumento el tiempo de vida de la batera, etc.
Figura 2.1: Datos sobre la presencia en los dispositivos de las distintas versiones de
Android (Google 2015)
El sistema de posicionamiento global [4] (en adelante GPS) es un sistema que per-
mite obtener la posicion de un objeto en cualquier punto de la Tierra. Se trata de
un sistema de radionavegacion creado por el Departamento de Defensa de los Estados
Unidos que ofrece servicios fiables de posicionamiento, navegacion y cronometra gra-
tuita e ininterrumpidamente a usuarios civiles en todo el mundo. El GPS se compone
de tres elementos: los satelites en orbita alrededor de la Tierra, las estaciones terrestres
de seguimiento de control y los receptores del GPS de los usuarios.
Satelites en orbita
El sistema GPS cuenta con una constelacion de 32 satelites que estan en orbita
con la Tierra, tal y como puede verse en la figura 2.2. Estos satelites se encuentran
a una altutid aproximada de 20000 km y circundan la Tierra dos veces al da. Los
satelites se organizan en seis planos orbitales igualmente espaciados en torno a la Tierra.
Cada plano tiene cuatro slots ocupados por los satelites de referencia. Esta disposicion
garantiza que los usuarios pueden ver al menos cuatro satelites desde cualquier punto
de la Tierra, que es el numero mnimo de satelites a los que un usuario tiene que tener
vision para que el sistema pueda obtener su posicion.
Estaciones de seguimiento
Las estaciones de seguimiento de control del GPS consiste en una red global de
instalaciones en tierra que realizan un seguimiento de los satelites GPS, monitorean
sus transmisiones, realizan analisis y envan datos y comandos a la constelacion. Ac-
tualmente el control del GPS incluye una estacion de control principal, una estacion
de control maestra alternativa, doce antenas de mando y control y dieciseis lugares de
monitorizacion, tal y como puede verse en la figura 2.3.
Receptores GPS
Los receptores GPS que tienen los usuarios reciben las senales de los satelites GPS
y las procesan para obtener la posicion tridimensional del usuario y la hora precisa. Ac-
tualmente existen diversos dispositivos que cuentan con un receptor GPS: navegadores,
telefonos moviles, relojes inteligentes, etc.
14 CAPITULO 2. ANTECEDENTES Y ESTADO DE LA CUESTION
Funcionamiento
El sistema GPS [8] obtiene la posicion del usuario a partir de las efemerides, que
son las informaciones utiles que recibe el receptor GPS desde los satelites GPS. Cada
satelite cuenta con sus propias efemerides, en la que se encuentra su posicion en el
espacio, su hora atomica, si debe tenerse en cuenta para la triangulacion, etc. Por
tanto, las efemerides de cada satelite son unicas, pudiendo identificar as el satelite.
Para obtener el punto geografico en el que se encuentra el usuario, los receptores
GPS miden el tiempo que tarda en contestar un satelite a la peticion. A partir de este
tiempo y sabiendo que las ondas se propagan a la velocidad de la luz (teoricamente), se
puede obtener la distancia que hay entre el receptor y el satelite mediante la formula
que relaciona la velocidad y el tiempo.
De esta forma, la posible posicion del usuario se reduce a un punto en la superficie
de la esfera que tiene como centro el satelite en cuestion y como radio la distancia
calculada, tal y como muestra la figura 2.4. Si obtenemos tambien la distancia a un
segundo satelite, la posicion se reduce a algun lugar dentro de la interseccion de ambas
2.2. SISTEMAS DE POSICIONAMIENTO Y REDES WI-FI 15
esferas (figura 2.5). Con un tercer satelite la posicion del usuario se limita a dos posibles
puntos (figura 2.6), pero normalmente uno de ellos resulta ser muy improbable por su
ubicacion demasiado lejana de la superficie terrestre.
Un cuarto satelite es necesario para obtener de manera mas fiable la posicion del
receptor. Esto es debido a que se necesita el tiempo exacto que tarda en llegar la senal
desde el satelite al receptor, ya que una mnima variacion del tiempo puede ocasionar
kilometros de error. Es muy difcil obtener el tiempo exacto ya que los relojes no son
exactos, lo que se conseguira con la utilizacion de relojes atomicos, que aumenta el
coste del sistema. Por ello, solo los satelites utilizan estos relojes y, para evitar que los
receptores tambien tengan que utilizarlos, se utiliza este cuarto satelite. A todo esto
hay que anadir, ademas, los errores que ocasiona la atmosfera.
16 CAPITULO 2. ANTECEDENTES Y ESTADO DE LA CUESTION
Android [18] proporciona una serie de clases dentro del paquete android.location
para permitir a las aplicaciones acceder a los servicios de localizacion soportados por
el dispositivo. El componente principal de esta API es la clase LocationManager, que
viene implementada dentro de Android como un servicio del sistema y permite obtener
la localizacion o la orientacion del usuario, entre otros.
Para obtener una instancia de la clase LocationManager se debe llamar el meto-
do getSystemService(Context.LOCATION SERVICE) de Android, donde el argumento
representa el servicio del sistema al que queremos acceder. Esta instancia permite:
La API de Android para GPS permite obtener la localizacion por medio del GPS
(LocationManager.GPS PROVIDER) y del proveedor de red (LocationManager.NETWORK PROVIDER).
Aunque el GPS es mas preciso, no ofrece cobertura en entornos de interior y provoca
un mayor consumo de energa. El proveedor de red determina la posicion del usuario a
partir de las antenas de telefona movil y de las senales Wi-Fi tanto en exteriores como
en interiores con un menor consumo de energa.
Cada proveedor devuelve un objeto Location que contiene los siguientes campos,
entre otros:
2.2. SISTEMAS DE POSICIONAMIENTO Y REDES WI-FI 17
Bearing: orientacion del punto geografico del usuario con respecto a la recta que
representa el Norte terrestre.
Estandares Wi-Fi
Las especificaciones IEEE 802.11 [3] constituyen una familia de estandares que han
sufrido diversas modificaciones con el objetivo de proporcionar mayor ancho de banda,
seguridad o compatibilidad. Varios de estos estandares son:
802.11a: este estandar cuenta con una velocidad maxima teorica de 54 Mbps,
que en la practica es de 30 Mbps. Opera en la banda de frecuencia de 5 GHz.
2.2. SISTEMAS DE POSICIONAMIENTO Y REDES WI-FI 19
802.11b: este estandar ofrece una velocidad maxima teorica de 11 Mbps, que en
la practica es de 6 Mbps, y utiliza el rango de frecuencia de 2,4 GHz.
802.11c: este estandar no ofrece ningun interes para el publico general. Es utili-
zado para la comunicacion de dos redes distintas o de diferentes tipos.
802.11d: se trata de un complemento del estandar 802.11 que permite que dis-
tintos dispositivos intercambien informacion en rangos de frecuencia segun lo que
se permite en el pas de origen del dispositivo.
802.11n: ofrece una velocidad maxima teorica de 600 Mbps a traves de un uso
simultaneao de las bandas de frecuencia de 2.4 GHz y 5 GHz. Proporciona com-
patibilidad con los estandares 802.11b y 802.11g.
802.11ac: ofrece una velocidad maxima teorica de 1,3 Gbps, que en la practica
es de 433 Mbps, operando en la banda de frecuencias de 5 GHz.
Para conectarnos a una red Wi-Fi debemos contar con una serie de elementos
hardware que se detallan a continuacion:
20 CAPITULO 2. ANTECEDENTES Y ESTADO DE LA CUESTION
Puntos de acceso: permiten a las estaciones acceder a una red Wi-Fi. El punto
de acceso es la union de entre la red y una estacion.
El estandar 802.11 define dos modos de operacion en una red Wi-Fi: modo de
infraestructura y modo ad-hoc.
En el modo infraestructura, cada estacion se conecta a un punto de acceso a traves
de un enlace inalambrico. La configuracion formada por el punto de acceso y las estacio-
nes ubicadas dentro del area de cobertura del punto de acceso se conoce como conjunto
de servicio basico o BSS. Cada BSS se identifica a traves de un BSSID (identificador
de BSS) que es un identificador de 6 bytes que se suele corresponder con la direccion
MAC del punto de acceso. La figura 2.7 muestra un escenario del modo infraestructura
con un punto de acceso.
Figura 2.7: Escenario del modo infraestructura de una red Wi-Fi con un punto de
acceso
Es posible vincular varios puntos de acceso juntos (o con mas exactitud, varios BSS)
con una conexion llamada sistema de distribucion (o SD) para formar un conjunto de
2.2. SISTEMAS DE POSICIONAMIENTO Y REDES WI-FI 21
Figura 2.8: Escenario del modo infraestructura de una red Wi-Fi con varios puntos de
acceso
Actualmente, las redes Wi-Fi mas extendidas y comunes son las del tipo infraes-
tructura.
En una red LAN los equipos utilizan el metodo de acceso CSMA/CD, mediante el
cual cada equipo tiene la libertad de comunicarse en cualquier momento. Cada equipo
que enva un mensaje verifica que no haya otro equipo enviando un mensaje al mismo
tiempo por el canal. Si alguno lo esta haciendo, entonces ambos equipos deben esperar
un perodo de tiempo aleatorio antes de comenzar a enviar el mensaje de nuevo.
Con la tecnologa inalambrica Wi-Fi este proceso no es posible, ya que dos estaciones
que se comunican con un receptor no pueden escucharse entre s al mismo tiempo debido
a sus diferentes rangos de transmision. Por esta razon, el estandar 802.11 utiliza un
protocolo similar llamado CSMA/CA, donde se utiliza un mecanismo de evasion de
colisiones basado en mensajes recprocos de acuse de recibo (ACK) que el transmisor
y receptor intercambian, como se observa en la figura 2.10.
La senal de una red Wi-Fi puede atravesar muros y obstaculos, lo que provoca un
deterioro de esta senal. Algunas caractersticas de esta senal son:
Reflexion: una senal que avanza por el espacio libre, al toparse con un obstacu-
lo pierde parte de su energa por la absorcion recientemente comentada. Pero,
ademas, si el obstaculo es bastante grande en comparacion con la longitud de
onda de la senal, esta se refleja del mismo modo que lo hace la luz al llegar a un
espejo, ya que la luz es tambien una onda. La senal reflejada puede tener distinta
fase que la senal original, dependiendo de las caractersticas del obstaculo.
Dispersion: esta causada por objetos que tienen dimensiones pequenas compa-
radas con la longitud de onda (al contrario que ocurre con la difraccion). Este
fenomeno tambien forma fuentes de onda secundarios.
Los fenomenos de reflexion, difraccion y dispersion son los responsables del mul-
titrayecto, es decir, entre la antena transmisora y la receptora nunca va a haber un
camino unico por el que transita la senal. Todos los frentes de onda que se forman
2.2. SISTEMAS DE POSICIONAMIENTO Y REDES WI-FI 25
se suman o se restan vectorialmente unos con otros, por lo que la senal percibida por
el receptor no solo proviene del camino mas inmediato (la lnea recta) ni siquiera en
situaciones de vision directa. Esto provoca que existan zonas en las que no hay senal y,
a los pocos centmetros, la potencia recibida sea muy grande o que la potencia recibida
en una misma ubicacion cambie constantemente.
Hay dos tipos de multitrayecto: especular (debido a reflexiones) y difuso (debido
a difracciones o dispersiones). El multitrayecto difuso se puede modelizar como ruido
de fondo (ruido aleatorio pero de magnitud pequena en comparacion con la senal),
mientras que el multitrayecto especular no es tan aleatorio pero puede ser fatal para
la comunicacion al crear areas sin senal.
A todo lo anterior hay que anadir el efecto de otras transmisiones en el mismo
espectro de frecuencias, con lo cual la prediccion del comportamiento de la senal es
completamente imposible.
Android [15] proporciona una serie de clases dentro del paquete android.net.wifi
para permitir a las aplicaciones comunicarse con punto de acceso Wi-Fi. El componente
principal de esta API es la clase WifiManager, que viene implementada dentro de
Android como un servicio del sistema y permite manejar todos los aspectos de una
conexion Wi-Fi, como puede ser escanear la red, conectarse a un punto de acceso,
obtener la velocidad de conexion, etc.
Para obtener una instancia de la clase WifiManager se debe llamar el metodo
getSystemService(Context.WIFI SERVICE) de Android, donde el argumento repre-
senta el servicio del sistema al que queremos acceder. Esta instancia permite:
Obtener la lista de redes configuradas. Esta lista puede ser visualizada o actua-
lizada.
Registrar o borrar un Intent para ser lanzado ante cualquier cambio del estado
del Wi-Fi.
frequency: frecuencia en MHz del canal por el que se han comunicado el punto
de acceso y el cliente.
timestamp: marca de tiempo en microsegundos desde que este resultado fue visto
por ultima vez.
xt = f (xt1 ) + ut (2.1)
yt = h(xt ) + nt (2.2)
yt = Hxt + nt (2.4)
donde
El problema de este tipo de filtrado se tiene cuando el sistema que se quiere estimar
no es lineal, ya sea en la ecuacion del estado o en la ecuacion de observacion. Existe
una solucion a este problema mediante el uso del filtro de Kalman extendido o EKF
(Extended Kalman Filter ).
El algoritmo seguido por el filtro de Kalman cuenta con dos fases principales,
prediccion y correccion, divididas a su vez en varias subfases. Suponiendo una fun-
cion de densidad de probabilidad a priori gaussiana y conocida para el estado inicial,
x0 N (x0 |b
x0 , P0 ), el desglose de operaciones es:
b
x t = f (b
xt1 ) (2.5)
2. Actualizacion de la estimacion x
bt con la observacion yt :
x b
bt = x x
t + Kt (yt h(bt )) (2.8)
Pt = (I Kt Ht )Pt (2.9)
2.3.2. Trilateracion
El metodo de la trilateracion [7] es un metodo que nos permite obtener la posicion
relativa de un objeto a partir de las distancias obtenidas a varios puntos de referencia
de los que se conoce su posicion real. Para poder determinar de forma unica y precisa
la localizacion relativa de un punto en un plano bidimensional usando trilateracion se
necesitan al menos 3 puntos de referencia. Este metodo es el usado por el GPS.
La trilateracion consta de las siguientes fases:
El centro del triangulo con el area mas pequena se toma como estimacion de la
posicion relativa que se quiere obtener.
2.3. ALGORITMOS DE LOCALIZACION PARA REDES INALAMBRICAS 29
asociada con cada posicion, se interpreta como el grado de confianza de que el termi-
nar se encuentre en dicha posicion en un momento determinado. Esta distribucion de
confianza se actualiza en respuesta a una nueva observacion del sensor.
El filtro de partculas [6] (PF o Particle Filter ) es un metodo para el procesamiento
secuencia de senales, basado en la teora Bayesiana y empleado para estimar el estado
de un sistema que cambia con el tiempo. Esta tecnica tiene muchas aplicaciones en la
ciencia y en la ingeniera y es ademas especialmente util para su aplicacion en procesos
no lineal y/o no Gaussianos.
Se trata de un metodo secuencial cuya idea basica es el calculo recursivo de dis-
tribuciones de probabilidad relevantes utilizando los conceptos de muestreo enfatizado
(importance sampling) y de aproximacion de distribuciones de probabilidad a partir de
muestras discretas.
El objetivo del filtro es estimar la distribucion del estado xt (que representa la
localizacion del usuario) de forma recursiva a partir de las observaciones y1:t = y1 , ..., yt
del sistema definido por las ecuaciones 2.1 y 2.2, es decir, se calcula recursivamente
una aproximacion de p(xt |y1:t ) para t = 1, 2, ....
En el filtro de partculas, las distribuciones se aproximan por muestras discretas
(i) (i)
aleatorias definidas por partculas xt y por los pesos t asociados a estas.
El algoritmo que sigue un filtro de partculas, para i = 1, ..., M y para cada instante
t, cuenta con las siguientes fases:
(i)
x0 p(x0 ) (2.10)
(i) 1
t = (2.11)
M
2. Ponderacion: se otorga el peso a las partculas segun la verosimilitud de sus
posiciones a partir de las observaciones:
(i) (i)
t = p(yt |xt ) (2.12)
(i)
(i)
t = PM t (k)
(2.13)
k=1 t
PLATAFORMA INALAMBRICA
Y SISTEMA DE TELEMETRIA
33
34CAPITULO 3. PLATAFORMA INALAMBRICA Y SISTEMA DE TELEMETRIA
Zona B: pasillo donde no hay ningun punto de acceso pero s puntos para tomar
medidas. Aparece coloreada con azul en la figura 3.2.
Zona C: no alberga ningun punto de acceso pero s puntos para tomar medidas.
Aparece coloreada con verde en la figura 3.2.
La red desplegada cuenta con cinco puntos de acceso Wi-Fi colocados en la zona A
y en la zona D del laboratorio ReTiCS. La figura 3.3 muestra la ubicacion de los puntos
de acceso y el punto de inicio de coordenadas (O) desde el que se toma la distancia de
cada punto de medida. A partir de el se obtiene la longitud de cada eje, resultando ser
28.734 metros para el eje X y 6.361 metros para el eje Y. La superficie del entorno es,
por tanto, 182.78 metros cuadrados.
Por ultimo, por todo el entorno se han marcado diversos puntos para tomar medidas
de las intensidades de la red. La posicion de cada punto se ha obtenido calculando la
distancia entre el punto y el inicio de coordenadas (en ambos ejes) mediante un medidor
laser de distancias. Se han desplegado un total de 26 puntos por todo el entorno:
Zona A: en ella se han puesto 10 puntos, los cuales pueden verse en la tabla 3.1.
En esta zona se han establecido 4 puntos de acceso y no existe ningun obstaculo
fsico que pueda obstruir la senal emitida, salvo la senal del punto de acceso R5
que se encuentra en la zona D.
Zona B: en esta zona se localizan 3 puntos, los cuales se muestran en la tabla 3.2.
Esta zona tiene vision directa con los puntos de acceso 2 y 3, habiendo paredes
como obstaculo para los demas puntos de acceso.
Zona C: esta zona cuenta con 9 puntos de medida (tabla 3.3). Esta zona no
tiene vision directa con ningun punto de acceso, ya que hay varias paredes como
obstaculo.
Zona D: tiene 4 puntos de medida que se exponen en la tabla 3.4. Esta zona es
una sala de reuniones en la que se encuentra el punto de acceso 5. Los demas
puntos de acceso no cuentan con vision directa ya que hay paredes.
La ubicacion de todos los puntos de medida se muestran en la figura 3.4, que muestra
la posicion de estos puntos de medida dentro de ReTiCS.
36CAPITULO 3. PLATAFORMA INALAMBRICA Y SISTEMA DE TELEMETRIA
A1 A2 A3 A4 A5 A6 A7 A8 A9 A10
X 2,000 2,051 3,353 0,703 3,888 5,457 7,040 6,159 7,483 8,224
Y 3,255 0,847 1,052 2,421 2,427 3,217 5,068 2,209 3,167 1,859
B1 B2 B3
X 9,816 14,440 19,132
Y 0,256 0,921 0,800
C1 C2 C3 C4 C5 C6 C7 C8 C9
X 21,506 22,329 22,878 23,412 24,451 25,060 25,516 27,188 27,983
Y 1,669 4,640 3,000 1,068 2,520 1,730 4,084 3,182 4,674
D1 D2 D3 D4
X 16,39 14,198 15,239 13,231
Y 2,331 2,430 4,800 4,260
4d
Pr (d) = P0 20log( ) (3.1)
donde Pr (d) representa el nivel de la senal, expresada en dB, en funcion de la distancia,
d, expresada en metros entre el emisor y el receptor, es el ratio entre la velocidad de
la luz y la frecuencia de emision y P0 es un termino independiente.
El objetivo de este estudio es fijar el valor del termino independiente P0 de la
ecuacion 3.1 con el objetivo de obtener una buena estimacion de la distancia para cada
combinacion de punto de acceso y dispositivo receptor. Este valor se establece como
una constante en funcion de resultados empricos obtenidos previamente en el entorno
y cuyo valor depende del nivel de la senal, RSSI, obtenido experimentalmente y del
canal utilizado en la transmision. Por ello, P0 debe ser establecido de forma diferente
para cada combinacion de punto de acceso y receptor.
Para la adquisicion de este valor se ha seguido un protocolo para la recogida de
datos:
Cuenta con un boton para empezar el barrido. El tiempo del barrido se puede
configurar mediante las preferencias de la actividad (figura 3.5b), las cuales
tambien permiten filtrar redes para una recogida de datos mas comoda.
38CAPITULO 3. PLATAFORMA INALAMBRICA Y SISTEMA DE TELEMETRIA
Nuevo barrido: una vez obtenidas la intensidad media y desviacion tpica de cada
punto de acceso en un punto, el usuario se situa en otro punto y empieza otro
barrido con el mismo protocolo, poniendo as las estadsticas a 0.
La tabla 3.5 muestra los datos obtenidos para el punto de acceso aiboNET1 durante
5 das. Esta tabla contiene la distancia de cada punto a aiboNET1 (calculada mediante
el teorema de Pitagoras), las potencias reales obtenidas durante 5 das (en dB), la
potencia media de los 5 das y el valor estimado optimo calculado por la ecuacion 3.1.
El valor estimado optimo se ha adquirido variando el termino independiente P0 hasta
encontrar la mejor representacion de los datos obtenidos. En el caso de este punto de
acceso el valor que mejor representa los datos es P0 = 3.
Por otro lado, la tabla 3.6 muestra las desviaciones asociadas a los datos de la tabla
3.5. La figura 3.6 muestra una grafica obtenida a partir de la tabla 3.5, en la cual se
puede ver como se comportan los datos y como se comporta la ecuacion con P0 = 3.
Los valores de P0 obtenidos para cada punto de acceso se encuentran en la tabla
3.7.
3.2.2. Conclusiones
Una vez mostrados los resultados obtenidos en la recogida de datos, procedemos a
mostrar las conclusiones que podemos adquirir de ellos:
La distancia optima para poder tratar los datos segun la formula de Kitasuka
(3.1) se encuentra entre 2 y 13 metros cuando tenemos visibilidad directa entre
emisor y receptor.
Punto de acceso
aiboNET1 aiboNET2 aiboNET3 aiboNET4 aiboNET5
P0 = 3 P0 = 5 P0 = 6 P0 = 2 P0 = 4
SISTEMA DE LOCALIZACION
EN INTERIORES
Una vez desplegado el entorno valido para el sistema y obtenido el termino in-
dependiente P0 (relacion entre la potencia y la distancia) para cada punto de acceso
procedemos al diseno e implementacion del algoritmo de localizacion.
El algoritmo de localizacion ha sido disenado utilizando los principios de un filtro
de partculas descritos en el Captulo 2 de esta memoria. Una partcula representa una
posible posicion del usuario, es decir, cada partcula es una hipotesis de la posicion del
usuario. Las partculas cuentan con los siguientes atributos:
43
44 CAPITULO 4. SISTEMA DE LOCALIZACION EN INTERIORES
El algoritmo de localizacion cuenta con varios atributos que deben ser inicializados
antes de la ejecucion de este. Estos atributos son:
Tamano del entorno: tamano en metros del entorno tanto en el eje x como en
el eje y. El algoritmo cuenta con dos atributos que representan estos tamanos:
maxX y maxY
Orientacion del entorno (): orientacion del entorno con respecto a los ejes
geograficos terrestres. Mas tarde se hablara de ella.
Se ha implementado una actividad que permite inicializar todos estos atributos con
facilidad.
Por otro lado, se van a definir los ejes utilizados en el entorno y las caractersticas
que debe cumplir el punto de referencia. Como se puede observar en la figura 3.3, el
punto (0,0) se encuentra en la esquina inferior izquierda del entorno. Sin embargo, la
orientacion de esta figura no se corresponde con la orientacion del I3A en el mapa (y
por ende la orientacion de ReTiCS).
La figura 4.1 muestra el I3A con su verdadera orientacion. Esta figura muestra el
punto de referencia usado en nuestro caso (origen de coordenadas) representado como
un marcador de Google Maps, los ejes utilizados en nuestro entorno marcados en negro
(as como los cuadrantes) y los ejes geograficos marcados con una lnea discontinua en
rojo. Notese que nuestros ejes estan desplazados segun la orientacion geografica del I3A
(aproximadamente = 8), lo que habra que tener en cuenta a la hora de obtener la
visualizacion. Notese tambien que los cuadrantes no estan segun la convencion que se
suele utilizar para los ejes, es decir, en nuestro caso el primer cuadrante (coordenadas
x e y positivas) se encuentra en el cuadrante superior izquierdo, no en el cuadrante
superior derecho como suele ser.
El punto de referencia debe estar, por tanto, en la esquina inferior derecha de nuestro
entorno. Hay que aclarar que las partculas que se usan en el algoritmo no pueden salir
4.2. ALGORITMO DE LOCALIZACION 45
del entorno (en nuestro caso del primer cuadrante representado en la figura 4.1), pero
cuando se recibe una localizacion GPS, esta puede estar en cualquier cuadrante.
N umAP
X
Wi = (Wi,j ) + Wi,GP S (4.1)
j=1
donde Wi es el peso de la partcula, Wi,j es el peso otorgado por cada punto de acceso
(AP) y Wi,GP S es el peso otorgado por el GPS.
Dado que tenemos dos fuentes para otorgar peso, se va a explicar por un lado el
peso otorgado por cada punto de acceso (Wi,j ) y por otro lado el peso otorgado por
el GPS (Wi,GP S ), as como la obtencion de la coordenada relativa en el entorno de la
coordenada geografica obtenida por este.
En cada iteracion del algoritmo una medida de la intensidad de cada punto de
acceso es recibida. A partir de estas intesidades se calcula, primero de todo, la distancia
estimada que hay desde el usuario a cada punto de acceso. Para ello se hace uso de la
formula 3.1 con el termino independiente P0 ya establecido para cada punto de acceso
y con la distancia en funcion de las demas variables:
Pr P0
4d 10 20
Pr (d) = P0 20 log( ) = d(Pr ) = (4.2)
4
Cuando en una iteracion del algoritmo tengamos disponible una localizacion reci-
bida por el GPS, el algoritmo calcula en primer lugar la posicion relativa (x,y) del
entorno que corresponde a esa localizacion y despues, para cada partcula, se calcula
el peso otorgado por esta localizacion.
Para obtener la posicion relativa (x,y) de la localizacion GPS nos ayudamos del
punto de referencia y de las ecuaciones 4.5, 4.6, 4.7 y 4.8 obtenidas de [13]. La primera
ecuacion (4.5) nos permite obtener la distancia que hay entre dos puntos A y B expre-
sados en latitud longitud, donde R es el radio de la Tierra. Las otras tres ecuaciones
nos permiten obtener el angulo geografico entre dos puntos expresados en latitud lon-
gitud, que es el angulo que se forma entre la recta que une ambos puntos y la recta que
representa el norte magnetico. La figura 4.2 muestra este angulo. En ella se muestran
dos puntos (A y B) unidos por una recta y el angulo geografico resultante, representado
en azul con la etiqueta .
tan( lat2B + 4 )
= ln( ) (4.6)
tan( lat2A + 4 )
lon
= arctan( ) (4.8)
A traves de estas ecuaciones, siendo el punto A el punto de referencia y el punto
B la localizacion obtenida por el GPS, y de la trigonometra, podemos obtener la
coordenada relativa (x,y) del GPS mediante:
x = distancia cos()
y = distancia sin()
Ademas, estas posiciones deben situarse en el cuadrante correspondiente mediante
la comparacion del punto de referencia y el punto obtenido por el GPS:
Si la latitud del punto de referencia es menor que la del punto obtenido por el
GPS y la longitud del punto de referencia es mayor que la del punto obtenido por
el GPS, nos encontramos en el primer cuadrante. Por tanto, ambas posiciones
deben ser positivas.
Si la latitud del punto de referencia es menor que la del punto obtenido por el
GPS y la longitud del punto de referencia es menor que la del punto obtenido
por el GPS, nos encontramos en el segundo cuadrante. Por tanto, la posicion x
debe ser positiva y la posicion y negativa.
4.2. ALGORITMO DE LOCALIZACION 49
Si la latitud del punto de referencia es mayor que la del punto obtenido por el
GPS y la longitud del punto de referencia es mayor que la del punto obtenido por
el GPS, nos encontramos en el tercer cuadrante. Por tanto, la posicion x debe ser
negativa y la posicion y positiva.
Si la latitud del punto de referencia es mayor que la del punto obtenido por el
GPS y la longitud del punto de referencia es menor que la del punto obtenido
por el GPS, nos encontramos en el cuarto cuadrante. Por tanto, ambas posiciones
deben ser negativas.
Si al final del calculo del peso de una partcula, este resulta ser cero, se aplica
la correccion de Laplace para que as todas las partculas tengan alguna posibilidad
(aunque sea mnima) de formar parte de la siguiente poblacion. Esta correccion implica
poner el peso de la partcula a 0.01.
Las figuras 4.3 y 4.4 muestran un ejemplo de ponderacion de una partcula. Se
puede observar el peso otorgado por cinco puntos de acceso (cuyos pesos son todo 1,
50 CAPITULO 4. SISTEMA DE LOCALIZACION EN INTERIORES
Figura 4.3: Ejemplo de ponderacion de una partcula con una posicion muy verosmil
Si el aleatorio es menor o igual que la suma de los pesos de las partculas visitadas
hasta ahora (que no es sumapesos ) mas el peso de la partcula actual se anade
esa partcula a la siguiente poblacion.
Figura 4.4: Ejemplo de ponderacion de una partcula con una posicion poco verosmil
Partcula 1 2 3 4 5
Peso 1 4 2 4 1
Este procedimiento puede verse como una ruleta en la que los pesos de cada partcu-
la representan los numeros que pueden tocar. La ruleta se gira (lo que representa el
aleatorio que se obtiene) y se escoge la partcula donde pare la ruleta.
Para que no haya dudas con este protocolo, se va a exponer un ejemplo de seleccion
con 5 partculas. Supongamos las partculas con los pesos mostrados en la tabla 4.1,
donde la partcula 1 se corresponde con el ejemplo poco verosmil de la seccion anterior
y la partcula 2 se corresponde con el ejemplo muy verosimil.
Supongamos tambien que el aleatorio obtenido es 4. El algoritmo de seleccion em-
pezara preguntandose si 4 es menor o igual que la suma de los pesos de las partculas
visitadas hasta ahora (que es 0) mas el peso de la particula 1 (que es 1). Como esta
condicion no se cumple, la partcula no es escogida y se suma su peso al peso de las
partculas visitadas. Cuando el algoritmo escoge la siguiente partcula (partcula 2),
comprueba que en este caso el aleatorio s es menor o igual que la suma de los pesos de
las partculas visitadas hasta ahora (que es 1) mas el peso de esta partcula (que es 4).
Por tanto, el algoritmo de seleccion escogera la partcula 2 para la siguiente poblacion.
La figura 4.5 ilustra este ejemplo. En ella se muestra un grafico (ruleta) con los
pesos de cada partcula. El punto superior etiquetado como A sera el punto desde el
que la ruleta empezara a girar en sentido horario. Una vez girada la ruleta segun el
52 CAPITULO 4. SISTEMA DE LOCALIZACION EN INTERIORES
Se obtiene un numero aleatorio real entre 10 %maxX y +10 %maxX para el eje
x. Para el eje y se obtiene otro numero aleatorio de forma analoga.
donde d es la distancia eucldea que hay entre la coordenada relativa (x,y) de la partcu-
la y la coordenada relativa de referencia, R es el radio de la Tierra y es el angulo
geografico (angulo que se forma entre la recta que une ambos puntos y la recta que
representa el norte magnetico).
El angulo geografico se obtiene mediante trigonometra:
Sin embargo, este no es el angulo que queremos, pues este angulo no estara en nuestro
primer cuadrante. Por ello, hay que transportar este angulo:
La posicion del usuario, que es calculada mediante una media ponderada por el
peso de las posiciones x e y de todas las partculas, se muestra como la ubicacion
actual del usuario, con la misma representacion que usa Google Maps.
Las partculas son pintadas como un crculo con 0.5 metros de radio rellenado
de azul, sobre el que hay otro crculo de color negro sin relleno que representa el
peso de la partcula. En las preferencias del sistema se puede elegir si se quiere
que se pinten o no.
La figura 4.6 muestra una ejecucion del algoritmo en la que se han utilizado 10
partculas. Se puede observar la posicion actual del usuario y las partculas con sus
respectivos pesos.
Para una correcta ejecucion del algoritmo, hay que manejar correctamente la concu-
rrencia. Esto es debido a que la API de Android para Wi-Fi devuelve de forma asncrona
el resultado de una nueva medida de la red. Por ello, tenemos que asegurarnos de que
el algoritmo usa la ultima medida recibida para ponderar las partculas.
En nuestro caso se ha resuelto este problema mediante las clases ReentrantLock
y Condition de Java. En el inicio de cada iteracion del algoritmo (antes de llamar
al metodo ponderacion()), el hilo que ejecuta el algoritmo se duerme mediante la
llamada al metodo await() de la clase Condition. Cuando se recibe una nueva medida
de la red, se despierta a este hilo mediante la llamada al metodo signalAll() de la
condicion.
La secuencia de llamadas para ejecutar el algoritmo correctamente es:
Metodo inicializa().
Metodo ponderacion().
Metodo visualizacion().
Metodo getParticulaMediaPonderada().
Metodo seleccion().
Metodo variacion().
Las dos primeras llamadas de las secuencia anterior deben ser llamadas fuera del
bucle en el que estaran las llamadas a los demas metodos de esta secuencia.
Captulo 5
EXPERIMENTOS Y
RESULTADOS
Este captulo muestra las pruebas que se han realizado al algoritmo y los resultados
de estas. Se han creado un total de tres pruebas:
Uso del GPS. En esta prueba el numero de partculas se fija segun el mejor
resultado obtenido en la anterior prueba y no se usan los pesos dinamicos de los
puntos de acceso. Su objetivo es comprobar el impacto del uso del GPS en el
sistema.
Estas tres pruebas se han realizado utilizando un fichero creado por el modulo de
pruebas. Este fichero cuenta con aproximadamente 400 medidas, que se han obtenido
durante 20 minutos andando por nuestro entorno. Cada prueba se ha repetido tres
veces utilizando el 100 % del fichero, el 50 % del fichero (una medida de cada dos) y el
25 % del fichero (una medida de cada cuatro). Ademas, se ha evaluado el sistema de
localizacion en terminos del error cuadratico medio y de la distancia euclda media.
Por ultimo se realizara un estudio del error por zonas a partir de la mejor ejecucion
de las tres pruebas anteriores. Con ello podremos determinar en que zonas de nuestro
57
58 CAPITULO 5. EXPERIMENTOS Y RESULTADOS
entorno el algoritmo de localizacion funciona peor para anadir nuevos puntos de acceso
y as mejorar la precision del sistema.
Figura 5.1: Grafica de los errores de cada medida a partir del fichero de salida con la
mejor ejecucion
CONCLUSIONES Y
PROPUESTAS
6.1. Conclusiones
En este proyecto se ha realizado un prototipo de sistema de posicionamiento en
interiores utilizando para ello dispositivos con sistema operativo Android y una red Wi-
Fi desplegada en el laboratorio ReTiCS del Instituto de Investigacion en Informatica
de Albacete (I3A).
En la primera parte del proyecto se ha definido el entorno sobre el que se ha des-
plegado una red de puntos de acceso Wi-Fi que sera usada para la localizacion. La
segunda parte del proyecto ha consistido en un estudio de la senal Wi-Fi para poder
determinar la relacion entre la potencia de la senal (RSSI) y la distancia a traves de
la ecuacion de Kitasuka [9]. A partir de este estudio se ha implementado seguidamente
el sistema, el cual hace uso del metodo de Monte Carlo con un filtro de partculas.
Finalmente se han realizado una serie de experimentos para obtener la precision del
sistema.
El algoritmo de localizacion toma sus decisiones a partir de la potencia recibida
por cada uno de los puntos de acceso, as como de los datos recibidos por el GPS. Se
ha comprobado en el estudio de la senal que la potencia (RSSI) con que se recibe la
senal vara mucho incluso sin cambiar de posicion. A Por ello, el sistema hace uso de
un integrador matematico para que esto no afecte tanto en el proceso de localizacion.
Uno de los mayores problemas encontrados en la realizacion del proyecto fue como
obtener las coordenadas geograficas expresadas en latitud y longitud de una coordenada
relativa a un punto de referencia de nuestro entorno. La primera propuesta para la
solucion de este problema fue a traves de las formulas de Haversine. Durante mas de
dos semanas se trabajo en esta direccion sin poder llegar a una solucion. Finalmente se
soluciono este problema cuando se encontraron por la red ([13]) una serie de ecuaciones
63
64 CAPITULO 6. CONCLUSIONES Y PROPUESTAS
[1] Abdelmoula Bekkali, Horacio Sanson, and Mitsuji Matsumoto. Rfid indoor po-
sitioning based on probabilistic rfid map and kalman filtering. In Wireless and
Mobile Computing, Networking and Communications, 2007. WiMOB 2007. Third
IEEE International Conference on, pages 2121. IEEE, 2007. 27
[2] Brian P Crow, Indra Widjaja, Jeong Geun Kim, and Prescott T Sakai. Ieee 802.11
wireless local area networks. Communications Magazine, IEEE, 35(9):116126,
1997. 18
[5] Frank Dellaert, Dieter Fox, Wolfram Burgard, and Sebastian Thrun. Monte carlo
localization for mobile robots. In Robotics and Automation, 1999. Proceedings.
1999 IEEE International Conference on, volume 2, pages 13221328. IEEE, 1999.
29
[6] Frederic Evennou, Francois Marx, and Emil Novakov. Map-aided indoor mobile
positioning system using particle filter. In Wireless Communications and Networ-
king Conference, 2005 IEEE, volume 4, pages 24902494. IEEE, 2005. 30
[9] Teruaki Kitasuka, Kenji Hisazumi, Tsuneo Nakanishi, and Akira Fukuda. Posi-
tioning technique of wireless lan terminals using rssi between terminals. In PSC,
pages 4753. Citeseer, 2005. 37, 63
67
68 BIBLIOGRAFIA
[10] Hui Liu, Houshang Darabi, Pat Banerjee, and Jing Liu. Survey of wireless indoor
positioning techniques and systems. Systems, Man, and Cybernetics, Part C:
Applications and Reviews, IEEE Transactions on, 37(6):10671080, 2007. 7, 26
[11] Ramon Llamas, Melissa Chau, and Michael Shirer. Android and ios squeeze the
competition. http://www.idc.com/getdoc.jsp?containerId=prUS25450615,
2015. 11
69
Apendice A
71
72APENDICE A. RESULTADOS OBTENIDOS DEL ESTUDIO DE LA POTENCIA
MANUAL DE USUARIO
Nombre.
BSSID (MAC).
83
84 APENDICE B. MANUAL DE USUARIO
Posicion en el entorno.
Termino independiente P0 .
La orientacion del entorno es el grado de desfase que hay entre los ejes de nuestro
entorno y los ejes de la Tierra. En el entorno en el que se desarrollo la aplicacion la
orientacion era = 8. Se puede visualizar en la figura B.1 este angulo, as como los
ejes del entorno (en negro) y los ejes de la Tierra (en rojo discontinuo). El usuario debe
disenar su entorno de forma que quede de una forma analoga al entorno mostrado por
esta figura y obtener la orientacion del mismo.
El punto marcado como (0,0) en la figura B.1 es el punto de referencia que se ha co-
mentado anteriormente. Se debe especificar la latitud y longitud geograficas de este pun-
to. Para obtener la latitud y la longitud de un punto geografico se puede utilizar la he-
rramienta que se encuentra en http://www.bufa.es/google-maps-latitud-longitud/,
la cual se puede visualizar en la figura B.2. Esta herramienta obtiene las coordenadas
geograficas de la posicion a la que apunta el punto etiquetado con +. Lo unico que
debe hacer el usuario es buscar el punto de referencia en esta herramienta y obtener el
valor de la latitud y la longitud de este punto
En la informacion de los puntos de acceso se ha comentado un campo llamado
termino independiente P0 . Este termino se debe obtener mediante un estudio del com-
portamiento de la red. Su valor esta entre 0 y 10.
Todos estos parametros se pueden establecer y modificar en la pantalla de ajustes
de ejecucion (vease seccion B.4).
Mostrar partculas: si esta activo, se visualizan las partculas usadas por el al-
goritmo de localizacion en interiores as como los pesos de estas. Utilizar esta
opcion puede sobrecargar la aplicacion si el numero de partculas es alto.
Los parametros por defecto de la aplicacion son los parametros que se han usado
para el desarrollo de la aplicacion. Los parametros de orientacion, tamano del entorno,
punto de referencia e informacion de los routers se debe modificar segun el entorno en
el que se quiera obtener la localizacion. Para saber como establecer estos parametros
dirjase a la seccion B.1.
La figura B.8 muestra los dialogos mostrados para la informacion de los routers. El
dialogo mostrado cuando se pulsa el boton anadir un router se ilustra en la figura de
la izquierda. En la informacion de los routers, si el usuario pulsa sobre un router, se
despliega un dialogo que le permite modificar la informacion de este (centro), mientras
que si el usario hace un click largo sobre un router se muestra un dialogo que le permite
borrar toda la informacion de ese router (derecha).
B.4. PANTALLA DE AJUSTES DE EJECUCION 87
Figura B.2: Herramienta para obtener las coordenadas geograficas de un punto geografi-
co
B.4. PANTALLA DE AJUSTES DE EJECUCION 89
Figura B.8: Dialogos mostrados para la informacion de los routers. Anadir router (iz-
quierda), modificar router (centro) y borrar router (derecha)