UN NUEVO SISTEMA DE BAJO COSTE PARA LA LOCALIZACIÓN DE ...

12
UN NUEVO SISTEMA DE BAJO COSTE PARA LA LOCALIZACIÓN DE ROBOTS AUTÓNOMOS S. Hernández [email protected] J. M. Torres [email protected] L. Acosta [email protected] C. A. Morales [email protected] R. L. Marichal [email protected] E. J. González [email protected] Departamento de Física Fundamental y Experimental, Electrónica y Sistemas, Universidad de La Laguna Resumen Se presenta un sistema de bajo coste para medir la posición y orientación de robos móviles en interiores. El sistema se compone de un emisor localizado en una pared del entorno y un receptor en la parte superior del robot. El emisor es un puntero láser que actúa como un faro giratorio y el receptor es un array de 32 fotocélulas que forman un cilindro. La posición del Robot y su orientación se obtiene tomando los tiempos en los que la luz del láser impacta en cada una de las fotocélulas. Palabras Clave: Navegación guiada por láser, sistema de localización interior, localización de robots móviles, fotocélulas. 1 INTRODUCCIÓN Un robot móvil necesita saber su posición y orientación (ángulo hacia donde se dirige) de cara a poder desplazarse de forma autónoma en espacios interiores, donde los sistemas de posicionamiento basados en satélite no pueden funcionar al estar fuera de cobertura. Además el robot necesita saber su posición para establecer trayectorias, encontrar objetos y evitar obstáculos. Hay un gran número de sistemas y métodos actualmente en el mercado para robots móviles en interiores. Varios grupos de investigadores de diferentes universidades llevan años publicando e investigando en este tema dado que no hay un sistema perfecto para todas las aplicaciones, ambientes de trabajo, resolución y coste. [1] [2] [3]. Estos sistemas pueden ser clasificados según diferentes puntos de vista. Con el objeto de simplificar un poco, podemos dividir estos sistemas según los tipos de datos que entregan. Según los datos entregados podemos hablar de sistemas relativos y sistemas absolutos de posicionamiento. Para los sistemas relativos se necesita un punto de partida. Odometría es el sistema relativo más ampliamente usado debido a su simplicidad, entrega rápida de datos y bajo coste [4]. En Odometría se mide el desplazamiento usando encoders incrementales asociados a las ruedas del robot (como el ratón de bola de un ordenador). Las principales desventaja de este sistema son los deslizamientos o movimientos donde el encoder no se incrementa o decrementa solidario con el movimiento del robot [5]. Aún así muchos robots usan un sistema odométrico que da muchos datos en conjunción con un sistema absoluto que entrega datos normalmente a velocidad más lenta [6] [7]. Hoy en día lo métodos probabilísticos (estimación Bayesiana y filtrado de Kalman) son muy usados para trabajar con los datos ruidosos que proporciona la Odometría acotando y eliminando dichos ruidos e imprecisiones. [8] [9]. Cuando varios robots están situados en el mismo recinto, se usan estos métodos probabilísticos para sincronizar los robots y que unos detecten a otros [10] [11]. También se han desarrollado sistemas que acoplan observaciones con baliza a mapas de navegación para mantener una estimación de la posición del robot[12]. El algoritmo básico se formaliza como el problema de seguimiento de la posición de un vehículo en el que se emplea el filtrado extendido de Kalman. En el caso de que el sistema lleve adjunto un sistema de localización absoluto, el incremento del error con el tiempo del sistema relativo, odométrico en la mayoría de los casos, se reduce considerablemente cada vez que se obtiene un valor de posición absoluto. Por lo que no hay acumulación de errores con el tiempo y la distancia recorrida. Se han desarrollado también sistemas basados en la detección y el reconocimiento de diferentes características del entorno, como señalizaciones artificiales [13] [14] y señalizaciones naturales [15] [16], también han sido desarrollados algoritmos de aprendizaje que permiten a los robots móviles aprender que señales del entorno son las más adecuadas para cada caso [17]. Hay sistemas que obtienen la localización del robot comparando mapas

Transcript of UN NUEVO SISTEMA DE BAJO COSTE PARA LA LOCALIZACIÓN DE ...

Page 1: UN NUEVO SISTEMA DE BAJO COSTE PARA LA LOCALIZACIÓN DE ...

UN NUEVO SISTEMA DE BAJO COSTE PARA LA LOCALIZACIÓN DE ROBOTS AUTÓNOMOS

S. Hernández shalonso@ull .es J. M. Torres [email protected]

L. Acosta lacosta@ull .es C. A. Morales [email protected] .es

R. L. Marichal rlmarpla@ull .es E. J. González ejgonzal@ull .es

Departamento de Física Fundamental y Experimental, Electrónica y Sistemas, Universidad de La Laguna

Resumen

Se presenta un sistema de bajo coste para medir la posición y orientación de robos móviles en interiores. El sistema se compone de un emisor localizado en una pared del entorno y un receptor en la parte superior del robot. El emisor es un puntero láser que actúa como un faro giratorio y el receptor es un array de 32 fotocélulas que forman un cili ndro. La posición del Robot y su orientación se obtiene tomando los tiempos en los que la luz del láser impacta en cada una de las fotocélulas. Palabras Clave: Navegación guiada por láser, sistema de localización interior, localización de robots móviles, fotocélulas.

1 INTRODUCCIÓN

