Arquitectura cognitiva híbrida para la navegación autónoma de UAVs mediante mapas topológicos visuales

173 

Loading....

Loading....

Loading....

Loading....

Loading....

Texto completo

(1)UNIVERSIDAD POLITÉCNICA DE MADRID FACULTAD DE INFORMÁTICA DEPARTAMENTO DE INTELIGENCIA ARTIFICIAL. TESIS DOCTORAL. Arquitectura cognitiva híbrida para la navegación autónoma de UAVs mediante mapas topológicos visuales. Juan Pablo Fuentes Brea Directores: Darío Maravall, Javier de Lope.

(2) 2.

(3) Arquitectura cognitiva híbrida para la navegación autónoma de UAVs mediante mapas topológicos visuales. Autor: Juan Pablo Fuentes Brea Directores: Darío Maravall, Javier de Lope. Madrid, 2013.

(4) 4.

(5) Ésta tesis se la dedico:. ... a todas las estrellas que por la noche alumbran mi camino, ... a mi príncipe que es un Sol en la Tierra, ... a mi pequeña Miss de fresa, ... y a mi gran Amor..

(6) 6.

(7) Agradecimientos Quiero agradecer a Darío Maravall y Javier de Lope todo el apoyo y amistad que me han dado durante la realización de ésta tesis, guiándome en todo momento por aquellos caminos que me permitieron alcanzar buenas ideas. Tendré siempre en mente los debates abiertos a través del correo electrónico, así como de nuestras reuniones de trabajo . el mismo día, a la misma hora y en el mismo lugar ,. ... he. aprendido mucho de vosotros, aportándome en todo momento lo que mi mente eternamente inquieta necesitaba. Por ello os quiero dar las gracias, ya que sabéis lo importante que es todo esto para mí.. Juan Pablo Fuentes Brea Madrid, 2013. 7.

(8) 8.

(9) Resumen El objetivo fundamental de la presente tesis doctoral es el diseño de una arquitectura cognitiva, que pueda ser empleada para la navegación autónoma de vehículos aéreos no tripulados conocidos como UAV (Unmanned Aerial Vehicle). Dicha arquitectura cognitiva se apoya en la denición de una librería de comportamientos, que aportarán la inteligencia necesaria al UAV para alcanzar los objetivos establecidos, en base a la información sensorial recopilada del entorno de operación. La navegación autónoma del UAV se apoyará en la utilización de un mapa topológico visual, consistente en la denición de un grafo que engloba mediante nodos los diferentes landmarks ubicados en el entorno, y que le servirán al UAV de guía para alcanzar su objetivo. Los arcos establecidos entre los nodos del mapa topológico, le proporcionarán de la información necesaria para establecer el rumbo más adecuado para alcanzar el siguiente landmark a visitar, siguiendo siempre una secuencia lógica de navegación, basada en la distancia de un determinado landmark con respecto al objetivo nal ó landmark destino. La información sensorial que la arquitectura utilizará es principalmente visual, y mediante el empleo de técnicas de visión computacional y machine learning, se procederá a la clasicación de las imágenes capturadas del entorno para el reconocimiento de landmarks, y poder contribuir a la toma de decisiones en la activación de los comportamientos denidos. Se procederá al cálculo de las señales de control más adecuadas, dependiendo del estado en donde esté ubicado el UAV dentro de su entorno. Para ello, la arquitectura dene un mecanismo híbrido de control, el cual puede conmutar entre dos diferentes modos de navegación. El primero es el denominado como Search Mode, el cual se activará cuando el UAV se encuentre en un estado desconocido dentro del entorno, para lo cual hará uso de cálculos basado en la entropía para la búsqueda de posibles landmarks. Se empleará como estrategia novedosa la idea de que la entropía de una imagen tiene una correlación directa con respecto a la probabilidad de que dicha imagen contenga uno ó varios landmarks. De esta forma, la estrategia para la búsqueda de nuevos landmarks en el entorno, se basará en un proceso continuo de maximización de la entropía. Si por el contrario el UAV identica la existencia de un posible landmark entre los denidos en su mapa topológico, se considerará que está sobre un estado conocido, por lo que se conmutará al segundo modo de navegación denominado como Homing Mode, el cual se encargará de calcular señales de control para la aproximación del UAV al landmark localizado. Éste último modo implementa un control dual basado en dos tipos de controladores que mediante su combinación, aportarán al UAV señales de control cada vez más óptimas; dichos tipos de controladores son los siguientes: controlador FeedForward ó anticipativo, basado en el conocimiento adquirido por parte del UAV durante su navegación, y por otro lado, se dene el denominado controlador FeedBack ó reactivo, que partiendo del error devuelto en la clasicación de landmarks, generará la señal de control 9.

(10) 10. más adecuada en cada momento, además de llevar a cabo un entrenamiento continuo y en tiempo real del controlador FeedForward. Para cumplir con los requisitos de ejecución y aprendizaje en tiempo real de la arquitectura, se han tomado como principales referencias dos paradigmas empleados en diferentes estudios dentro del área de la robótica, como son el paradigma de robots de desarrollo (developmental robots) basado en un aprendizaje del robot en tiempo real y de forma adaptativa con su entorno, así como del paradigma de modelos internos (internal models) basado en los resultados obtenidos a partir de estudios neurocientícos del cerebelo humano; dicho modelo interno sirve de base para la construcción del control dual de la arquitectura. Se presentarán los detalles de diseño e implementación de los diferentes módulos que componen la arquitectura cognitiva híbrida, así como de la librería de comportamientos inteligentes que serán utilizados por el UAV. Posteriormente, se presentarán los diferentes resultados obtenidos a partir de las pruebas experimentales ejecutadas; para dichas pruebas, se ha empleado como UAV la plataforma robótica aérea de AR.Drone. El objetivo de dicho plan de pruebas es vericar el cumplimiento de los diferentes requisitos especicados para cada uno de los módulos de la arquitectura, así como del correcto funcionamiento de la librería de comportamientos; como resultado nal se ha obtenido una validación completa de la arquitectura cognitiva híbrida objetivo de la tesis, cumplimento con la totalidad de requisitos especicados y garantizando su viabilidad como aplicación operativa en el mundo real. Finalmente, se muestran las distintas conclusiones a las cuales se ha llegado a partir de los resultados experimentales, y se presentan las diferentes líneas de investigación futuras que podrán ser ejecutadas..

(11) Summary The main objective of this thesis is the design of a cognitive architecture, that can be used for autonomous navigation of Unmanned Aerial Vehicles (UAV). This cognitive architecture is based on the denition of a library of behaviors, that provide the necessary intelligence to UAV to achieve the objectives set, based on sensory information gathered from the operating environment. UAV autonomous navigation will rely on the use of visual topological map, namely the denition of a graph that includes nodes with dierent landmarks located in the environment, and that will help guide the UAV to reach their goal. The arcs between nodes established topological map, will provide the information necessary to establish the most appropriate course to reach the next landmark to visit, always following a logical sequence of navigation, based on a given distance between a specic landmark and the target landmark. Sensory information architecture is primarily visual use, and by using computer vision techniques and machine learning, we will proceed to the classication of images captured from the environment to recognize landmarks, and to contribute to decision -making in activation of dened behaviors . It shall be calculated by the most appropriate control signals, depending on the state where the UAV is located within its environment. To do this, the architecture denes a hybrid control mechanism, which can switch between two dierent modes of navigation. The rst is known as Search Mode, which is activated when the UAV is in an unknown state in the environment, for which make use of entropy-based calculations for nding potential landmarks. Be used as a novel strategy the idea that the entropy of an image has a direct correlation with respect to the likelihood that the image contains one or more landmarks. Thus, the strategy for nding new landmarks in the environment, will be based on a continuous process of entropy maximization. If instead the UAV identies the existence of a possible landmark from those dened in the topological map, be deemed to be on a known state, so it will switch to the second mode of navigation known as Homing Mode, which is responsible for calculating control signals for the approximation of the UAV to landmark located. The latter implements a dual control based on two types of controllers through their combination, provide control signals to the UAV increasingly optimal, these types of controllers are: FeedForward controller based on the knowledge acquired by the UAV during browsing, and on the other hand, is dened called FeedBack or reactive controller, which based on the error returned in the classication of landmarks, generate the most suitable control signal at all times, in addition to carrying out continuous training in real time of the FeedForward controller. To meet the performance requirements and real-time learning of architecture, have been taken as main references two paradigms used in dierent studies within the area of robotics, 11.

