instrumentacion-robotica

12
5TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERÍA ELÉCTRICA (V CIBELEC 2012) ResumenEl presente trabajo consiste en el diseño e implementación de un carro manipulador de objetos a distancia a través de un mecanismo robótico tele-operado, usando el protocolo de comunicación 802.15.4 (Xbee) para comunicación, entre el carro-robot y la aplicación diseñada para su monitoreo y control. El sistema de control está basado en microcontroladores PIC (Peripheral Interface Controller), que fueron programados en PICBasic; el diseño cuenta con un brazo y pinza robótica capaz de recolectar y manipular objetos remotos, la cual puede ser controlada a través de la aplicación ó por medio de una interface diseñada que consiste en un guante con sensores foto- eléctricos para detectar el movimiento de los dedos de la mano del usuario y reproducirlos a distancia en los servomotores que controlan la pinza. Palabras clavesCarro-Robot, Teledirigido, Protocolo 802.15.4, Microcontroladores. I. INTRODUCCIÓN La tele-robótica es ampliamente utilizada en aplicaciones que ofrezcan facilidades en tareas dirigidas de forma remota [1], así mismo es un objeto de estudio vigente en investigaciones y desarrollos para operaciones en zonas de difícil acceso, en las cuales un robot móvil permite apoyar al operador en tareas de exploración y control [2]. En este artículo se presenta la descripción del diseño e implementación de un carro manipulador de objetos a distancia a través de un mecanismo robótico tele-operado, usando el protocolo de comunicación 802.15.4 (Xbee) para comunicación, entre el carro-robot y la aplicación diseñada para su monitoreo y control, extendiendo las capacidades sensoriales y motoras de éste a localizaciones remotas [3]. El sistema de control está basado en microcontroladores PIC, que fueron programados en PicBasic; el diseño cuenta con un brazo y pinza robótica capaz de recolectar y manipular objetos remotos, la cual puede ser controlada a través de la aplicación ó por medio de una interface diseñada. Artículo recibido el 03 de Febrero de 2012. Y.B. y J.V. Investigador del Grupo de Investigación en Tecnologías Digitales Aplicadas a Telecomunicaciones (GITDAT) de la UNEFA. E-mail: [email protected]; [email protected] C.S.R. Investigador acreditada en el PEII, adscrita al Grupo de Investigación en Tecnologías Digitales Aplicadas a Telecomunicaciones (GITDAT) de la UNEFA, investigador adjunto al Instituto de Matemáticas y Cómputo Aplicado de la Universidad de Carabobo, profesora de la UNEFA, departamento de Telecomunicaciones, Maracay, Estado Aragua, Venezuela, E-mail: [email protected] El sistema cuenta con sensórica avanzada, se le incorporó un sensor de proximidad y se ha propuesto un sistema de posicionamiento global para verificar la ubicación en un perímetro determinado, una cámara con un rango de giro de 360° para evaluar con exactitud las condiciones de la zona y visión nocturna para monitorear las tareas del sistema. El carro-robot presenta comunicación con una red de sistemas autónomos en un rango de 1.6 Km con línea de vista y de 100m en áreas cerradas comprobado por medio de pruebas del alcance de la comunicación, usando el módulo XBEE encargado de la trasmisión, las tecnologías de comunicación inalámbrica pueden ser consultadas en [4]. Entre sus aportes se puede mencionar que se ha propuesto como método de optimización del consumo energético, la des-habilitación de los módulos de transmisión para cuando no son requeridas, cuenta con modo tele-dirigido y modo autónomo que le permite seguir funcionando y recabando información aun sin comunicación con el sistema de control, lo que lo convierte en un sistema eficiente para la manipulación de objetos a distancia en zonas bajo ciertas condiciones específicas. De lo anterior, se detectó la necesidad de estudiar el diseño de un sistema robótico tele-dirigido para la manipulación de objetos, a través de una pinza manejada a distancia, según indicaciones del operador con una instrucción dada desde la computadora, el cual transmite por comunicación serial al computador la distancia a la que el objeto se encuentra. Este proyecto ha sido desarrollado en el Grupo de Investigación en Tecnologías Digitales Aplicadas a Telecomunicaciones, adscrito a la UNEFA (Universidad Nacional Experimental de las Fuerzas Armadas). II. CONSIDERACIONES PARA EL DISEÑO DEL SISTEMA El funcionamiento de los servomotores es controlado por el PIC16F84 configurado como esclavo, en función de los comandos enviados desde el microcontrolador maestro, el PIC16F877A. La detección de distancia está a cargo de un sensor de ultrasonido, por emisión de ondas y éstas al encontrarse con un objeto u obstáculo rebotan, la reflexión de la onda es detectada por el sensor, donde el tiempo de rebote permite el cálculo de la distancia, así el PIC envía la información por trasmisión serial inalámbrica al computador, esto a través de módulos XBEE encargados de la trasmisión y recepción. Por otra parte, adicional a la detección de obstáculos el carro robótico es capaz tomar objetos según desee quien lo controle, con la ayuda de un brazo robótico y una pinza ubicada en el extremo del mismo. El movimiento de la pinza (abre y cierra), Desarrollo de un Carro-Robot Teledirigido para la manipulación de Objetos Yedith Bonilla, Juan Valero, Cecilia Sandoval

Upload: roberto-camargo

Post on 08-Feb-2016

16 views

Category:

Documents


0 download

DESCRIPTION

Desarrollo de un Carro-Robot Teledirigido parala manipulación de Objetos

TRANSCRIPT

Page 1: Instrumentacion-Robotica

5TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERÍA ELÉCTRICA (V CIBELEC 2012)

Resumen— El presente trabajo consiste en el diseño e implementación de un carro manipulador de objetos a distancia a través de un mecanismo robótico tele-operado, usando el protocolo de comunicación 802.15.4 (Xbee) para comunicación, entre el carro-robot y la aplicación diseñada para su monitoreo y control. El sistema de control está basado en microcontroladores PIC (Peripheral Interface Controller), que fueron programados en PICBasic; el diseño cuenta con un brazo y pinza robótica capaz de recolectar y manipular objetos remotos, la cual puede ser controlada a través de la aplicación ó por medio de una interface diseñada que consiste en un guante con sensores foto-eléctricos para detectar el movimiento de los dedos de la mano del usuario y reproducirlos a distancia en los servomotores que controlan la pinza.

Palabras claves— Carro-Robot, Teledirigido, Protocolo 802.15.4, Microcontroladores.

I. INTRODUCCIÓN

La tele-robótica es ampliamente utilizada en aplicaciones que ofrezcan facilidades en tareas dirigidas de forma remota [1], así mismo es un objeto de estudio vigente en investigaciones y desarrollos para operaciones en zonas de difícil acceso, en las cuales un robot móvil permite apoyar al operador en tareas de exploración y control [2]. En este artículo se presenta la descripción del diseño e implementación de un carro manipulador de objetos a distancia a través de un mecanismo robótico tele-operado, usando el protocolo de comunicación 802.15.4 (Xbee) para comunicación, entre el carro-robot y la aplicación diseñada para su monitoreo y control, extendiendo las capacidades sensoriales y motoras de éste a localizaciones remotas [3]. El sistema de control está basado en microcontroladores PIC, que fueron programados en PicBasic; el diseño cuenta con un brazo y pinza robótica capaz de recolectar y manipular objetos remotos, la cual puede ser controlada a través de la aplicación ó por medio de una interface diseñada.

Artículo recibido el 03 de Febrero de 2012. Y.B. y J.V. Investigador del Grupo de Investigación en Tecnologías

Digitales Aplicadas a Telecomunicaciones (GITDAT) de la UNEFA. E-mail: [email protected]; [email protected]

C.S.R. Investigador acreditada en el PEII, adscrita al Grupo de Investigación en Tecnologías Digitales Aplicadas a Telecomunicaciones (GITDAT) de la UNEFA, investigador adjunto al Instituto de Matemáticas y Cómputo Aplicado de la Universidad de Carabobo, profesora de la UNEFA, departamento de Telecomunicaciones, Maracay, Estado Aragua, Venezuela, E-mail: [email protected]

