LOCALIZACION ASISTIDA POR GPS PARA ROBOTS´ MOVILES EN...

7
LOCALIZACI ´ ON ASISTIDA POR GPS PARA ROBOTS M ´ OVILES EN CONFIGURACI ´ ON ACKERMANN DE RECURSOS LIMITADOS Leonardo Mar´ ın, ´ Angel Soriano, Vicent Mayans, Marina Vall´ es, ´ Angel Valera, Pedro Albertos email: {leomarpa,ansovi,vimaro,mvalles,giuprog,pedro}@ai2.upv.es Departamento de Ingenier´ ıa de Sistemas y Autom´ atica Instituto Universitario de Autom´ atica e Inform´ atica Industrial Universidad Polit´ ecnica de Valencia, Valencia, Espa˜ na Resumen En el presente trabajo se expone la implementa- ci´on de un algoritmo de fusi´ on de datos prove- nientes de un sistema de posicionamiento global (GPS) con la estimaci´on de la posici´ on mediante sensores inerciales con el fin de mejorar la locali- zaci´on de robots m´ oviles de recursos computacio- nales limitados. Para ello, se hace una revisi´ on de las t´ ecnicas existentes para la fusi´ on de datos pa- ra localizaci´ on basada en GPS, con especial inter´ es en las basadas en el filtro de Kalman. El algoritmo propuesto utiliza un filtro de Kalman y un mode- lo cinem´ atico de un robot m´ ovil de configuraci´on Ackermann junto con una actualizaci´on de la po- sici´on basada en eventos. El evento se define con base en la covarianza del error de estimaci´on, rea- lizando la actualizaci´on del filtro cuando el evento supera un nivel preestablecido. Se incluye adem´as la informaci´ on de la cantidad de sat´ elites dispo- nibles en el GPS para mejorar la precisi´on de la estimaci´on. La estrategia basada en eventos per- mite la implementaci´on del m´ etodo en un robot de recursos limitados ya que utiliza menor ancho de banda y menos tiempo de procesador que las solu- ciones existentes. El m´ etodo propuesto se prueba en un robot m´ ovil LEGO NXT en exteriores con resultados satisfactorios. Palabras clave: Robots m´oviles, localizaci´ on, fusi´on de datos, filtros de Kalman, sistema de posicionamiento global, sistemas basados en eventos, recursos limitados, LEGO NXT. 1. INTRODUCCI ´ ON El proceso de localizaci´ on, el determinar la posi- ci´on y orientaci´ on en el espacio (postura), es un aspecto fundamental en rob´ otica m´ovil. Sin esta informaci´on el robot no ser´ ıa capaz de seguir una trayectoria, navegar en el entorno, ir a una posi- ci´on meta o volver al punto de inicio del movi- miento, lo cual reduce la mayor´ ıa de las funciones del robot m´ovil. Este aspecto ha sido ampliamente estudiado en la literatura ([19],[21]) y su soluci´ on noes trivial, debido a que la informaci´on del movi- miento del robot se obtiene de sensores con ruido y no-linealidades. Este aspecto debe ser tomado en cuenta por el m´ etodo de localizaci´ on para evi- tar el crecimiento desmedido en la incertidumbre de la estimaci´on de la postura. Existen distintos m´ etodos de localizaci´ on seg´ un la fuente de informaci´on utilizada. Si la posici´on ini- cial del robot antes de iniciar el movimiento es conocida, la postura del robot se estima utilizan- do la informaci´on local de movimiento del robot para calcular la distancia recorrida desde el punto inicial mediante el procedimiento conocido como odometr´ ıa, navegaci´ on por estima ([19] y [16]) o estimaci´onlocal de la postura [11]. Este procedi- miento tiene la ventaja de un tiempo de respuesta bajo pero el inconveniente de que el error crece in- definidamente. Por el contrario, se puede utilizar un sensor complejo para obtener directamente la postura absoluta del robot en el entorno [8], em- pleando un sensor global como el GPS sin tener que usar la informaci´on local. Este procedimiento es conocido como estimaci´onglobal de la postura, cuenta con buena precisi´ on dependiendo del sen- sor utilizado pero tiene la gran desventaja de tener un tiempo de respuesta elevado. Ambas estrategias, local y global, se combinan con el fin de mejorar el tiempo de respuesta del m´ etodo de localizaci´ on, el cual debe ser lo suficientemente apido para el buen funcionamiento del algoritmo de navegaci´on del robot. Generalmente se utili- za la informaci´on local como principal fuente de informaci´on y se corrige el error en la estimaci´on cuando est´ a disponible la informaci´on global ([10], [21]). La integraci´ on de ambos m´ etodos se realiza habitualmente mediante un esquema de fusi´on ba- sadoen alguna versi´on del filtro del Kalman (KF) tal como el KF lineal, el extendido (EKF) o el uns- cented (UKF) (ver algoritmos en [9], [22], [12] y [20]). Estos m´ etodos toman en cuenta las distintas precisiones de los sensores disponibles (ruido aso-

Transcript of LOCALIZACION ASISTIDA POR GPS PARA ROBOTS´ MOVILES EN...

Page 1: LOCALIZACION ASISTIDA POR GPS PARA ROBOTS´ MOVILES EN ...wks.gii.upv.es/cobami/files/MV_JornadasAutomatica... · el presente trabajo un algoritmo basado en fusi´on KF apto para

LOCALIZACION ASISTIDA POR GPS PARA ROBOTSMOVILES EN CONFIGURACION ACKERMANN DE

RECURSOS LIMITADOS

Leonardo Marın, Angel Soriano, Vicent Mayans, Marina Valles, Angel Valera, Pedro Albertosemail: {leomarpa,ansovi,vimaro,mvalles,giuprog,pedro}@ai2.upv.es

Departamento de Ingenierıa de Sistemas y AutomaticaInstituto Universitario de Automatica e Informatica Industrial

Universidad Politecnica de Valencia, Valencia, Espana

Resumen

En el presente trabajo se expone la implementa-cion de un algoritmo de fusion de datos prove-nientes de un sistema de posicionamiento global(GPS) con la estimacion de la posicion mediantesensores inerciales con el fin de mejorar la locali-zacion de robots moviles de recursos computacio-nales limitados. Para ello, se hace una revision delas tecnicas existentes para la fusion de datos pa-ra localizacion basada en GPS, con especial interesen las basadas en el filtro de Kalman. El algoritmopropuesto utiliza un filtro de Kalman y un mode-lo cinematico de un robot movil de configuracionAckermann junto con una actualizacion de la po-sicion basada en eventos. El evento se define conbase en la covarianza del error de estimacion, rea-lizando la actualizacion del filtro cuando el eventosupera un nivel preestablecido. Se incluye ademasla informacion de la cantidad de satelites dispo-nibles en el GPS para mejorar la precision de laestimacion. La estrategia basada en eventos per-mite la implementacion del metodo en un robot derecursos limitados ya que utiliza menor ancho debanda y menos tiempo de procesador que las solu-ciones existentes. El metodo propuesto se pruebaen un robot movil LEGO NXT en exteriores conresultados satisfactorios.

Palabras clave: Robots moviles, localizacion,fusion de datos, filtros de Kalman, sistema deposicionamiento global, sistemas basados eneventos, recursos limitados, LEGO NXT.

1. INTRODUCCION

El proceso de localizacion, el determinar la posi-cion y orientacion en el espacio (postura), es unaspecto fundamental en robotica movil. Sin estainformacion el robot no serıa capaz de seguir unatrayectoria, navegar en el entorno, ir a una posi-cion meta o volver al punto de inicio del movi-miento, lo cual reduce la mayorıa de las funciones

del robot movil. Este aspecto ha sido ampliamenteestudiado en la literatura ([19],[21]) y su solucionno es trivial, debido a que la informacion del movi-miento del robot se obtiene de sensores con ruidoy no-linealidades. Este aspecto debe ser tomadoen cuenta por el metodo de localizacion para evi-tar el crecimiento desmedido en la incertidumbrede la estimacion de la postura.

Existen distintos metodos de localizacion segun lafuente de informacion utilizada. Si la posicion ini-cial del robot antes de iniciar el movimiento esconocida, la postura del robot se estima utilizan-do la informacion local de movimiento del robotpara calcular la distancia recorrida desde el puntoinicial mediante el procedimiento conocido comoodometrıa, navegacion por estima ([19] y [16]) oestimacion local de la postura [11]. Este procedi-miento tiene la ventaja de un tiempo de respuestabajo pero el inconveniente de que el error crece in-definidamente. Por el contrario, se puede utilizarun sensor complejo para obtener directamente lapostura absoluta del robot en el entorno [8], em-pleando un sensor global como el GPS sin tenerque usar la informacion local. Este procedimientoes conocido como estimacion global de la postura,cuenta con buena precision dependiendo del sen-sor utilizado pero tiene la gran desventaja de tenerun tiempo de respuesta elevado.

Ambas estrategias, local y global, se combinan conel fin de mejorar el tiempo de respuesta del metodode localizacion, el cual debe ser lo suficientementerapido para el buen funcionamiento del algoritmode navegacion del robot. Generalmente se utili-za la informacion local como principal fuente deinformacion y se corrige el error en la estimacioncuando esta disponible la informacion global ([10],[21]). La integracion de ambos metodos se realizahabitualmente mediante un esquema de fusion ba-sado en alguna version del filtro del Kalman (KF)tal como el KF lineal, el extendido (EKF) o el uns-cented (UKF) (ver algoritmos en [9], [22], [12] y[20]). Estos metodos toman en cuenta las distintasprecisiones de los sensores disponibles (ruido aso-

Page 2: LOCALIZACION ASISTIDA POR GPS PARA ROBOTS´ MOVILES EN ...wks.gii.upv.es/cobami/files/MV_JornadasAutomatica... · el presente trabajo un algoritmo basado en fusi´on KF apto para

ciado) y un modelo de movimiento del robot pararealizar la fusion de forma optima e incrementarla precision de la localizacion ([13],[4] y [6]).

Existen multiples ejemplos de metodos de fusionsensorial utilizando el KF y la informacion prove-niente del GPS para el caso de un robot o vehıculoen configuracion Ackermann. Estos se resumen acontinuacion junto con la teorıa basica de los sen-sores GPS.

2. TECNOLOGIA GPS PARA

LOCALIZACION ASISTIDA

El sistema de posicionamiento global (GPS) es unsistema basado en satelites que se emplea para lo-calizar cualquier punto en la Tierra. Provee in-formacion sobre la posicion 3D de forma conti-nua y en tiempo real permitiendo la navegaciony sincronizacion por todo el planeta. Este sistemaesta formado por tres segmentos [7]. El segmentoespacial consta de 29 satelites orbitando alrede-dor de la Tierra, con cuatro relojes atomicos ca-da uno. Cada satelite envıa una senal de radio debaja frecuencia a 300.000 km/s con su informa-cion de posicion y tiempo, ademas de un codigounico que permite su identificacion en el receptor.El segmento de control consta de una estacion decontrol principal junto con cuatro adicionales notripuladas, que realizan el rastreo de los satelites yredirigen su posicion en caso de que difiera con latrayectoria preestablecida. Finalmente el segmen-to de usuario, formado por los receptores GPS,los cuales proveen el posicionamiento utilizandolas senales recibidas por los satelites ya tratadas.

Para calcular su posicion, los receptores miden ladistancia hasta cada satelite rastreando, utilizan-do el tiempo que tarda la senal del satelite enllegar a la superficie terrestre (satellite ranging).Esto es posible gracias a la sincronizacion entresatelites y receptor. Al multiplicar este tiempo porla velocidad de transmision se obtiene la distan-cia requerida. Con estas se determina la posicionabsoluta del receptor mediante triangulacion. Elprimer satelite forma una esfera, con centro en suposicion y radio la distancia con el receptor, enla que se sabe que este se encuentra. Un segundosatelite genera su esfera, estrechando el espaciodonde se localiza el receptor. Por ultimo, con lade un tercer satelite la incognita se reduce a dospuntos, de los cuales uno se rechaza porque gene-ralmente no estara en la Tierra. Un cuarto sateliteayuda a corregir errores de medicion del tiempodel reloj.

Existen diversas fuentes de error que afectan laprecision de la posicion calculada por el sensorGPS. Aparte de los factores ambientales que pue-

den afectar los tiempos de transmision y disminuirla intensidad de las senales recibidas, existen pro-blemas inherentes a la navegacion en medios urba-nos. Por ejemplo la interferencia electromagneticaque puede afectar los receptores GPS. Ademas,una pequena variacion o error latente en el relojdel receptor puede suponer una diferencia consi-derable en el calculo de la posicion. Finalmentesi la senal del satelite se refleja en la superficiede algun edificio, se pueden recibir en el receptordos senales, la reflejada y la que viene directo delsatelite. Esto genera el problema conocido comoerror multiruta o multicamino [21].

Como se menciono con anterioridad, con el fin demitigar los problemas inherentes al sistema GPSy de mejorar la precision en la medicion de la pos-tura del robot, se utilizan los esquemas de fusionKF. Para el caso de robots con configuracion Ac-kermann en [5] se equipa un vehıculo con una uni-dad inercial (IMU) de alta precision junto con unGPS de doble antena para estimar la postura delrobot utilizando un KF para estimar los parame-tros necesarios del modelo. En [24] se utiliza unEKF para realizar la fusion con la ayuda de unared neuronal con buenos resultados sobre la ca-rretera. De forma similar, en [3] se utilizan dosGPS cinematicos de tiempo real con tres antenasy una IMU para estimar la postura del vehıculoutilizando un EKF adaptativo que toma en cuen-ta las condiciones reales de operacion para reducirel error de estimacion. En [18] se utiliza un algorit-mo que adapta la estructura del modelo utilizadoen lınea mientras se encuentra disponible la senalGPS. Se utiliza en cascada con un KF, en las ex-tensas pruebas en carretera se obtienen buenos re-sultados ante fallos en el GPS. Finalmente en [21]se puede encontrar una revision bastante completade los metodos de navegacion y localizacion pararobots y vehıculos de configuracion Ackermann.

Todos estos ejemplos comparten aspectos en cuan-to a la implementacion de la fusion basada en KF.La mayorıa de los algoritmos propuestos son costo-sos en cuanto a consumo de recursos computacio-nales (necesitan inversion y manipulacion de ma-trices grandes), ancho de banda y baterıas. Esteaspecto impide la implementacion en plataformasde bajo coste y recursos limitados. Con el obje-tivo de solucionar esta limitacion, se propone enel presente trabajo un algoritmo basado en fusionKF apto para plataformas de este tipo. Este al-goritmo continua el trabajo previo realizado pa-ra robots de configuracion diferencial en interiores[15].

El resto del artıculo se organiza de la siguiente ma-nera. En la siguiente seccion se presenta el modelodel robot en configuracion Ackermann utilizado

Page 3: LOCALIZACION ASISTIDA POR GPS PARA ROBOTS´ MOVILES EN ...wks.gii.upv.es/cobami/files/MV_JornadasAutomatica... · el presente trabajo un algoritmo basado en fusi´on KF apto para

en la fusion sensorial. En la seccion 4, se muestrael filtro EKF propuesto para mejorar la estima-cion de la postura utilizando la actualizacion glo-bal por eventos. En la seccion 5 se presentan laimplementacion y pruebas realizadas con el roboten exteriores y finalmente, en la ultima seccion, seplantean las conclusiones del presente trabajo.

3. MODELO DE UN ROBOT EN

CONFIGURACION

ACKERMANN

Un robot en configuracion Ackermann consiste enun cuerpo rıgido con centro de masa y gravedadP0, radio de rotacion RG, masa MG y un momen-to de inercia IG con dos ruedas traseras no de-formables y no orientables (fijas) separadas unadistancia b entre ellas y a una distancia l de dosruedas delanteras orientables (tambien a una dis-tancia b entre ellas) tal y como se muestra en lafigura 1(a). La direccion Ackermann modifica laorientacion de las ruedas delanteras de tal formaque, a bajas velocidades, todas las ruedas cumplencon la condicion de rodamiento puro sin desliza-miento lateral [23]. Esto se produce debido a que,a baja velocidad, cada rueda sigue una trayectoriacurva con radios distintos pero con un centro ins-tantaneo de rotacion comun Cr (Fig. 1(a)). Estaconfiguracion se analiza utilizando el modelo dela bicicleta ([23], [17]) mostrado en la figura 1(b)suponiendo que el movimiento se restringe a unplano.

El modelo cinematico de esta configuracion repre-senta la evolucion de las velocidades del robot enun marco inercial fijo. La postura del robot se defi-ne mediante las coordenadas del punto P0 = (x, y)y el angulo de avance θ en el marco de referenciaglobal (XG,YG) en la fig. 1(a). Conociendo las ve-locidades lineales y angulares (v y ω) en el marcode referencia local (XL,YL),la velocidad global delrobot se define como

x

y

θ

=

cos θ − sin θ 0sin θ cos θ 00 0 1

vxvyω

(1)

Discretizando e integrando recursivamente (1) conel tiempo de muestreo Ts, se obtiene la posturaglobal del robot L

Lk=

xk

yk

θk

=

xyθ

k−1

+Ts

cos θk−1 − sin θk−1 0sin θk−1 cos θk−1 0

0 0 1

vx

vy

ω

k−1

(2)

La aceleracion lineal absoluta de P0 en el marcode referencia global a, con componentes (ax,ay) seexpresa en terminos de las aceleraciones (vx,vy) yvelocidades en el marco local utilizando sus com-ponentes normal y tangencial (an,at) [23]

ax = vx − vyω

ay = vy + vxω(3)

YG

YL

XG

XL

x

yP0

RG

at

a

Cr

θ

β

ϕ

ωl

b an

(a) Cinematica

ωα τ

MG ,IG

YG

XG

XL

x

y P0

an at

ax

ayFyr

Fxr

FyfFxf

a

β ϕ

lr lf

YL

vx

vy

(b) Dinamica

Figura 1: Robot en configuracion Ackermann

La relacion cinematica entre φ y ω se muestra en

ω = (vx tanφ)/l (4)

El modelo formado por las ecuaciones (2) a (4) seutiliza en el algoritmo de fusion propuesto, el cualse expone a continuacion.

4. ALGORITMO DE FUSION

BASADO EN EVENTOS

El algoritmo propuesto parte del EKF [20] mos-trado en la figura 2 para un sistema con entradauk ∈ ℜu, medicion zk ∈ ℜm y estado xk ∈ ℜn.El modelo se representa mediante las funciones nolineales f que relaciona el estado en el instante k

con el instante anterior k− 1 y h que relaciona xk

con zk. Los terminoswk, vk representan los ruidosdel proceso y medicion en el instante k, los cualesse consideran con distribucion de probabilidad in-dependiente, blanca y normal con media cero. Elfiltro realiza la fusion sensorial en cada instantede tiempo k utilizando las matrices de covarianzadel ruido del proceso Qk y de la medicion Rk pa-ra obtener el estado estimado xk (la postura delrobot) y la covarianza del error de esta estimacionP k. Se considera que el estado a utilizar en el filtroes la postura junto con las velocidades locales del

Page 4: LOCALIZACION ASISTIDA POR GPS PARA ROBOTS´ MOVILES EN ...wks.gii.upv.es/cobami/files/MV_JornadasAutomatica... · el presente trabajo un algoritmo basado en fusi´on KF apto para

( )( )ˆ ˆ ˆ ,0kk k k kx x K z h x− −= + −

( )k k k kP I K H P−= −

kz( )1 1

ˆ ˆ , ,0k k kx f x u−

− −=( )

1T T T

k k k k k k k k kK P H H P H V R V−

− −= +

1 1

T T

k k k k k k kP A P A W Q W−

− −= +

1) Proyectar el estado hacia adelante

