Quiroptero

1,738 views
1,629 views

Published on

Published in: Business, Travel
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,738
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
27
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Quiroptero

  1. 1. Construcción, Control y Optimización de la Navegación de un Vehículo Autónomo Alumno : Guillermo Nicolás Di Donato Director : Gonzalo Rodríguez Mir
  2. 2. Introducción General Primera Parte : Construcción de un Vehículo Autónomo El Robot, de nombre Quiróptero, esta formado por una plataforma móvil con tracción diferencial. Las ruedas están controladas por 2 motores de corriente continua de 12V con caja reductora acoplada a su eje. Cada rueda posee un encoder óptico incremental para permitir la estimación de la posición del Robot en tiempo real. Para el reconocimiento del entorno se utiliza un sensor de ultrasonido del tipo Polaroid montado sobre un motor por pasos, el cual permite hacer un barrido de todo el horizonte para obtener un mapa de obstáculos a través de la medición de las distancias a los mismos, mediante la técnica de tiempo de vuelo.
  3. 3. Introducción General Segunda Parte : Control de la Navegación de un Vehículo Autónomo En la Segunda Parte se realiza el control de la navegación del Robot construido. L a estrategia de navegación implementada permite, utilizando la información proveniente del sonar, construir un mapa de obstáculos en tiempo real, calcular el rumbo a tomar por el robot, y navegar entre los obstáculos estimando la posición del mismo por dead reckoning. El método de navegación implementado es el del CAMPO DE FUERZA VIRTUAL desarrollado por Borenstein J.
  4. 4. Introducción General Segunda Parte : Control de la Navegación de un Vehículo Autónomo Dentro de la Segunda Parte se realiza la descripción del programa de control de alto nivel Quiroptero.exe. El análisis comienza detallando las características de su interfase, forma de sus acciones de control, archivos que exporta, y explicación de su código.   Por ultimo se desarrolla el programa de control de bajo nivel Quiropte.s51, realizando una explicación de su estructura a través de su código.
  5. 5. Introducción General Tercera Parte : Optimización de la Navegación de un Vehículo Autónomo En la Tercera Parte, se analiza la Optimización de la Navegación del Robot construido. Para ello se han desarrollado técnicas basadas en Algoritmos Genéticos, principalmente debido a la complejidad de modelizacion de la planta que se desea optimizar. Esta es una gran ventaja de los Algoritmos Genéticos, ya que los mismos no necesitan mayor información sobre la planta que se encuentran optimizando, sino que lo único que persiguen es maximizar (o minimizar) una determinada función (llamada de Fitness) mediante la selección, cruce y mutación de los individuos de la población que resulten mas aptos para tal fin.
  6. 6. Introducción General Cuarta Parte : Resultados Obtenidos Por último, en la cuarta parte, se encuentran los resultados obtenidos y las conclusiones.
  7. 7. Primera Parte Construcción de un Vehículo Autónomo
  8. 8. Primera Parte <ul><li>Descripción General del Robot </li></ul><ul><li>Sistema de Tracción Diferencial </li></ul><ul><li>Motores DC 12V con Caja Reductora </li></ul><ul><li>Encoders ópticos Incrementales </li></ul><ul><li>Sensor de Ultrasonido </li></ul><ul><li>Motor Paso a Paso </li></ul><ul><li>Comunicación RS232 </li></ul>
  9. 9. Primera Parte <ul><li>Niveles de Control </li></ul><ul><li>Tareas de Control de Bajo Nivel </li></ul><ul><li>Control de los motores de tracción por modulación de ancho de pulsos </li></ul><ul><li>Control del motor paso a paso que mueve el sensor ultrasónico </li></ul><ul><li>Disparo del sensor y lectura de la distancia medida </li></ul><ul><li>Lectura de los encoders </li></ul><ul><li>Comunicación con la PC </li></ul><ul><li>Tareas de Control de Alto Nivel </li></ul><ul><li>Estimación de la posición del Robot mediante la técnica de &quot;Dead Reckoning&quot;. </li></ul><ul><li>Construcción de un mapa de obstáculos en base a la lectura del sonar </li></ul><ul><li>Algoritmo de navegación para determinar el rumbo del Robot </li></ul><ul><li>Establecer las velocidades de cada motor para lograr el rumbo deseado </li></ul>
  10. 10. Primera Parte <ul><li>Esquema General de Conexionado </li></ul><ul><li>Microcontrolador SAB80C535 </li></ul><ul><li>Inversor y separador 74LS04 </li></ul><ul><li>Amplificador de corriente ULN2003 </li></ul><ul><li>Puente LMD18201 </li></ul><ul><li>Foto interruptores TLP800A </li></ul><ul><li>Driver Transductor Polaroid Serie 6500 </li></ul><ul><li>Transductor Ultrasonico Polaroid Serie 600 </li></ul>
  11. 11. Primera Parte <ul><li>Sistema de Tracción </li></ul><ul><li>Motores DC 12V con caja reductora </li></ul><ul><li>Sistema de Traccion Diferencial </li></ul><ul><li>Señales de control : Sentido y Freno </li></ul><ul><li>Montaje : Bancadas de acrílico </li></ul>
  12. 12. Primera Parte <ul><li>Encoders </li></ul><ul><li>Discos de bronce de 100 mm de diámetro </li></ul><ul><li>114 perforaciones de 1.2 mm de diámetro </li></ul><ul><li>Foto interruptor TLP800A </li></ul><ul><li>Driver del foto interruptor </li></ul><ul><li>Entrada de dos contadores de 16 bits </li></ul>
  13. 13. Primera Parte <ul><li>Sonar </li></ul><ul><li>Transducror Polaroid Serie 600 </li></ul><ul><li>Driver Polaroid Serie 6500 </li></ul><ul><li>Modos de Funcionamiento : múltiple y único Eco </li></ul><ul><li>Contador de distancia de 16 bits </li></ul>
  14. 14. Primera Parte <ul><li>Microcontrolador Altair 535 </li></ul><ul><li>Microcontrolador Siemmens SAB80C535 a 12 MHz </li></ul><ul><li>EPROM de 32 Kbytes con Sistema Operativo Básico </li></ul><ul><li>Memoria SRAM de 32 Kbytes </li></ul><ul><li>Reloj en tiempo real tipo PHANTOM WATCH </li></ul><ul><li>Alimentación única de 7.5V a 25V DC o AC </li></ul><ul><li>Puerto RS232 en conector estándard DB9 </li></ul><ul><li>28 líneas de entrada/salida digitales </li></ul>
  15. 15. Segunda Parte Control de la Navegación de un Vehículo Autónomo
  16. 16. Segunda Parte <ul><li>Estrategia de Navegación </li></ul><ul><li>Evasión de obstáculos en tiempo real </li></ul><ul><li>Entornos de navegación conocidos y desconocidos </li></ul><ul><li>Método Wall Following </li></ul><ul><li>Método de detección de contorno </li></ul><ul><li>Navegación Autónoma </li></ul>
  17. 17. Segunda Parte <ul><li>Estrategia de Navegación </li></ul><ul><li>Pobre direccionabilidad </li></ul><ul><li>Frecuentes mediciones erroneas </li></ul><ul><li>Reflexiones especulares </li></ul><ul><li>Deficiencias de los sensores de ultrasonido </li></ul>
  18. 18. Segunda Parte <ul><li>Estrategia de Navegación </li></ul><ul><li>Método de campo de fuerzas virtuales </li></ul>F cr = Constante de fuerza de repulsión d(i,j) = Distancia entre la celda (i,j) y el robot C(i,j) = Valor de certeza de la celda (i,j) x o , y o = Coordenadas presentes del robot x i , y i = Coordenadas de la celda (i,j)
  19. 19. Segunda Parte <ul><li>Estrategia de Navegación </li></ul><ul><li>Método de campo de fuerzas virtuales </li></ul>F ct = Constante de fuerza de atracción d(t) = Distancia entre el objetivo y el robot x t , y t = Coordenadas del objetivo
  20. 20. Segunda Parte <ul><li>Estrategia de Navegación </li></ul><ul><li>R=Ft+Fr </li></ul>
  21. 21. Segunda Parte <ul><li>Ventajas del método sobre otros convencionales </li></ul><ul><li>En los métodos de detección de contorno, las lecturas erróneas del sonar pueden </li></ul><ul><li>ser mal interpretados como parte del contorno de un obstáculo, distorsionando </li></ul><ul><li>gravemente la forma del mismo. </li></ul><ul><li>El método VFF no requiere que el robot se detenga para realizar las mediciones </li></ul><ul><li>y posterior evaluación de las mismas. </li></ul><ul><li>La actualización de la grilla de certeza con la información de los sensores, y la </li></ul><ul><li>utilización de la grilla para la navegación son dos tareas independientes, las que </li></ul><ul><li>son realizadas asincrónicamente, cada una a su espacio optimo. El método de </li></ul><ul><li>detección de contorno requiere, en cambio, realizar las siguientes actividades en </li></ul><ul><li>secuencia: Detectar el obstáculo, detener el robot, medir el obstáculo, recalcular </li></ul><ul><li>el camino a seguir, y restablecer el movimiento. </li></ul><ul><li>La representación de los obstáculos mediante la grilla de certeza permite la </li></ul><ul><li>integración simple de datos de varios y distintos tipos de sensores. </li></ul>
  22. 22. Segunda Parte <ul><li>Descripción de la Interfase del programa de control de alto nivel </li></ul><ul><li>Campo de constantes del Programa </li></ul><ul><li>Campo de variables del Programa </li></ul><ul><li>Validación de los datos </li></ul><ul><li>Modos de funcionamiento </li></ul><ul><li>Archivos exportados </li></ul><ul><li>Protocolos de comunicación </li></ul>
  23. 23. Segunda Parte <ul><li>Descripción de la Interfase del programa de control de alto nivel </li></ul><ul><li>Graficas de MATLAB </li></ul>
  24. 24. Tercera Parte Optimización de la Navegación de un Vehículo Autónomo
  25. 25. Tercera Parte <ul><li>Introducción a los Algoritmos Genéticos </li></ul><ul><li>Búsqueda, optimización y aprendizaje </li></ul><ul><li>Método Analítico </li></ul><ul><li>Métodos exhaustivos, aleatorios y heurísticos </li></ul><ul><li>Algoritmo escalador (Hill Climbing) </li></ul><ul><li>Algoritmo de Reconocimiento Simulado </li></ul><ul><li>Tecnicas basadas en Población </li></ul>
  26. 26. Tercera Parte <ul><li>Algoritmo Genético Simple </li></ul><ul><li>Los algoritmos genéticos son métodos sistemáticos para la resolución de problemas </li></ul><ul><li>de búsqueda y optimización que aplican a estos los mismos métodos de la evolución </li></ul><ul><li>biológica: selección basada en la población, reproducción sexual y mutación. </li></ul><ul><li>Los algoritmos genéticos requieren que el conjunto de parametros se codifique en un </li></ul><ul><li>gen otipo o cromosoma , sobre un alfabeto de baja cardinalidad. </li></ul>
  27. 27. Tercera Parte <ul><li>Anatomía de un Algorítmo Genético </li></ul>1. Evaluar la puntuación ( Fitness ) de cada uno de los Genotipos. 2. Permitir a cada uno de los individuos reproducirse, de acuerdo con su puntuación. 3. Emparejar los individuos de la nueva población, haciendo que intercambien material genético, y que algunos de los bits de un gen se vea alterado debido a una mutación espontánea. <ul><li>Secuencia </li></ul>
  28. 28. Tercera Parte <ul><li>Evaluación y Selección </li></ul><ul><li>Decodificacion del genotipo en las variables de entrada </li></ul><ul><li>Evaluacion del nuevo miembro y puntuacion del mismo </li></ul><ul><li>Evaluación </li></ul><ul><li>Selección </li></ul><ul><li>Estado Estacionario : Se coloca toda la población por orden de Fitness, y los </li></ul><ul><li>M menos dignos son eliminados y sustituidos por la descendencia de alguno </li></ul><ul><li>de los M mejores con algún otro individuo de la población. </li></ul><ul><li>Rueda de Ruleta : se crea un pool genético formado por cromosomas de la </li></ul><ul><li>generación actual, en una cantidad proporcional a su Fitness . </li></ul><ul><li>Dentro de este pool, se escogen parejas aleatorias de cromosomas y se emparejan, </li></ul><ul><li>sin importar incluso que sean del mismo progenitor </li></ul>
  29. 29. Tercera Parte <ul><li>Crossover </li></ul>Es el intercambio de material genético entre dos cromosomas. El crossover es el principal operador genético, hasta el punto que se puede decir que no es un algoritmo genético si no tiene crossover, y sin embargo puede serlo perfectamente sin mutación. El crossover es el encargado de mezclar bloques buenos que se encuentren en los diversos progenitores, y que serán los que den a los mismos una buena puntuación. La presión selectiva se encarga de que sólo los buenos bloques se perpetúen, y poco a poco vayan formando una buena solución.
  30. 30. Tercera Parte <ul><li>Mutación </li></ul><ul><li>Papel de las Mutaciones en la evolución </li></ul><ul><li>Probabilidad de Mutación </li></ul><ul><li>Funcionamiento del operador Mutación </li></ul><ul><li>Consecuencias del abuso del operador Mutación </li></ul>
  31. 31. Tercera Parte <ul><li>Programa VIDA </li></ul><ul><li>Formato del Genoma </li></ul><ul><li>Razones de la utilización de la simulación </li></ul><ul><li>Razones de la utilización de los Algorítmos Genéticos </li></ul>FactorAtraccion FactorRepulsion PEFR Thao KVel KVProm 8 bits 8 bits 5 bits 3 bits 4 bits 6 bits
  32. 32. Tercera Parte <ul><li>Programa VIDA </li></ul><ul><li>Entornos simulados </li></ul>
  33. 33. Cuarta Parte Resultados Obtenidos
  34. 34. Cuarta Parte <ul><li>Comparación entre el Robot real y el simulado </li></ul>
  35. 35. Cuarta Parte <ul><li>Comparación entre el Robot real y el simulado </li></ul>
  36. 36. Cuarta Parte <ul><li>Comparación entre el Robot real y el simulado </li></ul>
  37. 37. Cuarta Parte <ul><li>Comparación entre el Robot real y el simulado </li></ul>
  38. 38. Cuarta Parte <ul><li>Comparación entre el Robot real y el simulado </li></ul>
  39. 39. Cuarta Parte <ul><li>Comparación entre el Robot real y el simulado </li></ul>
  40. 40. Cuarta Parte <ul><li>Resultados de la optimización </li></ul><ul><li>Función de Fitness del programa VIDA </li></ul>Fitness=(10000/(K1*Tiempo+K2*Choques+K3*Distancia_Objetivo + +K4*Distancia_Recorrida+K5*Heading+K6*Suavidad))^2 <ul><li>Tiempo : Tiempo empleado en llegar a la marca destino </li></ul><ul><li>Choques : N ú mero de choque s que ha tenido el Robot en su camino </li></ul><ul><li>Distancia_Objetivo : En caso de no haber llegado al objetivo en un tiempo </li></ul><ul><li>determinado, la distancia a la cual quedo del mismo. </li></ul><ul><li>Distancia_Recorrida : Distancia recorrida por el Robot </li></ul><ul><li>Heading : cabeceo del Robot durante la descripción de su trayectoria </li></ul><ul><li>Suavidad : Suavidad de la trayectoria descripta por el Robot </li></ul>
  41. 41. Cuarta Parte <ul><li>Resultados de la optimización </li></ul><ul><li>Grafica de MATLAB </li></ul>
  42. 42. Cuarta Parte <ul><li>Resultados de la optimización </li></ul><ul><li>Grafica de MOBOTS </li></ul>
  43. 43. Cuarta Parte <ul><li>Resultados de la optimización </li></ul><ul><li>Grafica de MOBOTS </li></ul>
  44. 44. Cuarta Parte <ul><li>Resultados de la optimización </li></ul><ul><li>Grafica de MOBOTS </li></ul>
  45. 45. Razón de su nombre La razón por la cual se ha elegido el nombre Quiróptero para el Robot, se debe al método que el mismo utiliza para ubicar los obstáculos que se encuentran en su entorno. Todos los micromurciéla-gos poseen un mecanismo que les permite volar y, en el caso de las especies insectívoras, también les permite localizar a sus presas sin necesidad de usar el sentido de la vista o del olfato: es la ecolocación. Ésta consiste en la emisión de sonidos de alta frecuencia (ultrasonidos), que después de chocar con los objetos, se reflejan a modo de eco y son captados por las orejas del murciélago. Al igual que el sonar, este sistema los capacita para conocer la posición, la distancia relativa e incluso el tipo de objetos que hay a su alrededor. El murciélago, de esta manera, puede volar en total oscuridad, y podría afirmarse que es capaz de ver acústicamente Clasificación científica: los murciélagos constituyen el orden de los Quirópteros. Los megamurciélagos pertenecen al suborden de los Megaquirópteros y los micromurciélagos al suborden de los Microquirópteros.

×