El sistema cuenta con sensórica avanzada, se le incorporó un sensor de proximidad y se ha propuesto un sistema de posicionamiento global para verificar la ubicación en un perímetro determinado, una cámara con un rango de giro de 360° para evaluar con exactitud las condiciones de la zona y visión nocturna para monitorear las tareas del sistema. El carro-robot presenta comunicación con una red de sistemas autónomos en un rango de 1.6 Km con línea de vista y de 100m en áreas cerradas comprobado por medio de pruebas del alcance de la comunicación, usando el módulo XBEE encargado de la trasmisión, las tecnologías de comunicación inalámbrica pueden ser consultadas en [4]. Entre sus aportes se puede mencionar que se ha propuesto como método de optimización del consumo energético, la des-habilitación de los módulos de transmisión para cuando no son requeridas, cuenta con modo tele-dirigido y modo autónomo que le permite seguir funcionando y recabando información aun sin comunicación con el sistema de control, lo que lo convierte en un sistema eficiente para la manipulación de objetos a distancia en zonas bajo ciertas condiciones específicas. De lo anterior, se detectó la necesidad de estudiar el diseño de un sistema robótico tele-dirigido para la manipulación de objetos, a través de una pinza manejada a distancia, según indicaciones del operador con una instrucción dada desde la computadora, el cual transmite por comunicación serial al computador la distancia a la que el objeto se encuentra. Este proyecto ha sido desarrollado en el Grupo de Investigación en Tecnologías Digitales Aplicadas a Telecomunicaciones, adscrito a la UNEFA (Universidad Nacional Experimental de las Fuerzas Armadas).

II. CONSIDERACIONES PARA EL DISEÑO DEL SISTEMA

El funcionamiento de los servomotores es controlado por el PIC16F84 configurado como esclavo, en función de los comandos enviados desde el microcontrolador maestro, el PIC16F877A. La detección de distancia está a cargo de un sensor de ultrasonido, por emisión de ondas y éstas al encontrarse con un objeto u obstáculo rebotan, la reflexión de la onda es detectada por el sensor, donde el tiempo de rebote permite el cálculo de la distancia, así el PIC envía la información por trasmisión serial inalámbrica al computador, esto a través de módulos XBEE encargados de la trasmisión y recepción. Por otra parte, adicional a la detección de obstáculos el carro robótico es capaz tomar objetos según desee quien lo controle, con la ayuda de un brazo robótico y una pinza ubicada en el extremo del mismo. El movimiento de la pinza (abre y cierra),

Desarrollo de un Carro-Robot Teledirigido para la manipulación de Objetos

Yedith Bonilla, Juan Valero, Cecilia Sandoval

Page 2: Instrumentacion-Robotica

5TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERÍA ELÉCTRICA (V CIBELEC 2012)

ISBN: 978-980-7185-02-8 I-R-2

así como del brazo (sube y baja), a través del accionamiento por medio de servomotores. Para el control de la pinza se propuso adicionar una cámara hará el enlace directo con el sistema de control para que el manejo del mismo sea mucho más sencillo, dinámico y exacto para el usuario. Para poder gobernar los motores debemos crear una etapa intermedia, entre la electrónica de control y los motores, para el control de dirección y funcionamiento del motor se escogió el L293b, que lleva incorporados diodos para contrarrestar los picos que pudieran presentarse a causa de las bobinas de los motores. Este chip lleva integrados dos puentes H (uno para cada motor), el cual soporta 1A de corriente por cada puente.

III. MÓDULOS DEL CARRO-ROBOT TELEDIRIGIDO

En este proyecto, se puede conmutar entre dos opciones de control las cuales corresponden a: control teledirigido a través de una interface de control corriendo la aplicación en un dispositivo de acceso inalámbrico (computadora portátil) y modo autónomo, el esquema se presenta en la figura 1.

Fig.1. Diagrama de Bloques del Carro-Robot Teledirigido

La etapa de control del carro robot, está compuesta por un microcontrolador maestro PIC16F877A, encargado de la lógica de control del carro-robot, el cual tiene las señales de control del motor DC en los pines RB.6 y RB.7, conectados estos al driver L293B es una etapa intermedia entre la etapa de control, señal TTL (Transistor-Transistor Logic) y la señal de alimentación del motor, permitiendo una corriente de 1A. Las señales de comunicación al mando a distancia están en los pines RC.6 y RC.7, de la USART por hardware, los cuales se encuentran conectados al convertidor de TTL a serial MAX232, cuyos puertos van al módulo XBee. Se han definido como pines para la comunicación serial por software RA.1 y RA.2, los cuales están conectados al PIC16F84, el cual está configurado como esclavo para el manejo de los servos en función de los comandos enviados desde el control maestro, la tarjeta de circuito impreso PCB (Printed Circuit Board) se presenta en la figura 2.

Fig. 2. Diagrama de la tarjeta PCB (vista posterior)

IV. ESTRUCTURA DEL CARRO ROBOT

El carro robot se encuentra estructurado en configuración Ackerman [5-6], el motor de accionamiento del eje trasero es un motor DC y el motor de direccionamiento del carro acoplado al eje delantero es un servomotor, la distribución de los componentes se presenta en la figura 3.

Fig.3. Diagrama de Bloques del Carro-Robot Teledirigido

A. Modo Teledirigido.

Para este modo se seleccionó la tecnología XBee que permite comunicación a una frecuencia de 2.4 G [7], para este se envían los comandos desde el computador indicando a través de una interface la ubicación del Carro-Robot para eso se definió las condiciones con la recepción de los datos por parte del PIC en el cual cada comando seleccionará la rutina correspondiente para el manejo de los motores. Los módulos XBee fueron diseñados para ser montados en un receptáculo (hembra) y por lo tanto no requiere ninguna soldadura cuando se esté montando en una tarjeta. Los kits de

PIC 16F877A (Control Maestro)

MOTOR

L293B

PIC16F84

SERVOS MAX232

du

lo d

e A

limen

taci

ón

Tarjeta de Control

Servo Motor Motor DC

Page 3: Instrumentacion-Robotica

5TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERÍA ELÉCTRICA (V CIBELEC 2012)

ISBN: 978-980-7185-02-8 I-R-3

desarrollo de XBee-PRO contienen RS-232 y USB. Entre las características de operación del módulo se tiene que estos en ambientes internos presenta un alcance de 60m aproximados, en tanto que ambientes externos su alcance es de 1500m con línea de vista, la potencia de transmisión a 10mW es de 10dBm y la sensibilidad de recepción es de -102dBm, la corriente del módulo transmisor es de 295mA y la del módulo receptor de 45mA, a una alimentación nominal de 3.3 V a 25°C. Estos datos permiten establecer las especificaciones de operación del carro robot de acuerdo a los datos nominales, aun así se han realizado pruebas de funcionamiento para obtener los datos operativos del mismo. Se ha empleado la USART por hardware para la comunicación con la computadora en el modo tele-operado, para la transmisión inalámbrica se empleó el módulo XBee conectado al PIC a través de uno de sus puertos para la recepción de los comandos, el código de la rutina de comunicación se presenta en la tabla I.

TABLA I. RUTINA DE COMUNICACIÓN DE ACCIONES DE LOS SERVO

SerInPORTA.1,16468,[SERVO1,SERVO2,SERVO3,RSERVO1,RSERVO2,RSERVO3] If SERVO1 = RSERVO1 And SERVO2 = RSERVO2 And SERVO3 = RSERVO3 Then If SERVO1 = 0 Or SERVO2 = 0 Or SERVO3 = 0 Then … HSerIn 1000, INI ,[Wait("AB"),DEC3 APINZA, DEC3 ABRAZO, DEC3 ACRUCE, DEC3 DMOTOR, DEC1 LUCES, DEC1 SIRENA]

Los servomotores que se utilizaron para accionar el movimiento del brazo, el cruce del robot y la abertura y/o cierre de la pinza encargada de recolectar objetos son parte del sistema motor principal y secundario. Ahora bien, un servomotor es un dispositivo pequeño que tiene un eje de rendimiento controlado. Este puede ser llevado a posiciones angulares específicas al enviar una señal codificada. Con tal de que una señal codificada exista en la línea de entrada, el servo mantendrá la posición angular del engranaje. Cuando la señal codificada cambia, la posición angular de los piñones cambia. Los servomotores hacen uso de la modulación por ancho de pulsos (PWM) para controlar la dirección o posición de los motores de corriente continua. La mayoría trabaja en la frecuencia de los cincuenta hercios, así las señales PWM tendrán un periodo de veinte milisegundos. La electrónica dentro del servomotor responderá al ancho de la señal modulada. Si los circuitos dentro del servomotor reciben una señal de entre 0,5 a 1,4 milisegundos, este se moverá en sentido horario; entre 1,6 a 2 milisegundos moverá el servomotor en sentido anti-horario; 1,5 milisegundos representa un estado neutro para los servomotores estándares. Los servomotores se inicializaron en 90º, todos para sus estados originales los cuales se irán modificando a medida el usuario vaya variando el ángulo en el cual lo requiere. Para el accionamiento de los servos se calculó el pulso para accionar la función proporcional al dato transmitido, esto