2) Proyectar la covarianza del error hacia adelante

1) Calcular la ganancia de Kalman

2) Actualizar la estimación con la medición

3) Actualizar la covarianza del error.

ACTUALIZAR TIEMPO (PREDICTOR)ACTUALIZAR MEDICIÓN (CORRECTOR)

Estimación Inicial 1

ˆkx −

1kP −

Figura 2: Algoritmo del filtro de Kalman Exten-dido [22]

modelo propuesto. Ademas, las mediciones dispo-nibles en los sensores son φ, vx,enc, vy,enc y ωenc delos encoders, ωgyr de un giroscopo, ωcomp de unabrujula, ax, ay obtenidos como el promedio de lamedicion de dos acelerometros distintos y la pos-tura global LGPS = (x, y, θ)GPS obtenida por elGPS.

El algoritmo propuesto reduce la carga compu-tacional (procesador y memoria) al separar zken los componentes local y global. Con estose determina la postura del robot cada instan-te k utilizando el modelo del robot con zk =[

φ vx,enc vy,enc ωenc ωgyr ωcomp ax ay]T

y uni-camente se utiliza LGPS para corregir la estima-cion local en instantes determinados (no en todok). LGPS se utiliza como una medicion adicionalde la postura cuando el error en la estimacion locales suficientemente grande, indicado por un even-to que utiliza la seccion de la postura de Pk en elEKF. Esta P k,xy se utiliza para obtener el areade los elipsoides de error con intervalo 3− σ, uti-lizando la ecuacion (5) siendo aσ y bσ los ejes delos elipsoides y l = 3 para el error 3 − σ. Con es-to, el evento se genera utilizando la razon RA delarea de los elipsoides Aellip con el area del robotAckermann AACK . Este es un indicador normali-zado del momento en el cual el error de la posturaestimada es igual que el tamano del robot. Porejemplo, cuando RA sobrepasa un nivel determi-nado, por ejemplo 1,5 (indicando que el area delerror es 1,5 veces el area del robot) se utiliza LGM