Un robot móvil necesita saber su posición y orientación (ángulo hacia donde se dirige) de cara a poder desplazarse de forma autónoma en espacios interiores, donde los sistemas de posicionamiento basados en satélite no pueden funcionar al estar fuera de cobertura. Además el robot necesita saber su posición para establecer trayectorias, encontrar objetos y evitar obstáculos. Hay un gran número de sistemas y métodos actualmente en el mercado para robots móviles en interiores. Varios grupos de investigadores de diferentes universidades llevan años publicando e investigando en este tema dado que no hay un sistema perfecto para todas las aplicaciones, ambientes de trabajo, resolución y coste. [1] [2] [3]. Estos sistemas pueden ser clasificados según diferentes puntos de vista. Con el objeto de simplificar un poco, podemos dividir estos sistemas según los tipos de datos que entregan. Según los datos entregados podemos hablar de sistemas relativos y sistemas absolutos de posicionamiento.

Para los sistemas relativos se necesita un punto de partida. Odometría es el sistema relativo más ampliamente usado debido a su simplicidad, entrega rápida de datos y bajo coste [4]. En Odometría se mide el desplazamiento usando encoders incrementales asociados a las ruedas del robot (como el ratón de bola de un ordenador). Las principales desventaja de este sistema son los deslizamientos o movimientos donde el encoder no se incrementa o decrementa solidario con el movimiento del robot [5]. Aún así muchos robots usan un sistema odométrico que da muchos datos en conjunción con un sistema absoluto que entrega datos normalmente a velocidad más lenta [6] [7]. Hoy en día lo métodos probabilísticos (estimación Bayesiana y filt rado de Kalman) son muy usados para trabajar con los datos ruidosos que proporciona la Odometría acotando y eliminando dichos ruidos e imprecisiones. [8] [9]. Cuando varios robots están situados en el mismo recinto, se usan estos métodos probabilísticos para sincronizar los robots y que unos detecten a otros [10] [11]. También se han desarrollado sistemas que acoplan observaciones con baliza a mapas de navegación para mantener una estimación de la posición del robot[12]. El algoritmo básico se formaliza como el problema de seguimiento de la posición de un vehículo en el que se emplea el filt rado extendido de Kalman. En el caso de que el sistema lleve adjunto un sistema de localización absoluto, el incremento del error con el tiempo del sistema relativo, odométrico en la mayoría de los casos, se reduce considerablemente cada vez que se obtiene un valor de posición absoluto. Por lo que no hay acumulación de errores con el tiempo y la distancia recorrida. Se han desarrollado también sistemas basados en la detección y el reconocimiento de diferentes características del entorno, como señalizaciones artificiales [13] [14] y señalizaciones naturales [15] [16], también han sido desarrollados algoritmos de aprendizaje que permiten a los robots móviles aprender que señales del entorno son las más adecuadas para cada caso [17]. Hay sistemas que obtienen la localización del robot comparando mapas

Page 2: UN NUEVO SISTEMA DE BAJO COSTE PARA LA LOCALIZACIÓN DE ...

del contorno previamente memorizados con mapas que se obtienen en tiempo real, en su mayoría estos sistemas usan visión, mediante cámaras o ultrasonidos. [18] [19] [20]. En las aplicaciones en exteriores también se puede usar sistemas basados en satélite conocidos como sistemas GPS (Global Positioning Systems). Los cuales dan errores en torno a 10 cm, y cuya velocidad de respuesta es de una medida por segundo. En nuestro caso para una velocidad del robot de 1 metro/segundo la cadencia de medidas del GPS es muy baja. Otro método de detección de localización está basado en dos pasos para la corrección de los errores sistemáticos de odometría con un giroscopio y un GPS resultando un sistema robusto de localización. Un filt ro de Kalman operando con los datos de los sensores es usado para estimar la posición y orientación del robot [21]. Como ejemplos de sistemas de localización también basados en tecnología láser describiremos los dos principales sistemas que se comercializan actualmente [22] [23]. Ambos sistemas tienen el láser localizado en el robot, el cual hace barridos en el plano horizontal como un faro marino. El primer sistema se basa en colocar reflectores en posiciones conocidas del entorno. Junto al láser hay un fotodiodo que detecta cuando las reflexiones tienen lugar. Solidario al láser y al fotodiodo, hay un encoder que proporciona los ángulos en los que han habido reflexiones. Con estos ángulos, y conociendo donde se encuentran los reflectores, se calcula por triangulación la posición del robot.[14]. El segundo sistema se basa en la medida de la distancia desde el robot a cada uno de los puntos del contorno. Dicha medida se hace mediante la técnica conocida como tiempo de vuelo (TOF, time of flight) que consiste en medir el tiempo que tardan los fotones que salen del láser en ir al punto del contorno a donde éste apunta y volver. En este caso las reflexiones ocurren en todos los puntos del contorno o periferia. Con esa información se dibuja un mapa del contorno en cada barrido del láser. Después, tras una compleja comparación de los mapas, se calcula la posición del robot [23][24]. Estos sistemas tienen gran precisión pero son caros debido a que han de usar una electrónica y una óptica ultrarrápida que trabaje en el orden de los gigahercios. Nuestro sistema está basado en un láser clase III A el cual se ha de situar en una pared del entorno en el que se encuentra el robot. El láser actúa como una baliza, barriendo toda la sala. La luz láser se sitúa a una altura donde no hay más obstáculos que el