(12) 12. such as the developmental robots paradigm based on a learning real-time robot adaptively to its environment as well as the paradigm of internal models based on the results obtained from human cerebellum neuroscientic studies; this internal model is the basis for building the dual control of the architecture. Will present the design and implementation details of the dierent modules of the hybrid cognitive architecture, as well as the library of intelligent behaviors to be used by the UAV. Subsequently, we present the dierent results obtained from experimental tests carried out, using as UAV aerial robotics platform AR.Drone. The purpose of this test plan is to verify compliance with the various requirements specied for each of the modules of the architecture, as well as the proper functioning of the library of behaviors. As the nal result we have obtained a complete validation of this hybrid cognitive architecture aim of the thesis, compliance with all specied requirements and ensuring its viability as operational implementation in the real world . Finally, we show the dierent conclusions that have been reached from the experimental results, and shows the various lines of future research that may be implemented..

(13) Índice general I. INTRODUCCIÓN. 25. 1. Introducción. 27. 1.1.. Arquitectura cognitiva híbrida . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 27. 1.2.. Paradigmas de robótica empleados. . . . . . . . . . . . . . . . . . . . . . . . . . .. 29. 1.2.1.. Robots de desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 29. 1.2.2.. Modelos internos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 30. 1.3.. Plan de trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 30. 1.4.. Estructura de la tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 31. 2. Estado del arte. 33. 2.1.. Developmental Robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 33. 2.2.. Internal Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 36. 3. Vehículos aéreos no tripulados (UAV) Clasicación de un UAV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 42. 3.2.. Sensores de un UAV. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 42. 3.3.. Actuadores de un UAV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 43. 3.4.. Navegación de un UAV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 43. 4. AR.Drone. II. 41. 3.1.. 47. 4.1.. Descripción del AR.Drone 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 47. 4.2.. Sensores y Actuadores del AR.Drone 2.0 . . . . . . . . . . . . . . . . . . . . . . .. 49. 4.3.. Maniobras del AR.Drone 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 51. ARQUITECTURA COGNITIVA HÍBRIDA. 5. Arquitectura general del sistema. 53. 55. 5.1.. Módulos de la arquitectura. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 56. 5.2.. Ejecución concurrente de módulos . . . . . . . . . . . . . . . . . . . . . . . . . . .. 57. 5.3.. Interconexión de módulos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 59. 5.4.. Bucle de control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 60. 5.5.. Mecanismo híbrido de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 62. 5.6.. Librerías empleadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 63. 13.

(14) ÍNDICE GENERAL. 14. 6. Navegación mediante mapas topológicos visuales 6.1.. Construcción de un mapa topológico visual. 6.2.. Identicación de landmarks. 65. . . . . . . . . . . . . . . . . . . . . .. 65. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 67. 7. Módulo sensorial. 69. 7.1.. Captura de imágenes en tiempo real. . . . . . . . . . . . . . . . . . . . . . . . . .. 7.2.. Procesamiento de imágenes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 71. 7.3.. Preparación de dataset de landmarks . . . . . . . . . . . . . . . . . . . . . . . . .. 71. 7.4.. Reconocimiento de landmarks mediante K-NN . . . . . . . . . . . . . . . . . . . .. 75. 7.5.. Datos de navegación. 77. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 8. Módulo cognitivo. 79. 8.1.. Cálculo de la entropía para la navegación. . . . . . . . . . . . . . . . . . . . . . .. 79. 8.2.. Búsqueda de landmarks en el entorno . . . . . . . . . . . . . . . . . . . . . . . . .. 80. 8.3.. Detección de obstáculos en el entorno . . . . . . . . . . . . . . . . . . . . . . . . .. 83. 8.4.. Implementación del módulo cognitivo . . . . . . . . . . . . . . . . . . . . . . . . .. 85. 9. Módulo de control dual 9.1. 9.2.. 9.3.. 87. Controlador FeedBack. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 89. Implementación del controlador FeedBack . . . . . . . . . . . . . . . . . .. 90. Controlador FeedForward 9.3.1.. 9.4.. 87. Mecanismo de control dual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 9.2.1.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 91. Implementación de la red neuronal del controlador FeedForward . . . . . .. 92. Combinación Feedforward & Feedback. . . . . . . . . . . . . . . . . . . . . . . . .. 10.Módulo de aprendizaje. 93. 97. 10.1. Feedback-error Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 97. 10.2. Teachable robots. 99. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 11.Módulo actuador. 101. 11.1. Tratamiento de señales de control en tiempo real. III. 69. . . . . . . . . . . . . . . . . . .. 101. 11.2. Envío de señales de control al UAV . . . . . . . . . . . . . . . . . . . . . . . . . .. 103. LIBRERÍA DE COMPORTAMIENTOS. 12.Modelo de comportamientos del UAV 12.1. Diseño de comportamientos. 107. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 12.2. Coordinación de comportamientos. 105. . . . . . . . . . . . . . . . . . . . . . . . . . .. 13.Librería de comportamientos del UAV. 108 109. 111. 13.1. Comportamiento de exploración . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 112. 13.2. Comportamiento de aproximación . . . . . . . . . . . . . . . . . . . . . . . . . . .. 113. 13.3. Comportamiento de identicación . . . . . . . . . . . . . . . . . . . . . . . . . . .. 114. 13.4. Comportamiento para evitar obstáculos. . . . . . . . . . . . . . . . . . . . . . . .. 115. . . . . . . . . . . . . . . . . . . . . . . . .. 116. 13.5. Comportamiento de control de altitud.

(15) ÍNDICE GENERAL IV. 15. PRUEBAS EXPERIMENTALES. 119. 14.Preparación y conguración del entorno experimental. 121. 14.1. Conguración del nodo operativo . . . . . . . . . . . . . . . . . . . . . . . . . . .. 122. 14.2. Cuadro de Mando. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 123. 14.2.1. Cuadrante visual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 124. 14.2.2. Cuadrante de trazabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . .. 124. 14.3. Montaje del entorno experimental . . . . . . . . . . . . . . . . . . . . . . . . . . .. 125. 14.4. Conguración del AR.Drone 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 126. 15.Pruebas y Resultados Experimentales 15.1. Experimentos sobre el reconocimiento de landmarks. 127 . . . . . . . . . . . . . . . .. 15.1.1. Ejecución del experimento . . . . . . . . . . . . . . . . . . . . . . . . . . .. 128. 15.1.2. Resultados del experimento. . . . . . . . . . . . . . . . . . . . . . . . . . .. 129. 15.1.3. Conclusiones del experimento . . . . . . . . . . . . . . . . . . . . . . . . .. 130. 15.2. Experimentos sobre maniobras de exploración y evitación de obstáculos. . . . . .. 130. 15.2.1. Ejecución del experimento . . . . . . . . . . . . . . . . . . . . . . . . . . .. 130. 15.2.2. Resultados del experimento. . . . . . . . . . . . . . . . . . . . . . . . . . .. 131. 15.2.3. Conclusiones del experimento . . . . . . . . . . . . . . . . . . . . . . . . .. 135. 15.3. Experimentos sobre maniobras de aproximación e identicación de landmarks. . .. 136. 15.3.1. Ejecución del experimento . . . . . . . . . . . . . . . . . . . . . . . . . . .. 136. 15.3.2. Resultados del experimento. . . . . . . . . . . . . . . . . . . . . . . . . . .. 137. 15.3.3. Conclusiones del experimento . . . . . . . . . . . . . . . . . . . . . . . . .. 139. 15.4. Experimentos sobre el aprendizaje adaptativo del UAV . . . . . . . . . . . . . . .. 139. 15.4.1. Ejecución del experimento . . . . . . . . . . . . . . . . . . . . . . . . . . .. 139. 15.4.2. Resultados del experimento. . . . . . . . . . . . . . . . . . . . . . . . . . .. 140. 15.4.3. Conclusiones del experimento . . . . . . . . . . . . . . . . . . . . . . . . .. 143. 15.5. Experimentos sobre navegación autónoma del UAV . . . . . . . . . . . . . . . . .. 143. 15.5.1. Ejecución del experimento . . . . . . . . . . . . . . . . . . . . . . . . . . .. 144. 15.5.2. Resultados del experimento. V. 128. . . . . . . . . . . . . . . . . . . . . . . . . . .. 144. 15.5.3. Conclusiones del experimento . . . . . . . . . . . . . . . . . . . . . . . . .. 147. CONCLUSIONES. 149. 16.Conclusiones. 151. 16.1. Ventajas de la arquitectura cognitiva híbrida . . . . . . . . . . . . . . . . . . . . .. 152. 16.2. Inconvenientes de la presente arquitectura cognitiva híbrida. 154. . . . . . . . . . . . .. 17.Futuras líneas de investigación. 157. VI. 159. ANEXOS. 18.Anexo A: Detalles de implementación 18.1. Detalles de implementación utilizando AR.Drone SDK. 161 . . . . . . . . . . . . . . .. 162.