para corregir la postura del robot. Este lımite seescoge como un compromiso entre el numero deactualizaciones que se realizan (consumo de an-cho de banda, procesador y energıa) y la precisiondeseada en la estimacion de la postura.

Como condicion adicional, se realiza la actualiza-cion utilizando la informacion del GPS si el nume-ro de satelites utilizados por el sensor es mayora un valor mınimo preestablecido (por ejemplo 6satelites). Con esto se busca garantizar una mayorprecision en la fusion sensorial. Esto se incorporaen la fusion modificando los valores correspondien-tes en la matriz R de forma dinamica, utilizandouna funcion inversamente proporcional, es decir, siel numero de satelites es alto entonces lo valorescorrespondientes a LGPS en la matriz R deben serbajos (de esta forma el EKF da mayor importan-cia a estos datos) y viceversa. Explicado el metodo

de fusion propuesto se procede a exponer su im-plementacion y pruebas realizadas

P k,xy =

[

σ2x σ2

xy

σ2xy σ2

y

]

Tσ =√

σ4x+σ4

y−2σ2xσ

2y+4σ4

xy

AACK = b · c

,

aσ =

2l2|Pxy|σ2x+σ2

y+Tσ

bσ =

2l2|Pxy|σ2x+σ2

y−Tσ

Aellip=πaσbσ