sistema fotodetector del robot. En nuestra búsqueda bibliográfica y de equipos similares de localización no hemos encontrado ningún sistema en el que el láser esté en la pared. En todos los sistemas estudiados el láser siempre se ha encontrado sobre el robot. Por tanto nuestro sistema es único en dos aspectos: 1. el emisor láser está en una pared del entorno. 2. el subsistema sensor utili za como detector un array de fotocélulas (provenientes de paneles fotovoltaicos usados para generar electricidad). En la figura 2 podemos observar las ventajas de tener el láser situado en la pared del entorno. En la figura 2 A el láser se encuentra situado en lo alto del robot. En esta disposición cualquier inclinación en el suelo α produce una inclinación igual en la proyección del láser, lo cual puede llevar consigo problemas de desalineamiento, pudiéndose producir errores en la medida debido a que no se captan las reflexiones del láser en el entorno. Este error de desalineamiento aumenta a medida que la distancia láser-entorno aumenta. En la figura 2 B el láser está fijo en la pared por lo que las irregularidades en el suelo no producen inclinación en el rayo láser, sólo producen una inclinación en el array de sensores. Esto no causa problemas de desalineamiento por lo que el láser siempre cruza el array de sensores. La obtención de datos está basada en la medida de los tiempos cuando el láser cruza las diferentes fotocélulas. La posición y orientación del robot son calculadas conociendo en que momento ha pasado el láser por cada una de las células. Nuestro sistema ha sido construido para espacios de no más de 20 x 20 metros y un error máximo de 5 centímetros, en la posición del robot, y 1 grado, en la orientación, para una velocidad lineal máxima de 1 metro/segundo. Estos valores son adecuados para nuestro caso donde el vehículo tiene unas dimensiones, en el plano horizontal, de 55 x 80 centímetros. El coste del sistema es aproximadamente de 300 Euros con especificaciones similares a sistemas más caros. El sistema fue originalmente diseñado con el propósito de localizar un robot móvil que trabaja en invernaderos. El invernadero presenta irregularidades en el suelo produciendo la inclinación del robot en algunos casos. Además la humedad es relativamente alta lo cual, junto al polvo en suspensión, hace que no sea recomendable la utilización de sistemas caros, que son difíciles de reemplazar en caso de avería. Este sistema también ha sido aplicado a un prototipo de robot experimental, compuesto de una plataforma móvil y un manipulador. Dicho prototipo recoge cubiertos y los pone en la mesa. En general nuestro sistema tiene aplicación como sistema de localización en interiores.

Page 3: UN NUEVO SISTEMA DE BAJO COSTE PARA LA LOCALIZACIÓN DE ...

2. SISTEMA PROPUESTO

El sistema consiste principalmente en tres bloques bien diferenciados. En la figura 1 tenemos una visión esquemática de dichos bloques. 1. Un subsistema emisor que genera la luz láser que se mueve en el plano horizontal. 2. Un subsistema receptor. El cual consiste en un array de sensores agrupados formando un cilindro para cubrir todas las posibles direcciones de impacto de la luz láser. El array de sensores tiene que estar a

Figura 1. Representación esquemática del sistema. la misma altura que el emisor para que la luz del láser incida en los sensores. Dentro del cili ndro, formado por los sensores, se encuentra la electrónica que recoge los tiempos en que el láser impacta en las células y la célula en que dicho impacto se produce 3. Un ordenador portátil sobre el robot hace los cálculos finales y da los datos de localización y orientación

Figuras 2 A y 2 B. Funcionamiento de sistemas con suelo irregular.

3. COMO FUNCIONA

3. 1 SUBSISTEMA EMISOR El subsistema emisor es un puntero láser que apunta en la dirección del eje de un motor de continua (figura 1 izquierda). El motor gira a velocidad constante y se mueve solidario con él un espejo que forma un ángulo de 45º con el eje del motor, de tal forma que al girar el espejo hace que el haz se dirija en todas las direcciones de un mismo plano horizontal. La velocidad de giro del eje del motor es de 5 vueltas por segundo. 3. 2 SUBSISTEMA RECEPTOR. Este subsistema puede ser dividido a su vez en dos bloques básicos: 3.2.1. Bloque sensor. Compuesto por el conjunto de las células fotovoltaicas . El número de células a colocar y el diámetro del cili ndro que estas forman puede se escogido para que el sistema cumpla con unas determinadas especificaciones. En la sección V estudiaremos como cambia el comportamiento del sistema al cambiar el número de células receptoras y el diámetro D del cili ndro que estas forman. En nuestra implementación se colocaron 32 células fotovoltaicas formando un cili ndro de 20 cm de diámetro. Las células tienen una forma rectangular de dimensión 5.0 x 1.5 cm y se alinean unas con otras por su arista de 5 cm, quedando un espacio entre células de 0.45 cm. Por tanto el cil indro tiene un alto de 5 cm. En su barrido el láser impactará con aquellas células que estén orientadas hacia él. El número de células interceptadas por el láser depende de la distancia entre emisor y receptor. Así, tendremos que para una distancia de 1 metro sólo hay 15 células impactadas, y 16 células si la distancia es mayor de 2 metros. El tiempo de exposición de las células al láser disminuye con la distancia emisor-receptor.

Figura 3 A. Sistemas emisor

