• No se han encontrado resultados

Modelación y Control de un Mini-Helicóptero-Edición Única

N/A
N/A
Protected

Academic year: 2017

Share "Modelación y Control de un Mini-Helicóptero-Edición Única"

Copied!
127
0
0

Texto completo

(1)

México a  de 20 

INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE  MONTERREY 

PRESENTE.­

, en los sucesivo LA OBRA, en virtud de lo cual autorizo a el Instituto  Tecnológico y de Estudios Superiores de Monterrey (EL INSTITUTO) para que  efectúe la divulgación, publicación, comunicación pública, distribución,  distribución pública y reproducción, así como la digitalización de la misma, con  fines académicos o propios al objeto de EL INSTITUTO, dentro del círculo de la  comunidad del Tecnológico de Monterrey. 

El Instituto se compromete a respetar en todo momento mi autoría y a  otorgarme el crédito correspondiente en todas las actividades mencionadas  anteriormente de la obra. 

De la misma manera, manifiesto que el contenido académico, literario, la  edición y en general cualquier parte de LA OBRA son de mi entera  responsabilidad, por lo que deslindo a EL INSTITUTO por cualquier violación a  los derechos de autor y/o propiedad intelectual y/o cualquier responsabilidad  relacionada con la OBRA que cometa el suscrito frente a terceros. 

(2)

 

Modelación y Control de un Mini­Helicóptero­Edición Única

 

 

Title

Modelación y Control de un Mini­Helicóptero­Edición

Única

Authors

Víctor Manuel Munguía Canales

Affiliation

Tecnológico de Monterrey, Campus Monterrey

Issue Date

2009­05­01

Item type

Tesis

Rights

Open Access

Downloaded

19­Jan­2017 00:16:46

(3)
(4)

Modelación y control de un 

mini­helicóptero 

T E S I S

Maestría en Ciencias con Especialidad en Sistemas 

Inteligentes 

INSTITUTO TECNOLÓGICO Y DE ESTUDIOS 

SUPERIORES DE MONTERREY 

Por 

ING. VÍCTOR MANUEL MUNGUIA CANALES 

(5)

Modelación y control de un 

mini­helicóptero 

TESIS 

Maestría en Ciencias en 

Sistemas Inteligentes 

Instituto Tecnológico y de Estudios Superiores de Monterrey 

Por 

(6)

INSTITUTO TECNOLÓGICO DE ESTUDIOS SUPERIORES 

DE MONTERREY 

D I V I S I Ó N D E G R A D U A D O S E N M E C A T R Ó N I C A Y T E C N O L O G Í A S D E I N F O R M A C I Ó N

P R O G R A M A D E G R A D U A D O S E N M E C A T R Ó N I C A Y T E C N O L O G Í A S DE I N F O R M A C I Ó N

Los miembros del comité de tesis recomendamos que la presente tesis del Ing. Víctor Manuel Munguía Canales sea aceptada como requisito parcial para obtener el grado académico de Maestro en Ciencias con Especialidad en Sistemas Inteligentes.

Comité de tesis:

Director de Investigación y Posgrado Escuela de Ingeniería

(7)

Modelación y control de un 

mini­helicóptero 

Por 

Ing. Víctor Manuel Munguía Canales 

TESIS

Presentada a la División de Mecatrónica y Tecnologías de Información

Este trabajo es requisito parcial para obtener el grado académico de Maestro en

Ciencias en Sistemas Inteligentes

Instituto Tecnológico y de Estudios Superiores de Monterrey 

(8)

En igualdad de condiciones la propuesta de solución más sencilla es probable­

mente la mejor.

(9)

Agradecimientos 

Deseo externar un sincero agradecimiento a las personas que de alguna forma colaboraron en el desarrollo de esta tesis.

A mis padres, Ofelia Canales Lomelí y Víctor Manuel Munguía Zúńiga, cuyo apoyo ha sido siempre incondicional. Gracias por recibirme las veces que lo he necesitado en ese maravilloso refugio llamado hogar.

A mi asesor, Dr. Rogelio Soto Rodríguez, por su apoyo y confianza durante toda mi maestría, así como por el excelente trato que siempre tuve de su parte.

A mis sinodales, Dr. Arturo Galván y Dr. Ricardo Ramírez, por sus consejos y guia durante el desarrollo de mi tesis.

A la Ing. Mitzi Sánchez, por su ayuda durante mis estudios.

A mis profesores de la maestría, por su enseńanza y entrega.

A Doris Juárez por su ayuda durante estos dos últimos ańos.

Víctor Manuel Munguía Canales 

(10)

Modelación y control de un mini­helicóptero 

V í c t o r M a n u e l M u n g u í a C a n a l e s

I n s t i t u t o T e c n o l ó g i c o y de E s t u d i o s S u p e r i o r e s de M o n t e r r e y , 2 0 0 9

A s e s o r de tesis: Dr. R o g e l i o Soto R o d r í g u e z

En la presente investigación se verifica la viabilidad de obtener un Neurocon­ trolador para dos grados de libertad: R o l l / Φ y P i t c h / θ, de un mini­helicóptero swiftló montado sobre una base de limitación física, de forma simulada, teniendo en conside­ ración lo siguiente:

1. No se cuenta con un modelo matemático de la dinámica del mini­helicóptero swifitló.

2. Es un problema de decisiones secuenciales, "Sequential Decisión Problems (SDPs)", lo que significa que todas las acciones de control están ligadas. 3. El agente o Neurocontrolador, interactúa con un ambiente objetivo desco­

nocido, y donde está en búsqueda de acciones que maximizan su recompensa o aptitud a largo plazo (tiempo en que se evaluará al agente).

Con base en las consideraciones antes expuestas el problema se dividió en dos partes. En la primera parte el modelo de la dinámica de la planta es identificado expe­ rimentalmente usando redes neuronales; dicho modelo será la base para el ambiente de simulación y experimentación de la segunda parte, en la cual se atacó el problema con una perspectiva de aprendizaje por refuerzo [4], en particular usando una técnica Neu­ roevolutiva conocida con el nombre de NeuroEvolution of Augmenting Topologies NEAT [1], esta técnica toma una población de individuos, agentes o Neurocontroladores, y los

(11)

evoluciona conforme pasan las generaciones, y en donde en cada generación se evalúa a cada individuo durante ciento cincuenta incrementos de tiempo secuencial para fi­ nalmente obtener su aptitud la cual es la única guía del algoritmo NEAT en el proceso de Neuroevolución general.

(12)

índice general 

Agradecimientos v 

Resumen vi 

índice de figuras  X I 

índice de tablas  x i v 

Capítulo 1. Introducción 1 

1.2. Motivación 2 1.1. Definición del Problema 4

1.3. Objetivos 6 1.4. Contribución 7 1.5. Contenido. . . 7

Capítulo 2. Marco Teórico 9  2.1. El Helicóptero 9 2.2. Dinámica de un helicóptero 10

2.3. Marco de referencia del helicóptero 11 2.4. Definición de las entradas al helicóptero y notación 12

2.5. Redes Nueronales Artificiales 13 2.5.1. Redes neuronales de retropropagación 17

2.6. Algoritmos Genéticos 17 2.6.1. Métodos de representación 18

2.6.2. Métodos de selección 20 2.6.3. Operadores genéticos 21

2.7. Neuroevolución 22 2.8. Neuroevolución NEAT 23

2.8.1. Un comienzo básico o mínimo 22

2.8.2. El genoma NEAT 25 2.8.3. Operadores e innovaciones 26

2.8.4. Mareaje histórico 28 2.8.5. Protegiendo la innovación ­ Especiación 30

(13)

Capítulo 3. Identificación del modelo 31 

3.1. Propósito de un modelo 31 3.2. Esquema general de la identificación experimental 32

3.3. Modelo neuronal 34

Capítulo 4. Diseńo y control para un Mini­Helicóptero 37 

4.1. Introducción 37 4.2. Lazo de control: mini­helicóptero 38

4.3. Controladores neuronales 39 4.4. Proceso General de Neuroevolución 40

4.4.1. Parámetros de NEAT 43 4.4.2. Estructura inicial de cada Neurocontrolador 45

4.4.3. Procesamiento de las entradas y salidas del Neurocontrolador. .47