(5)

5. IMPLEMENTACION Y

PRUEBA DEL ESQUEMA DE

FUSION DE DATOS

El esquema de fusion propuesto se implementa enun robot movil en configuracion Ackermann LE-GO como plataforma de recursos limitados pararealizar la fusion sensorial y una tarjeta IGEP pa-ra almacenar los datos de la prueba y permitir elacceso al GPS mediante la conexion USB. Se uti-liza un HUB USB para conectar el LEGO a laIGEP (GPS) y para proveer la alimentacion a laIGEP utilizando la baterıa LiPo (con un converti-dor DC-DC a 5V).

5.1. DESCRIPCION DEL LEGO R©NTX

LEGO Mindstorms R©NTX es una plataforma derobot movil de bajo coste. Incorpora la unidadde control NXT, basada en un microcontroladorARM7 de 32-bits, con 256 Kbytes FLASH y 64Kbytes de RAM. Cuenta ademas con un puertoUSB 2.0 y un dispositivo inalambrico Bluetoothclase II, V2.0. La nueva unidad de control tiene4 entradas (una de ellas proporciona una expan-sion IEC 61158 Tipo 4/EN 50 170 para usos futu-ros) y 3 salidas analogicas. La version basica delLEGO proporciona 4 tipos de sensores: contacto,luz, sonido y distancia. Pero, ademas de estos, ac-tualmente se pueden comprar una gran variedadde distintos tipos de sensores como, por ejemplo,camaras para aplicaciones de vision, brujula, ace-lerometros, giroscopos, buscadores de infrarrojos,etc. [2]. Otros componentes LEGO muy importan-tes son los actuadores, los cuales consisten en mo-tores de corriente continua que incorporan enco-ders integrados y de 360 grados de resolucion porvuelta. Se puede encontrar una descripcion masdetallada de los motores de LEGO MindstormsNXT en [2]. El robot LEGO NXT usado en laspruebas con configuracion Ackermann se muestraen la figura 3. Los sensores usados para el esque-ma de fusion son dos acelerometros, un giroscopo,una brujula magnetica y los encoders de las rue-das. Se utiliza ademas un diferencial para regularlas velocidades de las ruedas traseras durante elgiro.

