CHAPTER 5: CONCLUSION AND RECOMMENDATIONS
5.3 Recommendation
Una vez que se determin´o a partir de las pruebas en tiempo de ejecuci´on que los resultados en el simulador y en el robot real son constantes y equivalentes, fu´e necesario probar el funcionamien- to de las redes de comportamientos y las redes neuronales, para ello se utiliz´o una funci´on de desempe˜no, la cu´al est´a constituida por dos funciones; una funci´on que permite evaluar la con- ducta de evitar obst´aculos y una funci´on que eval´ua la identificaci´on de la comida.fdp=feo+fic. La primera funci´on consisti´o en premiar a la ejecuci´on m´as r´apida del robot, el cual viaja en l´ınea recta evitando los obst´aculos que se presenten en su camino, est´a funci´on se gener´o tomando como base la f´ormula que presentan Floreano y Mondana en su art´ıculo [?]:
feo=
1500
X
En donde vl es la velocidad de rotaci´on lineal en ambas ruedas del robot, vd es la velocidad de rotaci´on diferencial en ambas ruedas y maxir es el valor del sensor infrarrojo m´as alto. Est´a f´ormula nos permite obtener que tan r´apido se desplaza un individuo sin chocar con los obst´aculos que se presentan en el camino. As´ı que para lograr nuestro objetivo se implement´o di- cha f´ormula en los experimentos realizados en el simulador Webots para obtener el valor de la funci´on de desempe˜no al final de cada corrida y, as´ı poder determinar como se comportan cada una de las redes dependiendo de las situaciones variables que se presenten. Cabe mencionar que para el caso del simulador Webots el valor m´aximo de velocidad es 20 y el valor m´as alto para un sensor es de 1023 unidades; por lo que para obtener la velocidad de rotaci´on lineal se deben sumar las velocidades de los motores (derecho e izquierdo) en cada iteraci´on y dividir esta suma entre 20 (velocidad m´axima); para la velocidad de rotaci´on diferencial se necesita restar a la velocidad del motor izquierdo la velocidad del motor derecho y esta diferencia debe dividirse entre 20 (velocidad m´axima); mientras que para el valor del sensor m´as alto se debe seleccionar de los ocho sensores del robot, aquel que tenga el valor m´as alto para dividirse entre 1023. Con estas especificaciones se llevaron a cabo 100 corridas t´ıpicas, es decir, las m´as representativas tanto en la red neuronal como en la red de comportamientos en el simulador Webots.
Dado que tambi´en es importante determinar el impacto que tiene la cantidad de comida que identifica el robot en cada corrida, puesto que uno de los principales prop´ositos de las ratas es obtener la mayor cantidad de comida posible, as´ı que fu´e necesario evaluar el desempe˜no de las redes con respecto a la cantidad de comida que identifican, por lo que la segunda funci´on consisti´o en premiar a la ejecuci´on que identifica la mayor cantidad de comida a lo largo de su exploraci´on en el ambiente donde se desenvuelve, as´ı que la f´ormula que se utiliz´o para esta evaluaci´on es la siguiente:
fid=
1500
X tot it
prom it∗(no cil)∗(K)
En dondetot it es el total de las iteraciones que se ejecutan en cada corrida, que para el caso de estos experimentos corresponde a 1500, prom it es el promedio del valor de las iteraciones en las cuales se identific´o la comida a lo largo de la corrida,no cil es el n´umero total de cilindros que se identificar´on en la corrida yK es una constante, cuya funci´on es premiar la identificaci´on de comida y tiene un valor de 15. Para poder obtener los valores de esta funci´on, fu´e necesario implementar la f´ormula en los experimentos realizados en el simulador Webots y as´ı poder eva- luar como se comportan la red neuronal y la de comportamientos en cuanto a la identificaci´on de comida. Las pruebas que se llevaron a cabo con esta f´ormula consistieron de 100 corridas t´ıpicas en el simulador Webots con 1500 iteraciones cada una de las corridas para ambas redes.
Una vez que se obtuvieron los valores para cada funci´on a lo largo de las 100 corridas t´ıpicas, se determin´o el valor total de la funci´on de desempe˜no mediante la suma de los valores de las funciones evitar obst´aculos e identificar comida para cada una de las 100 corridas t´ıpicas que se ejecutaron y, se obtuvieron los resultados siguientes, los cu´ales se presentan en las gr´aficas??y??
Como podemos observar en la gr´afica??las 100 corridas t´ıpicas que se llevaron a cabo con las dos redes, la red de comportamientos tuvo mejor desempe˜no que la red neuronal ya que los valores obtenidos en las corridas para la funci´on de desempe˜no, la red de comportamientos obtuvo valo- res m´as altos que los que obtuvo la red neuronal, lo cu´al ´ındica que la red de comportamientos es m´as eficientes al momento de evitar obst´aculos e identificar comida que la red neuronal, es decir, la red de comportamientos viaja m´as tiempo en l´ınea recta y es m´as r´apida, as´ı como identifica una mayor cantidad de comida que la red neuronal. Lo anterior puede corroborarse en la gr´afica
??, en donde se muestran los valores acumulados de la funci´on de desempe˜no; en est´a gr´afica el objetivo es determinar si existe alg´un punto de estabilizaci´on, es decir, si el dominio en cuanto a los valores de la funci´on se mantienen constantes a lo largo de las 100 corridas t´ıpicas as´ı como establecer si la diferencia que existe en cada una de las corridas es constante o si var´ıa; pero como podemos observar el dominio de la red de comportamientos sobre la red neuronal es constante ya que no existe un punto de equilibrio en los valores acumulados de la funci´on de desempe˜no, sino por el contrario los valores de la red de comportamientos incrementan en cada corrida estable- ciendo una diferencia considerable en dichos valores al final de los experimentos y la diferencia en los resultados en cada corrida es variables, es decir no corresponde al mismo valor en cada caso.
Figura 5.9: Gr´afica que muestra los resultados obtenidos en la funci´on de desempe˜no integrada por la funci´on de evitar obstaculos y la de identificar comida, para eval´uar el de- sempe˜no de la red de comportamientos y la neuronal y, establecer un par´ametro de comparaci´on en cuanto a su funcionamiento
Figura 5.10: Gr´afica que muestra los resultados obtenidos de la acumulaci´on de los valores de la funci´on de desempe˜no en las 100 corridas t´ıpicas. Se debe observar si existe alg´un punto de comparaci´on o estabilizaci´on en el desempe˜no de la red de comporta- mientos y la neuronal, as´ı como determinar si la diferencia entre las redes en cada corrida es constante o variable
Es importante mencionar que en esta secci´on solo se analizaron las gr´aficas de la funci´on de de- sempe˜no total, pero las gr´aficas de la funci´on de desempe˜no para evitar obst´aculos e identificar comida se encuentran en los ap´endice E.
5.3.
Res´umen del Cap´ıtulo.
En este cap´ıtulo, se llevaron a cabo una serie de experimentos que como primer objetivo ten´ıan determinar si el funcionamiento de la red de comportamientos y la neuronal en el simulador Webots es equivalente al funcionamiento que se observa de ellas en el robot Khepera en tiempo real; lo anterior fu´e con el objeto de que en experimentos posteriores en los que sea necesario contar con una mayor cantidad de corridas e iteraciones, pudieran llevarse a cabo ´unicamente en el simulador sin sacrificar eficiencia y confiabilidad en los resultados, lo anterior se pudo comprobar en los etogramas elaboraborados para cada experimento en los cuales se observ´o la equivalencia de los resultados en tiempo real y en tiempo de simulaci´on, as´ı mismo, se obtuvie- ron los porcentajes de activaci´on de cada comportamiento para comparar y determinar si los porcentajes obtenidos en el simulador eran equivalentes a los de tiempo real, lo cual se cum- pli´o. As´ı que los experimentos para la evaluaci´on del desempe˜no de las redes, ´unicamente se llevaron a cabo en el simulador Webots, lo cual nos permiti´o un ahorro en tiempo y recursos, ya que las ejecuciones en el robot real son m´as tardadas y se puede poner en riesgo su integridad.
En cuanto al desempe˜no de la red de comportamientos y la red neuronal, los resultados obtenidos fueron satisfactorios para los prop´ositos de nuestra tesis ya que fu´e posible establecer diferencias en el funcionamiento de ambas redes a trav´es de una funci´on de desempe˜no. Esta funci´on esta integrada por dos funciones, una que eval´ua la rapidez de exploraci´on al evitar obst´aculos y otra que eval´ua la cantidad de comida que identifica. Las diferencias en el desempe˜no de las redes fueron considerables, ya que en las 100 corridas t´ıpicas que se llevaron a cabo, los resultados obtenidos para la funci´on de desempe˜no de la red de comportamientos super´o en todas las corri- das, a los resultados de la red neuronal y nunca llegaron a estabilizarse, por lo que se puede concluir que en cuanto a la soluci´on de tareas de forrajeo, las redes de comportamientos dan mejores resultados que las redes neuronales. As´ı mismo es importante recalcar que la diferencia entre los resultados obtenidos para cada una de las redes en cada corrida, no es constante. A continuaci´on presentamos las conclusiones del trabajo de tesis.
Conclusiones
Para finalizar con el desarrollo y an´alisis de este proyecto de tesis es importante mencionar las ventajas y desventajas de los resultados obtenidos a lo largo de este proyecto para poder deter- minar si dichos resultados son satisfactorios para sus prop´ositos.
El primer punto que es importante analizar son los resultados obtenidos en el funcionamiento de la red de comportamientos en tiempo real implementada en el robot Khepera, as´ı como el desempe˜no de esta red en ambientes din´amicos, ya que fu´e el punto de partida de esta tesis. Como pudimos observar en el cap´ıtulo 5, el comportamiento de la red en tiempo real es con- gruente con el obtenido a nivel simulaci´on, es decir, no existen variaciones en las conductas que se activan a lo largo de las ejecuciones, por lo que no importando la opci´on que se tome para probar las redes de comportamientos (simulador o robot real) los resultados no se alteran, lo cual nos facilita el an´alisis de los resultados ya que si en determinado momento no se puede contar con el robot, es posible realizar las pruebas a nivel simulaci´on y los resultados obtenidos ser´an confiables. Esto se debe en gran parte a que las redes de comportamientos est´an inspiradas en un marco etol´ogico por lo que modelan de manera natural los comportamientos de animales, asimismo su robustez permite controlar de manera eficiente al robot real. Cabe mencionar que adem´as de una inspiraci´on etol´ogica, las redes de comportamientos se basan en la arquitectura de subsumci´on y en el mecanismo de selecci´on de acci´on basado en fusi´on de sensores.
En cuanto al funcionamiento de las redes de comportamientos en ambientes din´amicos en tiempo real, es importante mencionar que las redes se ajustan a las condiciones del ambiente, las cuales se actualizan constantemente, por lo que van ejecutando las conductas en base a estos cambios sin alterar su desempe˜no; a pesar de esto, en ocasiones surgen algunos conflictos en el momento en que se activa un comportamiento y las condiciones cambian en ese preciso instante ya que por un momento no se actualizan dichos cambios y la red no act´ua correctamente, este retar- do que ocurre en la red al activarse un comportamiento requiere esperar la retroalimentaci´on de la red en la siguiente iteraci´on. Pero en terminos generales podemos concluir que las redes de comportamientos se adaptan a los cambios en tiempo real y funcionan de manera satisfactoria.
Otro de los aspectos relevantes del trabajo fu´e comprobar que el valor que Maes propone en su art´ıculo, para los valores que determinan la inhibici´on/activaci´on de comportamientos [?] permiten un buen desempe˜no en la red de comportamientos, ya que dichos par´ametros son los que regulan la activaci´on de las conductas a trav´es de la cantidad de energ´ıa aportada a la red mediante las ligas o conexiones entre las conductas. El problema en estos par´ametros radica en que no existe una t´ecnica que determine los valores que debe tomar cada uno de ellos, puesto que los valores dependen de la experiencia del dise˜nador de la red y del tipo de problema que se desea resolver, por lo cu´al sus valores deben irse ajustando de manera artesanal a trav´es de prueba y error hasta encontrar los valores que produzcan los mejores resultados. Actualmente existen trabajos en el ´area de algor´ıtmos gen´eticos orientados a la soluci´on de este problema, pero a´un no se tienen resultados concretos [?].
Pero considerando que no solo quer´ıamos analizar el desempe˜no del mecanismo de Maes sino tambi´en determinar si ´este mecanismo es el m´as adecuado para emular comportamientos de fo- rrajeo fu´e necesario tomar un mecanismo alternativo en la simulaci´on de estos comportamientos para poder establecer condiciones de comparaci´on con la red de comportamientos, por lo que se utilizaron las redes neuronales. Las pruebas para establecer criterios de comparaci´on consistieron en programar los comportamientos de forrajeo de la rata en ambos tipos de redes para que a partir de los resultados obtenidos en las ejecuciones, poder determinar cu´al de ellas funciona mejor. Antes de evaluar el desempe˜no de la redes, se analizaron los resultados obtenidos en tiempo real y tiempo de simulaci´on para establecer si existen diferencias en los resultados, para ello se generaron gr´aficas similares a los etogramas en donde se presentaban la activaci´on de los comportamientos y a trav´es de esto determinar si conservan un mismo patron de conducta (ver figuras ??,??,??y??). As´ı mismo se obtuvieron los porcentajes de activaci´on de cada una de las conductas tanto a nivel simulaci´on como en tiempo real para determiran si los valores de estos porcentajes eran equivalentes (ver figuras??,??,??y??). Dado que estas pruebas fueron satisfactorias pues se obtuvo que los resultados obtenidos para la red de comportamientos y la neuronal son equivalentes, se eval´uo el desempe˜no de las redes mediante una m´etrica.
La m´etrica que se utiliz´o para llevar a cabo el an´alisis de la red de comportamientos y la neu- ronal, fu´e una funci´on de desempe˜no, la cual estuvo formada por dos funciones; una para evitar obst´aculos, la cu´al eval´ua a los individuos mas r´apidos que viajan en l´ınea recta evitando obst´acu- los esta funci´on involucra las velocidades de rotaci´on lineal y diferencial de las ruedas del robot as´ı como el valor m´as alto del sensor infrarrojo y; otra para identificar comida, la cual eval´ua a los individuos que identifican la mayor cantidad de comida durante la exploraci´on del ambiente. Los resultados obtenidos al evaluar el comportamiento de cada una de las redes, favorecen a
las redes de comportamiento dado que despu´es de 100 corridas t´ıpicas con 1500 iteraciones los valores de la funci´on m´as altos fueron obtenidos con la red de comportamientos Los valores de la red de comportamientos fueron los m´as alto tanto en la funci´on general como en las funciones que la integran, es decir, en todas las pruebas que se realizaron la que siempre gana es la red de comportamientos.
Por lo tanto a partir de los resultados obtenidos en la funci´on de desempe˜no, se puede deter- minar que, para el caso de los comportamientos de forrajeo las redes neuronales, a pesar de ser clasificadores robustos, se encuentran en desventaja con las redes de comportamientos ya que estas muestran mayor robustez al momento de establecer las condiciones que predominan en un ambiente din´amico y por lo tanto se obtienen mejores resultados y m´as consistentes con las redes de comportamientos. Cabe destacar que ambas redes presentan las misma desventaja en cuanto a su dise˜no, ya que en ambas redes (neuronales y de comportamientos) depende del problema a resolver y de la experiencia del dise˜nador. En el caso de las redes neuronales no existe una t´ecnica para determinar la topolog´ıa de la red, el n´umero de capas intermedias, el n´umero de neuronas en cada una de las capas ni para el n´umero de ejemplos a entrenar; mientras que para las redes de comportamientos el ajuste de par´ametros que coordinan la activaci´on de comporta- mientos debe hacerse de manera manual y la definici´on de los comportamientos es subjetiva, ya que depender´a del problema a resolver por lo que en ocasiones son m´as dif´ıciles de dise˜nar que las redes neuronales, pero para ello existen metodolog´ıas que te auxilian en su dise˜no, tal es el caso de la metodolog´ıa utilizada en esta tesis y que fu´e propuesta por Montes [?]
En base a lo anterior, es importante destacar tres aspectos que este trabajo de tesis proporcio- na. El primero es el hecho de que las redes de comportamientos funcionan adecuadamente en tiempo real y con ambientes din´amicos. El segundo es que el funcionamiento de las redes de comportamientos puede evaluarse mediante los comportamientos de forrajeo. Y por ´ultimo es que las propiedades que presentan las redes de comportamientos demuestren su robutez para resolver tareas dentro de un robot real.
Trabajos Futuros
Dentro de las posibles extensiones que podr´ıan llevarse a cabo a partir de este trabajo de tesis, b´asicamente estar´ıan enfocadas en tres aspectos que le dar´ıan una mayor solidez y trascendencia al trabajo, y son:
1. Dado que el principal reto en el dise˜no de las redes de comportamientos es el ajuste de par´ametros, uno de los trabajos futuros podr´ıa ser incorporar al algoritmo de selecci´on de acci´on de Maes la metodolog´ıa de algoritmos gen´eticos propuesta por Darran [?] para obtener el valor de estos par´ametros ´o tambi´en mediante la experimentaci´on de diversos ejemplos que produzcan diferentes valores. Para que posteriormente se implemente lo rea- lizado en este trabajo de tesis con los nuevos valores, ya que no se llev´o a cabo el ajuste de par´ametros puesto que se tomaron los valores que Maes propone en su art´ıculo [?] y no se present´o problema alguno, el objetivo de esta extensi´on ser´ıa determinar si con un ajuste