4.5. Función Objetivo (Evaluación) 49 4.6. Evolución Incremental del Neurocontrolador 53

4.7. Métricas del desempeńo para un Neurocontrolador 56 4.7.1. Prueba "etiquetadora" de un Neurocontrolador 58

Capítulo 5. Resultados Finales 60  5.1. Resultados de la validación del modelo identificado para 2GDL (Φ, θ) 60

5.2. Piloto humano en vuelo estacionario 65 5.3. Mejor Neurocontrolador de 2GDL desarrollado 67

5.4. Resultados para el Neurocontrolador de 2GDL (Φ, θ) 70

5.4.1. Respuesta del Neurocontrolador (Φ, 9) al cambio de referencia

para el ángulo (Φ) sin perturbaciones 70 5.4.2. Respuesta del Neurocontrolador (Φ, θ) al cambio de referencia

para el ángulo (9) sin perturbaciones 72

5.4.3. Respuesta del Neurocontrolador (Φ,θ) al seguir una referencia

para el ángulo (Φ) sin perturbaciones 74 5.4.4. Respuesta del Neurocontrolador (Φ, θ) al seguir una referencia

para el ángulo (Φ) con perturbaciones en cada ángulo 75 5.4.5. Respuesta del Neurocontrolador (Φ, θ) al seguir una referencia

para el ángulo (9) sin perturbaciones 79

5.4.6. Respuesta del Neurocontrolador (Φ, θ) al seguir una referencia

para el ángulo (9) con perturbaciones 82

Capítulo 6. Conclusiones y Trabajo Futuro 86 

(14)

Bibliografía 92 

Apéndice 96 

.1. Apéndice A .• 98

.2. Apéndice B 101 .3. Apéndice C 104 .4. Apéndice D 108

(15)

índice de figuras 

Figura 1—1. Diagrama a bloques del control del mini­helicóptero 6

Figura 2—1. Elementos de un helicóptero 10 Figura 2—2. Cuerpo rígido coordenado de mano derecha 11

Figura 2 ­ 3 . Control del roll 12 Figura 2­4. Control del pitch 12 Figura 2—5. Control del movimiento vertical (levantarse) 12

Figura 2—6. Control del yaw 13 Figura 2—7. Una red de neuronas McCulloch­Pitts 14

Figura 2—8. Comparación entre una neurona biológica y un perceptrón 15

Figura 2—9. Red hacia adelante 17 Figura 2—10. Tres sencillos árboles 19

Figura 2—11. Cruzamiento 21 Figura 2­12. Mutación 21 Figura 2 ­ 1 3 . Codificando una red con el método NEAT 26

Figura 2—14. Mutación para agregar una neurona 27 Figura 2—15. Diferentes tipos de conexión o acoplamiento 28

Figura 2—16. Agregando una neurona a una red 28 Figura 2—19. Dos fenotipos con diferentes innovaciones 29

Figura 2—20. El operador de cruce en acción 30 Figura 3—1. Diagrama de identificación de la dinámica del mini­helicóptero 32

Figura 3—2. Obtención de datos para el control del mini­helicóptero 33 Figura 3—3. Sensor xsense adosado a la panza del mini­helicóptero 34 Figura 3—4. Modelo neuronal de la dinámica del mini­helicóptero 35

Figura 3 ­ 5 . Proceso de aprendizaje de la red neuronal 36 Figura 4—1. Lazo de control del Neurocontrolador 39

Figura 4—2. Control neuronal directo 40 Figura 4—3. Proceso general de Neuroevolución para el mini­helicóptero 42

Figura 4—4. Neurocontrolador básico para dos entradas, dos salidas 46

Figura 4—5. Unidad genérica de procesamiento, 47 Figura 4—6. Respuesta característica de la tangente hiperbólica 47

Figura 4—7. Procesamiento para dos variables de entrada y dos variables de salida 48

(16)

Figura 4—9. Diagrama esquemático del proceso de evolución incremental 55

Figura 4—10. Métricas a observar 56 Figura 4—11. Distribución Normal, con media en 0 y una desviación estándar de 1 57

Figura 4—12. Intervalos de probabilidad, dada la desviación estándar 58 Figura 5—1. Descenso del error cuadrático medio para el modelo de 2GDL 61

Figura 5—2. Ángulo de postura (0) real del modelo de 2GDL 62

Figura 5—3. Ángulo de postura (0) predicho por el modelo de 2GDL 62 Figura 5—4. Error entre el ángulo real y el ángulo predicho en (0) 63 Figura 5­5. Ángulo de postura () real del modelo de 2GDL 64

Figura 5—6. Ángulo de postura (θ) predicho por el modelo de 2GDL 64

Figura 5—7. Error entre el ángulo real y el ángulo predicho en (6) 65 Figura 5—8. Cambio de postura en el ángulo ( 6).piloto humano 66

Figura 5—9. Cambio de postura en el ángulo (<P) piloto humano 66

Figura 5­10. Mejor Neurocontrolador de 2GDL desarrollado mediante NEAT 68

Figura 5—11. Superficie de la seńal manipulada para Ulong 69 Figura 5—12. Superficie de la seńal manipulada para Ulat 69 Figura 5—11. Respuesta en 0 con un cambio escalón de 5 grados 71

Figura 5—12. Respuesta en 6, cuando hay un cambio escalón de 5 grados en θ 72

Figura 5—13. Respuesta den θ con un cambio escalón de 5 grados 73 Figura 5—14. Respuesta en 0, cuando hay un cambio escalón de 5 grados en θ. 73

Figura 5—15. Respuesta en 0 al seguir una referencia dada por Ssen(2iift) 74 Figura 5—16. Respuesta en , cuando θ sigue una referencia 5sen(2nft) 75 Figura 5­17. Respuesta en Φ al seguir una referencia dada por 5sen(2nft) 76 Figura 5—18. Respuesta en θ, cuando 0 sigue una referencia Ssen(2nft) 77 Figura 5—19. Respuesta en Φ al seguir una referencia dada por 5 sen(2nft) 78 Figura 5—20. Respuesta en 6, cuando Φ sigue una referencia 5sen(2nft) 79 Figura 5—21. Histograma de los datos de entrenamiento para Pitch 80 Figura 5—22. Respuesta en θ al seguir una referencia dada por 5sen(2nft) 81

Figura 5—23. Respuesta en 0, cuando θ sigue una referencia 5sen(2nft) 82 Figura 5—24. Respuesta en al seguir una referencia dada por Ssen(2nft) 83 Figura 5—25. Respuesta en Φ, cuando θ sigue una referencia Ssen(2nft) 84 Figura 5­26. Respuesta en 6 al seguir una referencia dada por 5sen(2nft) 85 Figura 5—27. Respuesta en 0, cuando 6 sigue una referencia Ssen(2nft) 85

Figura 6—1. Proyectos de súper computo con GPUs y CUDA 89

Figura 6­2. Plataforma de Hmitación física 6 GDL 90 Figura 6—3. Visualización de los tres grados de libertad posibles 99

Figura 6­4. Control Remoto RC, FUTABA 7C 108

(17)

Figura A ­ l . Vista lateral del esquema de la base de limitación física 98 Figura A­2. Visualización de los tres grados de libertad posibles 99 Figura A­3. Mini­helicóptero real montado en la base de limitación física 100

Figura A­4. Plataforma de limitación física 6 GDL , 100

Figura B ­ l . Sorbetes 101 Figura B­2. Figura de las posturas 102

Figura B­3. Movimientos coreográficos a realizar 103

Figura C­l. Sensor IMU 104 Figura C­2. Sistema de coordenado del sensor IMU 105

Figura C­3. Fusión de sensores 106 Figura C­4 Trama de datos en el modo de salida de postura 106

Figura C­5. Trama de datos en el modo de salida inercial 107

(18)

índice de tablas 

Tabla 2­1. Variables de entrada de un helicóptero,. 13

Tabla 4­1. Variables de control constantes, ucol, uped 39

Tabla 4­2. Parámetros de NEAT utilizados en el presente trabajo 45

Tabla 4­3. Rango adecuado de las variables de control 49

Tabla 4­4. Definición tipo de Ruido 57 Tabla 4­5. Prueba "etiquetadora" para el Neurocontrolador <P, 8 59