considerando las características de los servomotores seleccionados, como se muestra en la figura 4.

Fig. 4. Pulso de accionamiento de los servomotores

Para emplear la instrucción servo, se toma como entrada el ángulo seleccionado, en la variable servo, dada la proporción correspondiente: 900 us � 0° 1500 us � 90° 2100us �180° Basado en la relación de ángulo tiempo del pulso, tenemos la relación de la ecuación 1.

Stime = (2100 – 900) / 180 *ANG + 900 (ec.1)

Con lo cual se obtuvo el código para el manejo de los servomotores, presentado en la tabla II.

TABLA II. CÓDIGO DE LA TRADUCCIÓN DE ORDENES EN MOVIMIENTOS

S1 = (1200/180 * ANG1) + 900 S2 = (1200/180 * ANG2) + 900 S3 = (1200/180 * ANG3) + 900 Servo PORTB.0,S1 E1 = 2100 - S1 DelayUS E1 Servo PORTB.1,S2 E2 = 2100 - S2 DelayUS E2 Servo PORTB.3,S3 E3 = 2100 - S3 DelayUS E3 DelayUS 13700

Como se ha mencionado para la detección de los objetos se utiliza un sensor por ultrasonido elemento básico para poder saber si la distancia a la cual se encuentra del obstáculo más próximo. Los medidores ultrasónicos de distancia y sensores de ultrasonidos que se utilizan en los robots son, básicamente, un sistema de sonar.

En el módulo de medición, un emisor lanza un tren de pulsos ultrasónicos con una frecuencia en el orden de los 38 a 50 Khz y el receptor espera el rebote. Se mide el tiempo entre la emisión y el retorno, lo que da como resultado la distancia entre el emisor y el objeto donde se produjo el rebote. Esta

Page 4: Instrumentacion-Robotica

5TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERÍA ELÉCTRICA (V CIBELEC 2012)

ISBN: 978-980-7185-02-8 I-R-4

medición se calcula teniendo en cuenta la velocidad del sonido en el aire, que si bien varía según algunos parámetros ambientales, como la presión atmosférica, igualmente permite una medición bastante precisa [8].

Por medio de pruebas, se especificó a través de la programación un rango de medición, al detectar distancias mayores de obstáculo 1.60 metros delante, el mensaje que mostrará corresponde a fuera de rango. Las líneas de instrucción basadas en las ecuaciones del sensor se presentan en la tabla III.

TABLA III. CÓDIGO PARA CÁLCULO DE DISTANCIA MEDIDA EN EL SENSOR

DE ULTRASONIDO

PulsOut PORTC.0,10,High PulsIn PORTC.0,High,MEDICION MEDICION = MEDICION / 2 DIST = MEDICION / 29.034 MEDICION = DIST Todo el control se hace autónomo en este caso. Ya que las ordenes son transmitidas desde el PIC posteriormente que la medición por medio del sensor de ultrasonido fue realizada. A medida que se está en el módulo de control autónomamente el usuario podrá también estar observando las imágenes transmitidas por la cámara en la zona que se encuentre el carro-robot. De esta forma se podrá volver a tomar control desde el módulo teledirigido por decisión propia o dejar que siga su curso en forma autónoma. De esta manera el accionara los cruces si se encuentra con un obstáculo de la misma manera como el usuario puede hacerlo en el otro módulo en la interfaz. Estos servomotores se encuentran dispuestos de tal manera que su circuitería ayude para un mejor y más exacto ángulo de aplicación, ideando la manera de esta forma para que en cada una de las situaciones en las que se aplique este proyecto pueda desempeñarse adecuadamente.

V. COMUNICACIÓN PARA CONTROL DEL CARRO ROBOT.

Una de las características que se le ha incorporado a este proyecto de Carro-Robot consiste en el planteamiento del sistema de comunicación inalámbrico diseñado y construido con particularidades específicas para que el usuario tenga una amplia gama de imágenes y facilidades para el control, manejo y/o recuperación. Toda esta comunicación se hace por medio de los módulos Xbee, que trabajan bajo el protocolo de la IEE 802.15.4. Este modo de comunicación nos da la facilidad y la libertad de poder disponer de un sistema de control inalámbrico, confiable. De esta manera también se pudo eliminar el impedimento que causa el tener que mantener el carro-robot conectado de forma cableada constantemente. El esquema principal consiste en el envío de data indicada por el usuario que se encuentre frente a la interfaz de la portátil. Por medio del módulo XBee, esta data es recibida por el módulo XBee que se encuentra ubicado en el carro-robot, el

cual por medio de un circuito integrado que convierte los niveles de las líneas de un puerto serie RS232 a niveles TTL y viceversa llamado MAX232, le comunica o transmite la información al PIC principal el cual se encarga de ubicar y direccionar las ordenes que se indicaron en forma correcta, para así darle efectividad a la acción determinada.

El circuito integrado posee dos convertidores de nivel TTL a RS232 y otros dos que, a la inversa, convierten de RS232 a TTL. Estos convertidores son suficientes para manejar las cuatro señales más utilizadas del puerto serie del computador, que son TX, RX, RTS (Request to Send) y CTS (Clear to Send). Tomando en cuenta que TX es la señal de transmisión de datos para este caso el dato de medición de distancia que envía el sensor, visto desde el carro-robot y las instrucciones de control desde el computador, RX es la de recepción, y RTS y CTS se utilizan para establecer el protocolo para el envío y recepción de los datos.

VI. INTERFAZ Esta interfaz define la comunicación inalámbrica entre el carrito robótico detector de obstáculos y recolector de objetos a control remoto desde el computador. La interfaz posee 2 botones dos de ellos directamente relacionados con la dirección de los motores DC y su control otros 2 opcionales con funciones de una alarma y de las luces que podrían instalarse a las aplicaciones de nuestro robot, 3 slider para modificar o decidir el ángulo exacto en el cual se quieren posicionar cada uno de los 3 servomotores. Como se presenta en la figura 5.

Fig.5 Panel de control de la Interface

El telecontrol se hace por medio de una portátil que corre el programa ya establecido. Mostrando una ventana de acción donde se puede visualizar la distancia a la cual se encuentra de algún obstáculo, en esta ventana se presenta la distancia detectada por el sensor de proximidad, en este caso una distancia de 100 cm. También se puede visualizar los slider, por medio de estos se puede modificar el Angulo de GIRO del Carro-Robot, modificar la altura en la cual se quiere colocar la PINZA y también el cierre de la pinza que se denomino AGARRE. Igualmente en la ventana se visualizan cuatro botones por medio de los cuales el usuario puede activar o desactivar los motores DC que impulsan el Carro-Robot, estos

Page 5: Instrumentacion-Robotica

5TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERÍA ELÉCTRICA (V CIBELEC 2012)

ISBN: 978-980-7185-02-8 I-R-5

botones se denominan ADELANTE y ATRÁS. Los botones denominados SIRENA y LUCES están directamente dispuestos para activar la sirena y las luces leds que se encuentran en el Carro-Robot. Cada uno de estos cuatro botones pueden ser accionados al hacer clic sobre ellos o simplemente pulsando la tecla con la cual fueron programados. Cada uno de los comandos de control se transmite por comunicación serial en las tramas de datos, de esta forma se mantiene la comunicación entre el computador y el carro-robot usando para ello la comunicación inalámbrica bajo el estándar de los módulos XBEE.

VII. IMPLEMENTACIÓN DEL CARRO ROBOT Para un mejor desempeño y mayor tiempo de funcionamiento del carro-robot, se diseñó en la PCB un conjunto de reguladores para garantizar un eficiente consumo de energía, y una distribución de la carga de las baterías, de acuerdo a las características específicas de la demanda de corriente. De esta manera se distribuyeron equitativamente las baterías para los diferentes sensores y motores que están en el Carro-Robot, se establecieron tres módulos de baterías, uno dispuesto para el módulo de transmisión RF (XBee) que es una batería de 9v recargable dispuesta en la parte inferior del Carro-Robot; el segundo módulo compuesto por 4 baterías de 1,5V que alimentan directamente el motor DC, la alarma y las luces, en el tercer módulo una batería de 7,2 V es la encargada de alimentar el sensor de ultrasonido y los servomotores. Cada una de estas distribuciones se pueden observar detalladamente en la Figuras 6.

Fig.6. Carro Robot Teledirigido implementado

Entre las características principales de operación del robot se presentan:

� Transmisión inalámbrica a tiempo real a 2.4 GHz. � Transmisión a 9600 baudios sin bit de paridad. � Alcance de 60 m. sin línea de vista y de 850 m. con