Page 5: LOCALIZACION ASISTIDA POR GPS PARA ROBOTS´ MOVILES EN ...wks.gii.upv.es/cobami/files/MV_JornadasAutomatica... · el presente trabajo un algoritmo basado en fusi´on KF apto para

Encoders

GPS

IGEP

Brujula

HUB

USB Giróscopo

Acelerómetro

Antena GPS

GPSIGEP

Batería LiPo

NXT

Encoders

Diferencial

Figura 3: LEGO NXT en configuracion Acker-mann utilizado en las pruebas experimentales

5.2. DESCRIPCION DE LA TARJETA

IGEP

La tarjeta IGEPv2 de ISEE [1] es un sistemaembebido con un tamano poco superior al deuna tarjeta de credito que, mediante una arqui-tectura TI OMAP3530, incorpora un micropro-cesador ARM CORTEX A8 core a 720MHz. yun DSP TMS320C64x+. La IGEPv2 incorporaademas un acelerador grafico hardware, adminis-trador de energıa TPS65950, 512MB de memoriaRAM y Flash, ası como de diversos sistemas de co-municaciones, como Ethernet, Wi-Fi, Bluetooth,2 puertos USB, DVI-D/HDMI, etc. Esta se obser-va colocada sobre el LEGO en la figura 3. Paraprogramarla se emplea el IDE Eclipse para escri-bir las aplicaciones en C++, las cuales son trans-feridas a la IGEP mediante la tarjeta microSDincorporada. Al tener instalada una distribucionGNU/Linux como sistema operativo en la misma,se puede compilar mediante el compilador g++y ejecutar sin problemas. Para realizar estas ac-ciones se establece previamente conexion con elsoftware PuTTY mediante ssh vıa Wi-Fi, lo cualproporciona el control del entorno de consola dela IGEP desde un PC remoto. Esta tarjeta se pro-gramo para transmitir los mensajes con la posiciondel GPS IG-500N de SBG Systems al LEGO NXTy ademas para servir de supervisor y almacenar losdatos provenientes del LEGO y del GPS. La IGEPno se utiliza para realizar los calculos asociados ala fusion sensorial del filtro propuesto, ya que estafuncion la realiza el LEGO NXT.