Tabla 5­1. Evolución incremental para el Neurocontrolador de 2 GDL 67

Tabla 5­2. Plan de la prueba: 71 Tabla 5­3. Seguir una referencia para el ángulo (G) sin perturbaciones 72

Tabla 5­4. Seguir una referencia para el ángulo (Φ) sin perturbaciones 74 Tabla 5­5. Seguir una referencia para el ángulo (Φ) con perturbaciones 75 Tabla 5­6. Respuesta al seguir una referencia para el ángulo (0) con perturbaciones 79

Tabla 5­7. Respuesta al seguir una referencia para el ángulo (Φ) con perturbaciones....82

Tabla D­l.Control Remoto RC, FUTABA 7C 108

(19)

Capítulo 1 

Introducción 

El control de aeronaves y en particular el control de helicópteros, es una tarea compleja en la que el ingeniero o investigador se enfrenta a sistemas inherentemente inestables, con comportamientos no lineales, múltiples entradas y salidas, alto grado de acoplamiento en sus variables de estado, además de encontrarse en ambientes ruidosos, o con estados ocultos (no se pueden observar). Por lo anterior, el diseńo de controlado­ res para tales sistemas no es una tarea trivial, ya que requiere conocimientos especializa­ dos de la dinámica del sistema en cuestión, así como considerable experiencia y cono­ cimientos en teoría de control.

Estos sistemas usualmente son abordados con sistemas de control tradicional o control moderno, lo que requiere de una representación matemática en forma de ecua­ ciones diferenciales o en ecuaciones de estados. Sin embargo, en los últimos ańos se ha retomado el interés por utilizar técnicas de control inteligente, el cual se fundamenta en la utilización de técnicas de inteligencia artificial que se vienen desarrollando desde los ańos sesenta.

Una de las técnicas inteligentes más usadas hoy día son los algoritmos genéticos, en gran medida por su versatilidad así como notables resultados prácticos. El aprendi­ zaje artificial es uno de los temas que más atención ha recibido por parte de la comuni­ dad científica que experimenta con tales técnicas; esta disciplina estudia el proceso de aprendizaje en general, haciendo hincapié en llevar al mundo de las computadoras lo que se conoce sobre estos procesos de los seres vivos. El problema fundamental es que los agentes artificiales con frecuencia deben operar en ambientes como los descritos previamente, por lo que no resulta viable incorporar a priori todo el conocimiento re­ querido para un rendimiento aceptable; en ocasiones, tal conocimiento ni siquiera se encuentra disponible previamente.

(20)

so puede catalogarse como deductivo, inductivo, o abductivo [35]. En este contexto, el algoritmo genético aporta su gran potencial en el manejo de poblaciones de deduccio­ nes, observaciones e hipótesis, con las ventajas del paralelismo implícito, y del refina­ miento y descubrimiento de información [2], [36].

Otra de las técnicas de inteligencia artificial más populares, son las redes neuro­ nales; este tipo de técnica tiene la característica de poder aproximar cualquier función

[22], [5], lo cual nos resulta muy útil ya que gracias a esta característica podemos identi­ ficar el modelo dinámico de cualquier sistema [31] o controlar un mini­helicóptero [14]. En definitiva, las redes neuronales no son más que un modelo artificial y simpli­ ficado [37] del cerebro humano, que es el ejemplo más perfecto del que disponemos de un sistema que es capaz de adquirir conocimiento a través de la experiencia. Una red neuronal artificial es un sistema para el tratamiento de la información, cuya unidad bási­ ca de procesamiento está inspirada en la célula fundamental del sistema nervioso humano: la neurona [11].

Por su parte, la combinación de redes neuronales y algoritmos genéticos recibe el nombre de "Neuroevolución", cuyo problema típico es la determinación del número de capas y nodos, tarea en la que el algoritmo genético puede ser usado para determinar el número oprimo de los mismos [1].

Más aún, tenemos el problema de no sólo determinar las neuronas y capas, sino también los pesos entre conexiones y no sólo eso, determinar la topología de la red neuronal usando algoritmos genéticos para este propósito, a este tipo de técnicas se que se les conoce como evolución de redes neuronales artificiales en topología y pesos (TWEANN).

En el presente trabajo de investigación se hace uso de una técnica TWEANN, conocida como Neuroevolución de topologías aumentadas o NEAT [1] por sus siglas en inglés; esta técnica es particularmente interesante ya que introduce una innovación respecto a otras TWEANN, la cual es la especiación, es decir la división grupal de redes con características comunes, las cuales pueden sobrevivir al momento de aplicar el ope­ rador genético de cruza entre dos padres.

1.1 Motivación de la investigación 

Aun hoy en nuestros días los sistemas más avanzados de control e inteligencia artificial palidecen al ser comparados con los más diminutos sistemas de control e inte­ ligencia biológica. El volar de una libélula, el movimiento de un pez en el agua, el vuelo

(21)

de una abeja, moscas, mosquitos, las extraordinarias acrobacias que estos insectos son capaces de realizar en el aire, y en general cualquier insecto por diminuto que sea, repre­ senta un sistema complejo al intentar llevarlo al campo artificial. Encontrar la fórmula matemática que imite tales sistemas ha sido uno de los principales retos para ingenieros, investigadores, y científicos, además de un aliciente, pues al adentrarnos al mundo de la naturaleza no dejamos de sorprendernos más y más al encontrar en cada ser vivo una maquinaria perfectamente diseńada.

A pesar de los múltiples esfuerzos tenemos como resultado poco éxito al inten­ tar igualar tales sistemas. Se ha logrado a lo mucho una burda imitación donde la com­ plejidad conlleva modelos difíciles de entender, depurar, y mejorar. Ya en los ańos '80 la NASA comprendía que la complejidad de los modelos matemáticos iba en aumento, lo que hacía muy difícil su mejora y depuración [16].

La Inteligencia Artificial es un intento por descubrir y describir aspectos de la naturaleza humana que pueden ser simulados mediante máquinas. Esta se ha desarro­ llado fuertemente en los últimos ańos, teniendo aplicación en algunos campos como visión artificial, demostración de teoremas, procesamiento de voz expresada mediante lenguajes humanos, entre muchos otros. Las técnicas de sistemas inteligentes pueden ser aplicados en un amplio espectro de dominios donde el aprendizaje sea deseado, por ejemplo: el control, los juegos, la economía, la visión, la planeación, la decisión, etc. En especial sistemas que mimetizan en un mayor grado los sistemas biológicos, como lo son las redes neuronales y los algoritmos genéticos.

Con lo antes expuesto como referencia, he tomado como premisa de este pro­ yecto la máxima de William Ockham, mejor conocida como Ockham Razor, la cual nos dice que en igualdad de condiciones la propuesta de solución más sencilla es pro­ bablemente la mejor. Al utilizar evolución de redes neuronales donde se está buscando tanto en pesos de la red como en la topología de la misma, la propuesta de solución se convierte en un sistema sencillo, donde se espera minimizar el costo de implementa­ ción, los conocimientos y sabiduría requeridas de antemano, el tiempo de desarrollo y puesta en marcha, y aun así, obtener un control para mantener en vuelo estacionario sobre la base de limitación física al mini­helicóptero.

(22)

1.2 Definición del problema 

Los helicópteros y mini­helicópteros son vehículos aéreos que tienen una carac­ terística particular que los distingue de los aeroplanos, esta capacidad especial es la que les permite mantenerse en vuelo estacionario ("Hover"), es decir, sobrevuelan una misma posición sin tener traslaciones horizontales en ninguno de los ejes. Para que un helicóptero o un mini­helicóptero logre mantenerse en vuelo estacionario, es indispen­ sable conservar el control de múltiples variables, pero siendo las más representativas los ángulos de postura (Roll/<t>, Pitch/9, y Yzw/ip) del aeronave, ya que en base a ellos se producen los desplazamientos traslacionales sobre los ejes X y y, es por ello que al mantener en control estos tres ángulos, podemos sobrevolar una misma posición.