Page 4: UN NUEVO SISTEMA DE BAJO COSTE PARA LA LOCALIZACIÓN DE ...

Figura 3 B. Sistemas receptor

Figura 4. Placas y células fotovoltaicas del sistema receptor.

3.2.2. Electrónica de adquisición Las salidas analógicas procedentes de las fotocélulas son muestreadas a 4 MHz. Esta frecuencia nos asegura que no vamos a perder incidencias cortas del láser sobre las células, cuando estas están lejos del emisor. La precisión con la que se mide el tiempo de incidencia en las células determina la precisión de la medida. Cada muestra tiene 32 bits, un bit por célula. Cada vez que la palabra de 32 bit cambia quiere decir que hay un cambio en la incidencia del láser. En ese

instante se recoge el cambio de palabra y el tiempo en el que se produce. Posteriormente estos datos son enviados al ordenador. En el esquema de la figura 5 se ha representado el circuito simplificado, con propósitos didácticos, empleando 4 células en lugar de las 32 del circuito real. El reloj del sistema funciona a 32 MHz y el muestreo de las células es a 4 MHz.

Figura 5. Esquema simplificado usando 4 células.

La palabra de 32 bits proveniente de las células va primero al “LATCH1”. Un ciclo de reloj más tarde la palabra que se encontraba en el “LATCH1” va al “LATCH2”, tomando el “LATCH1” una nueva palabra. De esta forma comparando las salidas del “LATCH1” y “LATCH2 podemos ver si ha tenido lugar un cambio debido al paso de la luz láser por las fotocélulas. La salida del comparador valida el cambio, encargándose una memoria FIFO de tomar el estado de las células y el instante de tiempo en el que el cambio ha ocurrido. Para obtener la resolución temporal deseada se ha empleado un contador de 32 bits con señal de reloj de 32MHz. La línea discontinua que cruza el esquema, separando la parte izquierda y derecha del circuito, divide nuestro esquema desde el punto de vista de la sincronización. La parte izquierda está gobernada por el reloj de 32 MHz. A la derecha quedaría el microcontrolador PIC y el ordenador con su sincronismo propio, y con la frecuencia de trabajo necesaria para ir sacando los datos de la memoria FIFO sin que esta se desborde. Una vez el PIC valida los datos de la FIFO el mismo PIC los envía al ordenador a través de un puerto serie RS-232. La necesidad de introducir la lógica secuencial y la memoria FIFO se justifica de la siguiente forma. Detectar cambios en las salidas de las fotocélulas (32 bits) a la velocidad de 4 MHz, requiere muestreo con interrupciones. Las interrupciones a su vez provocan

Page 5: UN NUEVO SISTEMA DE BAJO COSTE PARA LA LOCALIZACIÓN DE ...

la perdida de varios ciclos de reloj para entrar y sali r de la rutina de servicio de la interrupción. Por ello el microcontrolador tendría que ser mucho más rápido para poder entrar y sali r de la interrupción sin perder muestreos. Añadiendo una memoria FIFO podemos compatibilizar el muestreo a 4 MHz con un microcontrolador PIC que procesa nomás de 8 instrucciones por microsegundo. Entre estas instrucciones están: leer la memoria FIFO, descartar datos incoherentes, y enviar los datos validados al ordenador personal a través de la RS-232. 4. CÁLCULOS EN EL ORDENADOR

Los datos que utili za el ordenador para obtener la posición y orientación del robot son: los tiempos absolutos en los que se producen los impactos del láser en cada célula, así como los números de las células impactadas.

Figura 6. Posición (r,θ) y orientación (α).

La medidas de la posición se basan en el módulo y argumento de un sistema Polar donde el emisor láser es el origen de coordenadas. La figura 6 muestra el emisor láser sobre la pared y el array de sensores. La posición del robot en cartesianas se define con la ecuación: (x,y) = rect(r, θ) = (r· cos θ, r· sinθ) (1) Siendo r el módulo y θ el ángulo de la posición del robot. Esta situación, se muestra de nuevo en la figura 7 desde una vista superior.

Figura 7. Muestra de la relación entre coordenadas cartesianas y polares

La relación siguiente nos dice que el error absoluto no se distribuye de forma igual en todo el plano de posiciones del robot.

∆x = ∆r· cosθ + r· sinθ · ∆θ (2)

∆y = ∆r· sinθ + r· cosθ · ∆θ (3) Las ecuaciones (1) y (2) vienen a indicar que el error aumenta con r (esto se verá con más detalle en el apartado V). Por tanto, imponiendo un umbral de error máximo para la distancia mayor r podremos asegurar que el error será menor para el resto de las distancias. Sean ∆r y ∆θ quienes definen el área sobre la cual se distribuyen los parámetros r y θ. Si asumimos la función de densidad independiente de la matriz de covarianza para las direcciones “x” e “y”, se podría expresar:

( ) ( ) ( )

( ) ( ) 222

22

sincos

sincos2cos1

3

1

2

1

∆∆−

∆∆∆+

∆+=

θθθ

θθθθ

σ

r

rrxx

(4)

( ) ( ) ( )

( ) ( ) ( ) 22

22

sincossin

sincos2cos

3

1

4

1

∆∆−

∆∆

∆+=

θθθθ

θθθθ

σ

r

rrxy

(5)

Page 6: UN NUEVO SISTEMA DE BAJO COSTE PARA LA LOCALIZACIÓN DE ...

from

rig