5.3. PRUEBAS CON EL LEGO R©NTX

Para mostrar el funcionamiento del metodo pro-puesto, se establece que el robot siga una trayec-toria como referencia cuadrada en interiores, uti-lizando un control por punto descentralizado [14]para el control de trayectoria y un controlador Ppara el accionamiento de los motores. En lugar deGPS se utiliza una camara cenital para medir latrayectoria real seguida por el robot. Esta pruebase muestra en la figura 4 en donde se observa queel algoritmo propuesto tiene un comportamientoadecuado, estimando la postura de forma similara la medida por la camara lo que produce un se-guimiento suave de la trayectoria cuadrada.

Para la prueba en exteriores se realiza el controlmediante un mando a distancia ya que aun faltapor implementar la evasion de obstaculos en el ro-bot. Se realiza un recorrido sobre una pista depor-tiva de superficie plana utilizando el GPS IG-500Nsobre el LEGO como fuente de informacion global.Ademas se mide la trayectoria seguida por el LE-GO con un GPS diferencial con el fin de obtenercon mayor precision la trayectoria seguida en el re-

Page 6: LOCALIZACION ASISTIDA POR GPS PARA ROBOTS´ MOVILES EN ...wks.gii.upv.es/cobami/files/MV_JornadasAutomatica... · el presente trabajo un algoritmo basado en fusi´on KF apto para