Aunque estos tres ángulos son las variables más representativas para mantener en Hover un mini­helicóptero, no son las únicas variables que se requiere controlar, es por ello que para poder abordar el diseńo de un sistema en el tiempo disponible, había que simplificar el sistema de alguna forma en la que se pudiera enfocar el diseńo de un controlador para sólo dos variables (Roll/Í*, Pitch/0). Considerando lo anterior se di­ seńó y construyó una plataforma de limitación física, en la cual fue posible mantener a salvo el mini­helicóptero inherentemente inestable, y limitar el número de variables a controlar gracias a limitaciones físicas, ver figuras 3­4, 3­5 y 3­6.

Como ya se ha mencionado, el diseńo de sistemas de control para vehículos autónomos no tripulados, y en particular para helicópteros, es una tarea difícil, ya que hablamos de un sistema inherentemente inestable, con muchos grados de libertad, y alto grado de acoplamiento en sus variables de estado. Por estas razones es deseable utilizar técnicas de sistemas inteligentes que ayuden a abordar de manera simplificada este tipo de problemas.

Para la presente investigación se utilizará una técnica de evolución de redes neu­ ronales conocida como NEAT [1], con la cual se evolucionará una población de Neu­ rocontroladores, que parten de una estructura básica, como se muestra en la figura 4­4. La estructura se irá transformando conforme pasen las generaciones de evolución hasta que finalmente, al pasar por un proceso de Neuroevolución combinado con una evolu­ ción incremental, se incrementará la complejidad de la tarea que será abordada por el individuo o Neurocontrolador en turno de una población durante un lapso n de tiem­ po. Posteriormente se vuelve a evolucionar con la nueva tarea, convirtiéndose así en un ciclo de Neuroevolución y evolución incremental que terminará en el momento que se obtenga un Neurocontrolador que pueda mantener en vuelo estacionario al mini­ helicóptero simulado, con el menor error en estado estacionario para sus ángulos de postura, así como que sea tolerante al ruido en las mediciones de postura.

(23)

Se puede asegurar que es de interés tanto comercial como militar, el obtener so­ luciones de autocontrol para aeronaves no tripuladas, las cuales puedan implementarse en corto tiempo, a bajo costo y con robustez. Por estas razones, en los últimos ańos ha crecido el interés en aplicar técnicas de control inteligentes para este tipo de aplicacio­ nes. A esto le ańadimos el interés científico por mimetizar en mayor detalle los sistemas de control biológicos.

Entre las técnicas de control inteligente para helicópteros tenemos: las redes neuronales, algoritmos genéticos, lógica difusa y Reinforcement Learning (RL). Estas técni­ cas han mostrado tiempos de implementación cortos o muy cortos, con igual o superior estabilidad a los sistemas matemáticos convencionales, y con costos de implementación bajos. Entre las diversas técnicas de inteligencia artificial consultadas, hay una que reú­ ne cinco puntos de mi interés científico, los cuales son:

i. Mimetizar los sistemas de control biológico o natural, en el mejor grado posi­ ble.

ii. Que el sistema sea capaz de aprender sin conocimientos previos, en similitud a lo que hace una persona.

iii. Puede ser usada para el control de vuelo de un helicóptero. iv. Ser una técnica nueva o relativamente nueva.

v. Y por último, tener el potencial de continuar en su desarrollo.

La técnica N E A T representa una innovación en la forma de evolucionar una red neuronal artificial, ya que no sólo se aboca a la búsqueda de los pesos, sino también en la arquitectura de la misma, comenzando con una red básica que va evolucionando, a lo que se denomina como complexificaáón [23], [24]. Con ello obtenemos una mejora en el tiempo de solución. Por otra parte, el aprendizaje no es supervisado, por lo tanto no son necesarias tramas de entrenamiento, lo que traería consigo más costos de requerir­ las. Sin duda es una técnica que mimetiza en un mejor grado un sistema neuronal natu­ ral, así mismo existe la posibilidad de seguir mejorando la técnica.

1.3 Objetivos 

(24)

Dentro de los objetivos particulares a cumplir tenemos los siguientes:

1. Identificación de la planta (aproximación del modelo matemático) mediante una red neuronal utilizando observaciones numéricas experimentales de en­ trada­salida del sistema (mini­helicóptero) [14].

2. Validación del modelo identificado mediante una red neuronal de propaga­ ción hacia atrás, para lo cual se realizaron múltiples vuelos de prueba para adquirir diferentes vectores de entrada­salida. De la información obtenida se usó un grupo de vectores de datos para realizar el entrenamiento, y con el resto de vectores se realizó la validación del modelo. Por último, se hace una evaluación cualitativa de la respuesta del mini­helicóptero a comandos esta­ blecidos.

3. Evolucionar redes neuronales que controlarán (Neurocontrolador) dos gra­ dos de libertad del helicóptero (RoU/0 y P i t c h / 0 ) , mediante el algoritmo NEAT y evolución incremental, hasta obtener un Neurocontrolador que pueda mantener lo más cercano a "Hover" al mini­helicóptero.

4. Evaluar el mejor Neurocontrolador encontrado con métricas de control tra­ dicional, así como en presencia de ruido en los sensores (inyectándoles una seńal de "ruido" con distribución normal, a las salidas de los sensores).

Ángulos (t) 

•MMMHHMMHHHMi 

Ángulos (t) I (  Error Pitcli 

Neurocon trolaílo r 

Planta  Identificada  Con NN  Ángulos  Roll (t+1) "  Pitch (t+1)  Ruido en  Ir* rfl rji)

Vizuaiizacton 3D 

Entradas üc control 

Ref. Pilch 

Ref. Roll 

Roll <J> Phˇ Piteh

0

 Teta 

Uiat— Control Lateral (Roll)  Ulcmg—Control longitudinal (Pitch) 

"Ucol y Upcd pueden ser constantes en la  plataforma de limitación física" y

 s

(3ti

 entradas  en del modelo simulado 

NN— Neurai Nerwork 

Figura 1—1. Diagrama a bloques del control del mini­helicóptero. 

(25)

Esta investigación ofrece mayor información para el control de un mini­ helicóptero eléctrico utilizando aprendizaje por refuerzo, aplicando Neuroevolución como una alternativa factible al uso de métodos paramétricos para la identificación de la planta, así como de conocimientos especializados en dinámica de vuelo y teoría de control para la obtención de un controlador.

De forma más específica las contribuciones de este trabajo son:

• Obtener de forma experimental dos modelos del mini­hehcóptero swiftló  [52] para dos y tres grados de libertad. 

• Obtener un Neurocontrolador para Roll y Pitch, capaz de mantener al mini­ helicóptero swift 16 en vuelo estacionario sobre la base de Hmitación física,  en forma simulada, gracias al modelo identificado. 

• Comprobar la efectividad del modelo de Neuroevolución NEAT en el cam­ po de control. 

• Hacer una amplia comprobación del comportamiento de los dos Neurocon­ troladores. 

• Desarrollar una función de evaluación adecuada para calificar al Neurocon­ trolador en su proceso evolutivo NEAT. 

• Presentar información acerca de los resultados derivados de los Neurocon­ troladores, desarrollados con la técnica NEAT con evolución incremental.  • Con base a los resultados obtenidos es posible concluir que el obtener Neu­

rocontroladores con NEAT y evolución incremental es una alternativa posi­ ble. 

1.5 Contenido 

(26)

En el capítulo se 5 se muestran los experimentos realizados así como los resultados  obtenidos, se podrán apreciar diferentes gráficos con la respuesta del neurocontrolador  aplicado. Por último, en el capítulo 6 se mencionan las conclusiones así como las suge­ rencias para futuro desarrollo, he dedicado varias páginas a esta sección, pues considero  que aún hay mucho por expandir, este proyecto puede ser mucho más ambicioso. 

(27)

Capítulo 2 

Mateo Teórico 

En este capítulo se presentan en primer lugar los elementos que conforman un  helicóptero, se analizan de manera general las variables de control y se define la plata­ forma física experimental a partir de la cual se desarrolla la investigación. Lo anterior  permite entender cómo afectarán y cuáles serán las entradas para el sistema de redes  neuronales a emplear. 

Se explican también a detalle los algoritmos genéticos, redes neuronales, y con  especial énfasis el algoritmo de Neuroevolución NEAT, sobre el cual se desarrolla el  control implementado para el mini­helicóptero. 

2.1

 El Helicóptero 

Definición: Aeronave de alas giratorias (rotor) que proporciona sustentación,  propulsión, control, tales que permitan a la aeronave mantenerse en vuelo estacionario  o de punto fijo sin necesidad de una velocidad de vuelo que genere la sustentación co­ mo pasa con los aeroplanos. 

Ventajas: elevada capacidad de maniobra, alta eficacia en la realización del vuelo  vertical, vuelo a punto fijo, vuelo vertical ascendente y descendente (despegue y aterri­ zaje). 

Limitaciones: Bajas velocidades de crucero. 

En la figura 2­1 se muestran los elementos que componen un helicóptero mis­ mo que se describen de manera general a continuación: 

­ Aspas del rotor: parte del aparato principal que garantiza la propulsión y la  sustentación del helicóptero. 

­ Rotor principal: parte central del aparato principal que garantiza la propulsión  y la sustentación del helicóptero. 

­ Plato oscilante: plataforma que varía la posición y sirve de soporte.  ­ Fuselaje: cubículo reservado para el manejo del aparato. 

(28)

­ Cola: parte trasera y estrecha del fuselaje. 

­ Estabilizador: mecanismo que corrige de manera automática los errores y las  desviaciones y estabiliza la aeronave. 

­ Aleta de cola: mecanismo que evita la desviación de una aeronave. 

­ Rotor de cola (anti par): Rotor auxiliar que garantiza la sustentación y la pro­ pulsión del helicóptero. 

Patín de Aterrizaje 

Figura 2—1. Elementos de un helicóptero 

2.2 Dinámica de un helicóptero 

Para poder realizar el modelo matemático del helicóptero y en general encontrar  un controlador para el mismo, es necesario entender los conceptos básicos de su diná­ mica de vuelo [14], los cuales se presentan a continuación. 

i) Torque. Conforme con la Ley de Newton de acción y reacción, el fuselaje  tiende a rotar en sentido opuesto a las aspas del rotor principal, este efecto  es llamado torque o par de torsión. El torque debe ser contrarrestado y con­ trolado antes de elevarse. El torque es un factor muy importante a conside­ rar en los helicópteros con un solo rotor principal que efectúan su rotación  por la acción de un solo motor. Los efectos del torque sobre el fuselaje son  resultado directo del trabajo efectuado por el rotor principal. Cualquier  cambio de potencia dará como resultado un cambio del torque sobre el fu­ selaje. Además, éste también varía durante las maniobras de vuelo, cambio  que debe ser continuamente corregido. 

(29)

ii) Rotor de cola. La compensación del torque en los helicópteros con un solo  rotor principal es por medio del rotor anti par o rotor de cola. Este rotor  produce un empuje en sentido contrario al torque generado por el rotor  principal sobre la cabina, compensando este movimiento. En general duran­ te el vuelo y debido a los cambios de potencia realizados por el piloto, el  torque cambia y por esto es necesario que el empuje del rotor de cola tam­ bién cambie. 

