• No results found

2.1 Risk Assessment Framework

2.1.4 Risk Characterization

ann_ff.net, además de almacenar de forma completa el conjunto de pesos y bias asociados con cada una de las neuronas que conforman la red.

El pseudocódigo 9.2 muestra la secuencia de instrucciones que se ejecutan por cada una de las iteraciones k dentro del bucle de control para el entrenamiento de la red neuronal; dicho entrenamiento se llevará a cabo cuando el error ε de clasicación obtenido como resultado del módulo sensorial, haya disminuido con respecto a la anterior iteración k − 1.

Se declarará una variable temporal para cada uno de los valores calculados de las señales de control (roll, pitch, gaz, yaw), y que se han obtenido a partir de la ejecución de la red neuronal implementada; dichos valores se insertarán de forma secuencial en una estructura de tipo vector denominada uff[].

9.4. Combinación Feedforward & Feedback

El módulo de control dual proporcionará como señal de salida total (ut) una señal combinada

de las señales uf b y uf f, asignando de forma posterior a su cálculo, un peso especíco wf b para

la señal uf b y un peso wf f para la señal uf f, tal y como se dene en la siguiente ecuación:

ut= wf buf b+ wf fuf f , donde : wf b+ wf f = 1 (9.6)

Inicialmente, se asignará un peso máximo a la señal uf b (wf b = 1), ya que el conocimiento

que posee el UAV durante la fase de construcción con respecto al entorno es mínimo, necesitando de ésta forma el comportamiento reactivo proporcionado a través del controlador FeedBack. Posteriormente, y dependiendo de las condiciones del entorno así como del grado de madurez en el aprendizaje del UAV, los pesos pueden variar, proporcionando ó quitando más protagonisto a una señal de control en concreto.

Figura 9.3: Gráco que muestra la distancia entre uf f y uf b con respecto al grado de madurez

94 CAPÍTULO 9. MÓDULO DE CONTROL DUAL Para calcular dicho grado de madurez del sistema con respecto al nivel de aprendizaje ad- quirido por parte del UAV, se utilizarán los valores de las señales uf by uf f generadas por ambos

controladores. De esta forma, se calculará la distancia D entre ambos valores, y obtener la di- ferencia entre las señales obtenidas de forma reactiva con respecto a las obtenidas de forma anticipada.

D = |uf f− uf b| (9.7)

Cuando una de las componentes {roll, pitch, gaz, yaw} que componen uf bes exactamente

igual que la misma componente en uf f, la diferencia obtenida será 0; por el contrario, cuando

la diferencia es máxima, la diferencia máxima obtenida será 2 , ya que el dominio de valores manejado para cada una de las componentes está denido dentro del rango de valores [−1, 1].

El valor que determina el grado de madurez del sistema Υ se obtiene a partir de la ecuación 9.12, la cual está basada en la media aritmética de los grados de madurez {Υroll, Υpitch, Υgaz, Υyaw}

obtenidos para cada una de las componentes de las señales de control calculadas.

Υroll =  − |uf f[roll] − uf b[roll]| 2  + 1 (9.8) Υpitch=  − |uf f[pitch] − uf b[pitch]| 2  + 1 (9.9) Υgaz =  − |uf f[gaz] − uf b[gaz]| 2  + 1 (9.10) Υyaw=  − |uf f[yaw] − uf b[yaw]| 2  + 1 (9.11) Υ =      4 P x=1 Υx 4     

= Υroll+ Υpitch+ Υgaz+ Υyaw 4



(9.12)

De esta forma, a medida que el grado de madurez Υ tiende hacia 1, el sistema será considerado como más maduro, y por lo tanto el peso wf f tenderá hacia 1, cobrando protagonismo los valores

del controlador FeedForward ya que existirá un alto contenido de conocimiento consolidado en el mismo; por el contrario, a medida que la diferencia es mayor entre ambas señales de control, se considerará un sistema más inmaduro con un Υ cercano a 0, dando más peso a wf b, y por

consiguiente, será el controlador FeedBack el que principalmente actúe sobre el UAV, siguiendo para ello una estrategia más reactiva de comportamientos.

9.4. COMBINACIÓN FEEDFORWARD & FEEDBACK 95

Figura 9.4: Gráco que muestra la evolución de los pesos wf b y wf f a lo largo del tiempo de

desarrollo del UAV

El control dual combina las señales de control uf by uf f calculadas por separado, para obtener

una señal de control utadaptativa y lo más óptima posible para su ejecución por parte del UAV;

será el grado de madurez del sistema el que determinará la combinación exacta entre ambas señales de control.

Capítulo 10

Módulo de aprendizaje