(16) ÍNDICE GENERAL. 16. 18.2. Detalles de implementación utilizando OpenCV . . . . . . . . . . . . . . . . . . .. 163. 18.3. Detalles de implementación utilizando FANN. 163. . . . . . . . . . . . . . . . . . . . .. 19.Anexo B: Conguración del AR.Drone 2.0. 165. Bibliografía. 166.

(17) Índice de guras 1.1.. Mecanismo híbrido de control mediante la conmutación de modos de navegación del UAV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1.2.. 28. Correlación directa entre el valor de la entropía de una imagen con el número de landmarks que aparecen en la misma . . . . . . . . . . . . . . . . . . . . . . . . .. 29. 2.1.. Paradigma de desarrollo manual de robots . . . . . . . . . . . . . . . . . . . . . .. 34. 2.2.. Paradigma de desarrollo autónomo de robots. 34. 2.3. 2.4. 2.5.. . . . . . . . . . . . . . . . . . . . .. El proyecto SAIL (izquierda) y el proyecto Dav (derecha) como ejemplos de robots de desarrollo[63] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 35. Comparativa entre modelo directo y modelo inverso . . . . . . . . . . . . . . . . .. 37. Sección de un cerebro humano, especicando la relación entre los mecanismos de control con el cerebro y cerebelo. Figura basada en la referencia:[3]. . . . . . . . .. 38. 2.6.. Implementación del modelo interno de control[64] . . . . . . . . . . . . . . . . . .. 39. 3.1.. Modelos de UAV (de izquierda a derecha: MQ-9 Reaper, micro UAV y quadcopter) 41. 3.2.. Maniobras de rotación sobre los 3 ejes del UAV . . . . . . . . . . . . . . . . . . .. 44. 4.1.. AR.Drone 2.0 empleado en las pruebas experimentales. . . . . . . . . . . . . . . .. 48. 4.2.. Niveles de abstracción de la librería AR.Drone SDK[52]. . . . . . . . . . . . . . .. 48. 4.3.. Ejes de rotación del AR.Drone[52]. . . . . . . . . . . . . . . . . . . . . . . . . . .. 49. 4.4.. Sensores y actuadores del AR.Drone 2.0 (http://ardrone2.parrot.com/) . . . .. 50. 4.5.. Modo de navegación indoor y exterior. 50. 4.6.. Ángulos de rotación del AR.Drone sobre sus ejes. . . . . . . . . . . . . . .. 51. 4.7.. Velocidades de rotación sobre los ejes del AR.Drone[52] . . . . . . . . . . . . . . .. 52. 5.1.. Estructura general de la Arquitectura Cognitiva Híbrida . . . . . . . . . . . . . .. 56. 5.2.. Hilos de ejecución y módulos de la arquitectura . . . . . . . . . . . . . . . . . . .. 58. 5.3.. Conmutación de modos de navegación visual . . . . . . . . . . . . . . . . . . . . .. 62. 6.1.. Mapa topológico visual basado en landmarks. 6.2.. Especicación de maniobras del UAV sobre los arcos del mapa topológico. . . . .. 67. 7.1.. Procesos de entrenamiento inicial y operativo del UAV . . . . . . . . . . . . . . .. 70. 7.2.. Preparación del dataset para el entrenamiento inicial del UAV . . . . . . . . . . .. 72. 7.3.. Dataset del landmark 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 73. 7.4.. Dataset del landmark 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 73. . . . . . . . . . . . . . . . . . . . . . . . .. 17. (x, y, z). . . . . . . . . . . . . . . . . . . . .. 66.

(18) ÍNDICE DE FIGURAS. 18. 7.5.. Dataset del landmark 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 74. 7.6.. Dataset del landmark 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 74. 7.7.. Ejemplo del clasicador K-NN: cuando mark. 8.1. 8.2.. K=3. la clase de la imagen será el land-. 3; por el contrario cuando K = 5 será el landmark 2 la clase más similar con. respecto al dataset utilizado por el clasicador . . . . . . . . . . . . . . . . . . . .. 76. Cálculo de la entropía en marcos dentro del campo visual del UAV. 80. . . . . . . . .. Búsqueda basada en la maximización de la entropía de las imágenes, para la localización de posibles landmarks en el entorno de navegación. . . . . . . . . . .. 82. . . . . . . . . . . . . . . . . . . . .. 83. . . . . . . . . . . . . . . . . . . .. 84. 8.3.. Evita el obstáculo mediante giro a la derecha. 8.4.. Evita el obstáculo mediante giro a la izquierda. 8.5.. Evita el obstáculo situado enfrente del UAV mediante giro a la derecha ó izquierda. 84. 9.1.. Mecanismo de control dual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 88. 9.2.. Red neuronal del controlador FeedForward . . . . . . . . . . . . . . . . . . . . . .. 91. 9.3.. Gráco que muestra la distancia entre del sistema. 9.4.. uf f. y. uf b. con respecto al grado de madurez. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Gráco que muestra la evolución de los pesos. wf b. y. wf f. a lo largo del tiempo de. desarrollo del UAV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1. Feedback-error learning[28]. 93 95. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 98. 12.1. Modelo de comportamientos del UAV . . . . . . . . . . . . . . . . . . . . . . . . .. 107. 12.2. Diseño del modelo de comportamientos del UAV. . . . . . . . . . . . . . . . . . .. 108. 12.3. Diseño de comportamiento para la navegación autónoma del UAV . . . . . . . . .. 109. 13.1. Librería de comportamientos del UAV. . . . . . . . . . . . . . . . . . . . . . . . .. 111. 13.2. Comportamiento de exploración . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 112. 13.3. Comportamiento de aproximación . . . . . . . . . . . . . . . . . . . . . . . . . . .. 113. 13.4. Comportamiento de identicación . . . . . . . . . . . . . . . . . . . . . . . . . . .. 114. 13.5. Comportamiento para evitar obstáculos. . . . . . . . . . . . . . . . . . . . . . . .. 115. . . . . . . . . . . . . . . . . . . . . . . . .. 116. 13.6. Comportamiento de control de altitud 14.1. Esquema del entorno experimental. . . . . . . . . . . . . . . . . . . . . . . . . . .. 14.2. Cuadro de mando del UAV: cuadrante visual y de trazabilidad. 121. . . . . . . . . . .. 123. 14.3. Mapa topológico utilizado durante las pruebas experimentales . . . . . . . . . . .. 125. 15.1. Proceso de evaluación del clasicador basado en la técnica Leave-one-out . . . . .. 128. 15.2. Matriz de confusión como resultado del Leave-one-out. 129. . . . . . . . . . . . . . . .. 15.3. Secuencia de imágenes en la maniobra de exploración del UAV. . . . . . . . . . .. 131. 15.4. Valores de navegación para la maniobra de exploración . . . . . . . . . . . . . . .. 132. 15.5. Secuencia de imágenes en la maniobra para evitar obstáculos del UAV. . . . . . .. 133. . . . . . . . .. 135. 15.6. Valores de navegación para la maniobra de evitación de obstáculos. 15.7. Secuencia de imágenes de la maniobra de aproximación (1.x), y de la posterior maniobra de identicación (2.x) del UAV. Se indica en la imagen (2.a) la iteración exacta en donde el UAV alcanza el radio de aproximación. L.. Lra. k. asociado al lanmark. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 137.

(19) ÍNDICE DE FIGURAS. 19. 15.8. Gráco que muestra la reducción del valor del error ximación del UAV hacia el landmark. L,. ε durante la maniobra de apro-. y la posterior maniobra de identicación. del mismo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.9. Gráco de las señales de control. {pitch, gaz, yaw}. generadas en cada iteración. 138. k. durante las maniobras de aproximación e identicación del UAV . . . . . . . . . .. 138. 15.10.Grácos relativos a los trials experimentales ejecutados, que demuestran mediante las diferencias entre las señales. uf b. y. uf f. durante la ejecución de una misma. maniobra, la evolución favorable del aprendizaje del UAV. . . . . . . . . . . . . .. 141. 15.11.Gráco que demuestra la mejora continua del grado de madurez del UAV, a lo largo de los diferentes trials experimentales ejecutados. . . . . . . . . . . . . . . . 15.12.Tabla que muestra diferentes conguraciones de. k. wf b y wf f ,. correspondiente al momento en el cual el UAV alcanza el objetivo establecido. .. 15.13.Navegación autónoma indoor del UAV mediante mapas topológicos visuales 15.14.Grácos de evolución de los cálculos entrópicos durante la navegación autónoma del UAV 15.15.Gráco de las señales de control. . . .. 142 144. {Hi , Hc , Hd } y del error ε obtenidos. . . . . . . . . . . . . . . . . . . . . . .. {pitch, gaz, yaw}. durante la navegación autónoma del UAV. 142. junto con la iteración. generadas en cada iteración. 145. k. . . . . . . . . . . . . . . . . . . . . . .. 146.

(20) 20. ÍNDICE DE FIGURAS.

(21) Índice de algoritmos 5.1.. Pseudocódigo del Bucle de control de lazo cerrado (Hilo de Control) para el UAV. 61. 5.2.. Pseudocódigo de la conmutación de los modos de navegación visual . . . . . . . .. 63. 7.1.. Pseudocódgio de carga inicial del dataset de landmarks en el UAV. . . . . . . . .. 75. 7.2.. Pseudocódigo del algoritmo de clasicación K-NN . . . . . . . . . . . . . . . . . .. 77. 8.1.. Pseudocódigo del cálculo de la entropía para un histograma de la imagen capturada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 82. 8.2.. por el UAV. Pseudocódigo de los cálculos realizados dentro del módulo cognitivo . . . . . . . .. 85. 9.1.. Pseudocódigo de los cálculos realizados por el controlador FeedBack. . . . . . . .. 90. 9.2.. Pseudocódigo de los cálculos realizados por el controlador FeedForward . . . . . .. 92. 10.1. Pseudocódigo del algoritmo de aprendizaje basado en el modelo Feedback-error learning[28]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 10.2. Algoritmo aprendizaje basado en el paradigma Teachable Robots[57]. . . . . . . .. 99 100. 11.1. Pseudocódigo de la validación y envio de señales de control al UAV . . . . . . . .. 102. 15.1. Pseudocódigo del algoritmo de prueba Leave-one-out . . . . . . . . . . . . . . . .. 129. 18.1. Referencias a librerías utilizadas por la arquitectura . . . . . . . . . . . . . . . . .. 161. 18.2. Declaración de un hilo de ejecución empleando la librería AR.Drone SDK. 162. . . . .. 18.3. Protección de código mediante regiones críticas, empleando la librería AR.Drone SDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18.4. Funciones del AR.Drone SDK utilizadas. . . . . . . . . . . . . . . . . . . . . . . .. 18.5. Función para pausar el hilo de ejecución, empleando la librería AR.Drone SDK. 162 162. .. 163. 18.6. Funciones para el procesamiento y tratamiento de imágenes mediante OpenCV[6]. 163. 18.7. Implementación del dataset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 18.8. Funciones FANN utilizadas en el control FeedForward. . . . . . . . . . . . . . . .. 163 163. 18.9. Parametrización e inicialización mediante FANN de la red neuronal del control FeedForward. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 21. 164.

(22) 22. ÍNDICE DE ALGORITMOS.

(23) Nomenclatura Developmental Robots Robots de desarrollo FANN. Fast Articial Neural Network Library. FeedBack. Controlador reactivo. FeedForward. Controlador anticipativo. Gaz. Señal de control utilizada para realizar el control de altitud. K-NN. K Nearest Neighbours. OpenCV. Open source Computer Vision. Pitch. Señal de control utilizada para realizar una maniobra de cabeceo. ra. radio de aproximación. RGB. Red Green Blue. Roll. Señal de control utilizada para realizar una maniobra de alabeo. UAV. Unmanned Aerial Vehicle. Yaw. Señal de control utilizada para realizar una maniobra de guiñada. 23.

(24) 24. ÍNDICE DE ALGORITMOS.

(25) Parte I. INTRODUCCIÓN. 25.

(26)

(27) Capítulo 1. Introducción La investigación sobre navegación de robots autónomos está enmarcada dentro de una de las ramas de la robótica que mayor número de aportaciones realiza, para la creación de nuevas soluciones funcionales que nalmente puedan ser llevadas al mundo real. La mayoría de dichas líneas de investigación están enfocadas a resolver problemas de navegación en donde el robot se desenvuelve en un entorno de dos dimensiones, utilizando para su ejecución un sistema de coordenadas. (x, y). que determinarán su posición en cada uno de los. estados a lo largo de su navegación. Siguiendo este enfoque y para dar respuesta a sistemas de mayor complejidad, se requiere de una arquitectura que aporte la inteligencia necesaria al robot que necesite operar dentro de un entorno de tres dimensiones, en donde se requieran tener en cuenta el control de las coordenadas. (x, y, z). durante su navegación.. En base a dicho planteamiento, la presente tesis centrará sus objetivos en dar una solución para la navegación autónoma de un robot aéreo dentro de un entorno complejo de tres dimensiones, basándose en técnicas de inteligencia articial para el estudio de sus capacidades sensoriales y la construcción de comportamientos inteligentes que le permitan dicha operabilidad. La información sensorial recopilada dentro de dicho entorno será principalmente visual, a partir de la cual se desencadenarán diferentes maniobras de navegación en base a los comportamientos que se activen en cada momento para alcanzar los objetivos establecidos. La plataforma robótica empleada en la presente tesis está basada en los conocidos como vehículos aéreos no tripulados (UAV), los cuales necesitan de un controlador con la suciente capacidad como para dotar a dichos robots de una navegación con un alto grado de estabilidad dentro de un entorno tan complejo como el aéreo; dicha complejidad viene determinada por los numerosos parámetros que maneja el modelo para su ejecución, así como de los diferentes fenómenos ambientales que puedan afectarle.. 1.1. Arquitectura cognitiva híbrida Como solución a los antecedentes planteados, la presente tesis recoge una estrategia novedosa para la navegación autónoma de UAVs, basada en la construcción de una arquitectura cognitiva híbrida que mediante la utilización de mapas topológicos visuales[43], proporcione al robot la capacidad de alcanzar objetivos previamente establecidos dentro de un determinado entorno. Los mapas topológicos visuales están basados en un conjunto de landmarks interconectados en forma de grado, en donde cada nodo representará un landmark existente dentro del entorno 27.

(28) CAPÍTULO 1. INTRODUCCIÓN. 28. de navegación, y los arcos entre nodos las maniobras especícas que el UAV deberá ejecutar para alcanzar el siguiente landmark y poder cumplir con sus objetivos. Durante la navegación autónoma del UAV, puede darse el caso de que éste se encuentre en estados desconocidos en donde no es capaz de localizar ninguno de los landmarks especicados en el mapa topológico empleado, o por el contrario, que si sea capaz de identicar alguno de los mismos. Para contemplar la totalidad de los posibles escenarios, en la presente tesis se ha diseñado un mecanismo híbrido de control, en donde dependiendo del conocimiento que se tenga del escenario, que el UAV pueda conmutar entre diferentes modalidades de navegación.. Figura 1.1: Mecanismo híbrido de control mediante la conmutación de modos de navegación del UAV En el caso de que el UAV sea incapaz de localizar ningún landmark de los establecidos dentro del mapa topológico, se considera que se encuentra dentro de un estado desconocido, por lo que la arquitectura conmutará a un modo de navegación denominado Search Mode. Dicho modo utiliza como técnica cognitiva la entropía de la imagen visual capturada; la idea principal detrás de dicha búsqueda basada en la entropía, es la existencia de una correlación directa entre la entropía de una imagen y la probabilidad de que contenga uno ó varios objetos en la misma [20]. De esta forma, cuando el valor de la entropía de la imagen capturada es baja, la probabilidad de que ésta contenga un landmark es baja; por el contrario, a medida que la entropía de la imagen crece, la probabilidad de que ésta contenga uno ó varios landmarks también crecerá. A partir de dichos cálculos entrópicos, el UAV podrá redirigir su navegación hacia nuevos estados que puedan contener posibles landmarks candidatos, a través de un proceso de maximización de la entropía. Existen estudios en donde dicho modo de navegación es sustituido mediante una búsqueda aleatoria de landmarks, en donde el robot explora el entorno para la detección de nuevos landmarks siguiendo una estrategia puramente aleatoria, la cual es menos eciente que la estrategia de maximización de la entropía para la búsqueda de nuevos landmarks planteada en la presente tesis. Cuando el UAV se aproxima hacia estados que contienen posibles landmarks candidatos, la arquitectura conmutará al modo denominado Homing Mode, basado en un control dual que implementa un controlador FeedFoward/FeedBack. Dicho modo es el encargado de redirigir la navegación del UAV hacia el landmark localizado, proporcionando las señales de control más.

(29) 1.2. PARADIGMAS DE ROBÓTICA EMPLEADOS. 29. Figura 1.2: Correlación directa entre el valor de la entropía de una imagen con el número de landmarks que aparecen en la misma. adecuadas, y que permitan una reducción continua del error existente entre la imagen capturada en cada momento, con respecto a la imagen objetivo asociada al landmark en cuestión dentro del mapa topológico. La presente arquitectura cognitiva híbrida necesita responder a un serie de requisitos de obligado cumplimiento, como son el proporcionar un control y aprendizaje del UAV en tiempo real, obteniendo de ésta forma un aumento de su grado de madurez, necesario para llevar a cabo su operativa de forma cada vez más optimizada dentro de un determinado entorno. Adicionalmente, se debe garantizar la robustez del sistema en todo momento, estableciendo las salvaguardas que sean necesarias para proteger la seguridad e integridad del entorno de ejecución, así como la del propio UAV.. 1.2. Paradigmas de robótica empleados Las directrices de diseño utilizadas sobre la arquitectura, están basadas en un conjunto de paradigmas que ya han sido previamente utilizados en diferentes estudios y trabajos dentro del área de la robótica. En este caso, se han agrupado sus diferentes aportaciones con el objetivo de responder principalmente a los requisitos demandados por la solución planteada, como son el control y aprendizaje en tiempo real del UAV. En los siguientes apartados se presentan los principales paradigmas de robótica empleados en la presente tesis.. 1.2.1.. Robots de desarrollo. El paradigma de robots de desarrollo (Developmental Robots[63, 59, 60]) se basa en la denición de un proceso de aprendizaje en tiempo real y que de forma adaptativa con su entorno, dota al robot de la capacidad para la adquisición de nuevo conocimiento proveniente de su entorno de operación. Este paradigma diere de otros de sistemas robóticos, en donde se ejecuta una fase previa de programación del robot para proporcionarle la totalidad del conocimiento, que deberá.

(30) CAPÍTULO 1. INTRODUCCIÓN. 30. emplear durante su posterior fase de operación, durante la cual el robot hará uso del conocimiento previamente programado. Éste planteamiento de programación previa ó manual del robot no encaja con los requisitos exigidos por la arquitectura cognitiva, ya que al tratarse de un sistema en tiempo real, necesita de la autonomía y de la adaptabilidad al entorno que proporciona el paradigma de robots de desarrollo. De esta forma, en la presente tesis se considera al UAV como un robot de desarrollo, implementando para ello de un aprendizaje continuo durante su tiempo operativo, y adaptable a diferentes entornos lo que le proporcionará un alto grado de escalabilidad y adaptación al medio.. 1.2.2.. Modelos internos. La navegación autónoma de un UAV necesita de un sistema de control capaz de guiarlo a través de un entorno que inicialmente es completamente desconocido, y que requiere por tanto de un aprendizaje continuo para reducir de forma progresiva el error. ε. existente entre el estado. actual en donde está ubicado con respecto a su objetivo nal. Dicho proceso requerirá de una implementación que en base a dicho error, proceda al cálculo de las señales de control adecuadas para proporcionárselas al UAV y alcanzar sus objetivos. Dado que inicialmente el sistema de control será inmaduro, será necesario un control de tipo reactivo que emplee únicamente como entrada el error. ε,. y que posteriormente pueda ser complementado mediante un control de tipo. preventivo a través del conocimiento que ha sido adquirido durante su operativa. De esta forma, el paradigma de modelos internos [29] encaja con los requisitos demandados por la arquitectura para la implementación de un control dual, ya que permite llevar a cabo una optimización de las señales de control generadas en el tiempo, así como de proporcionar un mecanismo adaptativo en la adquisición de nuevo conocimiento [28] con respecto a su entorno de ejecución. Adicionalmente le dota al UAV de la robustez necesaria, al combinarse un control reactivo con un control preventivo dentro del control dual, garantizando la disponibilidad del sistema en todo momento. El paradigma de modelos internos está basado en estudios de neurociencia relacionados con la actividad cerebelar [3], en donde se estudia como el sistema nervioso central es capaz de inicialmente adquirir nuevo conocimiento de forma reactiva, para su posterior consolidación sobre el cerebelo, generando de ésta forma automatismos. Dicho planteamiento, cubre perfectamente las necesidades de la arquitectura cognitiva, ya que responde con los requisitos especicados que requieren de un aprendizaje en tiempo real del UAV durante su navegación autónoma.. 1.3. Plan de trabajo El plan de trabajo denido para alcanzar los objetivos especicados en la tesis, está estructurado en la ejecución de las siguientes fases principales: 1. Especicación de los antecedentes, objetivos, requisitos y restricciones del problema a resolver, para establecer la trazabilidad adecuada con la solución a implementar. 2. Recopilación y análisis de información existente relativa al problema planteado, revisando para ello el estado del arte de la navegación autónoma de robots, los diferentes paradigmas que son de aplicación, así como los trabajos relacionados con plataformas robóticas de UAVs..

(31) 1.4. ESTRUCTURA DE LA TESIS. 31. 3. Diseño de la solución al problema mediante una arquitectura cognitiva híbrida basada en la entropía y en un control dual para la navegación de UAVs, utilizando como herramienta mapas topológicos visuales que le son proporcionados de forma previa al robot. 4. Diseño de una librería de comportamientos que tomando como entrada la información sensorial proveniente del entorno de operación, proporcionará como salida las señales de control más adecuadas para su envío al UAV. Se establecerán las relaciones combinatorias más adecuadas en la activación de los diferentes comportamientos. 5. Implantación de la arquitectura en base al diseño realizado se llevará a cabo la implementación de la arquitectura utilizando librerías de procesamiento y tratamiento de imágenes, machine learning y de comunicación con la plataforma robótica utilizada (AR.Drone). 6. Pruebas experimentales para vericar la trazabilidad establecida y validar la arquitectura cognitiva para su aplicación en el mundo real, recopilando todas aquellas evidencias y datos que sean necesarios. 7. Análisis de los resultados experimentales obtenidos, con el objetivo de extraer conclusiones y poder trazar líneas futuras de investigación de la tesis.. 1.4. Estructura de la tesis La tesis está estructurada en una serie de partes diferenciadas, a lo largo de las cuales se detallan exhaustivamente los diferentes objetivos, diseño, implementación, pruebas experimentales y conclusiones nales de la arquitectura cognitiva híbrida. La primera parte (Parte I), engloba la presente parte introductoria de la tesis, en donde se presentan los diferentes objetivos y requisitos a cumplir por la arquitectura cognitiva híbrida, los paradigmas que serán empleados durante el diseño de la solución, así como de las plataformas robóticas de UAV que serán utilizadas. Posteriormente se detallará la arquitectura cognitiva híbrida (Parte II) como solución funcional a los problemas planteados, en donde se mostrará el detalle exhaustivo de los diferentes módulos que componen la arquitectura y la interrelación entre los mismos. La parte relativa a la librería de comportamientos (Parte III), presenta el esquema completo de los comportamientos que utilizará el UAV para su navegación autónoma. Una vez presentada la arquitectura y la librería de comportamientos, se procederá a presentar las pruebas experimentales ejecutadas, asi como los resultados obtenidos de las mismas (Parte IV), que demostrarán la viabilidad de la arquitectura para su aplicación en situaciones reales. A continuación se mostrarán las conclusiones (Parte V) extraídas de la realización de la presente tesis, además de las futuras líneas de investigación que podrán llevarse a cabo a partir del trabajo aquí presentado. Finalmente, la última parte (Parte VI) de la tesis engloba a modo de anexo, los detalles de implementación de la arquitectura cognitiva híbrida..

(32) 32. CAPÍTULO 1. INTRODUCCIÓN.

(33) Capítulo 2. Estado del arte En el presente capítulo se detallará el estado del arte relacionado con la navegación autónoma de UAVs, objetivo de la arquitectura cognitiva híbrida de ésta tesis; para ello, se presentan los diferentes paradigmas robóticos sobre los cuales se basa el diseño de la misma, procediendo a extraer directrices relacionadas con mecanismos de control y aprendizaje en tiempo real a considerar durante su diseño e implementación. Se presenta el paradigma para la construcción de robots de desarrollo (developmental robots), basado en una adaptación constante del robot con el entorno en donde opera. Como técnica de implementación para el proceso de aprendizaje adaptativo y en tiempo real, se presenta una solución basada en el comportamiento cerebelar a través de los denominados modelos internos (internal models), en donde se dene una serie de controles que de forma combinada proporcionarán al robot de las señales de control más adecuadas en cada momento, además de proporcionar intrínsecamente un autoaprendizaje del sistema.. 2.1. Developmental Robots El paradigma Developmental Robots [39] tiene como objetivo la construcción de robots inteligentes mediante una adaptación de los mismos con respecto al entorno en donde operan, llevando a cabo un proceso de aprendizaje autónomo, en tiempo real y de forma adaptativa según la información sensorial que es capaz de recopilar. Entre los estudios y deniciones del presente paradigma para la construcción de robots de desarrollo, destacan los trabajos de Weng [63], en donde se presentan los requisitos y directrices a cumplir para su diseño, así como de ejemplos concretos de implementaciones llevadas a cabo. Basado en el mismo proceso de aprendizaje que un humano lleva a cabo desde su infancia hasta su vida adulta, la teoría relacionada con el presente paradigma, especica los mecanismos de cómo construir (desarrollar) la mente de un robot de forma autónoma y en tiempo real, mediante una interacción continua y adaptativa con el entorno que lo rodea. Existe un proceso clásico de construcción de robots (Figura 2.1) en donde de forma manual, un diseñador realiza la programación del robot en una primera fase de forma completa (fase de desarrollo manual), en base al conocimiento que tiene él mismo sobre el entorno en donde operará el robot. 33.

(34) 34. CAPÍTULO 2. ESTADO DEL ARTE. Figura 2.1: Paradigma de desarrollo manual de robots. En dicho proceso clásico, el robot adquirirá exclusivamente el conocimiento aportado de forma previa por el diseñador, acorde con el conocimiento que tenga para la resolución del problema, características del entorno, y parametrización necesaria de los algoritmos implementados; todo el proceso dependerá exclusivamente de la programación implementada en dicha fase. Posteriormente en la fase operativa (fase automática de ejecución), el robot utilizará exclusivamente las reglas preestablecidas para explotar el conocimiento que le ha sido facilitado previamente por el diseñador, llevando a cabo un proceso continuo en el tiempo basado en recopilar información sensorial y aplicar las señales motoras establecidas. En el caso de que sea necesaria modicar la parametrización del mismo, el diseñador detendría la ejecución del robot, y procedería a su reprogramación, como paso necesario antes de su vuelta a la ejecución. Este enfoque manual de programación de robots se encuentra con multitud de dicultades, principalmente en aquellos casos complejos en donde se necesiten habilidades ó conocimientos especiales que únicamente se pueden adquirir durante la operativa del robot, y que el diseñador desconoce durante la fase previa; el entorno, los elementos que lo componen, las condiciones ambientales, etc, pueden variar a lo largo del tiempo, por lo que para la construcción de un robot robusto se necesita de un aprendizaje más adaptativo con respecto a dichas situaciones cambiantes que puede encontrar en su entorno operativo.. Figura 2.2: Paradigma de desarrollo autónomo de robots.

(35) 2.1. DEVELOPMENTAL ROBOTS. 35. Dicho aprendizaje adaptativo (Figura 2.2) es la base del presente paradigma de robots de desarrollo, ya que permite que el robot adquiera el conocimiento más conveniente en base su interacción continua con el entorno. Inicialmente, el diseñador facilitará cierto conocimiento previo (fase de construcción) que utilizará en las primeras iteraciones de ejecución, y que se verá complementado durante la fase de ejecución (fase de desarrollo autónomo). Durante dicha fase de desarrollo, el robot llevará a cabo un entrenamiento continuo, dependiendo de nuevas situaciones ó estados que pueda identicar a lo largo de su operativa, y que de forma autónoma, irá adquiriendo nuevo conocimiento que le aportará de la experiencia necesaria para alcanzar un nivel alto de automatismo y optimización en el desarrollo de su actividad para lograr alcanzar sus objetivos. Dichos conceptos se puede mapear con el aprendizaje humano: la fase inicial de construcción con el nacimiento de un niño (t. = 0),. en donde se posee un conocimiento inicial muy básico;. a medida que el niño interactúa con su entorno (t. > 0),. va adquiriendo nuevo conocimiento y. mejorando el que inicialmente poseía.. Figura 2.3: El proyecto SAIL (izquierda) y el proyecto Dav (derecha) como ejemplos de robots de desarrollo[63]. Existen algunas alternativas a dicho paradigma en donde interviene la gura del supervisor durante la fase de desarrollo, ya que mediante un aprendizaje supervisado, intervendría en determinadas situaciones (generalmente críticas ó de mayor complejidad) para que a partir de una determinada información sensorial, proporcionar al robot las señales de control correspondientes que debiera ejecutar para llevar a cabo una tarea especíca. Llevado al caso del aprendizaje humano comentado anteriormente, inicialmente un niño pequeño está supervisado casi completamente por sus padres, y a medida que va pasando el tiempo, estas tareas de supervisión van disminuyendo, hasta valerse por sí mismo..

(36) CAPÍTULO 2. ESTADO DEL ARTE. 36. Una vez que el robot haya adquirido el conocimiento necesario para llevar a cabo dichas tareas, el supervisor deja por tanto de intervenir dentro del bucle de ejecución, dejando al robot de desarrollo ejecutar las tareas adquiridas de forma completamente autónoma. Existen diferentes ejemplos de implementación de dicho paradigma de robots de desarrollo sobre plataformas robóticas reales, como son las diseñadas por Weng [63], mostradas en la Figura 2.3. En dichos proyectos, se llevó a cabo un aprendizaje supervisado inicial, que fue disminuyendo tras un número reducido de iteraciones del robot con su entorno, hasta alcanzar la autonomía necesaria para su desarrollo autónomo. El paradigma de robots de desarrollo se ha empleado en multitud de líneas de investigación [9, 44], considerándose como una opción válida para la construcción de robots inteligentes.. 2.2. Internal Models Cada día son más los estudios experimentales en donde se buscan sinergias entre la neurociencia y las ciencias computacionales, obteniendo en muchos casos resultados positivos a través del estudio de las diferentes partes que componen el sistema nervioso central [30]. A su vez, dentro de la teoría de control existen diferentes modelos [27] que a partir de un conjunto de señales sensoriales, se obtienen como respuesta resultados que pueden ser utilizados para controlar de forma efectiva un agente robótico. De esta forma, nace lo que se conoce como neurociencia computacional [25], en donde la funcionalidad del sistema nervioso central se puede implementar computacionalmente a través de uno de éstos modelos de control. La presente tesis se enfocará concretamente en los estudios realizados sobre el cerebelo, ya que ha sido demostrada[65, 29] la posibilidad de que éste pueda basarse en un modelo interno implementable computacionalmente [24, 23], y utilizado en aquellos sistemas regidos por la teoría de control. En base a dichos estudios se ha determinado, que el circuito del cerebelo implementa un modelo inverso de control, el cual tiene un carácter predictivo ante determinadas situaciones y/o escenarios. Para comprender la funcionalidad de dicho modelo inverso, se comparará con un modelo más básico como es el modelo directo (Figura 2.4). El modelo directo utiliza como entradas en un determinado momento. k,. y. u(k). I(k), que se corresponde con un determinado. estado. como señal de control. De esta forma, si el robot está en. un determinado estado y se le aplica una determinada señal motora, el controlador será capaz de proporcionar como salida el estado destino que alcanzará. I(k + 1).. En el caso de un modelo. inverso, el razonamiento cambia, ya que tiene el carácter predictivo demandado por el modelo interno implementado en el cerebelo.. I(k) en un momento dado k , así como del estado objetivo que el robot quiere alcanzar I(k + 1), por lo que de forma predictiva, su controlador es capaz de proporcionar como salida la señal motora u(k) que debe aplicar en ese momento k el robot para alcanzar el objetivo establecido. Por su parte, el modelo inverso parte del estado actual.

(37) 2.2. INTERNAL MODELS. 37. Figura 2.4: Comparativa entre modelo directo y modelo inverso. De esta forma, es necesario que el modelo interno del sistema de control, implemente el modelo inverso detallado para la parte cerebelar del sistema. Por otro lado, para que el modelo inverso pueda ser útil, el modelo interno a implementar deberá estar compuesto por un elemento adicional, capaz de proporcionarle el conocimiento necesario para su adaptabilidad a un determinado entorno, actividad que lleva a cabo el cerebro de forma reactiva con respecto a la información sensorial recopilada. I(k).. Cuando el cerebro recibe una señal sensorial. I(k), se activan las regiones ó recursos neuronales. más adecuadas para su tratamiento, con el objetivo de reducir el error existente entre dicha. I(k), con respecto al objetivo a motoras u(k) más adecuadas en cada. entrada sensorial las señales. I(k + 1); como salida se obtendrás momento k . Dichas señales motoras podrán alcanzar. ser consolidadas de forma gradual a lo largo del tiempo sobre el modelo inverso del cerebelo, adquiriendo éste un conjunto de automatismos que podrá utilizar posteriormente cuando revisite los mismos estados de forma predictiva [22, 21], obteniendo de ésta forma un modelo interno para la generación de señales de control combinadas. La implementación computacional de dichos modelos internos estará compuesta por ambos controladores, el predictivo ó anticipativo, y el controlador de tipo reactivo. Existen estudios llevados a cabo por Kawato [28, 65] en donde se denominan dichos controladores como FeedForward y FeedBack respectivamente, los cuales proporcionan una señal de control combinada a partir de sus señales de control individuales. Cuando se necesita controlar un sistema complejo en tiempo real, un controlador puramente feedback puede incurrir en pequeños retardos que afecten a la propia operativa del sistema, por lo que se tiene que buscar un punto de equilibrio dentro del modelo interno, en donde la señal combinada (predictiva y reactiva) aporte la robustez necesaria al robot, aprovechándose para ello de las ventajas aportadas por ambos tipos de controladores. Como principales características a mencionar para cada uno de los controladores, cabe destacar las enumeradas a continuación:.

(38) CAPÍTULO 2. ESTADO DEL ARTE. 38. Figura 2.5: Sección de un cerebro humano, especicando la relación entre los mecanismos de control con el cerebro y cerebelo. Figura basada en la referencia:[3]. Controlador Feedforward:. ˆ. Predictivo. ˆ. Adaptativo. ˆ. Rápido. ˆ. Grano grueso. Control FeedBack:. ˆ. Reactivo. ˆ. Adaptativo. ˆ. Lento. ˆ. Grano no.

(39) 2.2. INTERNAL MODELS. 39. Figura 2.6: Implementación del modelo interno de control[64]. La implementación computacional del modelo interno se llevará a cabo mediante la construcción de ambos controladores (FeedForward y FeedBack), estableciendo las conexiones necesarias para llevar a cabo la consolidación del conocimiento adquirido durante su ejecución. Se establecerá un objetivo deseado a alcanzar por el sistema, el cual se comparará con el estado actual del robot en cada una de las iteraciones del bucle de control. A partir de dicha comparación se obtendrá un error que será empleado por parte del controlador FeedBack para el cálculo reactivo de la señal motora feedback más adecuada que será utilizada por el sistema. De forma paralela, se obtiene mediante el controlador FeedForward la señal correspondiente mediante el modelo inverso implementado, utilizando como entrada el estado deseado que haya sido establecido inicialmente. Finalmente, el modelo interno combinará ambas señales de control generadas por separado, en una única señal motora que será aplicada sobre el objeto a controlar..

(40) 40. CAPÍTULO 2. ESTADO DEL ARTE.

(41) Capítulo 3. Vehículos aéreos no tripulados (UAV) Un vehículo aéreo no tripulado ó UAV (Unmanned Aerial Vehicle) es un sistema de vuelo de carácter autónomo, por la particularidad de que no es necesario ningún tipo de supervisor ó piloto durante su navegación. El UAV se puede considerar igualmente como un robot autónomo, el cual necesitará de una arquitectura de control para a partir de la información sensorial recopilada de su entorno, generar las señales de control más adecuadas en cada momento durante su navegación.. Figura 3.1: Modelos de UAV (de izquierda a derecha: MQ-9 Reaper, micro UAV y quadcopter). Todo UAV deberá llevar a bordo un conjunto de sensores y actuadores para poder interactuar con el entorno en donde desencadenará su funcionamiento, los cuales facilitarán su capacidad de percepción así como de los mecanismos para desenvolverse por el mismo. La particularidad en el control de un UAV con respecto a otros tipos de robots autónomos, es la consideración de las tres coordinadas. (x, y, z). dentro del entorno, y por consiguiente, el control de una navegación. autónoma en 3 dimensiones del robot. Son muchas las aplicaciones de UAV, siendo mayoritariamente empleados en acciones que impliquen un riesgo para el piloto y la posible tripulación. Históricamente los UAV han sido aeronaves controladas remotamente, los cuales carecían del carácter de autonomía que más recientemente están tomando; es éste último tipo sobre el cual se enfocará la presente tesis. Otras aplicaciones de un UAV son labores de seguridad civil, reconocimiento, acciones militares, acceso a lugares complicados, etc. Los UAV pueden tomar diferentes morfologías, desde aviones de diferente fuselaje, helicópteros / multicópteros, hasta pequeños micro UAV basados en el vuelo de diferentes pájaros y/o insectos. 41.

(42) CAPÍTULO 3. VEHÍCULOS AÉREOS NO TRIPULADOS (UAV). 42. 3.1. Clasicación de un UAV Los UAV pueden clasicarse en base a las diferentes misiones para las cuales se les ha diseñado, entre las que se encuentran los siguientes tipos: UAV de prueba: son empleados para simular terceros aviones dentro de un sistema de defensa controlado. UAV de reconocimiento: se encargan de recopilar información detallada relativa a un área geográca concreta ó sobre un objetivo previamente establecido. UAV militares: son utilizados en conictos militares y acciones bélicas, llevando a cabo misiones muy peligrosas y de alto secreto. UAV de rescate: su misión será la de ayudar, socorrer y rescatar a personas sobre zonas de difícil acceso. UAV de logística: se encargan del transporte de mercancías, en muchos casos en situaciones extremas. UAV de uso comercial y civil: se utilizan para nes comerciales, ocio y propósitos civiles. UAV para la investigación: son utilizados para nes de investigación y pruebas experimentales. Este último tipo es el empleado en la presente tesis.. 3.2. Sensores de un UAV Para poder controlar de forma autónoma un UAV, el modelo que lo implementa deberá proporcionar una serie de sensores, para poder llevar a cabo el proceso de captura de la información sensorial necesaria, con respecto al entorno en donde se desenvuelve. Los sensores de un UAV están generalmente relacionados con aspectos típicos de la instrumentalización de una aeronave, pudiendo recopilar datos relativos a su posición, aceleración, ángulos de giro, velocidad y cualquier otra componente dinámica que intervenga en su navegación. De forma genérica, los principales sensores son los siguientes: Longitud: valor en grados que indica su longitud sobre la Tierra. Latitud: valor en grados que indica su latitud sobre la Tierra. Altitud: valor métrico de la aeronave sobre la supercie de su entorno. Grados de giro: valores en grados sobre los giros realizados por el UAV sobre cada uno de sus ejes. (x, y, z).. Velocidad: indicador de la velocidad en cada momento del UAV. Todos estos sensores pueden ser proporcionados por dispositivos de posicionamiento implementados en el UAV, como pueden ser dispositivos GPS ó brújulas electrónicas, instalados a bordo como parte de la instrumentalización. Lógicamente, a medida que el modelo del UAV se hace.

(43) 3.3. ACTUADORES DE UN UAV. 43. más complejo, pueden existir otros sensores más especícos, como pueden ser los sensores de proximidad, visión y análisis físico/químico del entorno. El conjunto de sensores implantados en el UAV serán utilizados para la recopilación de la información sensorial del entorno, y cuyos valores servirán como entrada al controlador que se implemente, para nalmente proceder al control del sistema robótico autónomo, y poder proporcionarle los valores relativos a las señales de control más adecuados.. 3.3. Actuadores de un UAV El controlador que proporciona la autonomía al UAV necesita como entrada los valores proporcionados por los sensores, siendo éstos recopilados, analizados y empleados para el cálculo de los nuevas señales de control que se proporcionarán a los actuadores de los que dispone el UAV. Los actuadores que un UAV lleve a bordo, podrán variar dependiendo principalmente de su morfología; por ejemplo, los UAV basados en helicópteros poseen una estructura de motores que hacen girar un conjunto de hélices, permitiendo despegar desde un punto jo, volar, y trazar su rumbo en base a una serie de ángulos de giro. Por otra parte, los UAVs basados en aviones emplean para ello alerones y timón como mecanismos para su navegación y cambios de rumbo. Entre los actuadores genéricos de que dispone un UAV cabe destacar los siguientes: Alerones: están situados en las alas de la aeronave, proporcionándole la capacidad de giro de izquierda a derecha de forma rápida. Los UAV basados en helicópteros no los implementan. Timón: está situado en la parte trasera ó cola de la aeronave, encargándose de dotarle la capacidad de variar su rumbo de forma suave. Los UAV basados en helicópteros no los implementan. Elevador: es el encargado de proporcionar la capacidad de aumentar ó disminuir la posición de altitud del UAV, variando para ello la potencia de los motores implementados. Propulsor: es el control encargado de proporcionar potencia a los motores del UAV, existiendo generalmente uno por cada motor del UAV. Frenos: son los dispositivos encargados de reducir la potencia de la aeronave. En el caso helicópteros como UAV, podrán dotar de estabilidad al aparato sobre una misma posición en el aire. Modelos más complejos de UAV pueden poseer actuadores más sosticados, dependiendo mucho del tipo de misión que lleven a cabo y de la morfología para lo cual fueron diseñados.. 3.4. Navegación de un UAV Los mandos de vuelo que permiten la navegación de un UAV, son todos aquellos mecanismos integrados en la aeronave (sensores y actuadores) cuyo objetivo es variar su orientación y posición en el entorno. En el presente apartado, se denen las distintas maniobras que un UAV es capaz de realizar, para cual se presentan los diferentes ángulos de giro sobre sus ejes principales, en un especio de 3 dimensiones como es la navegación aérea. Todo UAV es capaz de realizar 3.

(44) CAPÍTULO 3. VEHÍCULOS AÉREOS NO TRIPULADOS (UAV). 44. posibles giros básicos alrededor de sus 3 ejes perpendiculares entre sí, cuyo punto de intersección ó coordenada. (0, 0, 0). está situado sobre el centro de gravedad de la aeronave.. Figura 3.2: Maniobras de rotación sobre los 3 ejes del UAV. Para identicar de forma correcta cada una de las maniobras que el UAV puede llevar a cabo, se denominará los 3 ejes de la siguiente forma: el eje transversal (P itch), el eje longitudinal (Roll ) y el eje vertical (Y. aw);. de esta forma, el UAV podrá realizar a lo largo de los mismos, los. siguientes tipos de maniobras posibles: Cabeceo:. Se trata del movimiento que realiza el UAV alrededor del eje transversal (P itch). Dicho eje se extiende de punta a punta de los extremos de las alas de la aeronave, capacitando a ésta de poder modicar la orientación, elevando ó bajando el morro del avión, produciendo en consecuencia, una variación de la altitud en el aire. El actuador que se emplea para producir el cabeceo es el elevador, permitiendo un control de los grados de inclinación durante la maniobra de cabeceo.. Alabeo:. Cuando se produce una variación alrededor del eje longitudinal (Roll ) del UAV se desencadena un movimiento conocido como alabeo. El eje longitudinal se extiende desde el morro hasta la cola del UAV, produciendo un movimiento de inclinación de la aeronave hacia la izquierda ó hacia la derecha. El actuador que se emplea para el alabeo son los alerones situados en las alas; cuando el alerón de una de las alas sube, el alerón del otro ala baja para producir el giro lateral del UAV. De esta forma, cuando el alerón se ha exionado hacia abajo produce un aumento de sustentación en su ala correspondiente, provocando el ascenso de la misma, mientras que el alerón.

(45) 3.4. NAVEGACIÓN DE UN UAV. 45. que es exionado hacia arriba, produce en su ala una disminución de sustentación, motivando el descenso de la misma. Guiñada:. Los giros alrededor del eje vertical (Y. aw). del UAV son conocidos como movimientos. de guiñada. Se trata de un eje que pasa por el centro de gravedad del avión, siendo perpendicular a los ejes transversal y longitudinal. Dicho movimiento permite corregir el rumbo de la aeronave girando alrededor del mismo de izquierda a derecha. El actuador que se emplea para conseguir la guiñada del UAV es el timón de dirección ó de cola, situado en la parte trasera de la aeronave..

(46) 46. CAPÍTULO 3. VEHÍCULOS AÉREOS NO TRIPULADOS (UAV).

(47) Capítulo 4. AR.Drone La plataforma robótica aérea que se utiliza durante la fase experimental de la presente tesis como UAV, es el nuevo quadricóptero de Parrot llamado AR.Drone. Se trata de un producto comercial orientado al ámbito profesional y de ocio, aunque cada vez son más los trabajo de investigación que lo utilizan como plataforma robótica experimental [34, 7], dada su capacidad de programación, así como de la integración con diferentes librerías relacionadas con la inteligencia articial y la visión por computadora, como puede ser OpenCV. El AR.Drone es capaz de llevar a cabo una navegación supervisada por parte de un usuario, ó autónoma empleando un sistema de control como el diseñado en la presente tesis; en ambos casos la navegación se efectúa a través de los sensores de visión y altitud que lleva a bordo, ejecutando determinadas maniobras de movimiento a lo largo de sus 3 ejes. (x, y, z), así como del. control de su altitud. Los actuadores que lleva implementados se corresponden con 4 motores de tipo hélice, que dependiendo de su velocidad de rotación individual, consiguen llevar a cabo las diferentes maniobras y capacidades de despegar y aterrizar el UAV.. 4.1. Descripción del AR.Drone 2.0 Se ha utilizado la última versión del producto a la fecha, el AR.Drone 2.0 dotado con capacidades visuales en alta denición a través de su cámara a bordo situada en la parte frontal del mismo, así como de un sistema de estabilización basado en la captura de imágenes que realiza otra segunda cámara de baja denición situada en la parte inferior del robot. Mediante dichos sensores, el AR.Drone es capaz de mostrar al usuario de forma remota lo que en cada momento está visualizando, pudiendo el supervisor enviar determinadas operaciones de movimiento que serán asignadas a los 4 motores de tipo hélice que tiene implantados sobre una plataforma metálica en forma de cruz. El AR.Drone dispone de un conjunto de librerías (AR.Drone SDK) que permiten su programación, tanto para capturar las imágenes del entorno en donde está situado y obtención de datos de navegación internos, así como de las operaciones de envío de señales motoras para realizar diferentes maniobras complejas. La presente arquitectura cognitiva hace uso de dichas librerías desde su módulo sensorial, control y actuador, invocando a las diferentes funciones que son necesarias en cada caso. La librería AR.Drone SDK está formada por una serie de niveles interrelacionados, en donde existe una capa encargada de gestionar a bajo nivel el hardware que constituye el UAV, y sobre la cual se implementan de forma apilada otra serie de capas de alto 47.

Figure

Actualización...

Referencias

Actualización...

Related subjects :