44
NAVEGACIÓN PLANIFICADA DE UN ROBOT MÓVIL JULIE STEPHANY BERRIO PEREZ UNIVERSIDAD AUTÓNOMA DE OCCIDENTE FACULTAD DE INGENIERÍA DEPARTAMENTO DE AUTOMÁTICA Y ELECTRÓNICA PROGRAMA INGENIERÍA MECATRÓNICA SANTIAGO DE CALI 2008

NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

NAVEGACIÓN PLANIFICADA DE UN ROBOT MÓVIL

JULIE STEPHANY BERRIO PEREZ

UNIVERSIDAD AUTÓNOMA DE OCCIDENTE FACULTAD DE INGENIERÍA

DEPARTAMENTO DE AUTOMÁTICA Y ELECTRÓNICA PROGRAMA INGENIERÍA MECATRÓNICA

SANTIAGO DE CALI 2008

Page 2: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

NAVEGACIÓN PLANIFICADA DE UN ROBOT MÓVIL

JULIE STEPHANY BERRIO PEREZ

Trabajo de grado para optar al título de Ingeniero Mecatrónico

Director M.Sc DAVID FERNANDO RAMIREZ MORENO

Físico

UNIVERSIDAD AUTÓNOMA DE OCCIDENTE FACULTAD DE INGENIERÍA

DEPARTAMENTO DE AUTOMÁTICA Y ELECTRÓNICA PROGRAMA INGENIERÍA MECATRÓNICA

SANTIAGO DE CALI 2008

Page 3: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

Nota de aceptación:

Aprobado por el Comité de Grado en cumplimiento de los requisitos exigidos por la Universidad Autónoma de Occidente para optar al título de Ingeniero Mecatrónico.

JESÚS ALFONSO LÓPEZ SOTELO Jurado DIEGO FERNANDO ALMARIO Jurado Santiago de Cali, 07 de Noviembre de 2008

Page 4: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

CONTENIDO

Pág.

RESUMEN. 9 INTRODUCCIÓN. 10 1. OBJETIVOS. 11 1.1. OBJETIVO GENERALE. 11 1.2. OBJETIVOS ESPECÍFICOS. 11 2. PLANEACIÓN DEL PROYECTO. 12 2.1. PLANTEAMIENTO DEL PROBLEMA. 12 2.2. MARCO TEÓRICO. 12 2.2.1. Conceptualización. 13 2.2.2. Formalización del problema. 14 2.2.3. Métodos clásicos de planificación. 15 2.2.4. Métodos modernos de planificación. 17 2.2.5. Sensores. 18 3. ALGORITMO DE PLANIFICACIÓN DE RUTA. 20 3.1. SISTEMAS DE REFERENCIA. 20 3.2. ENTRADAS Y SALIDAS DE LA RED NEURONAL. 21 3.3. ESTRUCTURA DE LA RED NEURONAL. 23 3.4. PATRONES DE ENTRENAMIENTO. 26

Page 5: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

3.5. ENTRENAMIENTO DE LA RED NEURONAL. 27 4. SIMULACION ELECTRONICA. 29 4.1. HARDWARE SIMULADO. 29 4.2. PROGRAMACIÓN DEL MICROCONTROLADOR. 29 5. RESULTADOS Y CONCLUSIONES. 32 BIBLIOGRAFÍA. 34 ANEXOS. 35

Page 6: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

LISTA DE FIGURAS

Pág. Figura 1. Sistema de referencia. 14 Figura 2. Angulo de detección. 18 Figura 3. Sistema de coordenadas. 21 Figura 4. Direcciones posibles del robot. 21 Figura 5. Distribución de sensores ultrasónicos. 22 Figura 6. Angulo de disposición a la meta. 22 Figura 7. Movimientos posibles del móvil. 23 Figura 8. Ambiente crítico para selección de número de neuronas. 23 Figura 9. Ambiente crítico para selección de número de neuronas. 24 Figura 10. Ambiente crítico para selección de número de neuronas. 24 Figura 11. Ambiente crítico para selección de número de neuronas. 25 Figura 12. Estructura de la red neuronal (MLP). 25 Figura 13. Diagrama de flujo de construcción de trayectorias de 26 entrenamiento. Figura 14. Esquema electrónico. 30 Figura 15. Diagrama de flujo de la simulación. 31 Figura 16. Trayectoria de entrenamiento 1. 36

Page 7: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

Figura 17. Trayectoria de entrenamiento 2. 36 Figura 18. Trayectoria de entrenamiento 3. 37 Figura 19. Trayectoria de entrenamiento 4. 37 Figura 20. Trayectoria de entrenamiento 5. 38 Figura 21. Trayectoria de entrenamiento 6. 38 Figura 22. Trayectoria de entrenamiento 7. 39 Figura 23. Trayectoria de entrenamiento 8. 39 Figura 24. Trayectoria resultante 1. 40 Figura 25. Trayectoria resultante 2. 40 Figura 26. Trayectoria resultante 3. 41 Figura 27. Trayectoria resultante 4. 41 Figura 28. Trayectoria resultante 5. 42 Figura 29. Trayectoria resultante 6. 42 Figura 30. Trayectoria resultante 7. 43 Figura 31. Trayectoria resultante 8. 43 Figura 32. Trayectoria resultante 9. 44 Figura 33. Trayectoria resultante 10. 44

Page 8: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

LISTA DE ANEXOS Pág. Anexo A. Imágenes de entrenamiento. 36 Anexo B. Imágenes resultantes 40

Page 9: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

RESUMEN