línea de vista. � Detección de distancia desde la ubicación del objeto a

la del robot de hasta 160 cm, calculada para una temperatura nominal de 25°C.

� Robot Móvil en configuración Ackerman, con tracción trasera.

� Dimensiones 35 cm x 20 cm x 15 cm � Fuerza de la pinza de 2500 g. de capacidad. � Velocidad de desplazamiento de 210 cm/min.

En total un conjunto de características que suman fiabilidad y precisión del carro robot diseñado. Los resultados en la implementación del sistema han permitido validar una herramienta para la tele-operación de alto alcance del brazo y pinza robótica sobre el robot móvil, lo que ofrece una ventaja para manipulación de objetos de forma remota con una precisión aceptable para los fines de recolección y desplazamiento, aplicando la tecnología XBEE con el protocolo de comunicación 802.15.4 que resulta en una alternativa versátil. CARACTERÍSTICAS DEL ESTÁNDAR IEEE 802.15.4 Este estándar describe las capas física y MAC de una red inalámbrica de baja tasa de transmisión (LR-WPAN) y por tanto, bajo coste [9]. Sus características básicas se presentan en la tabla VI.

TABLA IV. CARACTERÍSTICAS DE LOS MÓDULOS XBEE Tasa de transferencia máxima de 250 kbps. 16 canales en la banda de 2.4 GHz. Acceso al canal CSMA (Carrier Sense Multiple Access) / CA. Modulación QPSK (Quadrature Phase Shift Keying) espectro ensanchado DSSS (Direct Sequence Spread Spectrum). Encriptación AES (Advanced Encryption Standard). Hay dos tipos de nodos en una red 802.15.4: FFD (Full Function Device): Siempre encendido, actúa como un coordinador de red. RFD (Reduced Function Device): Pasa la mayoría del tiempo en el modo de mínimo consumo de potencia (SLEEP).

Este protocolo permite la configuración de una red en topología estrella, en árbol o mallada, en la cual los nodos fijos se pueden configurar la mayor parte del tiempo en estado de mínimo consumo [9], siendo un posible trabajo futuro diseñar una red para diversos carros-robot en aplicaciones de robótica colaborativa.

REFERENCIAS BIBLIOGRÁFICAS [1] A. Gómez, J., Ollero, A. y García, “Teleoperación y Telerobótica”,

Ed. Madrid: Prentice Hall, 2006 pp 97-117. [2] M. Pancich, K. Perez, and E. Tovar, “Robot Móvil para exploración

en lugares de difícil acceso para el ser humano”, Tesis de Ing. En Comunic. y Electrónica. Instituto Politécnico Nacional, México, 2008.

[3] A. Barrientos, L. F. Peñin, C. Balaguer, and R. Aracil, “Fundamentos de Robótica”, Segunda. Madrid: McGraw-Hill, Inc., 2007.

[4] R. Domínguez and T. Guerrero, “Robot controlador por ordenador”, Universidad Politécnica de Catalunya, 2010.

[5] J. Cánovas G, “Robótica Móvil. Estudio y caracterización del robot móvil kjunior,” Universidad Politécnica de Cartagena, 2011.

[6] R. Silva Ortigoza; J. R. García Sánchez; V. R. Barrientos Sotelo; M. A. Molina Vilchis, “Una panorámica de los robots móviles”, Rev. Telematique, volumen 6, Número 3, 2007

[7] Oyarce, A. (consultada en Septiembre, 2011) “XBee, Manual de Usuario” . Disponible en www.olimex.cl/pdf/Wireless/ZigBee/XBee-Guia_Usuario.pdf

[8] Parallax, (consultada en Julio, 2011). “Sensores inteligentes y sus aplicaciones Manual de Usuario”. Disponible en www.parallax.com/Portals/0/Downloads/docs/prod/sic/SmartSensors-v1.0-Spanish-v1.0.pdf

[9] P. Corral, B. Coronado, A. C. D. C Lima, “Design of Automatic Meter Reading based on Zigbee”, IEEE Latin America Transactions, Vol. 10, No.. 1, Jan. 2012, pp. 1150-1155

Page 6: Instrumentacion-Robotica

5TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERÍA ELÉCTRICA (V CIBELEC 2012)

Resumen—Localización y mapeado simultáneo (SLAM, Simultaneos Localization and Mapping) es el proceso por el cual un robot móvil construye un mapa de su entorno desconocido y al mismo tiempo se localiza en él a medida que se mueve, es uno de los factores que determina su autonomía, constituye uno de los problemas más notables en robótica y se ha desarrollado mucho durante la última década. Este trabajo presenta un análisis de las características técnicas y operativas de los principales algoritmos que forman el estado del arte en SLAM, obtenidos mediante una revisión bibliográfica. Se aporta suficiente referencia para que investigadores nóveles puedan seleccionar alguno para implementación, evaluación, optimización o comparación experimental. Los algoritmos analizados están basados en distintos tipos de filtro (Kalman, Partículas, de información) entre otras técnicas. Se encontró que uno los principales retos actualmente es aplicar SLAM en áreas extensas a un costo computacional viable en aplicaciones reales.

Palabras claves—Autolocalización, Robótica móvil, Mapeado, SLAM.

I. INTRODUCCIÓN

Uno de los aspectos que suscita mayor interés en la comunidad científica y académica que trabaja en la robótica móvil; que comprende principalmente el desarrollo de Vehículos Terrestres Autónomos (AGV, Automatic Grounded Vehicle por algunos autores o Autonomous Grounded Vehicle por otros)[1], Vehículos Aéreos No Tripulados (UAV, Unmanned Aerial Vehicle)[1] y los Vehículos SubAcuáticos Autónomos (AUV, Autonomous Underwater Vehicle)[1]; es el problema de la Autolocalización y Mapeado Simultáneo conocido como SLAM, que ha sido el término acuñado para referirse a dos procesos principales que pueden llevarse a cabo de forma independiente y en tiempos diferentes, sin embargo, en este caso se ejecutan simultaneamente e interdependientes[2].

El mapeado consiste en que el robot construya, a partir de los datos suministrados por sensores, una imagen que represente su entorno. Mientras que la localización implica la

Artículo recibido el 03 de Febrero de 2011. C.D.B. Investigador del Grupo de Investigación en Tecnologías

Digitales Aplicadas a Telecomunicaciones (GITDAT) de la UNEFA, profesor de la UNEFA, departamento de Electrónica, Maracay, Estado Aragua, Venezuela [email protected]

C.S.R., adscrita al Grupo de Investigación en Tecnologías Digitales Aplicadas a Telecomunicaciones (GITDAT) de la UNEFA, investigador adjunto al Instituto de Matemáticas y Cómputo Aplicado de la Universidad de Carabobo, profesora de la UNEFA, departamento de Telecomunicaciones, Maracay, Estado Aragua, Venezuela, E-mail: [email protected]

estimación de su propia ubicación en el entorno, a partir de un mapa, es decir, el cálculo aproximado de una posición relativa. En [3] se explica que existen tres formas básicas de localización: navegación estimada (dead reckoning) basada en la información de los sensores propioceptivos (encoder, odometría, etc); a partir de un mapa conocido a priori y el uso de sensores exteroceptivos (cámaras, escáneres láser, ultrasonido, etc.) y finalmente SLAM, aquella que se aplica cuando no se tiene un mapa a priori, éste se construye a medida que transcurre el tiempo en intervalos regulares, se va estimando la localización y actualizando el mapa con la nueva información en cada intervalo.

La dificultad de hacer esto simultáneamente a medida que el robot se mueve radica en los siguientes aspectos: el gran volumen de información que se obtiene de los sensores, la incertidumbre inherente en las mediciones, el tamaño y tipo del entorno (estructurado o no) y la velocidad con la que se requiere actualizar el mapa y posición.

Estos aspectos dan origen a los indicadores de desempeño que se aplican a los algoritmos SLAM: costo computacional, consistencia, convergencia, tiempo de muestreo, entre otros; los cuáles son mencionados y analizados en este artículo.

La necesidad de desarrollar una integración tecnológica para la aplicación de SLAM en una situación particular obedece al interés por obtener un sistema (terrestre, aéreo o acuático) capaz de realizar misiones en ambientes desconocidos total o parcialmente de forma autónoma, efectiva y eficiente, a tal punto que su habilidad para efectuar esto tiene un alto impacto en la valoración de su autonomía[4].

Para entender el contexto del problema que intenta resolver SLAM, se puede señalar entre otros y a manera de ejemplo, las misiones de exploración al planeta Marte[5], los robots aspiradores como Roomba[6], los UAV para vigilancia[7].