h t to

left

from

rig

h t to

left

from

rig

h t to

leftfrom

le ft to righ t

from le ft to r igh t

0 deg

180 deg

θ

tim e

t1 t1

t2 t2

ang le

( ) ( ) ( )

( ) ( ) 222

22

sinsin

sincos2cos1

3

1

2

1

∆∆−

∆∆∆−

∆+=

θθθ

θθθθ

σ

r

rryy

(6)

Figure 8. Ángulo β respecto a la distancia.

4. 1. CÁLCULO DE “ R” Para el cálculo de la distancia “r” usamos trigonometría. Teniendo en cuenta que el láser se sitúa en el vértice del ángulo β según se muestra en la figura 8 nos queda que:

sin(β/2)=D/2r (7)

Siendo D el diámetro del cili ndro del array de sensores. Dado que la velocidad de barrido del láser es conocida y constante (ω), tenemos que β (t) = ω· t, de donde deducimos que:

r = D / (2sin(ω∆t /2)) (8)

Por tanto, podemos obtener la distancia “r” midiendo el tiempo que transcurre desde que el láser entra y sale del array de sensores (∆t). 4.2. CÁLCULO DEL ÁNGULO “ θθ” En este punto hemos de mencionar que hemos implementado dos versiones del sistema: 4.2.1. Pr imera versión En la primera versión no hay sincronismo entre emisor y receptor, por lo que ambos subsistemas tienen relojes independientes. En dicha versión el láser rota en las dos direcciones, a favor y en contra de las agujas del reloj. Existen dos interruptores ópticos de ranura al final del recorrido en cada sentido, de tal forma que cuando el eje llega a esas posiciones los microinterruptores mandan el pulso a

un microcontrolador PIC, y este cambia el sentido de giro del motor. El movimiento por tanto es parecido al de un limpiaparabrisas de un coche. De este movimiento alternante se saca el ángulo θθ. Si por ejemplo el robot está cercano al final del recorrido del láser en su parte derecha, el array de sensores verán que después de un movimiento del láser de izquierda a derecha, hay un rápido pase de derecha izquierda (tiempo t1 en la Figura 9). El barrido de derecha a izquierda, antes del siguiente de izquierda a derecha, tomará más tiempo (tiempo t2 en la figura 9). De igual forma, si el robot está cerca del final en la parte izquierda ,el barrido de derecha a izquierda y el barrido de izquierda a derecha (t2) estarán cercanos en tiempo y los opuestos (t1) estarán más lejano. La cuantificación de esta propiedad nos indica el ángulo θ θ en el que se encuentra el robot.

Figure 9. Ángulo θ en función del tiempo.

Si suponemos que no hay pérdidas de tiempo en los cambios de sentido del barrido del láser, y que este barrido recorre un ángulo de 180º, θθ puede ser calculado según la fórmula:

θ =180· t1/(t1+t2) (9)

En el caso real, el tiempo necesario para el cambio de sentido no es despreciable, modificándose por tanto la fórmula anterior. En nuestro caso particular tendremos:

θ =180· (t1-40) / (t1+t2-80) (10)

Estando t1 y t2 en mil isegundos y θ θ en grados. Es importante notar que se distingue t1 de t2 según la secuencia de celdas impactadas. 4.2.2 Segunda Versión Se implementó una segunda versión en la cual si existe sincronismo entre emisor y receptor. El emisor

Page 7: UN NUEVO SISTEMA DE BAJO COSTE PARA LA LOCALIZACIÓN DE ...

emite un pulso de radio frecuencia cada vez que el láser pasa por el ángulo θ = 0. En dicho caso el láser rota en un único sentido. con lo que es más fácil mantener constante la velocidad del motor, pero añadimos la complejidad de la sincronización. El pulso de sincronismo resetea el contador de tiempo. de tal forma que cuando el láser impacta en el array de sensores, se registra un tiempo proporcional a θ. El sistema de sincronismo inalámbrico se basa en un emisor receptor de FM (SAW Resonator, 433 MHz, 500mW, 80 Euros de coste) Esta segunda versión presenta dos importantes ventajas. 1. El láser puede girar continuamente en la misma dirección, lo cual facilit a subir la velocidad de barrido y, por tanto, el número de medidas por segundo. No es necesario el microcontrolador PIC para cambiar la dirección. 2. Varios lásers se pueden situar en la habitación en diferentes puntos para poder tener localización multi robot. De igual forma diferentes emisores pueden situarse en diferentes habitaciones para poder seguir el recorrido del robot en diferentes estancias. En este caso habría que multiplexar en tiempo el barrido de los lásers. De esta forma un robot se localizaría desde que un láser impacte en él. La señal de sincronismo informaría de que emisor de los existentes es el captado 4.3 CÁLCULO DE LA ORIENTACIÓN αα El ángulo alfa α se define por la línea que une el emisor y el centro del receptor, y la normal a la célula 1. En una primera aproximación se puede medir este ángulo observando la célula que tiene mayor exposición al láser y estableciendo que la normal de dicha célula es igual a la orientación α. En ese caso la resolución en la medida de alfa vendrá dada por el número de células del array. Es decir, que en nuestro caso con 32 fotocélulas la resolución sería igual a 360 /32 = 11.25 º. Una resolución más fina se consigue usando la fórmula del centro de masas.