iii) Control de dirección. El rotor de cola también es usado para el control de  rumbo en vuelo además de realizar los cambios en vuelo estacionario. Este  es uno de los controles básicos que el piloto debe realizar compensando en  todo momento los cambios de potencia en todas las fases del vuelo. 

2.3 Marco de referencia del helicóptero 

El helicóptero es considerado como un cuerpo rígido, libre para moverse en  las tres direcciones coordenadas así como rotar en los tres ejes, por lo que tene­ mos 6 grados de libertad (DOF, del inglés Degrees ofFreedom). Básicamente son ne­ cesarios tres marcos diferentes de referencia del helicóptero para su modelación,  todas ellas en base a un sistema coordenado de mano derecha. En orden de hacer  uso de la mecánica newtoniana, es necesario hacer uso de un marco de referencia  inercial­fijo, se asume que la tierra es un espacio inercial plano y estático, por lo  tanto se usa como marco fijo la tierra [16]. El origen de esto es seleccionado arbi­ trariamente, con el eje X apuntando en cualquier dirección de conveniencia, el eje  z apuntando verticalmente hacia abajo y el eje y perpendicular a ambos [17].  L o  a n t e r i o r se  m u e s t r a en la figura  2 ­ 2 . 

(30)

2.4 Definición de las entradas al helicóptero y notación 

Los ángulos de navegación permiten posicionar un objeto en 3D. La posición y  la postura del helicóptero es controlada a través de las siguientes 4 entradas de control  comandadas por el piloto [18], [19]. 

u

t a t Entrada de control lateral: Provoca que el helicóptero rote sobre el eje x 

y por esta razón realice un roll, en espańol traducido como alabeo. Ver figura 2­3. 

Figura 2—3. Control del roll. 

ul o n g Entrada de control longitudinal: provoca que el helicóptero rote sobre  el eje y y por lo tanto realice un pitch, traducido al espańol como cabeceo. Junto con el  control lateral, forma la entrada de control cíclica aplicada por el piloto a través del "cy­ clic stick". Ver figura 2­4. 

Figura 2­4. Control del pitch. 

ucoi Entrada de control "Collective". Provoca que el helicóptero realice un  movimiento vertical (levantarse), y es aplicado a través de la palanca de control "collec­ tive" del piloto. Este movimiento de elevación es resultado de las fuerzas aerodinámicas  sobre las aspas del rotor principal. Tales fuerzas crean un empuje, ya que el aire es ace­ lerado a través del disco plano del rotor. En la presente investigación y gracias a la base  de limitación física esta variable puede permanecer constante. Ver figura 2­5. 

Figura 2—5. Control del movimiento vertical (levantarse). 

(31)

Uped Entrada de control de timón (rudder). Ocasiona que el helicóptero rote  sobre el eje Z y por lo tanto realice un y a w , traducido al espańol como guińada. Esta  entrada es aplicada a través de los pedales del piloto. En la presente investigación y gra­ cias a la base de limitación física esta variable puede permanecer constante. Ver figura  2­6. 

Figura 2—6. Control del yaw. 

A manera de resumen, en la tabla 2­1 se muestran las variables de control de un  helicóptero. 

Entrada (actuador, servo)  Movimiento rotacional  Movimiento traslacional resultante 

Lateral U;at Roll (<Z>)  Lateral (v) 

Longitudinal ui

on Pitch (0)  Longitudinal (lż) 

Colectivo

 U

co

ż 

Idealmente nada  Elevación (w) 