corrido. Los resultados de esta prueba y el robotmodificado con el receptor del GPS diferencial semuestran en la figura 4. Se observa que la estima-cion del algoritmo por eventos sigue aproximada-mente la del GPS, segun aumenta el error en laestimacion (covarianza del error de la postura delrobot) se genera el evento que produce la actuali-zacion utilizando informacion global y por lo tan-to se elimina el bias caracterıstico del metodo deestimacion local. Esto manteniendo una precisionaceptable y sin necesidad de actualizar constante-mente la estimacion utilizando la informacion delGPS y por lo tanto usando mas recursos de losnecesarios. A pesar del buen comportamiento seobserva que el GPS utilizado no es tan preciso co-mo el GPS diferencial por lo que, aunque se utili-za informacion global, existe un error inherente alsensor utilizado y que se traslada a la estimaciondel algoritmo. Cabe destacar que la actualizacionse puede hacer de forma mas frecuente para elimi-nar el bias de forma mas regular, esto se realizasegun los requerimientos de la aplicacion.

6. CONCLUSIONES

Se ha presentado un esquema de fusion EKF basa-do en eventos y eficiente desde el punto de vista deutilizacion de recursos computacionales para in-corporar la informacion global de un GPS a la es-timacion local basada en odometrıa utilizando unrobot de configuracion Ackermann. Los resultadosmuestran que la respuesta del metodo es adecuadatanto en interiores (utilizando una camara en lu-gar del GPS) como en exteriores manteniendo aco-tado el error de estimacion y utilizando adecuada-mente la informacion del GPS. Existen varias for-mas de mejorar el presente aporte, mejorando lasfunciones de ajuste del EKF segun en numero desatelites para incorporar mas informacion relevan-te al GPS para detectar problemas de multiruta ydesvio de la senal por condiciones atmosfericas. Sepueden incorporar sensores mas precisos e inclusi-ve implementar un filtro para el GPS dentro de laIGEP que actualice en cascada al filtro dentro delLEGO con el fin de detectar la perdida de la senalde los satelites. Como trabajo futuro se esta traba-jando en la utilizacion del robot con capacidad deposicionamiento global para localizar a un grupode robots de recursos limitados sin acceso a infor-macion global pero con medios de comunicacion ydeteccion mutua.

Agradecimientos

Los autores desean expresar su agradecimiento alMinisterio de Ciencia e Innovacion de Espana porla financiacion parcial de este trabajo bajo los pro-yectos de investigacion DPI2011-28507-C02-01 yDPI2010-20814-C02-02. Ademas se agradece el so-

0 200 400 600 800 1000 1200 1400 1600 1800 2000

−200

0

200

400

600

800

1000

1200

1400

1600

x(mm)

y(m

m)

EKF

camara

start

Figura 4: Prueba en interiores con camara cenital

−0.3361 −0.3359 −0.3357 −0.3355 −0.3353 −0.3351 −0.3349

39.4788

39.4789

39.479

39.4791

39.4792

39.4793

39.4794

39.4795

Longitud º

Lati

tud

º

GPS

GPS Diferencial

EKF Eventos

Actualizacion

Figura 5: Prueba en exteriores con GPS diferencial

Page 7: LOCALIZACION ASISTIDA POR GPS PARA ROBOTS´ MOVILES EN ...wks.gii.upv.es/cobami/files/MV_JornadasAutomatica... · el presente trabajo un algoritmo basado en fusi´on KF apto para

porte financiero por parte de la Universidad deCosta Rica y el apoyo recibido por Instituto U. deAutomatica e Informatica Industrial (ai2) de la U.Politecnica de Valencia con el Plan de Ayudas ala I+D+i 2012.

Referencias