α = Σ (∆ti θi ) / Σ∆ti (11) Siendo ∆ti el tiempo que emplea el láser en cruzar la célula “i” y θi el ángulo de la normal a la célula “i”. Donde la normal de la célula 1 igual a 0º . Con este método puede obtenerse una resolución superior a 0.1 grados.

5. CARACTERÍSTICAS DE FUNCIONAMIENTO DEL SISTEMA DE LOCALIZACIÓN

Vamos a ver la influencia del número de células del sistema y el diámetro del array de sensores en los resultados obtenidos. En segundo lugar veremos los errores de medición para los casos estáticos (robot parado) y dinámicos (robot en movimiento). En la figura 10 podemos ver el emisor láser y el array de sensores, los ángulos β y τ, y el diámetro del array D. Todos ellos son parámetros que posteriormente aparecerán en las gráficas.

Figura 10. Parámetros del sistema. La figura 11 muestra el comportamiento del sistema en función de la distancia láser-robot “r” , para diferentes diámetros D del array de sensores. La figura 11 superior muestra el tiempo de exposición al haz láser del array de sensores. La figura de en medio corresponde al ángulo β , que representa la parte del array expuesta al láser. La figura inferior corresponde al ángulo τ, que representa la parte del barrido que impacta en el array de sensores. Todas las curvas han sido obtenidas para un barrido del láser de 5 ciclos por segundo.

Page 8: UN NUEVO SISTEMA DE BAJO COSTE PARA LA LOCALIZACIÓN DE ...

0 2 4 6 8 10 12 14 16 18 200

5

10

15

20

expo

sition

tim

e (m

s)

D= 10 cm20 cm 30 cm 40 cm 50 cm

0 2 4 6 8 10 12 14 16 18 20150

160

170

180

beta

in d

egre

es

D= 10 cm20 cm 30 cm 40 cm 50 cm

0 2 4 6 8 10 12 14 16 18 200

10

20

30

distance beacon robot in meters

tau

in d

egre

es

D= 10 cm20 cm 30 cm 40 cm 50 cm

Figura 11 Comportamiento del sistema en función de la distancia

Pasamos a ver los errores de medida del sistema. La figura 12 superior muestra los errores estáticos en la medida de r (distancia láser robot). Como ya se mencionó en la sección II , la resolución temporal en la lectura del estado de las fotocélulas es ¼ de microsegundo. En esta gráfica se observa como al descender el tiempo de exposición con la distancia el error aumenta debido a que el tiempo de exposición se acerca a la resolución en la lectura. En las aplicaciones reales el robot está en movimiento, por ello estudiaremos las características del sistema cuando el robot se mueve. Las gráficas se han realizado para la velocidad máxima de movimiento, que en nuestro caso es de 1 m/s. En primer lugar estudiaremos el error en la medida de la distancia para un movimiento del robot transversal al haz láser. En este caso de movimiento transversal es posible que el robot se mueva en el sentido de giro del láser, en cuyo caso el tiempo de exposición aumenta, por lo que aparenta estar más

cerca. Lo opuesto ocurre cuando el movimiento es contrario al giro del láser, en cuyo caso el tiempo de exposición decrece, y aparenta estar más lejos. La cuantificación del error se calcularía como error_r(cm) = 3.2 x velocidad_robot(m/s). Vemos que el error depende de la distancia, debido a que el incremento de tiempo que produce el movimiento del robot es cada vez menor al aumentar la distancia. El tiempo de exposición del láser en el array de sensores también disminuye con la distancia, quedando relativamente constante el cociente entre el incremento de tiempo, debido al movimiento del robot, y el tiempo de exposición. La figura 12 central muestra esta situación. La figura 12 inferior muestra el error en la medida de “r” cuando el robot se mueve en la dirección de la línea que une el láser y el robot. Este error aumenta con el desplazamiento que tiene lugar mientras el láser impacta sobre el robot.

0 2 4 6 8 10 12 14 16 18 200

1

2

distance beacon robot in meters

long.

vr =

1 m

/s

0 2 4 6 8 10 12 14 16 18 203.1

3.15

3.2

trans

vers

al vr=

1m/s

D= 10 cm20 cm 30 cm 40 cm 50 cm

0 2 4 6 8 10 12 14 16 18 200

2

4errors measuring "r"

stati

c er

ror (

cm)

Figura 12. Errores midiendo “r”. Veamos ahora los errores midiendo el ángulo θ para un movimiento transversal (perpendicular a la dirección robot-láser). En el caso de la versión sin sincronismo. El tiempo empleado por el láser en pasar dos veces por el robot aumenta al aumentar θ y, por tanto, el error aumenta con θ dado que la segunda vez que pasa el láser por el robot este ha

Page 9: UN NUEVO SISTEMA DE BAJO COSTE PARA LA LOCALIZACIÓN DE ...

cambiado su posición. El error decrece con “r” debido a que la velocidad angular de movimiento del robot baja al aumentar “r” (obsérvese que el emisor láser es nuestro origen de coordenadas). La figura 13 superior es para D = 20 cm. y muestra el error en θ para la versión sin sincronismo. Nótese que el error aumenta con θ debido a que para esta medida el láser ha de pasar dos veces con sentidos opuestos por el robot, por lo que ha más tiempo para que el robot se mueva y falsee la medida. La figura 13 inferior muestra el error para la versión con sincronismo (el láser gira siempre en el mismo sentido y hay un pulso de sincronismo al inicio de cada ciclo). Obsérvese que ahora el error no depende de θ dado que es necesario un solo pase del láser sobre el array de sensores para obtener la medida.