Pedal uped Yaw (4>,6, l/0  Idealmente nada 

Tabla 2­1. Variables de entrada de un helicóptero, y los movimientos de traslación y rotación resultan­ tes. 

2.5 Redes Neuronales Artificiales 

La primera definición de una neurona artificial data de 1943 y fue propuesta por  Warren McCulloch y Walter Pitts [23]. La topología de una red de este tipo de neuronas  se puede apreciar en la figura 2.11. La base matemática que gobierna esta neurona es: 

uk = ZJloXj • wJk (2.1) 

Donde: 

• Xj es el valor de la entrada en la neurona de entrada j ,

(32)

żQué representa todo esto? Básicamente es una analogía simplificada de las neu­ ronas biológicas: la neurona  ( y ) , recibe ciertas entradas  ( x ) , las procesa (u = Sxj­ w/ky emite una salida y=fu. Ver figura 2­7. 

Figura 2—7. Una red de neuronas McCulloch­Pitts 

Aún en un proceso tan simple podemos ver dos elementos interesantes: 

• Los pesos  ( w ) : representan lo fuertemente conectadas que están dos neuronas.  Si es positivo indica que la neurona de entrada excita a la de salida, y si es nega­ tivo que la inhibe. 

• La función de activación  ( / ) : que se encarga de reducir el número posible de  salidas a ciertos estados determinados o rangos de valores válidos. Normal­ mente son funciones de tipo escalón (binarias), lineales (y = ll) o sigmoides  (una función no lineal que tiene una primera derivada que es muy rápida com­ putacionalmente de calcular). 

En la figura 2­8 se muestra la comparación entre una neurona biológica y un  perceptrón (tipo de red neuronal desarrollado por Frank Rosenblatt)[37], [38]. 

(33)

(a) (b)

Figura 2—8. Comparación entre una neurona biológica y un perceptrón. (a) Neurona biológica, (b) Per­ ceptrón de Rosenblatt. 

• Aprendizaje adaptativo: Esta es quizás la característica más importante de las  redes neuronales, pueden comportarse en función de un entrenamiento con  una serie de ejemplos ilustrativos. De esta forma, no es necesario elaborar un  modelo a priori, ni establecer funciones probabilísticas. Una red neuronal arti­ ficial es adaptativa porque puede modificarse constantemente con el fin de  adaptarse a nuevas condiciones de trabajo. 

• Autoorganización: Mientras que el aprendizaje es un proceso donde se modi­ fica la información interna de la red neuronal artificial, la autoorganización  consiste en la modificación de la red completa con el fin de llevar a cabo un  objetivo específico. Autoorganización significa generalización, de esta forma  una red puede responder a datos o situaciones que no ha experimentado antes,  pero que puede inferir sobre la base de su entrenamiento. Esta característica es  muy útil sobre todo cuando la información de entrada es poco clara o se en­ cuentra incompleta. 

(34)

• Operación en tiempo real: Las redes neuronales artificiales, de todos los  métodos existentes, son las más indicadas para el reconocimiento de patrones  en tiempo real, debido a que trabajan en paralelo actualizando todas sus instan­ cias simultáneamente. Es importante destacar que esta característica sólo se  aprecia cuando se implementan redes c.on hardware especialmente diseńados  para el procesamiento paralelo. 

• Fácil inserción en la tecnología existente: Es relativamente sencillo obtener  chips especializados para redes neuronales que mejoran su capacidad en ciertas  tareas. Ello facilita la integración modular en los sistemas existentes. Al pro­ fundizar en los principios de las RNA y observar continuamente el término  neurona no es de extrańar que se piense por analogía en el cerebro humano, es­ te hecho quizás se deba a que las RNA están basadas en la inspiración biológi­ ca. 

Hay muchas y muy variadas formas de conectar las neuronas artificiales, la for­ ma más sencilla y que se utilizara en la presente investigación en la que se van conec­ tando las neuronas en capas, como se muestra en la figura 2­16. Este tipo de RNA se  llama feedforward network en inglés, traducido como redes hacia adelante. Obtiene su  nombre de la manera en que cada capa de neuronas alimenta con sus salidas la siguiente  capa hasta que se obtiene un resultado. 

Como se puede observar en la figura 2­9, todas las entradas se envían a todas y  cada una de las neuronas en la capa oculta, después la salida de cada neurona en la capa  oculta se conecta a todas las neuronas en la siguiente capa. Puede existir cualquier can­ tidad de capas ocultas en una red hacia adelante, normalmente una es suficiente para  afrontar la mayoría de los problemas que se abordarán. Incluso algunos problemas no  requieren de ninguna capa oculta, simplemente se conectan las entradas directamente a  las neuronas de salida. El número de neuronas empleadas puede modificarse, depen­ derá del problema a resolver, pudiéndose determinar el número de neuronas en la capa  de entrada y de salida, sin embargo no hay método especifico para conocer el número  de neuronas en las capas ocultas. 

(35)

2.5.1 Redes neuronales de retropropagación 

En la presente investigación haremos uso de las redes de retropropagación las  cuales son llamadas así por el esquema de aprendizaje del algoritmo el cual se basa en  retropropagar el error entre las capas actualizando los pesos de los nodos en el proceso.  Es un algoritmo de descenso de gradiente que minimiza el error entre la salida deseada  y la salida obtenida por la red [13]. 

Las redes de retropropagación fueron creadas para generalizar la regla de apren­ dizaje de Widrow­Hoff, el cual realiza un aprendizaje a partir de la modificación de los  pesos entre las conexiones de los nodos, minimizando el error cuadrático en repetidas  iteraciones [3], para una red de múltiples capas y con funciones no lineales de transfe­ rencia, donde los patrones son presentados de manera cíclica [13]. 

2.6 Algoritmos Genéticos 

(36)

pende en buena medida de una adecuada codificación de las mismas. Los principios  básicos de los Algoritmos Genéticos fueron establecidos por Holland (1975), y se en­ cuentran bien descritos en varios textos [29], [30]. 

Los algoritmos genéticos son conocidos como algoritmos de búsqueda ciega,  que de manera aleatoria intercambian información entre los individuos; en cada genera­ ción se crean un nuevo conjunto de individuos los cuales contienen características de la  generación anterior. 

Un algoritmo genético básico está constituido de los siguientes puntos los cuales  serán abordados en mayor detallen de la sección 2.6.1 a la 2.6.3: 

1. Los algoritmos genéticos convencionales representan una posible solución co­ mo un individuo, dependiendo de la interpretación de los individuos se cuen­ tan con diferentes enfoques [15]. Para ello es se requiere representar al indivi­ duo de alguna forma. Lo cual se presenta en la siguiente sección 2.6.1. 

2. Se genera una población inicial de N individuos, la cual son posibles soluciones  al problema, (cada individuo es en general una cadenas de bits generados de  manera aleatoria). En la cual se repite un proceso compuesto de los siguientes  tres puntos: 

a) Selección de acuerdo a aptitud sección 2.6.2  b) Cruce de padres, sección 2.6.3 

c) Mutación de hijos o descendencia sección 2.6.3 

d) Repetir desde el punto  " a " hasta que se cumple un criterio de termina­ ción. 

2.6.1 Métodos de representación 

Antes de que un algoritmo genético pueda ponerse a trabajar en un problema, se  necesita un método para codificar las soluciones potenciales del problema de forma que  una computadora pueda procesarlas. Un enfoque común es codificar las soluciones  como cadenas binarias: secuencias de  l s y Os, donde el dígito de cada posición repre­ senta el valor de algún aspecto de la solución. Otro método similar consiste en codificar  las soluciones como cadenas de enteros o números decimales, donde cada posición, de  nuevo, representa algún aspecto particular de la solución. Este método permite una  mayor precisión y complejidad que el método comparativamente restringido de utilizar  sólo números binarios, y a menudo "está intuitivamente más cerca del espacio de pro­ blemas" [25]. 

(37)

Esta técnica se utilizó, por ejemplo, en el trabajo de Steffen Schulze­Kremer,  que escribió un algoritmo genético para predecir la estructura tridimensional de una  proteína, basándose en la secuencia de aminoácidos que la componen [26]. El AG de  Schulze­Kremer utilizaba números reales para representar los famosos "ángulos de tor­ sión" entre los enlaces peptídicos que conectan a los aminoácidos. Los algoritmos gené­ ticos para entrenar a las redes neuronales también utilizan a menudo este método de  codificación. 

Un tercer método consiste en representar a los individuos de un AG como ca­ denas de letras, donde cada letra, de nuevo, representa un aspecto específico de la solu­ ción. Un ejemplo de esta técnica es el método basado en "codificación gramática" de  Hiroaki Kitano, en el que a un AG se le encargó la tarea de evolucionar un sencillo con­ junto de reglas llamadas gramática libre de contexto, que a su vez se utilizaban para ge­ nerar redes neuronales para una variedad de problemas [26]. 

La virtud de estos tres métodos es que facilitan la definición de operadores que  causan los cambios aleatorios en las candidatas seleccionadas: cambiar un 0 por un 1 o  viceversa, sumar o restar al valor de un número una cantidad elegida al azar, o cambiar  una letra por otra. Otra estrategia, desarrollada principalmente por John Koza, de la  Universidad de Stanford, y denominada programación genética, representa a los pro­ gramas como estructuras de datos ramificadas llamadas árboles [27], se muestran algu­ nos ejemplos sencillos en la figura 2­10. En este método, los cambios aleatorios pueden  generarse cambiado el operador o alterando el valor de un cierto nodo del árbol, o sus­ tituyendo un subárbol por otro. 

Figura 2—10. Tres sencillos árboles de programa del tipo utilizado normalmente en la programación  genética. Debajo se proporciona la expresión matemática que representa cada uno. 

(38)

riamente tanto como sea necesario para resolver cualquier problema que se les pida  [28]. 

2.6.2 Métodos de selección 

Un algoritmo genético puede utilizar muchas técnicas diferentes para seleccionar  a los individuos que deben copiarse hacia la siguiente generación, a continuación se  listan algunos de los más comunes. Algunos de estos métodos son mutuamente exclu­ sivos, pero otros pueden utilizarse en combinación, algo que se hace a menudo y que  mejora los resultados [28]. 