Por otro lado, cuando se desarrolla un proyecto que involucra SLAM debe tomarse decisión sobre cuál(es) algoritmo(s) implementar. Las opciones son múltiples por lo que comúnmente se toma uno en el que el investigador(es) tenga experiencia previa. Si se considera el caso en que el grupo de investigación está iniciando el camino, la tarea de analizar y elegir un algoritmo resulta compleja. Es entonces el interés de este artículo, proporcionar un resumen de los aspectos técnicos y operativos, con la finalidad de introducir información necesaria para la elección de alguno para su estudio más profundo. Otro objetivo que se persigue es dar a conocer las referencias primarias en cada propuesta.

Los algoritmos se seleccionaron tomando en cuenta la disponibilidad de información técnica de calidad en la

Tendencias en Localización y Mapeado Simultáneo (SLAM)

Camilo René Duque, Cecilia Sandoval Ruiz

Page 7: Instrumentacion-Robotica

5TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERÍA ELÉCTRICA (V CIBELEC 2012)

ISBN: 978-980-7185-02-8 I-R-7

literatura de primer nivel aceptada y reconocida por la comunidad científica y académica mundial en robótica. Otra limitación es que se consideran aquellos que se implementan con scáner láser y odometría, dejando fuera opciones basadas en imágen como Visual SLAM[1][8] y otras. Tampoco se aborda una revisión sobre la fundamentación teórica o aplicaciones de SLAM para análisis detallados de estos asuntos se recomienda [9-12].

La sección II de este trabajo resume la evolución histórica de SLAM, referenciando los trabajos que han marcado hito en este tema. En la sección Metodología de Estudio, se expone razonadamente cuáles son los aspectos tomados en cuenta para el análsis de cada algoritmo. Seguidamente, en la sección IV Algoritmos SLAM, se presenta un resúmen descriptivo de cada uno de los algoritmos estudiados y el contexto en que fueron desarrollados. En la Sección V, mediante tablas comparativas se plantean otras características. Finalmente, en la última sección se exponen algunas conclusiones.

II. EVOLUCIÓN DE SLAM

El primer trabajo que reúne formalmente las diferentes propuestas de localización y mapeado como un solo proceso simultáneo es el expuesto por Smith [13] a final de la década de 1980, donde se aborda una solución que marcó un hito, la utilización de un filtro extendido de Kalman (EKF-SLAM, Extended Kalman Filter SLAM) de la cual se han derivado un número importantísimo de variantes que buscan mejorar la eficiencia del filtro extendido en aplicaciones particulares. La importancia de este algoritmo es tal que otras implementaciones que no están basadas en EKF, usan éste para comparar y validar los resultados obtenidos.

Posteriormente, en el método de aplazamiento de Knigth [14] y el filtro comprimido de Guivant [15] se obtiene una reducción significativa en el tiempo de cómputo respecto del EKF, sin pérdida de precisión. Por otro lado, usando un filtro extendido de información dispersa (SIEF, Sparse Information Extended Filter) Liu [16] presenta un método capaz de obtener un mapa aproximado de tiempo constante en cada paso, excepto cuando se cierra un lazo.

Hasta este punto (años 2002-2003), los enfoques se han desarrollado para trabajar con mapas absolutos y han demostrado que uno los retos más importantes son la convergencia, que se puede afectar por la no linalidad de los modelos y por la incertidumbre que incrementa cuando se mapea grandes áreas. El otro problema a vencer es el tiempo para cada paso del algoritmo, el cual bajo EKF-SLAM obedece al cuadrado del número de marcas del entorno y no es constante, incluso si hay divergencia, el algoritmo presentaría una falla casi irreparable. Frente a estos métodos, existen otros (véase [17-20] entre otros) que se basan en la unión de sub mapas o mapas locales que se obtienen en forma periódica e independiente lo que mejora algunos de los problemas citados.

Una alternativa al EKF que rápidamente se impuso fué el Fast-SLAM, que utiliza un filtro Rao-Blackwellised que se diferencia del anterior por su menor tiempo de cómputo, lo

que ha sido aprovechado en aplicaciones de mapeado en áreas más grandes, fué propuesto en 2002 [21], y un año después se presentó Fast-SLAM 2.0 [22].

Las propuestas anteriores fueron formuladas, probadas y consideradas estables y fiables antes de 2005. De allí hasta la actualidad han emergido otras como D-SLAM [23], ISLSJF [24], su derivación combinada IDMJ [25], CEKF [15], CoreSLAM [26], UKF-SLAM [27], P-SLAM [28], DP-SLAM [29], ambos basados en Rao-BlackWellized, DC-SLAM [30], 6D-SLAM-ICP [31], Vector Field SLAM [32] y Segmented SLAM [33], entre otros. Los problemas particulares que estos ultimos trabajos han tratado de solventar van desde la complejidad de cómputo hasta la capacidad de manejar grandes volúmenes de información.

III. METODOLOGÍA DE ANÁLISIS

El conjunto de aspectos considerados en la caracterización que aquí se resume están divididos en técnicos y operativos. Los aspectos técnicos se orientan a dar idea sobre la fundamentación, funcionalidad, desempeño y origen de cada algoritmo, mientras que en los aspectos operativos se analizan detalles importantes para su implementación.

La métodología para recopilar los datos analizados consistió en la revisión documental preferentemente de las publicaciones en las revistas y/o eventos de primer nivel que tratan el tema y en medida mínima otras fuentes.

Se dió preferencia a las publicaciones en las que se presentó inicialmente cada algoritmo sobre aquellas donde se hace referencia indirecta. Este abordaje tuvo como limitación principal el hecho que en muchos casos, los autores guardan reserva sobre algunos de los aspectos que se consideran importantes en el estudio presentado.

Es importante destacar que fueron analizados aquellos algoritmos que se pueden implementar usando como sensores telémetros láser y odometría en sus principales aplicaciones, aun cuando sean susceptibles de implementarse con visión artificial.

Para la presentación de los resultados de análsis se usan tablas resúmen con las características de cada algoritmo.

A. Características técnicas

Se consideró oportuno subdividir los aspectos técnicos en dos categorías: contextuales y teóricas.

B. Características operativas

Las características consideradas fueron: modelo del robot, hardware de cómputo, lenguaje de desarrollo, sistema operativo, costo computacional (complejidad) y disponibilidad del código.

IV. ALGORITMOS SLAM

Existen taxonomías aplicadas a las soluciones SLAM por diversos autores, Arcos en [34] establece que en la actualidad se pueden clasificar en tres categorías: aquellos basados en EKF, unos en métodos de optimización no lineal y otros en

Page 8: Instrumentacion-Robotica

5TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERÍA ELÉCTRICA (V CIBELEC 2012)

ISBN: 978-980-7185-02-8 I-R-8

filtros de partículas. En la Tabla 1 se resumen los datos de contexto de cada uno

de los algoritmos analizados y en seguida se describen brevemente, dentro de los cuales hay de las tres categorías mencionadas.

A. EKF-SLAM

El primer algoritmo analizado es el EKF-SLAM[13], considerado como el punto de inicio de las investigaciones en SLAM. Consiste de una repreentación del espacio mediante mapas estocásticos, asociados con los procedimientos necesarios para construir estos mapas, obtener información de ellos y actualizarlos a medida que se obtiene nueva información. El mapa está compuesto de las estimaciones de las relaciones entre los objetos considerando en estas la incertidumbre de la medición. Los procedimientos generados utilizan vectores de estado para las estimaciones y teoría de filtros de partículas, de donde emerge el principal aporte el filtro de Kalman Extendido, importante logro que premitió muchas y mejores extensiones de solución a SLAM.

Aunque hoy resulta casi improbable obtener información técnica u operativa sobre las primeras implementaciones de este algoritmo, es de referencia obligatoria por su trascendencia y por que las propuestas más modernas se han desarrollado mejorando las debilidades de este, siendo comúnmente utilizado para comparar resultados de otros enfoques, como se evidencia en varios de las referencias aquí resumidas. Las principales limitaciones del EKF que expresan los investigadores son: la convergencia, el costo computacional requerido para aplicaciones de grandes extenciones y la consistencia de los datos. Tales aspectos se ven afectados por el hecho de que los modelos usados son linealizados y en una aplicación real no es así. Algunas evaluaciones aparecen en [35] y [36].

Una de las mejoras más recientes al EKF se consigue en [37] donde se propone un método robusto que mejora al EKF frente a perturbaciones.

B. Fast SLAM 2.0