Una de las premisas del paradigma de robots de desarrollo es que éstos adquieran todo el conocimiento necesario para llevar a cabo su funcionalidad, mediante un proceso adaptativo y continuo durante su fase operativa dentro del entorno que les rodea, pudiendo considerar a éste como un proceso de aprendizaje en tiempo real. De esta forma cuando el robot vuelve sobre estados que ya ha visitado anteriormente, podrá utilizar para la toma de decisiones dicha infor- mación adquirida previamente mediante el aprendizaje, considerando a éste como un mecanismo formalizado para dotarle de inteligencia.

En dichas situaciones se desencadenará un mecanismo de tipo predictivo utilizando como única entrada el estado actual en donde se encuentra el robot en un momento dado dentro del entorno, y proporcionando el conjunto de señales de control más adecuadas que deberán ser ejecutadas por el mismo. Dentro de la arquitectura cognitiva híbrida, la implantación de dicho proceso de adquisición de conocimiento se llevará a cabo mediante el módulo de aprendizaje, el cual está basado en un paradigma de aprendizaje conocido como Feedback-error Learning, el cual podrá complementarse de forma puntual por un mecanismo de tipo supervisado (Teachable Robots) en donde puede intervenir un humano.

10.1. Feedback-error Learning

El módulo de aprendizaje esta basado en los estudios realizados sobre Feedback-error Learning [28], el cual proporciona al UAV un mecanismo de adquisición de conocimiento continuo en el tiempo y que puede ser utilizado en tiempo real durante su fase operativa de navegación dentro del entorno. Dicho mecanismo de aprendizaje está basado el modelo interno implementado dentro del módulo de control dual a través de los controladores FeedForward y FeedBack. Según el modelo interno, dicho proceso de aprendizaje está basado en el sistema cerebelar de los seres vivos, en donde el conocimiento es adquirido a partir de los sentidos para ser procesado en primera instancia por el cerebro, y en base a un proceso de consolidación, nalmente ser almacenado en el cerebelo.

Una vez realizada dicha consolidación de conocimiento, se procederá a su posterior utilización de forma predictiva, y en muchas ocasiones de forma totalmente paralela a otras actividades sin intervención por parte de la parte cerebral del sistema nervioso. En este caso, la implementación cerebral estará denida mediante el controlador FeedBack del control dual, el cual recopila los valores sensoriales provenientes del entorno, los procesa de forma reactiva, y obtiene a partir de

98 CAPÍTULO 10. MÓDULO DE APRENDIZAJE los mismos un conjunto de señales de control uf bque serán utilizadas sobre los actuadores del

UAV. Dichas señales de control serán las utilizadas en tiempo real, para realizar un entrena- miento continuo del controlador FeedForward (dicho entrenamiento es representado por la línea discontinua que aparece en la Figura 10.1) del control dual, el cual estará determinado por el error ε obtenido por el módulo sensorial; de ésta forma se puede considerar al controlador Feed- Forward como la implementación de la parte cereberal del sistema. A través de dicho proceso de aprendizaje continuo, el sistema irá reduciendo dicho error de forma progresiva a lo largo de su navegación a través del entorno, adquiriendo un mayor grado de madurez en cuanto a la generación de señales de control cada vez más óptimas.

Figura 10.1: Feedback-error learning[28]

La implementación de dicho mecanismo de aprendizaje se realizará en base a la red neuronal articial (implementada en la arquitectura mediante ann_F F ) que conforma el controlador FeedForward detallado con anterioridad, la cual será entrenada en cada una de las k iteraciones del bucle de control por parte del controlador FeedBack. El entrenamiento que se ejecutará sobre la red neuronal será del tipo backpropagation, utilizando para ello la dupla de entrenamiento conformada por {Hist(Ik), uf b}, en donde el estado actual en donde se encuentra el UAV en un

momento dado será determinado por el histograma en escala de grises Hist(Ik) de la imagen Ik

capturada en la iteración k, y por otro lado, de la señal uf bobtenida por el controlador FeedBack

en la misma iteración k.

Para obtener un mayor grado de optimización en la implementación de dicho mecanismo de aprendizaje y dado que se trata de un sistema en tiempo real, la red neuronal que implementa el controlador FeedForward no será entrenada en todas las iteraciones k, sino únicamente en aquellas en donde el ε obtenido a partir del módulo sensorial se haya reducido entre dos iteraciones k y k+1 consecutivas, utilizando de éste modo solo aquellas duplas de entrenamiento que realmente serán capaces de aportar un conocimiento positivo y óptimo al UAV al visitar un determinado estado. Mediante dicho razonamiento, el sistema tenderá con el tiempo a reducir de forma progresiva el número de entrenamientos que deberán realizarse sobre el controlador FeedForward, a medida que la totalidad de estados sean visitados y conocidos por parte del UAV; cuando el valor de ε esté alrededor de 0, no se llevará a cabo ningún tipo de entrenamiento de la red neuronal en dicha iteración k.

Conforme a dicho módulo de aprendizaje, el UAV utilizará a través del control dual una combinación del conocimiento adquirido de forma reactiva a partir de su cerebro (FeedBack),

10.2. TEACHABLE ROBOTS 99