• Selección elitista: se garantiza la selección de los miembros más aptos de cada  generación. La mayoría de los AGs no utilizan elitismo puro, sino que usan una  forma modificada por la que el mejor individuo, o algunos de los mejores, son  copiados hacia la siguiente generación en caso de que no surja nada mejor.  • Selección proporcional a la aptitud: los individuos más aptos tienen más 

probabilidad de ser seleccionados, pero no la certeza. 

• Selección por rueda de ruleta: una forma de selección proporcional a la apti­

tud en la que la probabilidad de que un individuo sea seleccionado es propor­ cional a la diferencia entre su aptitud y la de sus competidores. Conceptual­ mente, esto puede representarse como un juego de ruleta ­cada individuo ob­ tiene una sección de la ruleta, pero los más aptos obtienen secciones mayores  que las de los menos aptos. Luego la ruleta se hace girar, y en cada vez se elige  al individuo que "posea" la sección en la que se pare la ruleta. 

• Selección por torneo: se eligen subgrupos de individuos de la población, y los  miembros de cada subgrupo compiten entre ellos. Sólo se elige a un individuo  de cada subgrupo para la reproducción. 

• Selección por rango: a cada individuo de la población se le asigna un rango  numérico basado en su aptitud, y la selección se basa en este ranking, en lugar  de las diferencias absolutas en aptitud. La ventaja de este método es que puede  evitar que individuos muy aptos ganen dominancia al principio a expensas de  los menos aptos, lo que reduciría la diversidad genética de la población y podr­ ía obstaculizar la búsqueda de una solución aceptable. 

• Selección generacional: la descendencia de los individuos seleccionados en  cada generación se convierte en toda la siguiente generación. No se conservan  individuos entre las generaciones. 

(39)

2.6.3 Operadores genéticos 

Una vez que la selección ha elegido a los individuos aptos, éstos deben ser alte­ rados aleatoriamente con la esperanza de mejorar su aptitud para la siguiente genera­ ción. Existen dos estrategias básicas para llevar esto a cabo. La primera y más sencilla se  llama mutación. Al igual que una mutación en los seres vivos cambia un gen por otro,  una mutación en un algoritmo genético también causa pequeńas alteraciones en puntos  concretos del código de un individuo [29]. En la figura 2­11 se muestra un ejemplo. 

El segundo método se llama cruzamiento, e implica elegir a dos individuos para  que intercambien segmentos de su código, produciendo una descendencia artificial cu­ yos individuos son combinaciones de sus padres. Este proceso pretende simular el pro­ ceso análogo de la recombinación que se da en los cromosomas durante la reproduc­ ción sexual. 

Las formas comunes de cruzamiento incluyen al cruzamiento de un punto, en el  que se establece un punto de intercambio en un lugar aleatorio del genoma de los dos  individuos, y uno de los individuos contribuye todo su código anterior a ese punto y el  otro individuo contribuye todo su código a partir de ese punto para producir una des­ cendencia, y al cruzamiento uniforme, en el que el valor de una posición dada en el ge­ noma de la descendencia corresponde al valor en esa posición del genoma de uno de  los padres o al valor en esa posición del genoma del otro padre, elegido con un 50% de  probabilidad. Podemos este método de cambio en la figura 2­12. 

Figura 2—11. Cruzamiento. 

El diagrama de arriba ilustra el efecto de estos dos operadores genéticos en los individuos de una po­ blación de cadenas de 8 bits. El diagrama superior muestra a dos individuos llevando a cabo un cruza­ miento de un punto; el punto de intercambio se establece entre las posiciones quinta y sexta del geno­

ma, produciendo un nuevo individuo que es híbrido de sus progenitores. 

(40)

El diagrama muestra a un individuo sufriendo una mutación en la posición 4, cambiando el 0 de esa  posición de su genoma por un 1. 

2.7 Neuroevolución 

La Neuroevolución presenta fundamentalmente un acercamiento diferente para  las tareas de aprendizaje por refuerzo. Se apalanca en las fortalezas de dos áreas de la  inteligencia artificial inspiradas en la biología: las redes neuronales artificiales (RNAs) y  los algoritmos genéticos (AG). 

La Neuroevolución consiste en utilizar algoritmos genéticos para hacer evolu­ cionar una población de redes neuronales [1]. El algoritmo genético tomará una pobla­ ción de redes neuronales y generará una nueva, mejor, o igual que la anterior, a partir de  la recombinación, mediante el uso de operadores genéticos de cruce y mutación, de las  redes neuronales de la población anterior. 

Al utilizar un algoritmo genético para evolucionar una población, se está reali­ zando una búsqueda en el espacio de los comportamientos, con la intención de encon­ trar un comportamiento óptimo. Visto de forma práctica, el proceso de evolución con­ sidera cada red neuronal como el cerebro de un agente, en el caso de la presente inves­ tigación, un piloto virtual, o bien un autopiloto, dando lugar a una población de agentes  que progresivamente van adaptando sus comportamientos al entorno. De esta forma, la  Neuroevolución representa un proceso de aprendizaje evolutivo [40]. 

Uno de los principales problemas de la Neuroevolución consiste en encontrar  una representación adecuada de la estructura y los pesos de una red neuronal, para que  ésta pueda ser manejada adecuadamente por un algoritmo genético. Podríamos optar  por codificar una red entera como cadenas de bits (GENITOR [6]), también podríamos  usar matrices binarias (Binary Matrix Encoding, [7]), o como una gramática descriptora 

[Grammar Based Encoding, [8]), etc. Sin embargo, desde que se comenzó a codificar las  redes neuronales, hizo su aparición uno de los más grandes problemas de la Neuroevo­ lución: el denominado Competing Conventions Vroblem, CCP [9] (el problema de las repre­ sentaciones enfrentadas). 

Este problema puede resumirse diciendo que dos representaciones genéticas dis­ tintas (genomas) pueden exhibir exactamente el mismo comportamiento (fenotipo), de  modo que su combinación mediante un operador de cruce multipunto habitual lleve a  un empeoramiento de la especie, ya que los hijos rompen las características de los pa­ dres sin posibilidad de mejora. El alcance de este mal endémico de la Neuroevolución 

(41)

llevó a muchos autores hasta el punto de no considerar el operador cruce en la evolu­ ción, dejando todo el peso de la exploración sobre el operador mutación. 

2.8 Neuroevolución NEAT 

N E A T (Neuro Evolution of Augmenting Topologies), traducido al espańol como Neu­ ro Evolución de Topologías Aumentadas fue desarrollado por Kenneth Stanley Owen y  Risto Miikkulainen en la Universidad de Texas [1]. Utiliza la codificación basada en no­ do para describir la estructura de la red y conexión de los pesos, y tiene una manera  hábil de evitar el problema de la competencia al usar los datos históricos generados  cuando se generan nuevos nodos y relaciones. NEAT también intenta conservar el ta­ mańo de las redes que produce a un mínimo comenzando la evolución usando una po­ blación de redes de topología mínima y agregando las neuronas y conexiones a través  de su desarrollo. La naturaleza trabaja en esta manera —aumentando la complejidad de  los organismos a través del tiempo­, por lo que resulta una solución atractiva y es en  parte la razón por la que he elegido esta técnica para el desarrollo del control del mini­ helicóptero. 

N E A T es un método de Reinforcement Eearning (traducido al espańol como  Aprendizaje por Refuerzo) basado métodos Evolutivos, específicamente Algoritmos  Genéticos y Redes Neuronales. NEAT se basa en Neuroevolución, el cual, como se ha  visto anteriormente, es el proceso de evolucionar Redes Neuronales mediante Algorit­ mos Genéticos. La Neuroevolución no solo consta de entrenar un conjunto de redes,  vía modificación de pesos, para que aprendan una tarea óptima, sino realmente modifi­ car, mediante mutación y cruce, la estructura de las redes, ya sea cambiar el numero de  capas de la red, las conexiones sinápticas entre capas, el numero de neuronas o la re­ combinación de las mismas [40],[1]. 