[1] Informacion en lınea de la igep (isee) disponible en:http://www.igep-platform.com/.

[2] Informacion en lınea del lego nxt (2011), dis-ponible en: http://www.mindsensors.com/ yhttp://www.hitechnic.com/ motores del lego nxt:http://www.philohome.com/motors/motorcomp.htm.

[3] F. Aghili and A. Salerno. Driftless 3-d attitude deter-mination and positioning of mobile robots by integrationof imu with two rtk gpss. Mechatronics, IEEE/ASMETransactions on, 18(1):21 –31, feb. 2013.

[4] Angel Valera, M. Weiss, M. Valles, and J. L. Diez.Bluetooth-networked trajectory control of autonomousvehicles. Eight IFAC Symposium on Cost Oriented Au-tomation, 8, 2007.

[5] D. Bevly, J. Ryu, and J. Gerdes. Integrating ins sen-sors with gps measurements for continuous estimation ofvehicle sideslip, roll, and tire cornering stiffness. Inte-lligent Transportation Systems, IEEE Transactions on,7(4):483 –493, dec. 2006.

[6] M. Boccadoro, F. Martinelli, and S. Pagnottelli. Cons-trained and quantized kalman filtering for an rfid robotlocalization problem. Autonomous Robots, 29:235–251,2010.

[7] P. Enge and P. Misra. Special issue on global positioningsystem. Proceedings of the IEEE, 87(1):3–15, 1999.

[8] C. Fuchs, N. Aschenbruck, P. Martini, and M. Wieneke.Indoor tracking for mission critical scenarios: A survey.Pervasive and Mobile Computing, 7(1):1 – 15, 2011.

[9] M. S. Grewal and A. P. Andrews. Kalman Filtering:Theory and Practice Using Matlab. John Wiley & Sons,2001.

[10] N. Houshangi and F. Azizi. Accurate mobile robot posi-tion determination using unscented kalman filter. Cana-dian Conference on Electrical and Computer Enginee-ring, pages 846 – 851, 2005.

[11] D. Hyun, H. S. Yang, H.-S. Park, and H.-J. Kim. Dead-reckoning sensor system and tracking algorithm for 3-dpipeline mapping. Mechatronics, 20(2):213 – 223, 2010.

[12] S. Julier, J. Uhlmann, and H. Durrant-Whyte. A newmethod for the nonlinear transformation of means andcovariances in filters and estimators. Automatic Control,IEEE Transactions on, 45:477 –482, mar 2000.

[13] J. Kim, Y. Kim, and S. Kim. An accurate localizationfor mobile robot using extended kalman filter and sensorfusion. In Neural Networks, 2008. IJCNN 2008. IEEEInternational Joint Conference on, pages 2928 –2933,june 2008.

[14] L. Marın, M. Valles, Angel Valera, and P. Albertos. Con-trol de trayectorias en el robot movil e-puck. XXXI Jor-nadas Automatica JAEN, 2010.

[15] L. Marın, M. Valles, Angel Valera, and P. Albertos. Me-jora en la navegacion de robots con recursos limitadosmediante fusion de datos de distintos sensores. XXXIIJornadas Automatica SEVILLA, 2011.

[16] O. Michel, F. Rohrer, N. Heiniger, and wikibooks con-tributors. Cyberbotics’Robot Curriculum. CyberboticsLtd. and Wikibooks contributors, http://en.wikibooks.org/wiki/Cyberbotics\’_Robot_Curriculum, 2009.

[17] R. Rajamani. Vehicle Dynamics And Control. Mechani-cal Engineering Series. Springer US, 2012.

[18] Z. Shen, J. Georgy, M. J. Korenberg, and A. Noureldin.Low cost two dimension navigation using an augmentedkalman filter/fast orthogonal search module for the inte-gration of reduced inertial sensor system and global posi-tioning system. Transportation Research Part C: Emer-ging Technologies, 19(6):1111 – 1132, 2011.

[19] R. Siegwart and I. Nourbakhsh. Introduction to autono-mous mobile robots. The MIT Press Cambridge, Massa-chusetts London, England, 2004.

[20] D. Simon. Optimal State Estimation: Kalman, H∞, andNonlinear Approaches. John Wiley & Sons, 2006.

[21] I. Skog and P. Handel. In-car positioning and navigationtechnologies - a survey. Intelligent Transportation Sys-tems, IEEE Transactions on, 10(1):4 –21, march 2009.

[22] G. Welch and G. Bishop. An introduction to the kalmanfilter, 2007.

[23] J. Wong. Theory of Ground Vehicles. John Wiley &Sons, 2008.

[24] T. Zhang and X. Xu. A new method of seamless landnavigation for gps/ins integrated system. Measurement,45(4):691 – 701, 2012.