scieee AI-readable full text Open interactive document viewer

Repositorio Institucional de Documentos

Abstract

En este proyecto nos hemos basado en ideas desarrolladas en modelos mínimos de percepcion espacial generada a partir de la extracción de información en interacción sensomotora. Se revisa en el trabajo un modelo matemático que permite formalizar el modo en que un agente podría deducir las propiedades espaciales del mundo que habita de una manera sensomotora, y, además,la posibilidad de un algoritmo que permita diseñar organismos articiales sin imponerles el mismo hábitat espacial que el de su diseñador. Basándonos en estas ideas, se ha desarrollado un entorno experimental con el fin de testear las ideas que sustentan el modelo y su implementación matemática. El marco experimental ha consistido en el diseño de un entorno virtual con un agente sensomotor que se relaciona con el entorno a través de unas leyes psicofísicas que se han implementado basándose en descripciones básicas provenientes de organismos biológicos. Ademas, se ha diseñado un entorno experimental físico con un agente (robot Lego Mindstorms NXT) que se relaciona con su entorno del que recibe estímulos visuales, probando la robustez del modelo en entornos reales. Ochoa Villar, Jorge; González Bedia, Manuel; Serón Arbeloa, Francisco José

Full text

Modelo de caracterizaci´on del espacio (simetr´ıas y dimensionalidad) en agentes artificiales a partir de sensores y efectores desconocidos PROYECTO DE FIN DE CARRERA Autor: Jorge Ochoa Villar Director: Manuel Gonz´alez Bedia Codirector: Francisco Ser´on Arbeloa Ingenier´ıa en Inform´atica Curso 2013-2014 Departamento de Inform´atica e Ingenier´ıa de Sistemas Escuela de Ingenier´ıa y Arquitectura Universidad de Zaragoza Junio de 2014 Modelo de caracterizaci´on del espacio (simetr´ıas y dimensionalidad) en agentes artificiales a partir de sensores y efectores desconocidos RESUMEN En este proyecto nos hemos basado en ideas desarrolladas en modelos m´ınimos de percepci´on espacial generada a partir de la extracci´on de informaci´on en interacci´on sensomotora. Se revisa en el trabajo un modelo matem´atico que permite formalizar el modo en que un agente podr´ıa deducir las propiedades espaciales del mundo que habita de una manera sensomotora, y, adem´as, la posibilidad de un algoritmo que permita dise˜nar organismos artificiales sin imponerles el mismo h´abitat espacial que el de su dise˜nador. Bas´andonos en estas ideas, se ha desarrollado un entorno experimental con el fin de testear las ideas que sustentan el modelo y su implementaci´on matem´atica. El marco experimental ha consistido en el dise˜no de un entorno virtual con un agente sensomotor que se relaciona con el entorno a trav´es de unas leyes psicof´ısicas que se han implementado bas´andose en descripciones b´asicas provenientes de organismos biol´ogicos. Adem´as, se ha dise˜nado un entorno experimental f´ısico con un agente (robot Lego Mindstorms NXT) que se relaciona con su entorno del que recibe est´ımulos visuales, probando la robustez del modelo en entornos reales. i ´ Indice general I Memoria IX 1. Introducci´on 1 1.1. Objetivo y alcance del proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2. Contexto en el que se realiza el proyecto . . . . . . . . . . . . . . . . . . . . . . . . 1 1.3. Trabajo a realizar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.4. Herramientas utilizadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.5. Estructura del documento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.6. Planificaci´on ....................................... 3 2. Estado del arte 5 2.1. Leyes f´ısicas, psicof´ısicas y sensomotoras . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2. Enfoque constructivo de la percepci´on espacial: descubriendo el espacio desde las dependencias sensomotoras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3. “Comprensi´on es compresi´on” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.4. Modelos de cognici´on m´ınima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3. Modelo formal 11 3.1. Introducci´on ....................................... 11 3.2. Nociones fundamentales en procesos sensomotores de percepci´on espacial . . . . . 11 3.2.1. Condiciones iniciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.2.2. Desarrollo de la capacidad perceptiva del organismo . . . . . . . . . . . . . 12 3.2.3. Hacia una comprensi´on de la estructura del espacio . . . . . . . . . . . . . 13 3.3. Presentaci´on del modelo matem´atico . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.3.1. Grupo de isotrop´ıa de la ley sensomotora . . . . . . . . . . . . . . . . . . . 15 3.3.2. Campo de vectores fundamentales sobre la variedad S . . . . . . . . . . . . 17 3.3.3. ´ Ordenes motoras generadoras en XS..................... 19 3.3.4. Estructura de Γd(ϕ) a partir de XS...................... 20 3.4. Algoritmo......................................... 22 4. Entorno experimental 25 4.1. Dise˜no del entorno virtual y del agente sint´etico . . . . . . . . . . . . . . . . . . . . 25 4.1.1. Sistema sensor del agente . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.1.2. Sistema motor del agente . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.1.3. Sistema nervioso del agente . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.2. Experimento tipo 1: Entorno simulado . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.2.1. Aplicaci´on del algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.2.2. Resultados .................................... 32 4.3. Dise˜no del entorno real y del agente f´ısico . . . . . . . . . . . . . . . . . . . . . . . 34 4.3.1. Evaluaci´on de la viabilidad experimental . . . . . . . . . . . . . . . . . . . 35 4.4. Experimento tipo 2: Entorno real . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.4.1. Configuraci´on experimental . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 iii 4.4.2. Dise˜no experimental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.4.3. Ejecuci´on experimental y resultados . . . . . . . . . . . . . . . . . . . . . . 42 5. Conclusiones 45 5.1. Objetivos alcanzados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 5.2. Trabajofuturo ...................................... 45 II Anexos 47 A. Nociones matem´aticas 49 A.1. Nociones de topolog´ıa, geometr´ıa y geometr´ıa diferencial . . . . . . . . . . . . . . 49 A.2. Simetr´ıas en transformaciones geom´etricas, noci´on de grupo y representaci´on matricial 51 A.2.1. Estructura de grupo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 A.2.2. Representaci´on matricial . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 A.3. Nociones de Grupo de Lie y ´algebra de Lie . . . . . . . . . . . . . . . . . . . . . . 54 A.4. Algebra de Lie asociada a un grupo de Lie . . . . . . . . . . . . . . . . . . . . . . . 55 A.4.1. M´etodo operativo entre ´algebras y grupos de Lie . . . . . . . . . . . . . . . 56 A.5. Estructura de un grupo de Lie capturada a trav´es de su ´algebra . . . . . . . . . . . 57 A.5.1. Algebras de Lie asociativas y m´etricas sobre un ´algebra . . . . . . . . . . . 59 A.6. Ortonormalidad de una base en un ´algebra de Lie . . . . . . . . . . . . . . . . . . . 61 A.6.1. Propiedades de las m´etricas . . . . . . . . . . . . . . . . . . . . . . . . . . 61 A.6.2. M´etrica en un ´algebra de Lie . . . . . . . . . . . . . . . . . . . . . . . . . . 65 B. Algoritmo 67 B.1. Implementaci´on del algoritmo [11] . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 B.1.1. Differential - Algoritmo de c´alculo del espacio tangente . . . . . . . . . . . 68 B.1.2. Svd differential - Algoritmo de bootstraping diferencial . . . . . . . . . . . 69 B.2. Resumen de los detalles de implementaci´on del entorno virtual . . . . . . . . . . . 70 B.2.1. Estructuras matriciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 B.2.2. Resumen de las leyes psicof´ısicas asociadas a los dispositivos sensores . . . . 71 B.3. Detalle de las etapas del algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 B.3.1. Etapa 1: Condiciones iniciales . . . . . . . . . . . . . . . . . . . . . . . . . . 72 B.3.2. Etapa 2: Obtenci´on de una base de Tϕ(M, E0) ................ 72 B.3.3. Etapa 3: Obtenci´on de una base de Tϕ(M0, E) ................ 73 B.3.4. Etapa 4: Obtenci´on de una base de Tϕ(M0, E)∩Tϕ(M, E0) ........ 74 B.3.5. Etapa 5: Obtenci´on de una base de vectores generadores de XS....... 74 iv ´ Indice de figuras 1.1. Diagrama de Gantt de las actividades realizadas. . . . . . . . . . . . . . . . . . . . 3 2.1. Ejemplo de veh´ıculo de Braitenberg . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.1. Organismo sensomotor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.2. Organismo interaccionando con su entorno. . . . . . . . . . . . . . . . . . . . . . . 12 3.3. Movimiento compensable. El organismo no percibe ning´un cambio en sus sensores. 13 3.4. Ejemplo de espacio tangente y mapeo exponencial. . . . . . . . . . . . . . . . . . . 17 3.5. Extracci´on de espacios tangentes Tϕ(M0, E) y Tϕ(M, E0).............. 19 3.6. Espacio tangente intersecci´on T ϕ(M0, E)∩T ϕ(M, E0). ............... 20 4.1. Agente simulado con tres tipos de dispositivos sensomotores. . . . . . . . . . . . . 25 4.2. Ejemplo esquem´atico del funcionamiento del dispositivo visual. La proyecci´on de las fuentes del entorno se modelan siguiendo el modelo de c´amara estenopeica. . . . . 26 4.3. Ejemplo esquem´atico del funcionamiento de la retina. El total de intensidad luminosa que recibe el fotorreceptor se modela mediante una gaussiana en funci´on de la distancia entre el fotorreceptor y la proyecci´on luminosa sobre la retina. . . . . . . 27 4.4. Ejemplo esquem´atico del funcionamiento del dispositivo auditivo. La antena favorece (a) las fuentes auditivas situadas frente a los dispositivos sensoriales y penaliza (b) los cambios de orientaci´on entre fuente y antena. . . . . . . . . . . . . . . . . . . . 28 4.5. Ejemplo esquem´atico del funcionamiento del dispositivo auditivo. El agente percibe el desplazamiento de su flagelo debido a las perturbaciones provocadas por la fuente. 28 4.6. Ejemplo esquem´atico del sistema nervioso sensor antes (a) y despu´es (b) de la auto organizaci´on neuronal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.7. Ejemplo esquem´atico del sistema nervioso motor. . . . . . . . . . . . . . . . . . . . 30 4.8. Resultados de la simulaci´on correspondientes al c´alculo del espacio tangente T ϕ (M, E0). 33 4.9. Resultados de la simulaci´on correspondientes al c´alculo del espacio tangente T ϕ (M0, E). 33 4.10. Resultados de la simulaci´on correspondientes c´alculo del espacio tangente T ϕ (M0, E)+ Tϕ (M, E0)......................................... 34 4.11. Primer prototipo de agente sensomotor. En este ejemplo en particular, los sensores colocados en los extremos de los brazos eran unas c´amaras web. . . . . . . . . . . 36 4.12. Ejemplo de prueba realizada con c´amara web (a) y detalle del entorno (b). . . . . 37 4.13. Detalle del entorno. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.14. Robot con Kinect. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.15. Entorno final de simulaci´on. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.16. Detalles de la simulaci´on de la proyecci´on de los elementos del entorno sobre la retina. 41 4.17. Resultados de la simulaci´on correspondientes al c´alculo del espacio tangente T ϕ (M, E0). Como puede observarse en la figura, el n´umero de iteraciones realizadas en esta etapa del algoritmo es de 4 iteraciones, frente a las 8 del experimento virtual (ver Anexo B). Esta reducci´on se program´o as´ı porque se vio en los resultados que 4 iteraciones eran necesarias para caracterizar el espacio Tϕ (M, E0) correctamente. . . . . . . . 43 4.18. Resultados de la simulaci´on adicionales, correspondientes a las fases 3 y 4 del algoritmo. 44 v A.1. Transformaciones topol´ogicas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 A.2. Campo de vectores sobre la superficie de una esfera. . . . . . . . . . . . . . . . . . 51 A.3. Ejemplo de funci´on exponencial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 A.4. Espacios tangentes de O(2) y SO(2). . . . . . . . . . . . . . . . . . . . . . . . . . . 58 A.5. Proyecci´on de un cilindro en R3sobre R2. ....................... 65 vi ´ Indice de tablas 4.1. Resumen de prestaciones y configuraci´on del sistema motor. . . . . . . . . . . . . . 35 4.2. Resumen de precisiones de sensores y motores. . . . . . . . . . . . . . . . . . . . . 36 4.3. Resumen de caracter´ısticas de las c´amaras probadas. . . . . . . . . . . . . . . . . 37 4.4. Resumen de resultados de las pruebas de precisi´on con el sensor de profundidad de laKinect. ......................................... 38 4.5. Resumen de los p´arametros de configuraci´on del entorno en los experimentos virtual yreal. ........................................... 40 4.6. Resumen de los p´arametros sensores de los experimentos virtual y real. . . . . . . . 42 4.7. Resumen de las configuraciones motoras y nerviosas de los experimentos virtual y real. ............................................ 42 B.1. Algoritmos implementados por [11]. . . . . . . . . . . . . . . . . . . . . . . . . . . 67 B.2. Descripci´on del algoritmo differential. ......................... 68 B.3. Descripci´on del algoritmo svd differential. ....................... 69 B.4. Descripci´on de las estructuras matriciales utilizadas en la simulaci´on. . . . . . . . . 70 B.5. Descripci´on de las leyes psicof´ısicas asociadas a los dispositivos sensores. . . . . . . 71 B.6. Descripci´on de la etapa 1 del algoritmo. . . . . . . . . . . . . . . . . . . . . . . . . 72 B.7. Descripci´on de la etapa 2 del algoritmo. . . . . . . . . . . . . . . . . . . . . . . . . 73 B.8. Descripci´on de la etapa 3 del algoritmo. . . . . . . . . . . . . . . . . . . . . . . . . 73 B.9. Descripci´on de la etapa 4 del algoritmo. . . . . . . . . . . . . . . . . . . . . . . . . 74 B.10.Descripci´on de la etapa 5 del algoritmo. . . . . . . . . . . . . . . . . . . . . . . . . 74 vii 4 Cap´ıtulo 2 Estado del arte 2.1. Leyes f´ısicas, psicof´ısicas y sensomotoras En las ciencias tradicionales, el fin de la investigaci´on es la obtenci´on de leyes naturales dirigidas a dar explicaciones causales: estas leyes se conocen como leyes f´ısicas y se considera que capturan la estructura real de los fen´omenos en la naruraleza. Son leyes diferentes a las denominadas leyes psicof´ısicas, que asumen un sujeto en interacci´on con un mundo, y que se encargan de representar c´omo en el sujeto impactan los fen´omenos naturales (a qu´e espectro luminoso son sensibles sus ´organos de la visi´on, qu´e sensibilidad ac´ustica tienen sus dispositivos auditivos, etc.). En esta secci´on nos interesa introducir un tipo de ley diferente a las anteriores y que denominaremos ley sensomotora. Estar gobernado por una ley sensomotora es asumir que el sistema no es un ente que recibe informaci´on de manera pasiva. Al contrario, implica una relaci´on entre la acci´on del sistema y su percepci´on que, a diferencia de los otros tipo de leyes, funciona de manera activa, es decir, el sistema extrae una serie de regularidades entre los movimientos que despliega y los est´ımulos que recibe. Una ley f´ısica (o psicof´ısica) es una ley fija, proporcionada desde fuera, sin posibilidad de intervenci´on en la configuraci´on de la misma por parte de un agente. Una ley sensomotora que regule el comportamiento de un agente, por contra, es una ley que construye el agente en la propia interacci´on que establece con su entorno, de manera que la acci´on es necesaria para la percepci´on y, a la vez, es la percepci´on la que condiciona la acci´on del sujeto, estableciendo bucles de causalidad circular. Para poder diferenciar las nociones introducidas, consideremos un simple dispositivo fotot´actico, por ejemplo, uno de los veh´ıculos de Braitenberg [3]. El veh´ıculo est´a equipado con dos sensores situados uno al lado del otro enfrente del veh´ıculo y con dos ruedas situadas una al lado de la otra en la parte trasera. El sensor izquierdo est´a conectado al mecanismo que mueve la rueda derecha y el sensor derecho est´a conectado al mecanismo que mueve la rueda izquierda. Como resultado de estas conexiones, el veh´ıculo se orientar´a por ´el mismo hacia las fuentes lum´ınicas y se mover´a hacia ellas (ver Fig. 2.1). Un mecanismo tan simple puede detectar y perseguir fuentes luminosas. Una ley f´ısica, presente en el ejemplo y relacionada con el los est´ımulos, es la ley de propagaci´on de la luz: la luz se propaga en un medio ideal en todas sus direcciones por igual en forma de onda (propiedad de isotrop´ıa) y su intensidad disminuye en una relaci´on inversamente proporcional al cuadrado de la distancia al centro donde se origina. En el ejemplo, tambi´en se puede hablar de leyes f´ısicas motoras. Un ejemplo de ellas ser´ıan el conjunto de leyes mec´anicas que explican el desplazamiento de las ruedas por el suelo a partir de la fuerza ejercida por el motor sobre la rueda, la fuerza de rozamiento con el suelo, etc. Podemos distinguirlas de las correspondientes leyes psicof´ısicas sensoras y motoras asociadas. Por ejemplo, una ley psicof´ısica sensora caracterizar´ıa la relaci´on entre la magnitud de la intensidad luminosa que le llega procedente de la luz al veh´ıculo, y la intensidad con la que ´esta es percibida por el sensor del veh´ıculo. En este caso, por ejemplo, los sensores podr´ıan registrar la intensidad 5 Figura 2.1: Ejemplo de veh´ıculo de Braitenberg luminosa siguiendo una funci´on logar´ıtmica con unos umbrales superiores e inferiores a partir de los cuales el sensor deja de detectar la luz. La correspondiente ley psicof´ısica motora del ejemplo establecer´ıa la relaci´on entre la se˜nal que le llega al motor procedente de los sensores y la acci´on que ´este ejerce sobre la rueda. En este caso, la ley depender´ıa de la precisi´on del motor a la hora de convertir la se˜nal recibida en potencia de giro, del umbral de se˜nal en el que el motor es capaz de funcionar, etc. Por ´ultimo, en nuestro ejemplo, la ley sensomotora es la ley que relaciona la acci´on del veh´ıculo con los est´ımulos que recibe, es decir, que combina se˜nales sensoras y motores. Si, como ocurre con la din´amica de los veh´ıculos de Braitenberg, hay una fuente luminosa a la izquierda del veh´ıculo, esto har´a que el veh´ıculo gire en la direcci´on de la fuente luminosa. Una vez que el veh´ıculo ha girado, la fuente luminosa ya no estar´a a su izquierda, sino a su derecha. Esto causar´a que el veh´ıculo gire hacia la derecha hasta que, de nuevo, la luz vuelva a quedar a la izquierda. Esta serie de relaciones est´ımulo-acci´on ir´an moviendo al veh´ıculo hacia la fuente luminosa. De esta manera, la estimulaci´on sensorial que el sistema recibe es dependiente de las acciones que realiza, y, a su vez, las acciones que realiza tambi´en son debidas a los est´ımulos que recibe. Podemos decir que un veh´ıculo as´ı construido despliega una din´amica gobernada por una ley sensomotora, es decir, un conjunto de reglas de interdependencia entre est´ımulos y movimiento que le permiten, en este caso, perseguir fuentes luminosas. 2.2. Enfoque constructivo de la percepci´on espacial: descubriendo el espacio desde las dependencias sensomotoras El enfoque constructivo del espacio [12], es decir, que la percepci´on espacial se construye en los primeros meses de vida, es una de las aportaciones m´as relevantes de los estudios sobre desarrollo cognitivo (de igual manera, la teor´ıa piagetiana considera que el pensamiento formal, las operaciones l´ogicas, las reglas de conservaci´on..., todas son capacidades que surgen en el pensamiento infantil a partir de la interacci´on sensomotora). La realidad que percibe el sujeto es fruto de su propia construcci´on intelectual. Este enfoque sensomotor es contrario a la percepci´on realista del mundo (que adoptan las ciencias naturales como la f´ısica) que entiende que la relaci´on entre el sujeto y su entorno, v´ıa la 6 percepci´on, se produce en t´erminos de mecanismos de representaci´on. Para el realismo, la realidad externa existe independientemente de nuestro proceso de percepci´on, y ´este se reduce a un proceso de representaci´on en forma de estructuras mentales simb´olicas. La forma de la realidad que percibimos no se ve afectada por el hecho de c´omo la conocemos: la representaci´on mental es una copia de la realidad. Esto nos llevar´a a diferenciar conceptualmente dos tipos de mundo, en funci´on del enfoque que adoptemos: (i) en el enfoque realista, el mundo en que habita un agente es el conjunto de fen´omenos f´ısicos que vienen caracterizados por leyes naturales. A este mundo lo denominaremos “entorno” del agente; (ii) en el enfoque constructivista, el mundo del agente est´a construido por ´el a trav´es de las interacciones sensomotoras que establece con el medio. A ´este, lo denominaremos el “espacio sensomotor” que percibe el agente. El concepto de “espacio sensomotor” fue planteado por primera vez por el bi´ologo Jakob von Uexk¨ ull [16], introduciendo la noci´on de Umwelt (en alem´an, “medio ambiente”). El Umwelt es el conjunto de todas las relaciones significativas del ser vivo con su entorno. Seg´un von Uexk¨ ull, cada ser vivo tendr´a un Umwelt, un mundo propio diferente que crear´a e incluso modificar´a seg´un interaccione con su entorno. El concepto de Umwelt escapa de la idea de un mundo com´un para todos los seres vivos regulado por leyes f´ısicas para llegar a la noci´on de un mundo propio y ´unico que crea cada ser vivo seg´un interacciona con su entorno. Es interesante, por tanto, destacar que la noci´on de Umwelt puede relacionarse con el enfoque sensomotor, pues es mediante la acci´on y la percepci´on como se crea y se modifica el Umwelt propio de cada ser vivo. El enfoque sensomotor sobre la percepci´on [9] que se ha desarrollado en los ´ultimos a˜nos, inspirada en las teor´ıas de Piaget, considera que, en realidad, “percibir” mediante leyes sensomotoras nos aleja de la idea de que esta capacidad se base en el hecho de poseer mecanismos cerebrales preestablecidos espec´ıficos. En vez de eso, la teor´ıa sensomotora propone que el hecho de “percibir” se basa en la interacci´on del cuerpo con su entorno, extrayendo una serie de regularidades, una estructura relacional, de esas interacciones. Para poder realizar dichas interacciones es obviamente necesario disponer de alguna estructura interna que haga de gu´ıa para poder realizar dichas interacciones pero sin depender del tipo de est´ımulo (el mismo mecanismo sirve para percibir est´ımulos visuales o t´actiles, por ejemplo). En este caso, aunque existen mecanismos neuralmente codificados, sin embargo, su dominio no se encuentra s´olo en el cerebro, sino, como se ha recalcado, en la actividad perceptual misma. Esta nueva perspectiva propone que lo que determina la modalidad sensorial experimentada de una estimulaci´on concreta viene dada por la ley sensomotora que gobierna dicha estimulaci´on y no por el est´ımulo concreto. Seg´un esto, lo que determina la naturaleza particular de la estimulaci´on (visual, t´actil, auditiva, olfativa, etc.) no es nada directamente relacionado con las v´ıas sensoriales o las zonas cerebrales que llevan el influjo nervioso. Habr´a leyes sensomotoras para cada tipo de acci´on perceptiva (por ejemplo, la experiencia t´actil estar´a determinada por los cambios en los receptores sensoriales que ocurren cuando movemos el cuerpo con respecto a una superficie, mientras que la percepci´on auditiva estar´a determinada por leyes como el hecho de que cuando te aproximas a una fuente sonora, la intensidad del est´ımulo sensorial aumenta). Este resultado proporciona un marco unificador entre las diferentes modalidad sensoriales (como la sinestesia t´actil) y la posibilidad de sustituci´on sensorial. Por ejemplo, si a trav´es del tacto reproducimos condiciones similares a las que son usualmente obtenidas por los caminos visuales, ´estas ser´an percibidas como si poseyeran una naturaleza visual (debido a que son gestionadas por la misma ley sensomotora). De hecho, hay evidencia de que esto es posible [1]. 2.3. “Comprensi´on es compresi´on” La forma de disponer de una estructura que caracteriza el Umwelt de un agente a partir de sus relaciones sensomotoras, implica necesariamente alg´un mecanismo de procesamiento de informaci´on que, de todo el mar de est´ımulos que recibe el sistema, sepa extraer y conservar s´olo aquellas realmente significativas en su interacci´on con el mundo. 7 Esto es, el sistema “comprender´a” el mundo que habita y sus propiedades, en el momento en que sea capaz de “comprimir” la informaci´on recibida, siendo capaz de entenderla y categorizarla mediante un simple conjunto de reglas que la expliquen. De acuerdo con [17], en la pr´actica de la Ciencia, podemos diferenciar tres formas diferentes de comprender los hechos cient´ıficos: (i) modelos basados en la causalidad (entender los fen´omenos en t´erminos de la observaci´on de relaciones causa-efecto, como por ejemplo, la f´ısica), (ii) modelos basados en la estructura (entender a trav´es de la s´ıntesis y el an´alisis de las diferentes partes en las que puede dividirse el estudio de un fen´omenos, como por ejemplo, la biolog´ıa) y (iii) modelos basados en la compresi´on (entender un fen´omeno mediante la reducci´on de su complejidad, como en Ciencias de la Computaci´on). El enfoque basado en la compresi´on asume una visi´on algor´ıtmica de los fen´omenos que nos permite conectar ideas provenientes de disciplinas como la Educaci´on o la Psicolog´ıa, y tratarlas en forma de modelos computacionales que, eventualmente, permiten aplicarlas al dise˜no de organismos artificiales. En [4], el autor propone que la comprensi´on es un tipo de compresi´on de datos. Mantiene que “entendimiento es compresi´on y que una teor´ıa cient´ıfica nos permite comprender el mundo porque unifica muchos fen´omenos mostrando que estos reflejan un mecanismo interno com´un”. Cuanto m´as simple es una teor´ıa sobre un fen´omeno, m´as profundo es el entendimiento sobre ´el. La comprensi´on es el l´ımite de una conceptualizaci´on, y comprender algo es haberlo conceptualizado a una medida determinada. Tal como se ejemplifica en [4], comprender algo es poseer un algoritmo que permita comprimir la informaci´on recibida y convertirla en descripciones algor´ıtmicas m´as concisas. Por ejemplo, entendemos el n´umero 0,33333... por pensar en ´el como un tercio. La primera forma de representar el n´umero, requiere una cantidad infinita de memoria, mientras que la segunda forma puede producir todos los datos de la primera representaci´on utilizando mucha menos informaci´on. 2.4. Modelos de cognici´on m´ınima Dentro de las Ciencias Cognitivas, la cognici´on tiende a ser interpretada desde una perspectiva antropoc´entrica, es decir, proyectando esquemas que provienen de nuestros prejuicios sobre c´omo funcionan las capacidades humanas. Para evitar estos prejuicios a la hora de elaborar teor´ıas surgi´o hace una d´ecada la l´ınea de investigaci´on conocida como “cognicion m´ınima” [2, 15]. La cognici´on m´ınima busca modelos que, con m´ınimos recursos, sean capaces de materializar capacidades cognitivas primitivas o los or´ıgenes de capacidades cognitivas m´as elaboradas. En la ´ultima d´ecada, la relevancia en la comprensi´on de fen´omenos cognitivos a partir de modelos m´ınimos ha ido en aumento. Concentrarse en una versi´on simplificada, m´ınima, de un fen´omeno de estudio, sirve al investigador como herramienta para pensar sobre el fen´omeno. Por ejemplo, algunos modelos deliberadamente simples pueden confirmar que existen alternativas explicativas a fen´omenos que se supon´ıa que funcionaban de una determinada manera. En palabras de algunos autores [2, 13], los modelos sirven “como gimnasia mental”, es decir, son entidades equivalentes a los experimentos mentales cl´asicos, son artefactos que nos ayudan a pensar. En el ´area del estudio ingenieril de la inteligencia, podemos encontrar dos motivaciones: (i) La primera es puramente pragm´atica. Trata de encontrar algoritmos ´utiles en campos industriales, tecnol´ogicos, etc., que tienen una amplia gama de beneficios. (ii) La segunda motivaci´on es cient´ıfica, esto es, se usan computadores, modelos de simulaci´on, bots, etc. como plataformas experimentales para la investigaci´on de cuestiones acerca de la inteligencia. Esta es la conocida como “metodolog´ıa sint´etica” que se presenta como alternativa a la tradicional, y que defiende que el estudio ingenieril sobre la mente deber´ıa funcionar m´as como un campo cient´ıfico que permita examinar hip´otesis particulares , y en el que haya una investigaci´on te´orica para averiguar por qu´e ciertos modelos son mejores o no en t´erminos de las asunciones que suponen. 8 Los modelos m´ınimos consisten en agentes sint´eticos que habitan entornos virtuales y con ellos se pretende capturar aspectos concretos de una tarea cognitiva. Su condici´on de “m´ınimos” permite que puedan ser estudiados de manera completa. Estos modelos no son estructuras que organizan datos experimentales. Su valor proviene del valor cient´ıfico que tiene el estudio de los patrones observados y la relaci´on de tales patrones con hip´otesis te´oricas. Sirven como herramientas para cuestionar preconcepciones sobre como un cierto comportamiento es generado. Son modelos con una complejidad manejable que permiten un an´alisis completo y muchas veces anal´ıtico. El “an´alisis con modelos m´ınimos” en Ciencia Cognitiva aporta, en ocasiones, reflexiones que ponen en entredicho la validez de presupuestos metodol´ogicos. Es decir, el an´alisis de modelos permite revelar las ideas ocultas al abordar problemas con una metodolog´ıa determinada, impidiendo que existan explicaciones en otros t´erminos. Tal como hemos visto, podemos entender c´omo un agente, gracias a sus interacciones sensomotoras, es capaz de definir su propio Umwelt, construy´endolo a trav´es de las relaciones que establece con su entorno de una manera activa. Nuestro inter´es se centra en determinar c´omo es posible que un agente pueda obtener informaci´on sobre la estructura de su espacio sensomotor plante´andolo en t´erminos algor´ıtmicos, es decir, buscando un modo de formalizar estas ideas en una herramienta no s´olo que permita comprender c´omo el agente logra esto, sino tambi´en para disponer de mecanismos algor´ıtmicos que permitan dise˜nar sistemas artificiales basados en estas ideas. 9 10 Cap´ıtulo 3 Modelo formal 3.1. Introducci´on En este cap´ıtulo se explicar´an las ideas que sustentan el proyecto, tanto a nivel te´orico-formal como desde el punto de vista de su aplicaci´on. En una primera parte, se mostrar´an las nociones fundamentales que explican c´omo un organismo estructura el mundo en el que habita a partir de las relaciones operativas que establece con ´el. Se defiende aqu´ı, por tanto, una visi´on constructiva de la capacidad de percepci´on en los organismos vivos (con el fin de que sirva para fundamentar otros modos de dise˜no de capacidades perceptivas en artefactos). En una segunda parte, tras haber introducido los conceptos base, se pasar´an a expresar matem´aticamente estas nociones con el fin de poder disponer del problema en t´erminos formales. A partir de la representaci´on del problema obtenida, se pasar´a a explicar c´omo, mediante t´ecnicas que provienen del campo de: (i) la geometr´ıa diferencial, (ii) grupos de trasformaciones invariantes y (iii) propiedades de ´algebras de Lie, es posible dise˜nar un algoritmo que explote informaci´on sensomotora desplegada en el espacio de interacci´on entre un agente y su entorno, y la utilice para caracterizar las propiedades de invarianza y simetr´ıa del espacio en el que el sistema est´a embebido. Las ideas te´oricas de este cap´ıtulo y su implementaci´on algor´ıtmica est´an extra´ıdas de los trabajos [10, 11]. 3.2. Nociones fundamentales en procesos sensomotores de percepci´on espacial Para explicar las nociones b´asicas, utilizaremos un agente sensomotor m´ınimo que nos permitir´a introducir, de un modo ilustrativo, los conceptos necesarios sobre las que trabajaremos. 3.2.1. Condiciones iniciales Supondremos un entorno compuesto por una serie de luces en el que habita un organismo simple consistente en un brazo articulado fijado al suelo con varias ramificaciones por cada articulaci´on y con sensores sensibles a la luz en cada uno de sus extremos (v´ease Fig. 3.1). Se supone que posee un protocerebro mediante el que controla el movimiento de su cuerpo y procesa las se˜nales sensoriales que recibe, a trav´es de un sistema nervioso primitivo conectado a ´el. Suponemos que, inicialmente: El cerebro no tiene ninguna informaci´on a priori sobre el espacio f´ısico en que habita. El cerebro no conoce la correspondencia entre su cuerpo y su sistema nervioso. 11 Como consecuencia de esto, el cerebro es incapaz de realizar movimientos controlados de su cuerpo, de tal manera, que lo ´unico que puede hacer el organismo inicialmente es realizar movimientos aleatorios, recibiendo la correspondiente respuesta a dichos movimientos a trav´es de sus sensores. Figura 3.1: Organismo sensomotor. 3.2.2. Desarrollo de la capacidad perceptiva del organismo Teniendo en cuenta estos movimientos aleatorios, y a partir de las diferentes respuestas sensoriales que recibe como consecuencia, el sistema es capaz de discriminar entre: (i) respuestas que presentan una relaci´on sistem´atica con los movimientos que realiza, y (ii) respuestas que no parecen tener ninguna relaci´on con los movimientos realizados. Esto le permite al organismo constatar que su universo tiene dos partes: (i) una que est´a directamente vinculada a sus movimientos (que llamaremos cuerpo) y (ii) otra que no presenta una relaci´on aparente con sus movimientos (que denominaremos entorno). Una vez constatada esta diferencia, el organismo tiene la posibilidad de caracterizar ambas partes a trav´es de la regulaci´on de sus movimientos. As´ı, los cambios que se produzcan en los sensores cuando el cuerpo est´a estacionario ser´an los que provienen del entorno (ver Fig. 3.2b). Y a la inversa, si el cuerpo se mueve, el efecto en los inputs ser´a debido al propio cuerpo1(ver Fig. 3.2a). (a) Organismo movi´endose en un entorno fijo. (b) Organismo estacionario percibiendo los cambios del entorno. Figura 3.2: Organismo interaccionando con su entorno. 1En este caso podr´a haber tambi´en una incontrolable contribuci´on del entorno. Pero supondremos que los movimientos del organismo son m´as r´apidos que los que genera la din´amica propia del entorno. 12 Supongamos que el organismo estructura estas correspondencias sensomotoras mediante alg´un mecanismo cerebral con el fin de hacer uso futuro y funcional de ellas (por ejemplo, mover su cuerpo controladamente en su entorno). Es por ello, que supondremos la existencia de un mecanismo de eficiencia cerebral que caracterizar´a estas nociones (cuerpo y entorno) en t´erminos de una representaci´on que utilice el menor n´umero de par´ametros posibles. Por ejemplo, el organismo anterior es capaz de percibir la posici´on de una luz del entorno en t´erminos del n´umero total de sus sensores (por ejemplo 40) y caracterizarla de este modo. Sin embargo, sabemos que el menor n´umero de par´ametros necesario para representar un punto en el espacio es tres (sus coordenadas espaciales). Si existe un mecanismo cerebral en el organismo capaz de estructurar la informaci´on eficientemente (esto es, en un espacio de par´ametros de dimensi´on menor que 40), ´este ser´a m´aximamente eficiente si encuentra una representaci´on s´olo en t´ermino de tres par´ametros. Asumiendo este mecanismo cerebral, (1) al conjunto de correspondencias sensomotoras vinculadas al cuerpo del organismo una vez han sido estructuradas en el espacio de dimensionalidad m´ınima posible, lo denominaremos representaci´on del estado del cuerpo; (2) an´alogamente, para el entorno percibido, tendremos una representaci´on del estado del entorno. Hay que recalcar que el organismo no tiene conocimiento “conceptual” a priori ni sobre s´ı mismo ni sobre el mundo en que habita. Estas nociones mencionadas (cuerpo “percibido”y entorno “percibido”) las construye el organismo a partir de las regularidades que detecta en sus procesos de interacci´on sensomotora con el mundo f´ısico. N´otese que cuerpo y entorno “percibidos” no tienen nada que ver con las nociones de cuerpo y entorno f´ısicos (ver secci´on 2.2). Existe una diferencia conceptual entre ambas representaciones mencionadas: (i) la representaci´on del estado del entorno es m´as b´asica, ya que no involucra el movimiento del organismo para obtener dicha representaci´on; (ii) la representaci´on del estado del cuerpo, sin embargo, es mucho m´as interesante, porque permite al agente conocer su propio cuerpo pero a trav´es de los efectos que el entorno le proporciona cuando se mueve. Es decir, el cuerpo “percibido” es una v´ıa para descubrir las relaciones entre el cuerpo y el entorno. 3.2.3. Hacia una comprensi´on de la estructura del espacio Hay ciertos cambios en el cuerpo que pueden ser compensados perceptualmente por movimientos del entorno o del propio cuerpo. Por ejemplo, supongamos el organismo situado frente a una luz. Si el organismo se mueve uniformemente hacia la derecha, y la luz se mueve tambi´en uniformemente hacia la derecha y a la misma velocidad, ambos movimientos se compensar´an perceptivamente. En esta situaci´on, el organismo no habr´a obtenido ninguna informaci´on relevante tras su interacci´on debido a que, a lo largo de este movimiento, la percepci´on de la luz en sus sensores se ha mantenido constante. A estas combinaciones de movimientos organismo-entorno que se compensan mutuamente se les denominan movimientos compensables (ver Fig. 3.3) Figura 3.3: Movimiento compensable. El organismo no percibe ning´un cambio en sus sensores. La existencia de estos movimientos compensables implica una relaci´on estrecha entre cuerpo y entorno. A partir de esta relaci´on, podemos hablar de una “estructura com´un cuerpo-entorno” que 13 Figura 3.6: Espacio tangente intersecci´on T ϕ(M0, E)∩Tϕ(M, E0). El espacio tangente intersecci´on T ϕ(M0, E)∩T ϕ(M, E0) representa el conjunto de todos los est´ımulos recibidos por el agente que pueden generarse por una combinaci´on de movimientos del cuerpo y del entorno (donde ninguno es nulo). Esto quiere decir que todos los posibles movimientos compensables agente-entorno tienen respuesta sensorial en dicha intersecci´on, puesto que dado cualquier movimiento del agente, existe un movimiento del entorno que puede dejar invariante la respuesta sensorial (ver Fig. 3.6). El problema que ten´ıamos para construir el campo de vectores fundamentales de XSes que el agente no puede construir ´ordenes motoras generadoras MU(t), puesto que no conoce las funciones f∈Γd(ϕ) necesarias para generar MU(t). Sin embargo, sabemos que el espacio intersecci´on Tϕ(M0, E)∩Tϕ(M, E0) contiene el conjunto de las respuestas sensoriales S asociadas a los movimientos compensables. Podemos asegurar que, si el agente es capaz de generar una orden motora M(t) cualquiera (que no tiene por qu´e definirse a partir de funciones f∈Γd(ϕ)), pero cuya respuesta sensorial S, mediada por la ley sensomotora ϕ, se encuentra en dicha intersecci´on, M(t)∈Tϕ(M0, E)∩Tϕ(M, E0) entonces esa orden motora M(t) ser´a equivalente a una orden motora generadora MU(t), debido a que las ´ordenes motoras generadoras se construyen a partir de una transformaci´on r´ıgida f∈Γd(ϕ) que, por definici´on (ver secci´on 3.3.1) dejan invariante la S. Por lo tanto, cualquier orden motora que tenga una respuesta sensorial (a trav´es de la ley sensomotora) en el espacio tangente intersecci´on T ϕ(M0, E)∩Tϕ(M, E0), ser´a una orden motora generadora de XS. d dtϕ(M(t), V ) = d dtϕ(MU(t), V )⇒d dtϕ(M(t), V ) = XS En el cap´ıtulo siguiente se mostrar´a un procedimiento mediante el cual se pueden obtener ´ordenes motoras generadoras a partir de una base del espacio Tϕ(M0, E)∩T ϕ(M, E0). El agente dispondr´a as´ı de una alternativa para generar XSsin necesidad de conocer las funciones f∈Γd(ϕ). 3.3.4. Estructura de Γd(ϕ)a partir de XS La ´ultima parte de este cap´ıtulo, tal como hemos indicado, la dedicaremos a explicar c´omo puede conocerse la estructura del espacio sensomotor Γd(ϕ) partir del campo de vectores fundamentales XS. Para ello, utilizaremos nociones de grupos y ´algebras de Lie que pasamos a indicar. Grupos y ´algebras de Lie Decimos que un conjunto de elementos C, junto con una operaci´on binaria ◦, tiene estructura matem´atica de grupo Gsi la operaci´on ◦es cerrada en Gy cumple la propiedad asociativa, y adem´as existe elemento neutro y, para cada elemento de Cexiste su elemento inverso. Por tanto, 20 conocer la estructura de un grupo Ges conocer las propiedades que se cumplen cuando act´ua la operaci´on de grupo ◦sobre sus elementos g1, g2∈G, esto es g1◦g2. Un conjunto de transformaciones con estructura de grupo Gsobre una variedad Wes de Lie si sus transformaciones son continuas y diferenciables, es decir, que admite una representaci´on en t´erminos de su espacio tangente. Y el espacio tangente de un grupo de Lie Les un ´algebra de Lie si existe una operaci´on en ´el conocida como corchete de Lie [·,·] que, a partir de dos elementos de X, Y ∈L, cuantifica c´omo de lejos est´a “multiplicarlos en una direcci´on o en otra”. Esto es: [X, Y ] = XY −Y X El corchete de Lie debe satisfacer las siguientes propiedades: (i) cumple la identidad de Jacobi, (ii) es bilineal, y (iii) la aplicaci´on del corchete sobre un ´unico vector [X, X] es nula. Consideremos el siguiente ejemplo: Si visualizamos el grupo Gcomo operaciones con matrices (donde su operaci´on de grupo es la composici´on de matrices), las propiedades de la operaci´on sobre f, g ∈G f◦g(·) = f(g(·)) quedan, de alg´un modo, recogidas en el resultado de aplicar la operaci´on propia de Lentre los elementos X, Y de la correspondiente ´algebra Lde G(en nuestro ejemplo, la operaci´on suma entre vectores) que se corresponden con las transformaciones f, g ∈G X+Y En este ejemplo, el corchete de Lie es el modo de cuantificar el grado de no-conmutatividad (en los casos en los que el corchete de Lie sea no nulo) del grupo Gde partida. De alg´un modo, el corchete de Lie al aplicarse sobre los vectores del ´algebra X, Y ∈Lque representan operaciones del grupo G, y observar su comportamiento, [X, Y ], es capaz de rescatar propiedades sobre la operaci´on de composici´on del grupo. De otra forma, el corchete de Lie en Les capaz de proporcionarnos informaci´on sobre la estructura del grupo Gasociado. En general, la estructura de un grupo G de Lie puede recuperarse s´olo parcialmente a partir de su ´algebra de Lie (la condici´on directa, de grupo a ´algebra, es siempre cierta) pero no la contraria, aunque en ciertas condiciones matem´aticas, puede recuperarse de manera completa (ver Anexo A). En las condiciones de nuestro problema, puede probarse que: 1. Γd(ϕ) tiene estructura de grupo. 2. El grupo G= Γd(ϕ) es de Lie (es decir, sus transformaciones pueden ser expresadas como composiciones de transformaciones diferenciables) 3. A partir de campos de vectores fundamentales XSde S puede obtenerse la estructura del ´algebra de Lie Ldel grupo Γd(ϕ), del siguiente modo: Sean dos transformaciones f, g ∈Γd(ϕ) que inducen dos campos vectoriales fundamentales XS, Y S sobre S, y a su vez, se relacionan con dos elementos X, Y de su correspondiente ´algebra de Lie. Puede demostrarse que XS, Y Sest´a relacionada con X, Y a trav´es del corchete de Lie de L, del siguiente modo: [XS, Y S]=[X, Y ] 4. La estructura del ´algebra de Lie Lde Γd(ϕ) codifica la estructura de Γd(ϕ). Pero para poder aplicar correctamente este resultado en nuestro problema, hay que garantizar que diferentes transformaciones f, g ∈Γd(ϕ) generan diferentes campos vectoriales fundamentales XS, Y S. En caso contrario, tendremos dos transformaciones f, g que generar´ıan el mismo efecto XS, y nos llevar´ıan a un resultado nulo, [XS, XS] = 0, por las propiedades del corchete de Lie. Necesitamos garantizar que esto no ocurre para poder aplicar el procedimiento antes indicado. 21 Pero como el agente no puede garantizar trasformaciones con estas propiedades (porque no conoce Γd(ϕ)) s´olo podremos conocer la estructura de Γd(ϕ) a trav´es de su ´algebra de Lie en un subconjunto Γd 0(ϕ)⊂Γd(ϕ) donde todas las transformaciones generen cambios sensoriales S diferentes. Hemos demostrado que existe un m´etodo matem´atico para extraer la estructura de un subconjunto Γd 0(ϕ)⊂Γd(ϕ) a trav´es del campo de vectores fundamental XSobtenido a partir de las relaciones obtenidas por un agente sensomotor entre sus movimientos y las respuestas sensoriales que obtiene en respuesta. Conclusiones Hemos, por tanto, mostrado que seg´un los trabajos [10, 11], para un organismo que interact´ua sensomotormente con su entorno, procesando las relaciones sensoriales que recibe en respuesta a sus movimientos, sin tener ninguna informaci´on a priori sobre el espacio f´ısico, y sin conocer la correspondencia entre su cuerpo y su sistema nervioso (v´ease secci´on 3.2.1), existe un procedimiento matem´atico mediante el cual puede llegar a: (i) distinguir cuerpo de entorno “percibidos” y acceder a sus estructuras, y (ii) acceder a la estructura com´un cuerpo-entorno que constituye su espacio sensomotor (ver secci´on 3.2.3). Es decir que tanto los l´ımites del cuerpo como la geometr´ıa y dimensionalidad del espacio son deducibles, sin ning´un conocimiento a priori, a partir de los v´ınculos entre sus est´ımulos sensoriales y sus movimientos motores. 3.4. Algoritmo En esta secci´on se mostrar´a el m´etodo algor´ıtmico que, basado en el modelo explicado, simular´a estar implementado en el cerebro de un organismo simple y que haciendo uso de los conceptos matem´aticos descritos en la secci´on anterior, permitir´a: (i) extraer las bases de los espacios tangentes Tϕ(M0, E)∩Tϕ(M, E0) (esto es, las estructuras de representaci´on de los estados del cuerpo y el entorno), (ii) extraer una base del espacio tangente T ϕ(M0, E)∩Tϕ(M, E0) (relacionada con los movimientos compensables) y (iii) extraer una base de vectores generadores Vmcon los que generar una orden motora generadora MU(t) del campo de vectores fundamentales XSasociado a S. El algoritmo se divide en 5 etapas: 1. Condiciones iniciales: Se dispone de un agente sensomotor en un entorno al cual tiene total acceso y con el que puede interactuar sensomotormente. El agente parte de una posici´on inicial M0y el entorno tiene una configuraci´on inicial E0. 2. Obtenci´on de una base de T ϕ(M, E0): El agente se mueve diferencialmente en entornos locales de M0(esto es, en t´erminos de geometr´ıa diferencial, moverse en el espacio tangente de Men el punto M0a trav´es de un vector dM) y obtiene peque˜nas variaciones de S(esto es, medidas en el espacio tangente S=T ϕ(M, E0) en puntos muy pr´oximos a S0). S0+dS =ϕ(M0+dM, E0) Como las medidas, tanto de Mcomo de S, se determinan en espacios tangentes con estructura de espacio vectorial, todo el aparato matem´atico que necesitamos se reduce al ´algebra lineal. Se utilizan las peque˜nas variaciones de Spara determinar (i): por regresi´on lineal, un sistema generador del espacio tangente S=T ϕ(M, E0) de dimensi´on k, y (ii), a partir del sistema generador, se reduce la dimensi´on kmediante el m´etodo de descomposici´on de valores singulares (SVD) para obtener una base del espacio tangente T ϕ(M, E0) y, por tanto, su dimensi´on dimm< k. Obtenemos, como resultado, una base de dimmvectores de dimensi´on n=dim(S) que expresaremos en forma de matriz de dimmcolumnas de y nfilas. 22 3. Obtenci´on de una base de T ϕ(M0, E): El agente se mantiene est´atico mientras el entorno se mueve y se obtiene una base de T ϕ(M0, E). Siguiendo el mismo m´etodo del punto 2 pero con movimientos diferenciales del entorno en vez del agente, se obtendr´a una base de T ϕ(M0, E) y su dimensi´on (dimee). Es decir, como resultado de esta fase, tendremos una base de dime vectores de dimensi´on n=dim(S) que expresaremos en forma de matriz de dimecolumnas de y nfilas. 4. Obtenci´on de una base de T ϕ(M0, E)∩T ϕ(M, E0): Concatenando las bases T ϕ(M0, E) y Tϕ(M, E0) (obtenidas en las etapas 2 y 3) se obtiene un sistema generador del espacio tangente suma Tϕ(M0, E) + Tϕ(M, E0). A trav´es de la descomposici´on de valores singulares, se puede obtener tanto una base del conjunto suma como su dimensi´on (dimsuma). Adem´as, el m´etodo SVD (ver Anexo B) nos permite acceder al espacio nulo del conjunto suma, que es por definici´on el espacio tangente intersecci´on T ϕ(M0, E)∩T ϕ(M, E0). Se obtiene entonces tanto la base del espacio intersecci´on como su dimensi´on (dimint), que ser´a dimint =dimm+dime−dimsuma esto es, obtenemos, como resultado, una base de dimint vectores de dimensi´on n=dim(S) que expresaremos en forma de matriz de dimint columnas de y nfilas. 5. Obtenci´on de una base de vectores generadores de XS: Toda orden motora que tenga consecuencias sensoriales en la intersecci´on T ϕ(M0, E)∩Tϕ(M, E0) es una orden motora generadora de XS(ver secci´on 3.3.3). Como se dispone de una matriz de la base de Tϕ(M0, E)∩Tϕ(M, E0) (fase 4), una matriz de la base de Tϕ(M, E0) (fase 2) y del vector dM con el que se gener´o T ϕ(M, E0) (fase 2), entonces podremos recorrer el camino inverso y utilizar las matrices pseudoinversas de las obtenidas para llegar desde el espacio tangente intersecci´on a un conjunto de vectores {Vm}, que como se vio en la secci´on 3.3.3, son un conjunto de vectores generadores de XS(a trav´es de una orden motora MU(t)), {V m}=dM ·Tϕ−1(M, E0)  [Tϕ(M0, E)∩Tϕ(M, E0)] Este conjunto {V m}con el que se generar´a la orden motora MU(t) y, con ello, el campo de vectores XSser´a un conjunto de dimint vectores de dimensi´on dimm(recordemos que es un conjunto generador motor) que expresaremos en forma de matriz de dimint columnas de y dimmfilas. 23 24 Cap´ıtulo 4 Entorno experimental En este cap´ıtulo mostraremos la validez del modelo propuesto y del algoritmo planteado en secciones previas. Para ello dise˜namos un entorno experimental hacemos dos tipos de experimentos: (i) el primero discurrir´a en el entorno de simulaci´on donde no tendremos restricciones en los grados de libertad de los dispositivos sensomotores del sistema analizado. Este experimento nos permitir´a mostrar la potencia del m´etodo y no se preocupar´a ni de aspectos relacionados con la implementaci´on f´ısica del sistema, ni de la complejidad del entorno. (ii) el segundo aborda un caso real (un robot Lego con un dispositivo visual y dos motores) movi´endose en un entorno controlado. 4.1. Dise˜no del entorno virtual y del agente sint´etico En el marco experimental desarrollado se introducen los siguientes elementos: Entorno Espacio formado por seis elementos emisores de est´ımulos sensoriales situados aleatoriamente, pr´oximos unos a otros. Los seis elementos emiten est´ımulos de tipo luminoso y cuatro de ellos, adem´as, emiten est´ımulos de tipo sonoro. Los otros dos funcionan como generadores de perturbaciones en el medio que se detectan de manera t´actil. La intensidad de las tres fuentes de est´ımulo sigue una relaci´on inversamente proporcional al cuadrado de la distancia. Agente El agente simulado (ver Fig. 4.1)que representa un organismo simple presenta (1) dispositivos de interacci´on sensorial con el medio (sistema sensor), (2) un sistema vestibular para su movimiento (sistema motor), y (3) un sistema nervioso primitivo interno (red de conexiones nerviosas). Figura 4.1: Agente simulado con tres tipos de dispositivos sensomotores. 25 4.1.1. Sistema sensor del agente El organismo se encuentra situado en el entorno descrito anteriormente. Sus mecanismos sensores son de tres tipos: (i) dos dispositivos visuales, (ii) dos dispositivos auditivos y (iii) ocho dispositivos t´actiles. A) DISPOSITIVO VISUAL Estructura El dispositivo visual del agente est´a constituido por dos “ojos” situados a la misma altura, con posibilidad de movimientos independientes pero orientados en una direcci´on com´un (como el sistema visual humano aunque no necesariamente con la complejidad del ojo de un organismo real), cada uno de los cuales est´a formado por 40 c´elulas fotosensibles distribuidas aleatoriamente en una retina bidimensional. Adem´as, existen dos dispositivos independientes por cada ojo (dispositivos “obturadores” similares a los de una c´amara) que regulan la cantidad de luz que accede a la retina. Figura 4.2: Ejemplo esquem´atico del funcionamiento del dispositivo visual. La proyecci´on de las fuentes del entorno se modelan siguiendo el modelo de c´amara estenopeica. Intensidad lum´ınica sensorial Para simular la interacci´on de la luz con el ojo, se calcula la proyecci´on de cada fuente luminosa sobre la retina siguiendo el modelo de la c´amara estenopeica suponiendo una distancia focal unitaria (ver Fig. 4.2). El siguiente paso determina la cantidad de luz que, a partir de esa proyecci´on, le llega a cada sensor de la retina. Dado un sensor con coordenadas en la retina (x, y) en un rango [0,1], y la proyecci´on de una fuente luminosa icentrada en la posici´on (x0, y0) de la retina y a distancia ddel foco luminoso, la intensidad lum´ınica Ilum ique recibe dicho sensor proveniente de la fuente ise calcula (ver Fig. 4.3): Ilum i=e−(xi−x0)2+(yi−y0)2 d Ley perceptual del agente La estimulaci´on Ilum total que recibe cada sensor de la retina (y que define el modo de funcionamiento del dispositivo visual) es la suma de las intensidad lum´ınicas de cada fuente (ver apartado previo) reguladas por la acci´on de los “obturadores” que act´uan de filtro del flujo luminoso. 26 Figura 4.3: Ejemplo esquem´atico del funcionamiento de la retina. El total de intensidad luminosa que recibe el fotorreceptor se modela mediante una gaussiana en funci´on de la distancia entre el fotorreceptor y la proyecci´on luminosa sobre la retina. Ilum = (d1+d2)·(Ilum 1+Ilum 2+· · · +Ilum n) siendo Ilum ila intensidad recibida por el sensor por parte de la fuente i,nel n´umero total de fuentes (en nuestro entorno n= 6), y d1yd2las aperturas de los dos mecanismos obturadores. B) DISPOSITIVO AUDITIVO Estructura El dispositivo auditivo del agente est´a constituido por dos “antenas” situados de manera r´ıgida a ambos lados del organismo, a la misma altura y de manera sim´etrica. Ley psicof´ısica Ambas“antenas”son sensibles a la intensidad sonora, con un perfil de sensibilidad que favorece las fuentes auditivas situadas frente a los dispositivos sensoriales (penalizando los cambios de orientaci´on entre fuente y receptores) (ver Fig. 4.4). La intensidad sonora Ison ique recibe cada antena proveniente de la fuente auditiva ies: Ison i=1 d·(z−zi) p(y−yi)2+ (z−zi)2·(z−zi) p(x−xi)2+ (z−zi)2 siendo (x, y, z) las coordenadas de la antena, (xi, yi, zi) las coordenadas de la fuente sonora iy siendo dla distancia de la fuente ia la antena. La intensidad total sonora Ison que recibir´a cada antena ser´a la suma de las intensidades proporcionadas por cada fuente sonora: Ison =Ison 1+Ison 2+· · · +Ison n siendo Ison ila intensidad recibida por la antena por parte de la fuente iynel n´umero total de fuentes sonoras (en nuestro entorno n= 4). C) DISPOSITIVO T´ ACTIL Estructura El dispositivo t´actil est´a formado por ocho recept´aculos (“flagelos”) situados a ambos lados del organismo de manera sim´etrica. 27 (a) (b) Figura 4.4: Ejemplo esquem´atico del funcionamiento del dispositivo auditivo. La antena favorece (a) las fuentes auditivas situadas frente a los dispositivos sensoriales y penaliza (b) los cambios de orientaci´on entre fuente y antena. Ley psicof´ısica Los dispositivos se ven afectados por perturbaciones del medio, mediante el desplazamiento relativo a su posici´on de reposo (ver Fig. 4.5). Ese desplazamiento es dependiente de la distancia del dispositivo con respecto a la fuente generadora de la perturbaci´on a la que el sistema es sensible. Supondremos que existe un fen´omeno de saturaci´on que es modelado como una relaci´on x1 /2. La intensidad total t´actil Itac que recibir´a cada flagelo ser´a la suma de las intensidades proporcionadas por cada fuente generadora de perturbaciones: Itac =pd1+pd2+· · · +pdn siendo dila distacia del flagelo a la fuente iynel n´umero total de fuentes generadoras de perturbaciones (en nuestro entorno n= 4). Figura 4.5: Ejemplo esquem´atico del funcionamiento del dispositivo auditivo. El agente percibe el desplazamiento de su flagelo debido a las perturbaciones provocadas por la fuente. La estructura del espacio sensor, por tanto, estar´a compuesta por un total de 90 sensores (40 c´elulas fotosensibles en cada retina, dos sensores auditivos, y ocho sensores t´actiles). 4.1.2. Sistema motor del agente Por sistema motor no nos referimos ni a la estructura mec´anica de locomoci´on del agente ni a su sistema fisiol´ogico (que llamaremos en conjunto “sistema efector-motor”) sino a la estructura de posibles configuraciones del agente dentro de su entorno (a partir de sus posibles cambios de 28 posici´on y orientaci´on del cuerpo, de la orientaci´on de sus dispositivos sensoriales, etc.) y al n´umero de grados de libertad en que ´esta se define. A este espacio de configuraci´on es al que llamaremos sistema motor. Para fijar las ideas, supongamos un avi´on. El“sistema motor”al que nos hemos referido quedar´ıa definido en t´erminos de la estructura de sus movimientos (traslaciones en las tres dimensiones del espacio, y las tres rotaciones en torno a los ejes de Euler) y del n´umero de grados de libertad de los mismos (6). No debe confundirse con el n´umero de dimensiones (3) del espacio eucl´ıdeo en el que se est´a moviendo ni con la estructura mec´anica de sus dispositivos de movimiento (motores, dispositivos de direcci´on, etc.). El sistema motor de nuestro agente, tal como ha sido definido en la secci´on previa, tendr´ıa la siguiente estructura: (i) tres par´ametros para fijar la posici´on del cuerpo, (ii) tres para determinar la orientaci´on del cuerpo, (iii) seis para determinar la orientaci´on de ambos “ojos” (tres por cada ojo), (iv) y cuatro para determinar la apertura de los obturadores de ambos ojos (dos por cada ojo). Tanto el sistema auditivo como el t´actil est´an situados de manera r´ıgida en el cuerpo y, por tanto, no introducen ning´un grado de libertad adicional al sistema motor. El sistema motor descrito es por tanto de dimensi´on diecis´eis. 4.1.3. Sistema nervioso del agente Supondremos un sistema nervioso b´asico formado por dos subsistemas: sistema neuronal sensor y sistema neuronal motor. El sistema nervioso sensor est´a compuesto por 90 neuronas que reciben el est´ımulo de los 90 sensores totales del organismo. Para simular los procesos de plasticidad y auto organizaci´on neuronal que permitir´an al agente ajustar su comportamiento al mundo, se supone que se encuentran distribuidas inicialmente en correspondencia biyectiva (simulando una especie de sistema nervioso en un estado embrionario de partida con una ´unica conexi´on neurona-sensor) y que evolucionar´an (supondremos que se reorganizar´an mediante combinaciones lineales) seg´un el agente interact´ue sensomotormente con el medio (ver Fig. 4.6). (a) (b) Figura 4.6: Ejemplo esquem´atico del sistema nervioso sensor antes (a) y despu´es (b) de la auto organizaci´on neuronal. El sistema nervioso motor est´a compuesto por 40 neuronas (n´umero arbitrario para simular cierta complejidad neuronal motora) que se conectan con los elementos del “sistema efector-motor” (que ser´ıa el encargado de mover tanto el cuerpo como los dispositivos sensoriales) dando lugar a una configuraci´on concreta en los 16 par´ametros del “sistema motor” anteriormente definido. Esta 29 Figura 4.11: Primer prototipo de agente sensomotor. En este ejemplo en particular, los sensores colocados en los extremos de los brazos eran unas c´amaras web. B) EVALUACI´ ON DE DISPOSITIVOS SENSORIALES Una vez se dispone de un prototipo operativo del robot que actuar´a como agente, el siguiente paso es determinar el tipo de sensores que se utilizar´an en el experimento, que a su vez condicionar´an el tipo de entorno en el que interactuar´a el agente. Dispositivos sensoriales Lego Los sensores Lego para los cuales se puede construir un entorno compatible con el algoritmo a testar son el sensor ultras´onico y el sensor de sonido, que ofrecen las siguientes caracter´ısticas: sensor rango precisi´ on Ultras´onico 0..255 cm ±3 cm Sonido 0..90 dB (en %) 1 % Sistema motor (movimiento m´ınimo) ±1 cm ∼1 cm Tabla 4.2: Resumen de precisiones de sensores y motores. Las especificaciones de los sensores Lego utilizables no ofrecen un modo de funcionamiento lo suficientemente preciso para las necesidades del algoritmo, que requiere detectar peque˜nas diferencias sensoriales debidas a los peque˜nos movimientos que ejecuta robot y, claramente (ver Tabla 4.2), ninguno de los sensores, ni el sonoro, ni el ultras´onico, se acerca al nivel de precisi´on requerido. El movimiento del prototipo con la precisi´on de giro motor estimada en 1 º se traduce en desplazamientos m´ınimos de un cm. en la posici´on del sensor. Lo que descarta el sensor ultras´onico (precisi´on ±3 cm.) y el sensor de sonido porque su representaci´on en escala logar´ıtmica (dB) no proporciona suficiente sensibilidad a peque˜nos movimientos de 1 cm. C´amaras web tradicionales Utilizar c´amaras web como sensores permite recrear las condiciones del experimento virtual (al menos, a nivel visual. Ver secci´on 4.1.1) de manera directa, ya que puede modelar la retina del agente tal como se explic´o en el experimento previo. Cada c´amara modela, en el agente f´ısico, un “ojo” similar al del entorno virtual, utilizando una peque˜na regi´on de lo que captura la c´amara y seleccionando un conjunto de p´ıxeles al azar que actuar´an como los sensores fotosensibles del entorno simulado (v´ease secci´on 4.1.1). 36 Este tipo de sensores exige un entorno con unos emisores luminosos. De esta forma, la configuraci´on del experimento real se reduce a unas condiciones similares a las del experimento simulado. El entorno ha de consistir en una serie de luces colocadas de manera arbitraria en el campo de visi´on de las c´amaras web de manera que los p´ıxeles seleccionados como receptores fotosensibles de la c´amara detecten los valores de luminosidad provenientes de dichas luces (ver secci´on 4.1.1). (a) (b) Figura 4.12: Ejemplo de prueba realizada con c´amara web (a) y detalle del entorno (b). Para testear la viabilidad de esta soluci´on, se ejecutaron una serie de pruebas con una c´amara web y una bombilla como ´unica fuente luminosa del entorno para comprobar la precisi´on de los p´ıxeles de la c´amara como captadores de intensidad lum´ınica. Las pruebas llevadas a cabo consistieron en situar la c´amara a una distancia determinada de la bombilla (∼30 cm) y variar ligeramente su posici´on, para comprobar la precisi´on del cambio de valor lum´ınico resultado de dichos movimientos (ver Fig. 4.12). El resultado de estas pruebas result´o ser fallido. Los cambios medidos en la intensidad luminosa no se correspond´ıan con los movimientos de la c´amara. Incluso en condiciones est´aticas las medidas registradas resultaban variables (resultado debido posiblemente a la iluminaci´on variable en el tiempo de la bombilla). Se realiz´o el mismo tipo de prueba con diferentes modelos de c´amaras web ofreciendo todas ellas un resultado similar (ver Tabla 4.3). C´ amaras Resoluci´ on Precisi´ on PlayStation Eye PS3 640 ×480 pixeles — Hercules Classic Silver 800 ×600 pixeles — Kinect Xbox 360 1280 ×960 pixeles — Tabla 4.3: Resumen de caracter´ısticas de las c´amaras probadas. Las c´amaras web no est´an dise˜nadas para obtener valores de intensidad luminosa. Por tanto, intentar obtener esta informaci´on a partir de las im´agenes que devuelven, no resulta adecuado. Ser´ıan necesarios sensores lum´ınicos aut´enticos, espec´ıficamente dise˜nados para esta tarea. Ante la imposibilidad de disponer de dicho tipo de sensores, se plantearon nuevas alternativas. Kinect: Sensor de profundidad El sensor de profundidad de la Kinect proporciona im´agenes de hasta 640 ×480 p´ıxeles en donde cada uno de los p´ıxeles contiene informaci´on en mil´ımetros de la distancia del objeto que se proyecta sobre dicho pixel. El rango de funcionamiento del sensor de profundidad en el modo normal es de 80 cm a 5 m. Para comprobar la precisi´on del sensor de profundidad de la Kinect, se realizaron una serie de pruebas (10 posiciones arbitrarias en torno a 1 m±20 cm, 10 posiciones en torno a 2 m±20 cm, y 37 10 posiciones en torno a 3 m ±20 cm). Las pruebas consistieron en situar una caja enfrente de la c´amara a diferentes distancias midiendo la diferencia entre la distancia real a la caja y la distancia medida por el sensor. El resumen de resultados se muestra en la Tabla 4.4. Distancia Error m´ aximo 1 m±20 cm 2 mm 2 m±20 cm 5 mm 3 m±20 cm 2.5 cm Tabla 4.4: Resumen de resultados de las pruebas de precisi´on con el sensor de profundidad de la Kinect. Las pruebas con el sensor de profundidad de la Kinect resultaron satisfactorias para nuestros prop´ositos ya que la precisi´on del sensor de profundidad parece adecuada en t´erminos de las condiciones de nuestro experimento (recordemos que el movimiento motor est´a en torno a 1 cm.) siempre que garanticemos que los elementos del entorno est´en situados como m´aximo a 2 m de distancia del agente (ver Tabla 4.4). Como resultado de esta primera fase de evaluaci´on, tenemos garantizado que, nuestro prototipo cumple con las condiciones experimentales requeridas para poder reproducir el experimento virtual previo. Adem´as, plantea las restricciones en el dise˜no del entorno imprescindibles para que el agente f´ısico disponga de informaci´on adecuada para la aplicaci´on del algoritmo. Dise˜no del entorno experimental El entorno tendr´a que estar formado por objetos que el robot pueda detectar utilizando su sensor de profundidad. Por ello, se decidi´o utilizar cajas de cart´on, es decir, objetos que se pueden mover con facilidad y que son f´aciles de detectar, sin errores, por su tama˜no (ver Fig. 4.13). Figura 4.13: Detalle del entorno. De esta forma, al igual que como se pretend´ıa hacer con las c´amaras web, ciertos p´ıxeles de la Kinect har´an las veces de sensores de la retina. En este caso, la informaci´on de intensidad lum´ınica del entorno con luces, ser´a sustituida por la distancia de las cajas al robot, de una manera similar a como se hace en la simulaci´on donde se toma la distancia de las luces a los ojos como medida de la intensidad luminosa que llega a la retina (ver secci´on 4.1.1). En el experimento real, por tanto, las cajas distribuidas por el entorno hacen las veces de los emisores lum´ınicos del entorno virtual y la supuesta informaci´on luminosa vendr´a dada por la distancia de las cajas al robot. 38 Esto no supone ning´un problema puesto que el algoritmo funciona independientemente del tipo de est´ımulo y del modo en que ´este llega a los dispositivos sensoriales. A efectos del algoritmo del agente, solo importan las relaciones sensomotoras agente-entorno, es decir, la informaci´on que puede extraer el agente sobre su entorno mediante su interacci´on sensomotora con ´el. 4.4. Experimento tipo 2: Entorno real 4.4.1. Configuraci´on experimental Las dimensiones y el peso del dispositivo sensorial seleccionado (Kinect) exigi´o cambios en el prototipo inicial del agente. Se decidi´o eliminar los brazos articulados del robot dejando un dise˜no mucho m´as simple en el que el ´unico movimiento posible vendr´ıa dado por las ruedas (ver Fig. 4.14). Figura 4.14: Robot con Kinect. Sin embargo, esta configuraci´on del agente presenta un problema importante dado que con el sensor de profundidad es imposible obtener (en cada pixel que tomamos como supuesto receptor de la retina) informaci´on de las distancias de todas las cajas, puesto que cada pixel solo devuelve la distancia al objeto que tiene delante. El algoritmo requiere para funcionar que cada receptor de la retina registre el influjo de todos los elementos emisores de est´ımulos sensoriales del entorno. Sin embargo, es imposible con esta configuraci´on del experimento recoger la informaci´on de todas las distancias a las cajas en cada uno de los p´ıxeles que act´uan como sensores (s´olo se recoge informaci´on como m´aximo de un ´unico elemento del entorno por pixel-receptor). La soluci´on de compromiso que se ha tomado ha sido la de obtener la informaci´on de las distancias a todas las cajas (que se corresponde con la intensidad lum´ınica en el ejemplo virtual) utilizando un algoritmo de visi´on por computador y simulando, posteriormente, su influjo sobre una retina simulada utilizando los valores reales obtenidos por el robot. Aunque esta capa de software y virtualizaci´on extra elimina ciertas componentes reales del experimento, ha sido necesario tomar esta decisi´on de compromiso por cuestiones de aplicabilidad y de realizaci´on a partir de los recursos disponibles. Sin embargo, la esencia del experimento se mantiene, pues, aunque simplificado, se siguen obteniendo datos significativos extra´ıdos de manera sensomotora como requiere el algoritmo. 39 4.4.2. Dise˜no experimental A continuaci´on se muestra en detalle el dise˜no del experimento real (ver Fig. 4.15), donde se indican (i) los par´ametros utilizados en la configuraci´on del entorno, (ii) la capa de virtualizaci´on extra simulando la proyecci´on retiniana y la excitaci´on sensorial en el dispositivo visual del agente f´ısico, (iii) el sistema motor del robot y (iv) los sistemas nerviosos sensor y motor. Figura 4.15: Entorno final de simulaci´on. i) Configuraci´on del entorno El entorno est´a constituido por cuatro cajas de cart´on que realizan una funci´on similar a las luces en la simulaci´on como ya se ha explicado anteriormente. En el entorno simulado por ordenador, las luces estaban situadas a una distancia de entre 99 y 101 cent´ımetros y separadas unas de otras entre 1 y 50 cent´ımetros. El movimiento de las luces en la simulaci´on es de como m´aximo 1 cent´ımetro. Para el entorno real, situamos las cajas a una distancia de entre 150 y 190 cent´ımetros de la posici´on inicial del robot y separadas unas de otras entre 20 y 50 cent´ımetros. El movimiento de las cajas es de entre 5 y 20 cent´ımetros. La precisi´on de la medici´on de las distancias a las cajas por parte de las c´amaras se ha estimado en 5 mm, con lo que los movimientos de las cajas de m´ınimo 5 cm es para garantizar que cualquier cambio en la posici´on de las cajas sea detectado por el robot (ver Tabla 4.5). Experimento virtual Experimento real Distancia emisor-receptor 2 m±20 cm 2 m±20 cm Distancia entre elementos [1..50] cm [20..50] cm Precisi´on movimientos [0..1] cm [5..20] cm Precisi´on estimaci´on distancia Absoluta (MATLAB) 5 mm Tabla 4.5: Resumen de los p´arametros de configuraci´on del entorno en los experimentos virtual y real. Adicionalmente, cada caja de cart´on incluye un c´ırculo negro para simplificar el algoritmo de detecci´on de distancias, como se ver´a en la secci´on posterior. ii) Configuraci´on del dispositivo sensor del agente Para simular la proyecci´on del entorno sobre la retina, se ha utilizado un algoritmo que (i) extrae las distancias del robot a las cajas que configuran el entorno, (ii) calcula sus proyecciones 40 te´oricas sobre la retina y (iii) determina la excitaci´on de cada sensor utilizando como simulaci´on de intensidad luminosa la distancia a las cajas. Para calcular las distancias del robot a las cajas que configuran el entorno, se ha implementado un algoritmo de visi´on por computador (ver Fig. 4.16a) Tanto la c´amara como el sensor de profundidad se han configurado para obtener im´agenes de la misma resoluci´on (640×480 p´ıxeles) por ser la m´axima que permite el sensor de profundidad. De esta manera, la correspondencia entre pixeles de c´amara y sensor es directa. 1. Las fases del algoritmo de visi´on utilizado son las siguientes: 2. En primer lugar se toma una foto con la c´amara (con el modo c´amara de la Kinect) del entorno. Para facilitar la detecci´on de las cajas, tanto ´estas como el fondo del entorno son de color blanco con la particularidad de que cada una de las cajas tiene un c´ırculo negro. 3. En segundo lugar se umbraliza la imagen y se aplica un algoritmo de conectividad para etiquetar cada c´ırculo como un objeto diferente (que corresponde a una caja distinta en el entorno). 4. Se calculan las coordenadas de sus centroides (promedios de los p´ıxeles fila y columna que forman el objeto). 5. A continuaci´on, se toma una imagen con el sensor de profundidad de la Kinect. 6. Para cada caja, se utilizan las coordenadas de su centroide (obtenidas a partir de los c´ırculos) como ´ındice para buscar su distancia en la imagen de profundidades dada por la Kinect. (a) Detalle del algoritmo de visi´on por computador. El algoritmo detecta las coordenadas del centroide de los c´ırculos negros de las cajas (centroides marcados en rojo). Se puede observar en la imagen que el campo de visi´on de la c´amara ha sido reducido de 640 ×480 a 480 ×480 p´ıxeles para tener una correspondencia directa entre p´ıxeles y coordenadas de la retina. (b) Detalle de la proyecci´on de los centroides sobre la retina en coordenadas de la c´amara (tama˜no 480 ×480) antes de hacer la transformaci´on a coordenadas de la retina (tama˜no 1×1). Figura 4.16: Detalles de la simulaci´on de la proyecci´on de los elementos del entorno sobre la retina. Ahora que ya se tienen las distancias de todas las cajas al centro de la c´amara (que se utilizar´an como medida de intensidad luminosa, falta simular la proyecci´on de dichas intensidades (distancias) sobre los sensores de la retina. La simulaci´on de estas proyecciones se llevar´a a cabo de una manera similar a la del experimento virtual (ver secci´on 4.1.1). Para ello, estableceremos ciertas correspondencias (ver Tabla 4.6: 1. Supondremos una retina de tama˜no 1 ×1 cm situada justo en el centro de la c´amara al igual que en el experimento virtual. 41 2. La retina est´a constituida por 40 sensores situados aleatoriamente del mismo modo que en la simulaci´on por ordenador. 3. Para calcular la posici´on sobre la cual se proyecta cada est´ımulo en la retina se representan las coordenadas en pixeles de cada caja (640 ×480 p´ıxeles) en la escala de la retina (1 ×1 cm). La imagen de la c´amara se recorta de 640 ×480 a 480 ×480 p´ıxeles, para mantener una correspondencia con las proporciones en la retina (1 ×1 cm) (ver Fig 4.16b). 4. Para determinar la cantidad de luz que, a partir de esa proyecci´on, le llega a cada sensor de la retina se utilizan las f´ormulas de la ley psicof´ısica visual explicadas en la secci´on 4.1.1. Experimento virtual Experimento real Tama˜no retina 1 ×1 cm 1 ×1 cm N´umero de sensores por retina 40 40 N´umero total de sensores 90 40 Tabla 4.6: Resumen de los p´arametros sensores de los experimentos virtual y real. iii) Configuraci´on del sistema motor del agente El sistema motor de nuestro agente (ver secci´on 4.1.2) tiene cinco par´ametros: Por cada rueda existe un par´ametro que controla el ´angulo de giro, y otro el sentido del mismo (4 par´ametros, dos por rueda). Se a˜nade un quinto par´ametro que permite un desplazamiento adicional a una de las ruedas para ganar un movimiento extra en la rotaci´on a˜nadiendo algo de complejidad al movimiento del robot (ver Tabla 4.7). El dispositivo sensor (c´amara Kinect) se encuentra situado de manera r´ıgida al cuerpo del robot sin a˜nadir nuevos grados de libertad. iv) Configuraci´on del sistema nervioso sensor y motor del agente El sistema nervioso sensor estar´a compuesto por 40 neuronas que reciben el est´ımulo de los 40 sensores totales del organismo (an´alogamente a la secci´on 4.1.3). El sistema nervioso motor estar´a compuesto por 20 neuronas (n´umero arbitrario para simular cierta complejidad neuronal motora) que se conectan con los elementos del “sistema efector-motor” (ver secci´on 4.1.2) dando lugar a una configuraci´on concreta en los 5 par´ametros del “sistema motor” del agente (v´ease Tabla 4.7). Experimento virtual Experimento real N´umero de neuronas sensoras 90 40 N´umero de neuronas motoras 40 20 N´umero de par´ametros del sistema motor 16 5 Tabla 4.7: Resumen de las configuraciones motoras y nerviosas de los experimentos virtual y real. 4.4.3. Ejecuci´on experimental y resultados El esquema seguido es el mismo que el del experimento simulado (v´ease secci´on 4.2.1) pero teniendo en cuenta las siguientes consideraciones. 1. En la etapa en la que el robot realiza movimientos diferenciales (etapa 2), ´este realiza una pausa de 0.5 segundos al final de cada movimiento diferencial antes de tomar los datos de 42 distancia. Esto se hace para evitar vibraciones de la c´amara por efecto del movimiento del robot que puedan interferir en la calidad de las medidas. Adem´as, al final de cada serie de movimientos diferenciales (es decir, tras cada movimiento completo, ver secci´on 4.2.1), el robot es recolocado manualmente de nuevo en la posici´on inicial para garantizar que los elementos del entorno se encuentren siempre en el campo visual de la c´amara. Hay que recordar que la posici´on inicial de del robot en cada movimiento no tiene por qu´e ser la misma, pues lo significativo para el algoritmo son los cambios sensores mientras el robot se mueve. 2. Uno de los problemas es que el algoritmo necesita un elevado nivel de precisi´on para funcionar correctamente. Por esta raz´on redujimos el n´umero de par´ametros a aquellos para los que la precisi´on de las medidas estuviera garantizada. El robot ya qued´o reducido a unos pocos movimientos por cuestiones del tama˜no de la c´amara. Utilizamos un n´umero m´ınimo de cajas en el entorno para facilitar que todas las cajas estuvieran dentro del campo visual de la c´amara. Las primeras pruebas utilizaban tres cajas en el entorno. Sin embargo, este escenario no ofrec´ıa la suficiente complejidad para garantizar el funcionamiento del algoritmo. Se seleccionaron, por tanto, cuatro cajas como el m´ınimo n´umero de elementos del entorno con el que realizar el experimento. Resultados Los resultados obtenidos en el experimento con el agente f´ısico descrito fueron los siguientes: C´alculo del Tϕ (M, E0) Como puede observarse en la Figura 4.17, a partir de una configuraci´on de 20 neuronas controlando 5 par´ametros motores, el n´umero de par´ametros que caracterizan la configuraci´on del cuerpo del agente (sistema motor) queda reducida a 3 par´ametros (precisamente los correspondientes a una rotaci´on y dos translaciones), esto es, los tres grados de libertad en que puede moverse un veh´ıculo de dos ruedas que se desplaza por el suelo como es nuestro robot. Figura 4.17: Resultados de la simulaci´on correspondientes al c´alculo del espacio tangente Tϕ (M, E0). Como puede observarse en la figura, el n´umero de iteraciones realizadas en esta etapa del algoritmo es de 4 iteraciones, frente a las 8 del experimento virtual (ver Anexo B). Esta reducci´on se program´o as´ı porque se vio en los resultados que 4 iteraciones eran necesarias para caracterizar el espacio Tϕ (M, E0) correctamente. 43 C´alculo del Tϕ (M0, E) Los resultados de la etapa 3 del algoritmo (ver Fig. 4.18a), que procesa la informaci´on de los est´ımulos sensoriales que recibe nuestro agente inm´ovil ante el movimiento del entorno, revelan que se necesitan 8 variables para describir el entorno, las correspondientes a 4 cajas movi´endose en un espacio bidimensional. (a) Resultados de la simulaci´on correspondientes al c´alculo del espacio tangente T ϕ (M0, E). (b) Resultados de la simulaci´on correspondientes c´alculo del espacio tangente T ϕ (M0, E) + T ϕ (M, E0). Figura 4.18: Resultados de la simulaci´on adicionales, correspondientes a las fases 3 y 4 del algoritmo. C´alculo del Tϕ (M0, E) + Tϕ (M, E0) Por ´ultimo, con los resultados obtenidos, se calcula la dimensi´on de la suma de los dos subespacios obtenidos anteriormente (el espacio tangente asociado a la variedad Scuando tanto el entorno como el cuerpo se mueven). Como puede observarse en la Figura 4.18b, el espacio suma es de dimensi´on 8. En este caso, la frontera en la determinaci´on del n´umero de valores singulares no nulos del espacio suma (ver Anexo B) no est´a tan marcada como en los resultados obtenidos en el experimento virtual. Esta p´erdida de precisi´on se debe a la mayor complejidad experimental del entorno real, donde los resultados pueden verse afectados por multitud de factores externos (movimientos menos precisos, imprecisiones en el sensor, etc.) que no est´an presentes en el entorno virtual. C´alculo del Tϕ (M0, E)∩Tϕ (M, E0) Siguiendo la f´ormula de las dimeniones dada en en la etapa 4 del algoritmo (ver secci´on 3.4), se obtiene que la intersecci´on de los dos espacio tangentes estimados muestra un espacio sensomotor de dimensi´on 3 + 8 - 8 = 3. Conclusiones del experimento El resultado obtenido nos muestra que el robot percibe su espacio sensomotor como un espacio de dimensi´on 3, es decir, que el n´umero de posibles transformaciones compensables del sistema agente-entorno es 3. Este resultado es compatible con la configuraci´on del experimento, pues estas 3 transformaciones invariantes que definen el espacio sensomotor del robot, se corresponden a las 2 traslaciones y 1 rotaci´on en el espacio eucl´ıdeo de dimensi´on 2. 44 Cap´ıtulo 5 Conclusiones 5.1. Objetivos alcanzados El objetivo de este proyecto era probar el modelo propuesto por [10, 11], seg´un el cual un agente podr´ıa deducir las propiedades espaciales del mundo en que habita (lo que hemos denominado espacio sensomotor) a trav´es de las relaciones que extrae entre sus movimientos y los est´ımulos sensoriales que recibe en respuesta. Los resultados obtenidos tanto en el experimento realizado en el entorno virtual como en el entorno real muestran que existe un m´etodo viable que permite al agente obtener informaci´on sobre la estructura de su espacio sensomotor, concretamente las propiedades de simetr´ıa de las transformaciones invariantes (movimientos compensables) de su espacio sensomotor y su dimensi´on, a trav´es de un conjunto de generadores motores. 5.2. Trabajo futuro Ahora que disponemos de un m´etodo para obtener no solo la dimensi´on del espacio sensomotor de un agente, sino a las propiedades de invarianza y simetr´ıa de dicho espacio, una l´ınea de trabajo futuro ser´ıa obtener, a partir de los datos obtenidos (el campo de vectores fundamental XSasociado al conjunto Γd(ϕ)), informaci´on y propiedades adicionales acerca de la estructura del espacio sensomotor. Hasta el momento, hemos logrado obtener una base de generadores {Vm}con la que generar una orden motora MU(t) y, con ello, el campo de vectores XSque nos permite acceder a la estructura del espacio sensomotor. Sin embargo, esta base de generadores no es ortonormal. Una l´ınea de trabajo cercana ser´ıa encontrar un modo de transformar esa base de generadores en una base ortonormal, lo cual nos permitir´ıa calcular la conmutatividad de los movimientos compensables que definen el espacio sensomotor. En nuestro ejemplo experimental (ver secci´on 4.2.2), obten´ıamos un espacio sensomotor de dimensi´on 6, correspondiente a las 3 rotaciones y 3 traslaciones del espacio eucl´ıdeo de 3 dimensiones. Acceder a la conmutatividad del espacio sensomotor permitir´ıa al agente moverse en t´erminos de esas transformaciones (rotaciones y traslaciones) de manera independiente. Una l´ınea de trabajo m´as lejana ser´ıa intentar extraer otra clase de informaci´on del espacio sensomotor. De esta forma, se podr´ıa llegar a un m´etodo que permitiera al agente encontrar geod´esicas del espacio sensomotor, que le permitieran moverse en “l´ınea recta” (a trav´es de su geod´esica) en su entorno. En cuanto a experimentos en el mundo f´ısico, otra alternativa de trabajo ser´ıa testear el modelo propuesto por [11] en condiciones experimentales m´as complejas. Para ello se podr´ıan utilizar robots con mayor n´umero de grados de libertad actuando en entornos m´as complejos, con diferentes fuentes de est´ımulos diferentes naturalezas (lum´ınicas, sonoras, etc.) y con un agente con mayor n´umero de sensores, m´as complejos y de diferentes tipos. 45