Los Algoritmos Genéticos son utilizados tanto para evolucionar la topología de  las RNA como para resolver el problema de Estimación de Parámetros requerido para  la asignación de pesos sinápticos adecuados. El proceso de evolución en NEAT se de­ nomina Complexification, ya que la evolución comienza con una población de redes de  topología muy simple de una sola capa, con un número limitado de neuronas y pocas  conexiones. 

(42)

El sistema inicialmente busca soluciones en un espacio de parámetros de poca  dimensión (i.e. lineal o unidimensional). El espacio puede no ser suficientemente expre­ sivo para resolver el problema, sin embargo se logran encontrar soluciones óptimas  localmente. Luego, el sistema aumenta las dimensiones del espacio de búsqueda a través  de Complexification.

(43)

talmente a medida que las mutaciones ocurren y solo sobreviven aquellas estructuras  que resultan útiles a lo largo de las evaluaciones de aptitud. En otras palabras, la elabo­ ración estructural que introduce el sistema está siempre justificada. 

Así mismo, como la población arranca de forma mínima la dimensión del espa­ cio de búsqueda se minimiza y así NEAT siempre busca en menos dimensiones que  otros  T W E A N N s y sistemas de NE con topología fija. Esto le da a NEAT una ventaja  de desempeńo comparada con otros acercamientos. 

2.8.2 El genoma NEAT 

La versión original de NEAT utiliza codificación directa (codificación de grafos)  pero puede utilizar otros tipos de codificación incluyendo métodos de codificación in­ directa. NEAT cuenta con componentes fuertemente interrelacionados cuyas carac­ terísticas principales son [1]: 

a) El proceso evolutivo comienza desde estructuras mínimas que crecen sólo  cuando es beneficioso. 

b) Utiliza marcas históricas en los genes para lograr un entrecruzamiento (crossover)

preciso. 

c) Protege la innovación topológica mediante la especiación. 

Esta combinación de elementos ha permitido a NEAT resolver problemas difí­ ciles de aprendizaje por refuerzo más eficientemente que otros métodos de Neuroevo­ lución [1], [10], [32]. NEAT ha superado precisas pruebas de ablación que demuestran  que cada componente del sistema contribuye significativamente a su performance glo­ bal [1]. 

NEAT es un algoritmo capaz de evolucionar los pesos y las topologías de una  población de redes neuronales utilizando mecanismos de refuerzo para realizar un  aprendizaje no supervisado [1], [10], [11]. La potencia de NEAT como algoritmo de  Neuroevolución, reside fundamentalmente en sus 3 características principales, como se  ha mencionado antes, utiliza un ingenioso operador de cruce para evitar el problema de  las representaciones enfrentadas (CCP), incorpora un sistema de protección de las in­ novaciones genéticas mediante especies y realiza una evolución incremental de las topo­ logías, partiendo de redes neuronales mínimas [1], [39], [41]. 

(44)

cador de innovación. Un gen neurona describe la función de esa neurona dentro de la  red ­ sea de entrada, salida, oculta, o de sesgo. Cada gen neurona también posee un  número de identificación único. 

De esta forma, un genoma en NEAT estará compuesto por dos vectores que  contendrán la información de todos los genes enlace y neurona respectivamente [12].  La figura 2­13 muestra las listas del gen para un genoma que describe una red simple  [39]. 

Wajght: 1.2 Weight:  ­3  Weight 0.7 Weight: ­2.1  Weight: 1.1 Weight: 0.6 Weight:  ­1 

From: 1 From: 

From: 2 From:  3  From: 3 From: 4 From:  5 

To: 3 To:  4  To: 4 To:  4  To: 5 To: 5 To:  3 

Enabled: Y Enabled:  Y  Enabled: Y Enabled:  Y  Enabled: N Enabled: Y Enabled:  Y 

Recurrent: N  Recurrent:  N  Recurrent: N  Recurrent:  N  Recurrent: N  Recurrent: N  Recurrent:  Y 

Innovaíion: 1 

Innovation:  6  Innovation: 2  Innovation:  8  Innovation: 3  Innovation: 4  Innovation:  7 

G e n e s  e n l a c e 

1  ^ ^ ^ ^ ^ ^ ^ ^ m 2 

ID: 1  ID: 2  ID: 3  ID: 4  ID: 5 

Type: tnput  Type: ˇnput  Type: hidden  Type: hidden  Type: ouíput 

G e n e s  n e u r o n a 

Figura 2—13. Codificando una red con el método NEAT 

2.8.3 Operadores e innovaciones 

Una vez que se ha visto cómo se codifica una estructura de red veremos cómo  muta un genoma. Hay cuatro operadores de mutación que usa NEAT [39]: mutación  para agregar un gen enlace al genoma, mutación para agregar un gen neurona, mutación  para perturbar los pesos del enlace, y mutación que puede alterar la curva de respuesta  de la función de activación para cada neurona. Todos estos operadores aseguran que se  generen oportunidades de explorar todas las partes del espacio de comportamientos  posibles, tanto a nivel de ponderación de pesos como a nivel estructural de la red [41]. 

(45)

Una innovación ocurre siempre que la nueva estructura sea agregada a un ge­ noma, ya sea agregando un gen enlace o agregando un gen neurona, y es simplemente  un registro de ese cambio. Se conserva una base de datos global con todas las innova­ ciones, donde cada innovación tiene su propio número de identificación único. Cada  vez que se agrega una conexión (enlace) o neurona se hace referencia a la base de datos  para revisar si esa innovación se ha creado previamente. Si existe previamente, se asigna  el número de identificación de innovación existente al nuevo gen. Si no, se crea una  nueva innovación, agregado a la base de datos el registro, y el gen se marca con el nue­ vo número de identificación creado [39]. 

Como ejemplo, imaginemos que estamos desarrollando una red que tenga dos  entradas y una salida. La red en la izquierda de la figura 2­14 describe la estructura bási­ ca que cada miembro de la población posee al inicio del funcionamiento. La red a la  derecha muestra el resultado de una mutación que agrega una neurona a la red. Cuando  se agrega la neurona 4 se crean tres innovaciones: una innovación para la neurona, in­ novaciones para cada uno de los nuevos enlaces entre las neuronas 1­4 y 4­3. (El viejo  gen enlace entre las neuronas 1 y 3 sigue existiendo en el genoma, pero está deshabilita­ do). 

Figura 2—14. Mutación para agregar una neurona 

Toda vez que NEAT crece la estructura agregando neuronas y enlaces (o co­ nexiones), todos los genomas en la población inicial comienzan representando topolog­ ías mínimas idénticas (pero con diversos pesos de conexión). Cuando se crean los ge­ nomas, el programa define automáticamente las innovaciones para todas las neuronas y  enlaces de inicio. Se asigna un valor de ­1 a las neuronas de entrada y salida para evitar  confusión. 

Figure

Figura 4—3. Esquema del proceso  general de Neuroevolución para el rnini­helicóptero. 
Tabla  4­2.  Parámetros de NEAT utilizados en el presente trabajo. 
Figura  4—8.  Diagrama de  flujo  de  la función  objetivo 
Figura 4—9. Diagrama esquemático del proceso de evolución incremental. 
+7

Referencias

Documento similar

Para ello, trabajaremos con una colección de cartas redactadas desde allí, impresa en Évora en 1598 y otros documentos jesuitas: el Sumario de las cosas de Japón (1583),

En suma, la búsqueda de la máxima expansión de la libertad de enseñanza y la eliminación del monopolio estatal para convertir a la educación en una función de la

Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun

Sanz (Universidad Carlos III-IUNE): &#34;El papel de las fuentes de datos en los ranking nacionales de universidades&#34;.. Reuniones científicas 75 Los días 12 y 13 de noviembre

(Banco de España) Mancebo, Pascual (U. de Alicante) Marco, Mariluz (U. de València) Marhuenda, Francisco (U. de Alicante) Marhuenda, Joaquín (U. de Alicante) Marquerie,

Fuente de emisión secundaria que afecta a la estación: Combustión en sector residencial y comercial Distancia a la primera vía de tráfico: 3 metros (15 m de ancho)..

grupos de interés ... La información sobre las actuaciones administrativas automatizadas y los algoritmos utilizados por las Ad- ministraciones públicas ... Fortalecer la calidad

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de