0 2 4 6 8 10 12 14 16 18 200

0.1

0.2

0.3

0.4

0.5

distance beacon robot in meters

erro

rs in

deg

ees

with

sinc

ro.

D= 10 cm20 cm 30 cm 40 cm 50 cm

0 2 4 6 8 10 12 14 16 18 200

1

2

3errors measuring tita at robot speed 1m/s

erro

rs in

deg

rees

asin

cro.

tita=15tita=30tita=45tita=60tita=75tita=90

Figura 13 Errores midiendo θ para una velocidad del

robot de 1m/s.

Por último, veamos como es la dependencia del error de orientación con la distancia láser-robot. La figura 14 superior muestra el máximo error en orientación. La figura 14 inferior muestra la dependencia del error con el número de fotocélulas.

0 2 4 6 8 10 12 14 16 18 200

0.2

0.4

0.6

0.8errors measuring alfa

distance beacon robot in meters

max

. sta

tic e

rror i

n de

gree

s D= 10 cm20 cm 30 cm 40 cm 50 cm

10 15 20 25 30 35 400

1

2

3

4

5

number of photocellsm

ax. s

tatic

erro

r in

degr

ees

maximunmedium

Figura 14. Errores midiendo la orientación α.

6. RESULTADOS EXPERIMENTALES En esta sección se presentan los resultados obtenidos con las medidas reales sobre nuestro robot. Usamos el “Servirob”, prototipo móvil mostrado en la figura 15. Las ruedas frontales giran libremente, lo cual incrementa la maniobrabili dad del robot. Por el contrario este tipo de ruedas produce mayores errores al usarse localización relativa (Odometría). Las ruedas traseras están unidas a dos motores DC con dos encoders (derecha e izquierda).

Page 10: UN NUEVO SISTEMA DE BAJO COSTE PARA LA LOCALIZACIÓN DE ...

Figure 15. Prototipo “Servirob”. El modelo cinemático usado es:

( ) tvxx kkk ∆+= ++ 11 cosα (12)

( ) tvyy kkk ∆+= ++ 11 sin α (13)

tdkk ∆+=+ ααα 1 (14)

l

RRd LR ωω

α−= (15)

2

RRv LR ωω += (16)

Donde “l” es la longitud del eje del vehículo, ωR y ωL son las velocidades angulares de la rueda izquierda y derecha respectivamente y R es su radio.

Experimentos con este robot revelan que localizaciones mostradas por estos encoders pueden producir errores entre el 25 y 30 % en la estimación de la posición y errores entre el 35 y 40 % en la orientación. Una porción importante del error viene debido al li bre movimiento de las ruedas delanteras (este error no se muestra en el modelo cinemático). A esto se han de añadir los errores producidos por las

irregularidades del suelo. Por todo ello es aconsejable usar un sistema absoluto de localización para disminuir los errores. Hemos hecho un alto número de medidas para los tres parámetros (r, θ, α) en diferentes condiciones . Las figuras 16 A, B y C muestra histogramas para cada parámetro. Dichos histogramas representan incertidumbres gausianas. En la tabla I podemos ver la desviación estándar para las gausianas de la figura 16. También se muestra el número de medidas de cada gausiana posteriormente usados para el cálculo de la desviación estándar.

r Número de

medidas σσr

1m 2738 0,003 3m 5111 0,003 5m 2745 0,009 7m 1540 0,013 9m 1533 0,015 θθ Número de

medidas σσθθ

30º 3016 0,16 45º 2778 0,15 60º 2825 0,15 75º 2239 0,16 90º 2263 0,16 αα Número de

medidas σσαα

0º 3626 0,13 45º 3413 0,11 90º 3107 0,11 135º 3006 0,10 180º 2567 0,11

Tabla I. Desviación estándar para diferentes valores

de r,θ y α.

Page 11: UN NUEVO SISTEMA DE BAJO COSTE PARA LA LOCALIZACIÓN DE ...

2.985 2.99 2.995 3 3.005 3.01 3.015 3.02 3.0250

100

200

300

400

500

600

700

800

900

values of r

nu

mb

er

of

me

as

ure

me

nts

44.95 45 45.05 45.1 45.15 45.2 45.250

50

100

150

200

250

300

350

400

450

values of angle

nu

mb

er

of

me

as

ure

me

nts

87 88 89 90 91 92 930

100

200

300

400

500

600

700

nu

mb

er

of

me

as

ure

me

nts

values of orientat ion angle

Figura 16 A, B, C. Histogramas de las medidas para for r=3m ,θ=45º,α=90º.

7. CONCLUSIÓN Se ha propuesto un sistema de localización para medir la posición y orientación de un robot móvil . El sistema tiene un emisor láser y un subsistema receptor. El emisor (un puntero láser) situado en una pared del entorno barre con su luz em un plano horizontal a velocidad fija. En la parte superior del robot se encuentra el receptor compuesto de un array de 32 células fotovoltaicas. Los cálculos de la posición y orientación se hacen midiendo los tiempos de impacto del láser sobre las células. La precisión midiendo el tiempo de incidencia sobre las células esta directamente relacionado con la precisión de las medidas, en nuestro caso para un recinto máximo de