En [12] se considera al Fast SLAM como un cambio fundamental en el diseño de SLAM ya que fué el primer aporte en usar modelos no lineales para los procesos y distribución no gausiana para la estimación de la localización. Como se mencionó en la sección II, rápidamente se generó una mejora, Fast SLAM 2.0, que fué la se que consideró para este trabajo. En este algoritmo, el principal logro es reducir el costo computacional de O(n2) en EKF hasta O(m Log n), donde m es el número de partículas en el filtro y n el número de marcas que capta el sensor sobre el ambiente. Se hace uso de una extensión del filtro de partículas Rao-Blackwell en vez del EKF. Una reciente e interesante mejora al FastSLAM se demuestra en [38] llamdo Ligth-and-FastSLAM. Así también, en [39] se presenta un algoritmo híbrido entre FastSLAM y SIEF, llamado CombinedSLAM demostrando mejor consistencia y presición que algunos otros algoritmos típicos.

TABLA 1

CARACTERÍSTICAS CONTEXTUALES

Publicación Autores Institución Escala entorno

EKF-SLAM

1988 R. Smith*, M. Self**, P. Cheeseman***

*General Motors

Research Laboratories

** UC Berkeley

*** NASA

Reducida

Fast SLAM

2.0

2003 M. Montemerlo*, S. Thrun*, D. Koller**, and B. Wegbreit**

* Carnegie Mellon

Institute ** Stanford

University

Media

I-DMJ SLAM

2009 Shoudong Huang, Zhan Wang, Gamini Dissanayake, Udo

Frese*

The University of Technology,

Australia * University of

Bremen, Alemania

Grande

CoreSLAM

2010 Bruno Steux, Oussama El Hamzaoui

Mines ParisTech - Center of Robotics, Francia

Reducida

D&C SLAM

2007 Lina M. Paz*, Patric Jensfelt**, J. D.

Tardós*, J. Neira*

* Universidad de Zaragoza, España **

Royal Institute of Technology,

Suecia

Grande

6D-SLAM-

ICP

2006 A. Nüchter*, H. Surmann, K.

Lingemann*, J. Hertzberg*, and S.

Thrun**

*Universidad de

Osnabrueck, Alemania **

Carnegie Mellon Institute

Grande

Vector Field

2010 Jens-Steffen Gutmann, Ethan

Eade, Philip Fong and Mario Munich

Evolution Robotics

Reducida

Segmented

2010 Nathaniel Fairfield, David Wettergreen, and George Kantor

Carnegie Mellon Institute

Grande

C. I-DMJ

Este algoritmo significa un importante avance al integrar lo mejor de dos soluciones precedentes D-SLAM[23] y el ISLSJF[24]. D-SLAM es uno de los métodos que se han refinado para reducir el esfuerzo computacional que involucra la actualización del mapa y estados del robot cada vez que se obtienen nuevas mediciones cuando se implementa en grandes extensiones, mediante la subdivisión en sub mapas locales de tal forma que la actualización de los datos del sensor ocurren en una zona pequeña del mapa, mientras que la actualización del mapa global se hace a una frecuencia muy baja. En I- DMJ [25] la construcción del mapa global se logra mediante el ISLSJF, un filtro iterativo de unificación de sub mapas locales

Page 9: Instrumentacion-Robotica

5TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERÍA ELÉCTRICA (V CIBELEC 2012)

ISBN: 978-980-7185-02-8 I-R-9

esparcidos.

D. CoreSLAM[26]

Es uno de los más recientes trabajos en el área, su principal atractivo es que se trata de un algoritmo basado en un sensor láser programado en lenguaje C con menos de 200 líneas de código, se desarrolló teniendo como objetivos generar un algoritmo simple de entender e implementar y de fácil integración en algún filtro de partículas existente. Los resultados son tan interesantes, que sus autores sostienen que puede trabajar sin filtro de particulas.

E. D&C-SLAM

Divide and Conquer SLAM se basa en EKF SLAM y la fusión de mapas locales jerárquicos. Presenta una serie de algoritmos que en conjunto logran reducir el costo computacional a O(n) y mejorando la consistencia de los datos, problemas fundamentales de los métodos EKF.

F. 6D-SLAM-ICP

Se trata de un algoritmo propuesto en [40] y [41] que considera el modelo de cuerpo rígido del robot con 6 grados de libertad (x, y, z, pitch, yaw, roll) para generar una representación 3D del entorno. Se basa en el algoritmo [42] iterativo del punto más cercano correspondiente (ICP, Iterative Closest/corresponding Points) en el que para cada punto en el conjunto de datos 3D, se encuentra el punto más cercano en el modelo y se calcula la distancia entre los dos contornos mediante sumatoria de mínimos cuadrados de la distancia entre los puntos, este proceso se repite hasta encontrar el mínimo.

G. Vector Field SLAM [32]

Este enfoque considera la variación espacial de una señal continua observada, la cual es modelada como una función lineal por trozos y se estiman sus parámetros, mientras simultáneamente, se sigue la posición del robot, asumiendo que la depenedencia de las señales sobre la orientación del robot pueden ser totalmente caracterizadas mediante una calibración interna del sensor. El propósito de esta propuesta es desarrollar una solución factible de implementar en sistemas completamente embebidos y de bajo costo. Para aumentar la escala de funcionamiento del algoritmo manteniendo un tiempo constante de actualización se utiliza un filtro extendido de información exactamente esparcido ESEIF[43].

H. Segmented SLAM[33]

Se fundamenta en que el entorno del robot puede ser dividido en piezas pequeñas más manejables (submapas) y mediante la combinación de submapas métricos y un mapa topológico de las relaciones entre estos submapas se desarrolla la solución a SLAM. La representación de los sub mapas es mediante rejillas, se usa un filtro de partículas robusto Rao-Blackwellized y métodos heurísticos para decidir como segmentar el ambiente y para reconstruir los mapas con la finalidad de permitir cerrar lazos de trayectorias.

V. CARACTERIZACIÓN DE LOS ALGORITMOS

De la revisión de los algoritmos se observa que los desafíos actuales es la implementación en grandes áreas sin pérdida de precisión al mínimo tiempo de ejecución, preferiblemente en tiempo real, todo esto con la intención de implantar estos algoritmos en sistemas de navegación lo más autónomo y versátil posible.

Los enfoques para vencer los retos planteados han sido diversos, sin embargo, destacan la subdivisión del mapa en sub mapas locales que se integran con diferentes estrategias para determinar la posición del robot. Otro desarrollo importante ha sido la implementación de filtros de partículas también conocidos como filtros de información los cuales aún cuando son estadísticos, no son paramétricos como el EKF.

La Tabla 2 resume los aspectos relacionados con la propuesta de cada algoritmo para solventar los puntos álgidos relativos al desempeño. De entre estos, vale la pena destacar el CoreSLAM, el cual no usa un filtro e intenta trabajar con un mapa global y al examinar al detalle los fundamentos técnicos se observa que lo más resaltante es que resulta de un artilugio de programación que permite en menos de 200 líneas de programa implementar una solución efectiva.

De la Tabla 2 también, se puede destacar que D&C SLAM y 6D-SLAM-ICP, el primero por rescatar el uso del EKF y el segundo por aportar una solución con reprsentación 3D del entorno no estando basado en métodos probabilísticos. Es oportuno señalar que el D&C obtiene sus resultados mediante la aplicación del EKF en “trozos” pequeños del mapa, los cuales son procesados rápidamente, mejorando notoriamente el costo computacional como se observa en la Tabla 4. Esta propuesta ha sido probada tanto con telémetro láser y odometría como con visión artificial (monocular, estereo) y odometría. Por otro lado, el aspecto más interesante del 6D-SLAM-ICP es la utilización de un algoritmo de optimización desarrollado varios años atrás con otros fines, este es el ICP, el cual permite resolover el problema de la consistencia en SLAM mediante la búsqueda del punto más cercano en el modelo de mapa que se va oteniendo. En cuanto a los aspectos de implementación, la Tabla 3 resume varios detalles. En primer lugar, en cuanto al costo computacional se evidencia que el enfoque clásico que se ha usado desde el EKF-SLAM no se puede aplicar a todos los algoritmos, ya que algunos usan una métrica particular para evaluar desempeño. Debe estudiarse detalladamente cada uno de estos para comprender el modo de evaluación que utilizan, aunque en su mayoría tiene que ver con el tiempo de convergencia, es decir, el tiempo que tarda el algoritmo en actualizar el mapa y posición cuando ocurre un cambio de estado del robot. Más allá de esto, se encuentra que entre aquellos que usan la misma métrica para el costo computacional que el EKF-SLAM, el D&C ofrece los mejores resultados. En este sentido, para conocer estudios de comparación experimental se sugiere [44-46] entre otros.