En el presente trabajo se desarrolló un sistema de navegación orientado a guiar un robot móvil desde el punto de partida hasta un punto meta que es conocido con anterioridad en coordenadas locales del robot, esto se realizó utilizando una red neuronal artificial encargada de la planificación de los movimientos del robot, los cuales están clasificados en tres diferentes ordenes de locomoción, esta decisión se toma teniendo en cuenta valores de sensores que posee el robot, tales como sensores detectores de obstáculos y una brújula que brinda información de la dirección del robot. Además se realizó la simulación electrónica, haciendo uso del microcontrolador PIC para la programación del sistema, todo esto con el fin de realizar una futura implementación en un robot móvil, y comprobar la fidelidad del algoritmo diseñado.

Page 10: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

10

INTRODUCCIÓN

El planeamiento del movimiento de robots móviles es una de las tareas de mayor relevancia en la robótica. Este se divide en dos partes fundamentales y que guardan mutua dependencia: el planeamiento de camino y el planeamiento de trayectoria. En el planeamiento de camino se genera un camino óptimo que le permita llegar a su destino, sin perderse o chocar con cualquier obstáculo que se encuentre en su curso. El planeamiento de trayectoria por su parte se encarga de proyectar los movimientos del robot a lo largo del camino planeado de forma tal que no se afecte la maniobrabilidad de éste, es decir no se sobrepasen las restricciones en cuanto a velocidades, aceleraciones y radios de giro del robot específico sobre el cual se esté trabajando. Una característica común de todos ellos es la utilización de un controlador que, en tiempo real, permita que el sistema siga la trayectoria previamente obtenida. Dependiendo del tipo de controlador será necesario planificar caminos o trayectorias. En el presente documento las redes neuronales son utilizadas para la planificación del camino y la trayectoria del robot móvil, con la realización de un control neuronal, se garantiza la robustez del sistema, lo que implica la capacidad de generalización y la toma eficiente de decisiones. El trabajo consta de 4 capítulos donde encontramos: los objetivos planteados para la realización del proyecto de grado, la planeación del proyecto donde se plantea el problema y se muestra teoría producto de la investigación acerca de sistemas de navegación y métodos de planificación de ruta clásicos y modernos utilizados, finalizando el capitulo se hace referencia a la importancia y clases de sensores utilizados en sistemas de navegación en la actualidad. El tercer capítulo enseña el algoritmo de planificación de ruta utilizado para la navegación del robot móvil, se hace énfasis en los sistemas de referencia y la red neuronal (estructura, patrones de entrenamiento y entrenamiento). Seguidamente se muestra la implementación electrónica del sistema de navegación facilitando una futura realización del algoritmo de navegación en un robot móvil. Por último los resultados y conclusiones del trabajo y las simulaciones son mostrados en graficas y discutidos para evaluar las soluciones entregadas por la red neuronal.

Page 11: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

11

1. OBJETIVOS 1.1. OBJETIVO GENERAL • Diseñar y simular un sistema de navegación basado en inteligencia artificial para el arribo de un robot móvil a una meta establecida. 1.2. OBJETIVOS ESPECIFICOS • Estudiar y analizar los métodos más utilizados en el diseño de sistemas de navegación terrestre. • Diseñar un sistema de navegación con base a redes neuronales artificiales. • Simular y probar el sistema de navegación. • Elaborar un artículo en formato IFAC sobre la navegación planificada de un robot móvil.

Page 12: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

12

2. PLANEACIÓN DEL PROYECTO 2.1 PLANTEAMIENTO DEL PROBLEMA La planificación de caminos y trayectorias es de gran importancia en la robótica móvil, ya que implica el procesamiento del entorno para la toma de decisiones, de las cuales depende el movimiento físico de los actuadores del robot y por lo tanto de su posición en el medio, todo esto con el fin de arribar a una meta establecida. La dificultad del procesamiento y complejidad de algoritmos óptimos para la navegación ha sido objeto de muchos estudios a nivel de pregrado y postgrado, para el presente caso se simulara un sistema de navegación basado en inteligencia artificial. El diseño y desarrollo de vehículos autónomos y sistemas de navegación se ha intensificado debido a su aplicación tanto en exteriores como interiores en tareas de inspección, vigilancia, transporte, entre otros. El presente sistema de navegación, debido que requiere coordenadas locales de la(s) meta(s) puede ser utilizado en transporte de objetos o sustancias de un lugar a otro, tal como lo hacen los robots transportadores de medicamentos en un hospital los cuales deben evadir obstáculos no programados (en su mayoría personas) y arribar a una meta previamente establecida como lo sería una habitación, la vigilancia en diferentes ambientes es otra aplicación a nombrar, para esta tarea se puede programar diferentes puntos o sub-metas a alcanzar por el robot, con el fin de obtener imágenes a través de la trayectoria que el robot trace para lograr cada una de las sub-metas. 2.2 MARCO TEORICO Se define navegación como la técnica que permite guiar el curso de un robot móvil a través de un entorno con obstáculos. Existen diversos esquemas de navegación, pero todos ellos tienen el fin común de controlar el robot para que navegue por el entorno, evitando obstáculos y alcanzando una meta. Las tareas implicadas en la navegación de un robot móvil son: la percepción del entorno a través de sus sensores, de forma tal que le permita crear una abstracción del medio; la planificación de una trayectoria libre de obstáculos, para alcanzar el punto destino seleccionado; y el guiado del vehículo a través de la referencia construida.

Page 13: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

13