20 x 20 metros y una velocidad máxima del robot de 1 m/s. La precisión obtenida en la posición es de 5 cm y 1 grado en la orientación. Se obtienen medidas cada 1/5 de segundo. Agradecimientos La investigación presentada ha sido parcialmente financiada por el proyecto DPI2001-3681 del gobierno de España. Referencias [1] J. Borenstein, B. Everett, and L. Feng, "Navigating Mobile Robots: Systems and Techniques." A. K. Peters, Ltd., Wellesley, MA, 1996. [2] R. Talluri, J. Aggarwal, , “Position estimation Techniques for an Autonomous Mobile Robot- a Review” in Handbook of Pattern Recognition and Computer Vision, World Scientific: Singapore, Chapter 4.4 pp.769-801. 1993 [3] J. Borenstein, H.R. Everett, and L.Ferg, 1996, “Where am I ? Sensor s and Methods for Mobile Robot Positioning “ http://www -personal.engin.umich.edu/~johannb/position.htm [4] B. Barshan, H. F. Durrant-Whyte, “Inertial sensing for mobile robotics”, IEEE Transactions on Robotics and Automation, Vol. 11 No. 3, pp. 328-342. 1995 [5] J Borenstein, L. Feng. "Measurement and Correction of Systematic Odometry Errors in Mobile Robots." IEEE Journal of Robotics and Automation, Vol. 12, No 6, December 1996, pp. 869-880 1996. [6] L. Kleeman “Optimal estimation of position and heading for mobile robots using ultrasonic beacons and dead reckoning”, Proceedings of IEEE International Conference on Robotics and Automation, pp. 2582-2587. 1992 [7] J. Borenstein L. Feng, “Gyrodometry: A new method for combining data from gyros and odometry in mobile robots” in Proc. Of International Conference on Robotics and Automation, (Minneapolis, Minnesota), pp. 423-428, IEEE, Apr.1996 [8] S.I. Roumeliotis, G.A. Bekey “Bayesian estimation and Kalman filtering: A unified framework for mobile robot localization”. In Proceedings of the 2000 IEEE International Conference on Robotics and Automation, pages 2985-2992, San Francisco, CA, April 24-28. 2000. [9] S. I. Roumeliotis, G. S. Sukhatme, G.A. Bekey “Circumventing dynamic modeling: Evaluation of the error-state Kalman filter applied to mobile robot localization”. In Proceedings of the 1999 IEEE International Conference in Robotics and Automation, May 1999. [10] D. Fox, W. Burgard, H. Kruppa, S. Thrun “A probabili stic approach to collaborative multi -

Page 12: UN NUEVO SISTEMA DE BAJO COSTE PARA LA LOCALIZACIÓN DE ...

robot localization”. In Autonomous Robots, 8(3), 2000. [11] D. Fox, W. Burgard, H. Kruppa, S. Thrun “Collaborative multi -robot localization”. In Proceedings of the 23rd Annual German Conference on Artificial Intell igence. Bonn, Germany, 1999. [12] J.J. Leonard, H.F. Durrant-Whyte “Mobile robot localization by tracking geometric beacons”. In IEEE Transactions on Robotics and Automation, 7(3): 376-386, June 1991. [13] H. F. Durrant-Whyte. “An autonomous guided vehicle for cargo handling applications”, International Journal of Robotics Research, Vol. 15 No. 5, pp. 407-409. 1996 [14] K. Astrom, “A correspondence problem in laser guided navigation”, Proceedings of Symposium on Image Analysis, Sweden, pp. 141-144. [15] C. B. Madsenand Andersen, C.S. “Optimal landmark selection for triangulation of robot position”, International Journal of Robotics and Autonomous Systems, Vol. 23 No. 4, pp. 277-292. 1998 [16] J. B. Hayet. “Visual Localization of a Mobile Robot in Indoor Environments with Posters” http://www.laas.fr/~jbhayet/icpr2000/latex8.html [17] S. Thrun “Bayesian landmark learning for mobile robot localization”. Machine Learning, 33 (1), 1998. [18] A. Elfes “Sonar -based real-world mapping and Navigation”, IEEE Journal of Robotics and Automation, RA-3 (3), pp. 249-265. 1987 [19] S. Thrun, A. Bucken, ” Integrating grid-based and topological maps for mobile robot navigation”, Proceedings of the 13th National Conference on AI, Portland, OR, pp. 128-133. 1996 [20] S. Thrun “Learning maps for indoor mobile robot navigation. Artificial Intelli gence. 1999. [21] P. Goel, S.I. Roumeliotis, G.S. Sukhatme “Robust localization using relative and absolute position estimates”. In Proceedings 1999 IEEE/RSJ International Conference on Intell igent Robots and Systems, Kyongju, Korea, Oct 17-21, pp. 1134-1140. [22] J. Leonard H. Durrant-Whyte “Mobile robot localization by tracking geometric beacons”, IEEE Transactions on Robotics and Automation, Vol. 7, pp. 376-382. 1991. [23] G. Weil; C.Wetzler, E.V. Puttkamer, “Keeping track of position and orientation of moving indoor systems by correlation of range-finder scans. In Proceedings of the International Conference on Intell igent Robots and Systems, 595 -601 1994. [24] P. Jensfelt and H.I. Christensen, “Laser Based Pose Tracking'', in Proceedings IEEE International Conference on Robotics and Automation, (Detroit, MI), pp. 2994-3000, May 1999.