Page 10: Instrumentacion-Robotica

5TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERÍA ELÉCTRICA (V CIBELEC 2012)

ISBN: 978-980-7185-02-8 I-R-10

TABLA 2 CARACTERÍSTICAS TEÓRICAS

Filtro Mapeado Bases Objetivo

EKF-SLAM

Kalman Extendido

Global Representación del espacio en mapas

estocasticos

Considerar la incertidumbre en la medición

Fast SLAM

2.0

De partículas: Rao-Blackwell

Global Factorización natural de la

conjunta posterior entre las marcas y

poses del robot usando modelos no

gausianos

Reducir el costo

computacional

I-DMJ SLAM

Filtro Iterativo de Unificación de Sub Mapas

Locales Esparcidos

ISLSJF

Sub Mapas Locales

D-SLAM para mapeado y ISLSJF para mejorar las estimaciones de

posición durante el paso de unificación

Aplicar SLAM en grandes

áreas reduciendo el

costo computacional y mejorando la consistencia

CoreSLAM

No específico Global Facilidad para ser embebido manteniendo

buen desempeño

D&C SLAM

Kalman Extendido

Sub Mapas Locales

Dividir en mapas locales de tamaño fijo en forma de árbol binario y

aplicar secuencialmente

EKF

Reducir el costo

computacional del EKF en

grandes áreas

6D-SLAM-ICP

No utiliza métodos

probabilisticos

Global 3D con 6

grados de libertad

Comparar las mediciones

sucesivas realizadas con un láser 3D y el

registro de los conjuntos de puntos

mediante ICP

Aplicar SLAM 3D completo

con una consistencia

mejorada

Vector Field

Filtro Extendido de Información Exactamente

Esparcida ESEIF

Global Usar el modelo de vector de campo de

una señal para determinar las

posiciones y ESEIF para aumentar la escalabilidad con

menor complejidad

Implementar en sistemas

embebidos de bajo costo

Segmented

Rao-Blackwellized

robusto

Sub Mapas Locales

Sub mapas, filtro robusto Rao-

Blackwellized y una segmentación

de mapa topológico global

“A novel combined

SLAM based on RBPF-SLAM and EIF-SLAM for mobile

system sensing in a large

scale environment.,Generar SLAM de tiempo real

para áreas extensas

TABLA 3

CARACTERÍSTICAS OPERATIVAS

Robot Hardware Lenguaje S.O. Costo Computaci

onal

Código abierto

EKF-SLAM

Simulación

N.E. Matlab N.E. O(n2) Sí

Fast SLAM

2.0

Simulación

N.E. Matlab N.E. O(m Log n) Sí

I-DMJ SLAM

Simulación

N.E. Matlab N.E. (1) Sí

CoreSLAM

MinesRover

Qwerk C Linux Depende del filtro

D&C SLAM

Simulación

N.D. N.D. N.D. O(n) Sí

6D-SLAM-ICP

KURT3D

Intel Centrino 1.4MHz

GCC, MS Visual Studio

Linux (1) Sí

Vector Field

Roomba 510

ARM7 N.D. N.D. (1) No

Segmented

CaveCrawler

N.D. N.D. N.D. (1) No

NOTAS: (1) Usa una métrica diferente a la función de costo computacional del resto de algoritmos N.E. = No especificado N.D. = No disponible Otro elemento resaltante es que se han dispuesto dos vías principales para la validación de cada propuesta: simulación y experimentación sobre plataforma robótica. En el primer caso generalmente se hace uso de unos conjuntos de datos (datasets en inglés) sobre la captura de los sensores (telémetro láser y odómetro) en unos entornos particulares (principalmente edificios de las universidades que investigan en el tema). Estas simulaciones generalmente se han hecho mediante el software MATLAB aunque estos paquetes de datos son fácilmente manejables por aplicaciones propias en lenguajes de programación tales como C. En la literatura consultada se encuentra muy poca referencia en cuanto a los sistemas de cómputo y el respectivo sistema operativo, sin embargo, a partir de la información implícita, se puede afirmar que en los robots “grandes” se usan computadores portátiles preferiblemente con linux y en los sistemas embebidos se usa el lenguaje C. El último aspecto que se mencionará es que se encontró que la mayoría de los algoritmos analizados ofrecen el acceso libre al código para su utilización experimental, este hecho pudiera ser decisivo para un futuro investigador, ya que se puede iniciar tomando como punto de partida estos códigos, sin necesidad de empezar de cero. Casi todas las propuestas estudiadas ofrecen su código en [47] el cual está destinado a la difusión de diversas propuestas SLAM. Este sitio además de reunir las publicaciones y código de cada algoritmo, también dispone de conjuntos de datos para simulaciones.

Page 11: Instrumentacion-Robotica

5TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERÍA ELÉCTRICA (V CIBELEC 2012)

ISBN: 978-980-7185-02-8 I-R-11

VI. CONCLUSIONES

El principal reto de los diferentes algoritmos es aplicar SLAM en grandes áreas minimizando el costo computacional y así poder operar en tiempo real. Para resolver esto existen tres enfoques principales referidos al modelado del proceso: probabilístico gausiano, representado por el conjunto de propuestas basadas en el filtro extendido de Kalman; otro enfoque es probabilístico no gausiano que se basan en filtros de partículas y por último, las soluciones no probabilísticas, dentro del que se encuentran las que se basan en métodos de optimización no lineal.

Otro camino alternativo muy estudiado es la división del problema de mapeado en pequeñas partes o mapas locales, solución muy útil para grandes extensiones.

A partir de los algoritmos analizados, se puede afirmar que el filtro de Kalman, el filtro de partículas Rao-Blackwell, el filtro de información y sus respectivas variantes, son las técnicas que en mayor medida han sido estudiadas.

De las pruebas sobre robots reales a que se tuvo acceso en las fuentes consultadas, destaca el hecho de la utilización del sistema operativo Linux en el computador bordo del robot como es el caso del MinesRover y el Kurt3D. Además resulta alentador que una buena cantidad de propuestas ofrecen el código para facilitar su implementación e investigación más detallada.

La fecha de aparición de los algoritmos analizados reflejan que el interés de investigar en este tema está vigente y activo. Además se presentaron los institutos o centros de investigación que lideran esta área, donde destaca el Carnegie Mellon Institute por su contínuo y prolongado trabajo.

REFERENCIAS BIBLIOGRÁFICAS

[1] F. Bonin-font, A. Ortiz, and G. Oliver, “Visual Navigation for Mobile Robots: a Survey,” Journal of Intelligent and Robotic Systems, vol. 53, no. 3, pp. 263 - 296, 2008.

[2] S. Thrun, W. Burgard, and D. Fox, Probabilistic robotics, vol. 45, no. 3. MIT Press, 2005, p. 490.

[3] T. Bailey, “Mobile Robot Localisation and Mapping in Extensive Outdoor Environments,” University of Sydney, 2002.

[4] D. Rodríguez-Losada, “Slam geométrico en tiempo real para robots móviles en interiores basado en EKF,” Universidad Politécnica de Madrid, 2004.

[5] A. Seeni, B. Schäfer, and G. Hirzinger, “Robot Mobility Systems for Planetary Surface Exploration – State-of-the-Art and Future Outlook: A Literature Survey,” Aerospace, no. January, 2010.

[6] J. Forlizzi and C. Disalvo, “Service Robots in the Domestic Environment: A Study of the Roomba Vacuum in the Home,” Design, pp. 258-265, 2006.

[7] Z. Li, Y. Liu, R. Walker, R. Hayward, and J. Zhang, “Towards automatic power line detection for a UAV surveillance system using pulse coupled neural filter and an improved Hough transform,” Machine Vision and Applications, vol. 21, no. 5, pp. 677-686, 2010.

[8] A. Gil, O. M. Mozos, M. Ballesta, and O. Reinoso, “A comparative evaluation of interest point detectors and local descriptors for visual SLAM,” Machine Vision and Applications, vol. 21, no. 6, pp. 905-920, Apr. 2009.

[9] H. Durrant-whyte, “Localization, Mapping and the Localization and Mapping Problem”. Australian Centre for Field Robotics, University of Sydney, 2002.

[10] S. B. Williams. “Efficient Solutions to Autonomous Mapping and Navigation Problems”. Australian Centre for Field Robotics, University of Sydney, September 2001.

[11] H. Durrant-White and T. Bailey, “Simultaneous localization and mapping (slam): part 1” IEEE Robotics and Automation Magazine, vol. 13, no. 3, pp. 99–110, 2006.