2.2.1 Conceptualización. Realizar una tarea de navegación para un robot móvil representa recorrer un camino que lo conduzca desde una posición inicial hasta otra final, pasando por ciertas posiciones intermedias o submetas. El problema de la navegación se divide en las siguientes cuatro etapas: • Percepción del mundo: Mediante el uso de sensores externos, creación de un mapa o modelo del entorno donde se desarrollará la tarea de navegación. • Planificación de la ruta: Crea una secuencia ordenada de objetivos o submetas que deben ser alcanzadas por el vehículo. • Generación del camino: En primer lugar define una función continua que interpola la secuencia de objetivos construida por el planificador. Posteriormente procede a la discretización de la misma a fin de generar el camino. • Seguimiento del camino: Efectúa el desplazamiento del vehículo, según el camino generado mediante el adecuado control de los actuadores del vehículo. Estas tareas pueden llevarse a cabo de forma separada, aunque en el orden especificado. La tarea de planificación depende del conocimiento que el robot posea del entorno a priori, es así como se divide la tarea dependiendo de la información que posea del medio: • Planificación global: Construir o planificar la ruta que lleve al robot a cada una de las submetas determinadas por el control de misión, según las especificaciones del problema que debe resolverse. Esta planificación es una aproximación al camino final que se va a seguir, ya que en la realización de esta acción no se consideran los detalles del entorno local al vehículo. • Planificación local: Resolver las obstrucciones sobre la ruta global en el entorno local al robot para determinar la ruta real que será seguida. El modelo del entorno local se construye mediante la fusión de la información proporcionada por los sensores externos del robot móvil. La construcción de la ruta global puede realizarse antes de que el vehículo comience a ejecutar la tarea, mientras que la planificación local se lleva a cabo en tiempo de ejecución. En el caso de realizar una navegación sobre entornos totalmente conocidos es obvio que resulta innecesario proceder a una planificación local, pero a medida que disminuye el conocimiento de la zona por la cual el robot móvil realiza su tarea, aumenta la relevancia de la misma. En la navegación que está confiada totalmente al planificador local, el camino que debe seguir el robot se construye de forma dinámica a medida que se navega, por

Page 14: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

14

lo que se recurre a un uso más intenso del sistema sensorial y se responsabiliza de la coordinación de la percepción, planificación y control del vehículo para guiarlo por el camino especificado, mientras verifica el entorno, y realizar el sorteo de obstáculos. 2.2.2. Formalización del problema. El entorno de trabajo en el cual un robot móvil realizará su tarea, puede considerarse como un conjunto de configuraciones en las cuales puede encontrarse el robot en un determinado instante. Entre ellas existirá un subconjunto inalcanzable, al estar ocupado por los obstáculos del entorno. Se define una configuración q de un robot como un vector cuyas componentes proporcionan información completa sobre el estado actual del mismo. Un robot es un objeto rígido al cual se le puede asociar un sistema de coordenadas móvil. La localización del vehículo en un determinado instante de tiempo queda definido por la relación existente entre el sistema de coordenadas global Fg en virtud del cual está definido todo el entorno de trabajo y su sistema de coordenadas locales asociado Fr. Figura 1. Sistema de referencia

Fuente: MUÑOZ, Fernando. Planificación de trayectorias para robots móviles. [en línea]. Málaga, España: Universidad de Málaga, 2008. [Consultado 26 de Agosto de 2008]. Disponible en Internet: http://webpersonal.uma.es/~VFMM/tesis.html

El vector que proporciona información sobre el estado actual del robot viene dado, en principio, por dos componentes: la posición p y la orientación q. Por tanto, se puede definir configuración como:

(1)

),,(),( θθ yxpq ==

Page 15: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

15

Se denomina espacio de configuraciones C del robot R a todas las configuraciones q que puede tomar el robot en su entorno de trabajo. El subconjunto de C ocupado por el robot R cuando este se encuentra en q, se denota por R(q). Si el robot se modela de forma circular con radio , R(q) se define como:

(2)

En el caso de un robot puntual, donde r es nulo, se cumple:

(3)

En el espacio de trabajo, donde el robot realizará su tarea, se encuentran distribuidos una serie de obstáculos definidos como un conjunto de objetos rígidos B y que se encuentran distribuidos por el espacio de configuraciones C.

(4)

El conjunto de configuraciones del espacio C ocupadas por un obstáculo se define por bi(q), de tal forma que el subconjunto de configuraciones de C, que especifican el espacio libre de obstáculos viene dado por:

(5)

Según esta metodología, el problema de la planificación, tal y como se ha definido, queda transformado en la búsqueda de una sucesión de posturas q tal que la primera de ellas sea la postura actual del robot qa y la última de esta sucesión la postura objetivo qf. Todas las posturas de la serie deben pertenecer al subconjunto Cl definido en la expresión (2.5). Es decir, una ruta Qr que conecta la postura inicial qa con la final qf es:

(6)

2.2.3. Métodos clásicos de planificación. Todos los métodos clásicos se fundamentan en una primera fase de construcción de algún tipo de grafo sobre el espacio libre, según la información poseída del entorno, para posteriormente emplear un algoritmo de búsqueda en grafos que encuentra el camino óptimo según cierta función de coste.

ρ

{ }ρ≤∈= ii qqCqqR ,/)(

{ }qqR =)(

{ }qbbbB ,...,, 21=

∅=

∩∈=

=

)()(/1

qbqRCqC i

q

i

l U

{ }lifar CqqqQ ∈= /,...,

Page 16: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

16

• Planificación basada en grafos de visibilidad. Los grafos de visibilidad proporcionan un enfoque geométrico útil para resolver el problema de la planificación. Supone un entorno bidimensional en el cual los obstáculos están modelados mediante polígonos. Para la generación del grafo este método introduce el concepto de visibilidad, según el cual define dos puntos del entorno como visibles si y solo si se pueden unir mediante un segmento rectilíneo que no intercepte ningún obstáculo (si dicho segmento resulta tangencial a algún obstáculo se consideran los puntos afectados como visibles). En otras palabras, el segmento definido debe yacer en el espacio libre del entorno Cl. Así, si se considera como nodos del grafo de visibilidad la posición inicial, la final y todos los vértices de los obstáculos del entorno, el grafo resulta de la unión mediante arcos de todos aquellos nodos que sean visibles. • Planificación basada en diagramas de Voronoi. Al contrario que los métodos basados en grafos de visibilidad, la planificación basada en diagramas de Voronoi sitúa la ruta lo más alejada posible de los obstáculos. Con ello elimina el problema presentado por los grafos de visibilidad de construir rutas semilibres de obstáculos.

Los diagramas de Voronoi se definen como una proyección del espacio libre del entorno en una red de curvas unidimensionales yacientes en dicho espacio libre. Formalmente se definen como una retracción con preservación de la continuidad. Si el conjunto Cl define las posiciones libres de obstáculos de un entorno, la función retracción RT construye un subconjunto Cv continuo de Cl.

(7) De esta forma, se dice que existe un camino desde una configuración inicial qa

hasta otra final qf, supuestas ambas libres de obstáculos, si y solo si existe una curva continua desde RT(qa) hasta RT(qf). • Planificación basada en modelado del espacio libre. Se aplica a arquetipos de entornos con obstáculos poligonales, y la planificación en este caso se realiza mediante el modelado del espacio libre. Esta acción se lleva a cabo por los denominados cilindros rectilíneos generalizados (CRG). Al igual que los diagramas de Voronoi, con el uso de los CRG se pretende que el vehículo navegue lo más alejado de los obstáculos. De forma que la ruta que lleve al robot desde una configuración inicial hasta otra final estará compuesta por una serie de CRG interconectados, de tal modo que la configuración de partida se encuentre en el primer cilindro de la sucesión y la final en el último.

lvvl CCCCqRT ⊂→ /:)(

Page 17: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

17

• Planificación basada en la descomposición en celdas. Este tipo de métodos se fundamenta en una descomposición en celdas del espacio libre. Así, la búsqueda de una ruta desde una postura inicial qa hasta otra final qf, consiste en encontrar una sucesión de celdas que no presente discontinuidades, tal que la primera de ellas contenga a qa y la última a qf. Al contrario que los métodos expuestos a lo largo de este apartado, no encuentra una serie de segmentos que modele la ruta, sino una sucesión de celdas; por ello, se hace necesario un segundo paso de construcción de un grafo de conectividad, encargado de definir la ruta. • Planificación basada en campos potenciales. Los métodos basados en campos potenciales poseen una concepción totalmente distinta a los expuestos más arriba al estar basados en técnicas reactivas de navegación. El ámbito de uso de esta técnica se centra en la planificación local en entornos desconocidos, como puede ser el sorteo en tiempo real de obstáculos o de los que no se tiene constancia. La teoría de campos potenciales considera al robot como una partícula bajo la influencia de un campo potencial artificial, cuyas variaciones modelan el espacio libre. La función potencial U en un punto p del espacio euclídeo, se define sobre el espacio libre y consiste en la composición de un potencial atractivo Ua(p), que atrae al robot hacia la posición destino, y otro repulsivo Ur(p) que lo hace alejarse de los obstáculos. 2.2.4. Métodos modernos de planificación. • Planificación basada en lógica difusa . La lógica difusa es una herramienta muy apropiada para el control de robots móviles basado en comportamientos. Gracias a sus capacidades de razonamiento aproximado se consiguen controles que son robustos a la incertidumbre, como puede ser los ruidos o las perturbaciones en las medidas de los sensores. Además, los comportamientos difusos pueden ser sintetizados en un conjunto de reglas de tipo if-then, de forma que el conocimiento experto queda reflejado en términos lingüísticos fáciles de entender. Otro aspecto a tener en cuenta a la hora de diseñar un control es cómo elegir en cada momento el comportamiento adecuado a los objetivos a alcanzar por el robot. Se han propuesto múltiples soluciones a este problema, pero básicamente se pueden distinguir dos tipos de coordinación: elegir un solo comportamiento cada vez (arbitraje) o mezclar las acciones a llevar a cabo de dos comportamientos complementarios (fusión).

Page 18: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

18

• Planificación basada en redes neuronales. Entre varios enfoques para resolver el problema de la navegación se encuentran las redes neuronales, estas son un paradigma de aprendizaje y procesamiento automático inspirado en la forma en que funciona el sistema nervioso de los animales. Se trata de un sistema de interconexión de neuronas en una red que colabora para producir un estímulo de salida. Las redes neuronales cuentan con procesamiento en paralelo, poseen el conocimiento distribuido a lo largo de todas sus neuronas lo que lo hace un sistema robusto. Entre las ventajas que poseen las redes neuronales se encuentran: capacidad de aprendizaje, tolerancia a fallos y generalización, estas características hacen de las redes neuronales una alternativa para resolver los problemas que se plantean en la navegación de un robot móvil en un ambiente desconocido. 2.2.5. Sensores. Entre los problemas que se presentan en la navegación autónoma esta el reconocimiento del ambiente o del mundo en el que se va a desempeñar el robot, la detección de obstáculos tanto en mundos estáticos como dinámicos y la determinación de la posición del robot tanto relativa como absoluta. Para resolver estos problemas el robot debe estar equipado con una serie de sensores, por medio de ellos el robot obtiene información del mundo externo e información interna, esta será utilizada por el sistema de control y por el algoritmo de navegación para definir la ruta a seguir. Entre los sensores más usados tenemos: sensores ópticos (fotorresistencias, infrarrojos), ultrasonido, visión artificial, encoders, sensores magnéticos, acelerómetros y giróscopos. Para el presente proyecto se simularon sensores de ultrasonido para la detección de obstáculos, dicho sensor posee un ángulo de detección de 36º, por lo tanto se ubicaron 5 sensores en la parte delantera del robot para cubrir un total de 180º. Figura 2. Angulo de detección

Fuente: MaxSonar EZ1 FAQ [en línea]. Brainerd, USA: MaxBotix inc., 2008. [Consultado 26 de Agosto de 2008]. Disponible en Internet: http://www.maxbotix.com/MaxSonar-EZ1__FAQ.html

Page 19: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

19

Para la localización del móvil se creó un algoritmo que permite conocer la posición y orientación del robot haciendo uso de un encoder incremental y un compás electrónico.

Page 20: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

20

3. ALGORITMO DE PLANIFICACION DE RUTA Una red neuronal es un modelo computacional con un conjunto de propiedades específicas, como son la habilidad de adaptarse o aprender, generalizar u organizar la información, todo ello basado en un procesamiento eminentemente paralelo. En el presente trabajo se pretende aprovechar la capacidad de generalización que poseen las redes neuronales para solucionar los problemas que se plantean en la navegación de un robot móvil en un ambiente dinámico. 3.1 SISTEMAS DE REFERENCIA El ambiente de entrenamiento donde navega el robot es un objeto bidimensional, un cuadrado de 10 metros de lado, los cuales se representan en una imagen de 300 x 300 pixeles, de tal forma que cada pixel corresponde a 3 cm. La imagen es un matriz (Im), donde cada elemento (Imij) representa un estado del espacio de trabajo, Si Imij=1 el pixel se encuentra libre de obstáculos y se tornara de color blanco, en caso contrario el pixel representara un espacio ocupado por un obstáculo al cual se le asigno el color negro. En el ambiente de entrenamiento se ubicaron algunos obstáculos de tal forma que se presenten la mayoría de casos en los que se encontrara el robot móvil, asegurando de esta forma una gran cantidad de patrones de entrenamiento que permitirán el correcto aprendizaje de la red neuronal. Para el control del robot se seleccionaron algunas variables relacionadas con el ambiente de entrenamiento, las que corresponden a: • Angulo del robot. • Coordenadas del robot. • Coordenadas de la meta.

Las coordenadas se formulan en pixeles, teniendo como origen la esquina superior izquierda de la imagen, tal y como se muestra en la figura 3.

Page 21: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

21

Figura 3. Sistema de coordenadas

El ángulo del robot fue discretizado con el fin de obtener ocho direcciones posibles reduciendo de esta manera ambigüedades en el ángulo de posición, estos ocho valores se observan en la figura 4. Figura 4. Direcciones posibles del robot.

3.2 ENTRADAS Y SALIDAS DE LA RED NEURONAL La red neuronal consta de 6 entradas donde 5 de ellas son las lecturas de obstáculos de los sensores ultrasónicos que se encuentran situados en la parte delantera del robot (a, b, c, d y e). Inicialmente se plateó el uso de las distancias entre el sensor y el obstáculo que se detectara con el mismo, mas esto resulto en

Page 22: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

22

una red neuronal que requería de gran cantidad de neuronas en la capa oculta, además de requerir capacidad computacional suficiente para el entrenamiento de alrededor de 300 a 400 neuronas, sin embargo los resultados no fueron satisfactorios debido a las ambigüedades de las entradas por tal motivo fue necesario discretizar la lectura, así, un valor equivalente a 1 representa obstáculo en el cono del sensor, mientras que 0 simboliza espacio libre de obstáculos. En la figura 5 se representan los conos de detección de los sensores ultrasónicos como pixeles de una imagen, esto se realiza con el fin de facilitar la adquisición de los patrones de entrenamiento. Figura 5. Distribución de sensores ultrasónicos

La sexta entrada de la red neuronal corresponde al ángulo existente entre la delantera del robot y la meta (ver figura 6), para facilitar el aprendizaje de la red, se codifico este ángulo de la siguiente manera: • Angulo mayor a 0.19 radianes: α=1. • Angulo entre - 0.19 y 0.19 radianes: α=0. • Angulo menor a -0.19 radianes: α=-1. Figura 6. Angulo de disposición a la meta

Page 23: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

23

La red posee 3 salidas, cada una de las neuronas de salida corresponde a un movimiento establecido (avance frontal, rotación 45 º y -45º) mutuamente excluyentes. Figura 7. Movimientos posibles del móvil

3.3 ESTRUCTURA DE LA RED NEURONAL La red neuronal encargada de las decisiones de movimiento es una MLP (multi-layer perceptron), la elección de esta estructura de red neuronal se debe a su validez para resolver problemas de clasificación como el que nos compete. Para la selección de la cantidad de neuronas en la capa oculta, se creó un ambiente crítico en el cual el robot se viera obligado a realizar movimientos complejos, los cuales son en su mayoría reactivos y algunos influenciados por la ubicación de la meta (ver Figura 8). Figura 8. Ambiente crítico para selección de número de neuronas.

Meta

Inicio

Page 24: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

24

Para un número de tres neuronas en la capa oculta se obtuvo un resultado poco satisfactorio, donde la evasión de obstáculos era poco eficiente, lo que indica que este número no es suficiente para lograr un aprendizaje de los comportamientos deseados (Ver Figura 9). Figura 9. Ambiente crítico para selección de número de neuronas.

Se realizó la prueba con cuatro neuronas en la capa oculta, la trayectoria trazada a pesar de presentar evasión de obstáculos esta no se presenta de forma óptima (Ver Figura 10). Figura 10. Ambiente crítico para selección de número de neuronas.

El número de cinco neuronas en la capa oculta, presentó un desempeño apropiado, la evasión de obstáculos y la consecución de la meta fue realizada a través de movimientos reactivos y planificados correspondientes al ambiente en que se encuentra el móvil.

Page 25: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

25

Figura 11. Ambiente crítico para selección de número de neuronas.

La figura 12 muestra la estructura de la red usada, la cual está conformada por: seis neuronas de entrada, tres de salida y cinco en la capa oculta. La capa oculta presenta funciones de activación tangente sigmoidea, mientras que la capa de salida posee una función de activación sigmoidea, este tipo de función hace que los valores de la salida de la red tomen valores positivos incluidos en el intervalo [0 1]. Finalmente una unidad competitiva WTA (winner take all) es incluida en la salida de la red, teniendo como función activar solo la salida de mayor valor asignándole un valor de 1 y 0 a las neuronas de salida inferior, asegurando de esta forma una salida adecuada, debido a que estas presentan un organización mutuamente excluyente. Figura 12. Estructura de la red neuronal (MLP)

3.4 PATRONES DE ENTRENAMIENTO Para lograr el entrenamiento de la red neuronal es indispensable contar con suficiente información (patrones de entrenamiento), que le sirvan como ejemplos

Page 26: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

26

en el aprendizaje de la tarea, y poder de esta manera tener un buen desempeño a la hora de la implementación o simulación. Los patrones de entrenamiento en el presente trabajo constan de imágenes donde se muestran ejemplos de trayectorias, para la generación de los caminos de entrenamiento se tuvo presente las lecturas de los sensores, posición y ángulo de orientación a la meta, ósea, la única información que posee el móvil al momento de la navegación, para la realización de esta tarea, se siguieron los pasos registrados en el diagrama de flujo mostrado en la figura 13. Figura 13. Diagrama de flujo de construcción de trayectorias de entrenamiento.

Page 27: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

27

Las coordenadas de partida (inicio) y meta, fueron seleccionadas aleatoriamente, con el ánimo de obtener distintas situaciones para cada trayectoria de entrenamiento. Para la deducción de la meta se tuvieron en cuenta comportamientos reactivos y planificados, por ejemplo, si un obstáculo es detectado por sensores ubicados en la parte izquierda del robot, el movimiento de este debe corresponder a un giro de 45º evadiendo de esta manera el obstáculo presente a su izquierda. Las trayectorias fueron plasmadas en un entorno de entrenamiento donde se planteo el mayor número de situaciones posibles en las que podría hallarse el robot al navegar en un ambiente con obstáculos. Las imágenes tomadas en cuenta como patrones de entrenamiento se encuentran en los anexos del presente documento. 3.5 ENTRENAMIENTO DE LA RED NEURONAL Una característica de las redes neuronales es su capacidad de aprender. Aprenden por la actualización o cambio de los pesos sinápticos que caracterizan a las conexiones. Los pesos son adaptados de acuerdo a la información extraída de los patrones de entrenamiento nuevos que se van presentando. Normalmente, los pesos óptimos se obtienen optimizando (minimizando o maximizando) alguna "función de energía". Por ejemplo, un criterio popular en el entrenamiento supervisado es minimizar el error cuadrático medio entre el valor deseado y el valor actual de la salida. Uno de los métodos más utilizados para el entrenamiento de una red neuronal es el error de propagación hacia atrás, el cual es un procedimiento matemático que comienza con el error en la salida de una red neuronal y este error se propaga hacia atrás a través de la red para obtener los valores de error de salida para todas las neuronas en la red, conociendo de esta forma el error de cada una de las neuronas tanto de la capa de salida como de las pertenecientes a la capa oculta, pudiendo aplicar de esta forma un algoritmo de optimización que minimice el error. El conocimiento en una red neuronal está distribuido entre los pesos de cada una de las conexiones y no está concentrado en un solo lugar, es por ello que las redes son tolerantes al ruido en las señales de entrada, una red neuronal es capaz de dar una respuesta correcta si la señal o datos de entrada son diferentes a las utilizadas durante el entrenamiento, a este fenómeno se le conoce como generalización [9]. La capacidad de generalización de la red puede verse afectada por el sobre-entrenamiento, el cual sucede cuando la red memoriza los patrones, dando como resultado un error muy bajo para los patrones utilizados, pero un error alto para los datos fuera del conjunto de entrenamiento. Existen diferentes

Page 28: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

28

= ∑=

n

i

ipesos wn

E12

formas para evitar el sobre-entrenamiento como lo es la parada temprana, el decaimiento de pesos y el aprendizaje bayesiano. Una red neuronal, al ser un sistema distribuido, permite el fallo de algunos elementos individuales (neuronas) sin alterar significativamente la respuesta total del sistema, estas también tiene la capacidad de modificar los parámetros de los que depende su funcionamiento de acuerdo con los cambios que se produzcan en su entorno de trabajo (cambios en las entradas, presencia de ruido, etc...). Con respecto a la capacidad de adaptación hay que tener en cuenta que ésta no puede ser tampoco excesivamente grande ya que conduciría a tener un sistema inestable respondiendo a pequeñas perturbaciones. Este es el problema conocido como el dilema plasticidad-estabilidad. La red neuronal encargada de la toma de decisiones se entrenó haciendo uso de la propagación hacia atrás (backpropagation) con regularización bayesiana (trainbr en matlab). Esta función de entrenamiento de redes neuronales actualiza los valores de los pesos acorde a la optimización Levenberg-Marquadt (este algoritmo es una modificación del método de Newton, el que fue diseñado para minimizar funciones que sean la suma de los cuadrados de otras funciones no lineales; es por ello que el algoritmo de Levenberg - Marquardt, tiene un excelente desempeño en el entrenamiento de redes neuronales donde el rendimiento de la red esté determinado por el error medio cuadrático), minimiza una combinación de los cuadrados de los errores (Ecuación 8) y los pesos (Ecuación 9 y 10), y determina la combinación correcta de valores de los parámetros α y β, produciendo de esta manera una que la capacidad de generalización red sea mayor.

−= ∑

=

p

p

oseguimient ydp

E1

2)(2

1α (8)

Donde p es el número de patrones de entrenamiento.

(9) Donde n es el número de pesos que posee la red neuronal a entrenar.

+

−= ∑∑

==

n

i

i

p

p

p wn

ydp

E11

2

2

1)(

2

1 βα (10)

Error total a minimizar.

Page 29: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

29

4. SIMULACIÓN ELECTRONICA La simulación electrónica del sistema de navegación se realizo con el ánimo de observar el comportamiento real que este tendría al momento de la implementación en un robot móvil, verificando de esta manera comportamientos reactivos y planificados ejecutados por el robot cuando se encuentre navegando en un ambiente desconocido. 4.1 HARDWARE SIMULADO Para la simulación del sistema de navegación, se debió elegir hardware (sensores, actuadores, procesador, etc.) que permitiera su implementación, cumpliendo requerimientos de memoria, adaptabilidad y facilidad de actualización de software. • Sensores: Los sensores simulados en el sistema de navegación corresponden a ultrasonidos que permiten conocer la presencia de obstáculos con ángulo detección igual a 36º (max sonar EZ1, con salida analógica). Una tarea de vital importancia en la tarea de navegación corresponde a la localización del móvil, para tal tarea se desarrollo un algoritmo capaz de conocer la orientación y posición del mismo haciendo uso de un encoder incremental (1024 pulsos por vuelta) y una brújula electrónica (HMC6352, con salida I2C). • Actuadores: Como actuadores del robot móvil se eligieron motores de corriente directa para que cumpla la función de dar movimiento al robot. • Procesador: El microcontrolador a utilizar es el PIC18F4550, el cual cuenta con 32Kbits de memoria, capaz de albergar el código que realiza la tarea de navegación. 4.2. PROGRAMACIÓN DEL MICROCONTROLADOR Para la programación del microcontrolador PIC18f4550, se utilizo el compilador CCS (custom computer services) C que fue desarrollado exclusivamente para la programación de PICs, este compilador permite escribir programas en lenguaje C, en lugar de utilizar assembler, con lo cual se logra un tiempo de desarrollo reducido y facilidad de programación.

Page 30: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

30

−=

y

x

y

x

θθθθ

cossin

sincos

'

'

Una vez entrenada la red neuronal, se procedió a extraer los valores de los pesos, con estos datos y conociendo previamente las funciones de activación de cada capa de la red, se procedió a realizar la programación del microcontrolador, donde se realizaron métodos encargados de obtener la entrada neta y la salida de cada neurona, logrando así, la salida obtenida en las simulaciones realizadas en Matlab. Para el algoritmo de localización se utilizo un encoder encargado de proporcionar valores de distancia y una brújula electrónica capaz de proporcionar la orientación del móvil referenciado al un sistema global (Norte terrestre), con los datos de distancia y ángulo de dirección del robot móvil se pueden obtener coordenadas del robot haciendo uso de sencillas sumas vectoriales, con el fin de obtener la posición en un sistema de coordenadas locales se procedió a realizar un método que aplicara una matriz de transformación (Ecuación 11) que permitiera obtener las coordenadas en un sistema de referencia local, el cual se encuentra rotado θº respecto al origen.

(11) La estructura hardware utilizada para la simulación del sistema consta de cinco sensores ultrasónicos con su respectivo comparador, un microcontrolador, dos motores de corriente directa encargados de la locomoción del vehículo y una etapa de potencia encargada de proporcionar la corriente necesaria para los motores, tal como es mostrado en la figura 14. Figura 14. Esquema electrónico.

Page 31: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

31

Figura 15. Diagrama de flujo de la simulación

Page 32: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

32

5. RESULTADOS Y CONCLUSIONES Para el diseño de la estructura de la red neuronal en principio se realizó utilizando como entrada a la red neuronal los valores de distancias entre el sensor y el obstáculo detectado y el ángulo entre el móvil y la meta, pero estas entradas parecían ser muy ambiguas para la red neuronal, por lo que se requería gran cantidad de neuronas en la capa oculta y exigía numerosos recursos a la hora de el entrenamiento, además los resultados obtenidos en la simulación no eran muy satisfactorios, la evasión de obstáculos se realizaba en el 70% de los casos, por tal motivo se decidió discretizar las entradas de la red neuronal, de esta forma solo se obtiene dos posibles valores en las entradas de la red, que indican la presencia o ausencia de obstáculos para cada sensor, facilitando de esta forma el entrenamiento de la red y mejorando el desempeño en simulación, además se presento una notable reducción en el número de neuronas de la capa oculta, teniendo finalmente solamente 5 neuronas en esta capa, este reducido número de neuronas facilitó la implementación del algoritmo en un microcontrolador, exigiendo un mínimo de recursos del mismo. La red neuronal una vez entrenada con los patrones de entrenamiento obtenidos de las imágenes de las trayectorias ejemplo trazadas, fue simulada en el ambiente de entrenamiento y en un ambiente desconocido para verificar el correcto funcionamiento de la red. Los resultados de la simulación en el software Matlab®, fueron satisfactorios logrando en un 96% de los casos encontrar la meta sin que existiera colisión alguna. La robustez de las redes neuronales y sus características para resolver problemas de clasificación, fueron factores de vital importancia para su elección para el trabajo de planificación de la ruta, que incluye tanto comportamientos reactivos como planificados para el arribo a una meta específica. La simulación electrónica se llevo a cabo en el software Proteus 7, debido que algunos sensores no pueden ser simulados, se utilizaron algunas herramientas del software para simular su salida. Se pudo comprobar comportamientos reactivos que presentaría un robot móvil al cual se le implementara el algoritmo de planificación de ruta desarrollado en el presente trabajo, los resultados presentaron una total correspondencia con el algoritmo realizado en el software Matlab®. La elección de sensores, actuadores y sistema de procesamiento se realizo pensando en la versatilidad y la fácil implementación de actualizaciones del algoritmo, teniendo en cuenta por ejemplo distancias entre los obstáculos y cada

Page 33: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

33

uno de los sensores que permitirían que futuros desarrollos lograran mejoras en el trazo de la trayectoria.

Page 34: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

34

BIBLIOGRAFÍA FREEMAN, Skapura. Redes Neuronales. Algoritmos, aplicaciones y técnicas de programación. Mexico: Addison-Wesley, 1993. 306 p GÓMEZ F, CUESTA F, OLLERO A. Planificación de trayectorias en robots móviles basada en técnicas de control de sistemas no holónomos [en línea]. Huelva, España: Universidad de Huelva, 2008. [Consultado 15 de Junio de 2008]. Disponible en Internet: http://www.cea-ifac.es/actividades/jornadas/XXIV/documentos/ro/174.pdf GONZALES, F Alfonzo, BARRERO, Jaime. Algoritmos genéticos aplicados al planeamiento de trayectorias de robots móviles. Modelado y simulación [en línea]. Bucaramanga, Colombia: Universidad Industrial de Santander, 2008. [Consultado 10 de Junio de 2008]. Disponible en Internet: http://energiaycomputacion.univalle.edu.co/edicion24/24art6.pdf HAYKIN, Simon. Neural networks: a comprehensive foundation. New York: MacMillan, 1994. 842 p. HILERA, Gonzales, RAMON José. Redes neuronales artificiales. Fundamentos, modelos y aplicaciones. Madrid: Rama, 1995. 408 p. JANGLOVÁ, D. Neural Networks in Mobile Robot Motion [en línea]. Bratislava, Slovakia: Institute of Informatics SAS, 2004. [Consultado 15 de Junio de 2008]. Disponible en Internet: http://arxiv.org/ftp/cs/papers/0412/0412049.pdf LOPEZ, Carmen. Aplicación de la Lógica Difusa en Robótica [en línea]. Granada, España: Universidad de Granada, 2008. [Consultado 13 de Junio de 2008]. Disponible en Internet: http://diofantico.homeip.net/doctorado/articulos/planyrobot.pdf MARCOS M, GUZMAN R, ROGRIGUEZ R. Autoguiado de robots móviles mediante redes neuronales [en línea]. León, España: Universidad de león, 2004. [Consultado 20 de Junio de 2008]. Disponible en Internet: http://www.cea-ifac.es/actividades/jornadas/XXV/documentos/56-ocliledaiz.pdf MUÑOZ, Fernando. Planificación de trayectorias para robots móviles [en línea]. Málaga, España: Universidad de Málaga, 2008, [Consultado 26 de Agosto de 2008]. Disponible en Internet: http://webpersonal.uma.es/~VFMM/tesis.html

Page 35: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

35

OROZCO, Andrés F. Sensores, métodos y técnicas para la navegación de robots móviles autónomos [en línea]. Medellín, Colombia: Universidad Pontificia Bolivariana, 2007. [Consultado 5 de julio de 2008]. Disponible en Internet: http://www.todomicrostamp.com/pdf.php?item=913 SORIA, Emilio y BLANCO, Antonio. Redes neuronales artificiales [en línea]. Madrid, España: Autores Científico-Técnicos y Académicos, 2008. [Consultado 15 de julio de 2008]. Disponible en Internet: http://www.acta.es/articulos_mf/19023.PDF

Page 36: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

36

ANEXOS

Anexo A. Imágenes de entrenamiento

Figura 16. Trayectoria de entrenamiento 1

Figura 17. Trayectoria de entrenamiento 2

Page 37: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

37

Figura 18. Trayectoria de entrenamiento 3

Figura 19. Trayectoria de entrenamiento 4

Page 38: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

38

Figura 20. Trayectoria de entrenamiento 5

Figura 21. Trayectoria de entrenamiento 6

Page 39: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

39

Figura 22. Trayectoria de entrenamiento 7

Figura 23. Trayectoria de entrenamiento 8

Page 40: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

40

Anexo B. Imágenes resultantes Figura 24. Trayectoria resultante 1.

Figura 25. Trayectoria resultante 2.

Page 41: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

41

Figura 26. Trayectoria resultante 3.

Figura 27. Trayectoria resultante 4.

Page 42: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

42

Figura 28. Trayectoria resultante 5.

Figura 29. Trayectoria resultante 6.

Page 43: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

43

Figura 30. Trayectoria resultante 7.

Figura 31. Trayectoria resultante 8.

Page 44: NAVEGACIÓN PLANIFICADA DE UN ROBOT MOVIL Autoguardado x

44

Figura 32. Trayectoria resultante 9.

Figura 33. Trayectoria resultante 10.