[12] T. Bailey and H. Durrant-White, “Simultaneous localization and mapping (slam): part 2”. IEEE Robotics and Automation Magazine, vol. 13, no. 3, pp. 108–117, 2006.

[13] R. Smith, M. Self, and P. Cheeseman. “A stochastic map for uncertain spatial relationships”. In Faugeras O. and Giralt G. (eds), Robotics Research, The Fourth International Symposium, pp. 467–474. The MIT Press, Cambridge, MA, 1988.

[14] J. Knight, A. Davison, and I. Reid. “Towards constant time SLAM using postponement”. In IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 406–412, Maui, Hawaii, 2001.

[15] Guivant, J and Nebot, E. “Optimization of the Simultaneous Localization and Map-Building Algorithm for Real-Ti me Implementation” . IEEE Transactions on Robotics and Automation, vol. 17, no. 3, June 2001. pp 242-257

[16] Y. Liu and S. Thrun, “Results for outdoor-SLAM using sparse extended information filters,” in IEEE International Conference on Robotics and Automation, 2003, pp. 1227-1233.

[17] J. D. Tardós, J. Neira, P. Newman, and J. Leonard. “Robust mapping and localization in indoor environments using sonar data”. International Journal of Robotics Research, 21: 311–330, 2002.

[18] S. B. Williams, G. Dissanayake, and H. F. Durrant-Whyte. “An efficient approach to the simultaneous localisation and mapping problem”. In IEEE International Conference on Robotics and Automation, ICRA, vol. 1, pp. 406–411, Washington DC, 2002.

[19] M. Bosse, P. Newman, J. Leonard, M. Soika, W. Feiten, and S. Teller. “An atlas framework for scalable mapping”. In IEEE International Conference on Robotics and Automation, pp. 1899–1906, Taipei, Taiwan, 2003.

[20] T. Bailey. “Mobile Robot Localisation and Mapping in Extensive Outdoor Environments” , Australian Centre for Field Robotics, University of Sydney, August 2002.

[21] M. Montemerlo, S. Thrun, D. Koller, and B. Wegbreit. “FastSLAM: a factored solution to the simultaneous localization and mapping problem”. In Proceedings of the AAAI National Conference on Artificial Intelligence, Edmonton, Canada, 2002, AAAI.

[22] M. Montemerlo, S. Thrun, D. Koller, and B. Wegbreit. “FastSLAM 2.0: An improved particle filtering algorithm for s imultaneous localization and mapping that provably converges”. In Proceedings of the Sixteenth International Joint Conference on Artificial Intelligence (IJCAI), Acapulco, Mexico, 2003. IJCAI.

[23] Z. Wang, S. Huang and G. Dissanayake, “D-SLAM: A decoupled solution to simultaneous localization and mapping”, International Journal of Robotics Research, vol. 26, no. 2, February 2007, pp. 187-204.

[24] S. Huang, Z. Wang, G. Dissanayake, and U. Frese, “Iterated SLSJF: A sparse local submap joining algorithm with improved consistency”, 2008 Australia Conference on Robotics and Automation.

[25] S. Huang, Z. Wang, G. Dissanayake, and U. Frese, “Iterated D-SLAM Map Joining. Evaluating its performance in terms of consistency, accuracy and e�ciency”, International Conference on Robotics and Automation. 2009.

[26] Steux, B and El Hamzaoui, O. “CoreSLAM : a SLAM Algorithm in less than 200 lines of C code”. International Conference on Control, Automation, Robotics and Vision (ICARCV), 2010

[27] S. Julier, J. Uhlmann, and H. F. Durrant-Whyte, “A new method for the nonlinear transformation of means and covariances in filters and estimators”, IEEE Transactions on Automatic Control, vol. 45, no. 3, pp. 477–482, Mar. 2000.

[28] H. Jacky Chang, C. S. George Lee*, Yung-Hsiang Lu and Y. Charlie Hu. “Simultaneous Localization and Mapping with Environmental Structure Prediction”. (Consulta en Julio 2011). Disponible en: https://engineering.purdue.edu/ResearchGroups/DEAR

[29] A. Eliazar and R. Parr, “DP-SLAM: Fast, robust simulataneous localization and mapping without predetermined landmarks”, in

Page 12: Instrumentacion-Robotica

5TO CONGRESO IBEROAMERICANO DE ESTUDIANTES DE INGENIERÍA ELÉCTRICA (V CIBELEC 2012)

ISBN: 978-980-7185-02-8 I-R-12

Proc. of the 18th Int’l Joint Conf. on Artificial Intelligence (IJCAI-03). 2003.

[30] Lina M. Paz, Patric Jensfelt, J. D. Tard´s & J. Neira. “EKF SLAM updates in O(n) with Divide and Conquer SLAM”. In Proc. IEEE Int. Conf. Robotics and Automation, Rome, Italy, April 2007.

[31] Nütcher, A. 3D Robotic Mapping. “The Simultaneous Localization and Mapping Problem with Six Degrees of Freedom”. Springer-Verlag Berlin Heidelberg. 2009.

[32] J.-S. Gutmann, G. Brisson, E. Eade, P. Fong, and M. Munich. “Vector Field SLAM” . In Int. Conference on Robotics and Automation (ICRA), Anchorage, 2010 pp 236-242.

[33] N. Fairfield, D. Wettergreen, and G. Kantor, "Segmented SLAM in three-dimensional environments", presented at J. Field Robotics, 2010, pp.85-103.

[34] A. Arcos, “Sistema de navegación y modelado del entorno para un robot móvil”, Proyecto Fin de Carrera, Universidad Politécnica de Madrid, 2009.

[35] S.J. Julier and J.K. Uhlmann. “A counter example to the theory of simultaneous localization and map building”. In Proc. IEEE Int. Conf. Robotics and Automation, pages 4238–4243, 2001.

[36] T. Bailey, J. Nieto y E. M. Nebot. “Consistency of the FastSLAM Algorithm” . IEEE Int. Conference Robotics and Automation 2006: 424-429.

[37] W.-S. Choi and S.-Y. Oh, “Robust EKF-SLAM method against disturbance using the Shifted Mean based Covariance Inflation Technique” in 2011 IEEE International Conference on Robotics and Automation, 2011, pp. 4054-4059.

[38] B.-W. Kuo, H.-H. Chang, Y.-C. Chen, and S.-Y. Huang, “A Light-and-Fast SLAM Algorithm for Robots in Indoor Environmen ts Using Line Segment Map” Journal of Robotics, vol. 2011, pp. 1-12, 2011.

[39] B. He, S. Zhang, T. Yan, T. Zhang, Y. Liang, and H. Zhang, “A novel combined SLAM based on RBPF-SLAM and EIF-SLAM for mobile system sensing in a large scale environment.,” Sensors (Basel, Switzerland), vol. 11, no. 11, pp. 10197-219, Jan. 2011.

[40] A. Nüchter, H. Surmann, K. Lingemann, J. Hertzberg, and S. Thrun. “6D SLAM with an Application in autonomous mine mapping”. In Proceedings of the IEEE International Conference on Robotics and Automation, pages 1998 - 2003, New Orleans, USA, April 2004.

[41] H. Surmann, K. Lingemann, A. Nüchter, and J. Hertzberg. “A 3D laser range finder for autonomous mobile robots”. In Proceedings of the of the 32nd International Symposium on Robotics (ISR '01), pages 153 - 158, Seoul, Korea, April 2001.

[42] P. Besl and N. McKay. “A Method for Registration of 3-D Shapes”. IEEE Transactions on Pattern Analysis and Machine Intelligence, 14(2), pp 239-256, Feb. 1992.

[43] J.-S. Gutmann, et al. “A Constant-Time Algorithm for Vector Field SLAM using an Exactly Sparse Extended Information Filter” . Proceedings of Robotics: Science and Systems. 2010. Zaragoza, Spain.

[44] Arnoud Visser, David de Bos, and Hessel van der Molen. “An Experimental Comparison of Mapping Methods, the Gutmann dataset”. In Proc. of the RoboCup IranOpen 2011 Symposium (RIOS11), April 2011.

[45] R. Ouellette y K. Hirasawa. “A Comparison of SLAM Implementations for Indoor Mobile Robots”. Proceedings of the 2007 IEEE/RSJ International Conference on Intelligent Robots and Systems San Diego, CA, USA, Oct 29 - Nov 2, 2007

[46] W. Burgard et al. “A Comparison of SLAM Algorithms Based on a Graph of Relations”. nternational Conference on Intelligent Robots and Systems. 2009

[47] C. Stachniss, U. Frese, and G. Grisetti, “OpenSLAM,” 2012. [Online]. Available: http://www.openslam.org/. [Accessed: 08-Apr-2012].