contenido - universidad autónoma metropolitana

39
1 Robótica Reactiva y experimentos con el Robot Khepera Dr. Fernando M. Montes G. Laboratorio de Robótica Maestría en Inteligencia Artificial Universidad Veracruzana http://www.uv.mx/mia Contenido • 1. Introducción a la robótica reactiva • 2. Comparación entre algunas plataformas robóticas comerciales a. Lego Mindstorms b. El Robot Pioneer c. El Robot Khepera Contenido 3. El robot Khepera y su software de control a. Especificaciones b. Torretas de extensión c. Simuladores d. Software de control remoto 4. Diseño de experimentos con el robot Khepera a. El simulador KpraSIM b. Recolección de latas c. Tareas colectivas d. Visión activa e. Algoritmos Genéticos 5. Notas Finales

Upload: others

Post on 13-Jan-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

1

Robótica Reactiva y experimentos con el Robot Khepera

Dr. Fernando M. Montes G.Laboratorio de Robótica

Maestría en Inteligencia ArtificialUniversidad Veracruzana

http://www.uv.mx/mia

Contenido

• 1. Introducción a la robótica reactiva• 2. Comparación entre algunas plataformas

robóticas comercialesa.Lego Mindstormsb.El Robot Pioneerc. El Robot Khepera

Contenido

• 3. El robot Khepera y su software de controla. Especificacionesb. Torretas de extensiónc. Simuladores d. Software de control remoto

• 4. Diseño de experimentos con el robot Kheperaa. El simulador KpraSIMb. Recolección de latasc. Tareas colectivasd. Visión activae. Algoritmos Genéticos

• 5. Notas Finales

2

Introducción a la robótica reactiva

Conceptos básicos

Robots para qué, cómo?

• ¿Construyo?

• ¿Programo?

• ¿Controlo?

• ¿Guío?

Lo hago que aprenda

Le enseño a aprender

Actividades para controlar el sistemarobótico

• Controlar las salidas, generalmente los motores y algunos sensores de luz y sonido.

• Leer y procesar señales de entrada.• Reaccionar a eventos externos (tal como se

detectan a través de los sensores de entrada). • Proporcionar una estructura programable que

gestione todo lo anterior, mientras se alcanzala meta global

3

Arquitectura robótica

• Proporciona una forma basada en principios de organizar un sistema de control. Proporciona unaestructura y restricciones (Mataric,1992)

• Describe un conjunto de componentesarquitecturales y las formas en las que interaccionan(Dean & Wellman)

• Determina el comportamiento del agente, imponerestricciones en cómo puede sensar, planear y actuarpara alcanzar una meta o realizar su tarea

Enfoques para describir arquitecturas

• Por las relaciones entre las primitivas• Por la forma en la que los datos

sensoriales son procesados y distribuidosa través del sistema.

• Por la cantidad de influencia que tiene la percepción sobre la conducta de la persona, el animal o el mecanismo

Murphy, 2000

Las primitivas básicas robóticas

Se usan para descomponer funcionalmente un robot:

• Sensar: tomar la información de los sensores y producir una salida útil para otras funciones

• Planear: tomar la información de los sensores o de la base de conocimientos para producir unao más tareas que el robot ejecutará

• Actuar: produce las órdenes de salida para los actuadores

4

Primitivas robóticas

Órdenes para los actuadores

Informaciónsensada o directivas

Actuar

DirectivasInformación(sensada y/o cognitiva)

Planear

Informaciónsensada

Datos de los sensores

Sensar

SalidaEntradaPrimitivasrobóticas

Estrategias de control

• Basadas en la planeación o deliberativas

• Reactivas

• Basadas en el comportamiento

• Híbridas

PlanearSensar Actuar

Modelo jerárquico/deliberativo

5

Características de las estrategias de control deliberativas

• Utilizan un modelo centralizado del mundo

• Para ello la fusión de sensores• Un planificador usa el modelo del

mundo para generar la secuencia de acciones más adecuada

• Activación síncrona de los elementos

Órdenes paralos actuadores

Informaciónsensada odirectivas

Actuar

DirectivasInformación(sensada y/o cognitiva)

Planear

Informaciónsensada

Datos de los sensores

Sensar

SalidaEntradaPrimitivasrobóticas

Flujo de los procesos en el paradigmadeliberativo

Características de las estrategias de control reactivas

• El control es derivado de un conjunto no centralizadode reglas {condición,acción}

• Los modelos internos o representaciones del mundo son locales, distribuidos

• No hay búsquedas• Para cada conjunto de lecturas de sensores se toma y

se ordena una acción• No hay una representación interna, hay un

acoplamiento directo entre los sensores y los actuadores/acciones

• Hay un ciclo de re-alimentación rápido a través del mundo

• La activación de las conductas es asíncrona

6

ActuarSensar

Modelo reactivo

Órdenes paralos actuadores

Informaciónsensada odirectivas

Actuar

DirectivasInformación(sensada y/o cognitiva)

Planear

Informaciónsensada

Datos de los sensores

Sensar

SalidaEntradaPrimitivasrobóticas

Flujo de los procesos en el paradigmareactivo

Características de las estrategias de control basadas en el comportamiento

• Pueden usar algunas representaciones internas• Realizan cómputos en las representaciones para

decidir la acción que se llevará a cabo.• Hacen mapeos entre las condiciones y las acciones.

Usan un conjunto de filtros perceptuales acopladosdirectamente a una acción.

• El control se deriva de una colección de conductasparalelas, concurrentes, descentralizadas

• Las conductas codifican la estrategia de control y el conocimiento del sistema. No se manipulanestructuras de datos ni representaciones simbólicascomplejas

• Sensado continuo que asegura una convergenciaprobabilista

7

Planear

Sensar Actuar

Modelo Sistemas Basado en el comportamiento (híbrido)

Órdenes paralos actuadores

Informaciónsensada odirectivas

Sensar/Actuar

DirectivasInformación(sensada y/o cognitiva)

Planear

SalidaEntradaPrimitivasrobóticas

Flujo de los procesos en el paradigma del modelo híbrido

Criterios para evaluar arquitecturas

• Soporte para la modularidad

• Nicho objetivo

• Facilidad de portabilidad a otros dominios

• Robustez

8

Situaciones bajo las cuales son adecuadas lasestrategias reactivas

• Tareas bien definidas• Entorno bien conocido• Equipado con los sensores para percibir la

información necesaria• Metas bien definidas y conocidas

Situaciones en las cuales las estrategiasdeliberativas fracasan

• Para control de muchos robots queinteraccionan, debido a:– El tamaño del espacio global de estados, crece

exponencialmente– La incertidumbre de la percepción se vuelve no-

razonable con la complejidad del medio ambiente– Las interacciones tienen consecuencias temporales

extendidas

El problema se vuelve intratable

Arquitecturas Robóticas como Agentes

• Una arquitectura, también puede ser vista como un agente.

• Un agente actúa sobre diversos ambientes.• Los ambientes en gran parte determinan el actuar de

los agentes.• La diversidad del agente ofrece al mismo tiempo

restricciones que limitan el desarrollo de la misma, pero también ofrece oportunidades para el desarrollo.

• Las plataformas robóticas también se benefician de esta situación.

9

Reglas para construir un plataformarobótica

Inicie con un prototipo pequeñoDiseñe todo al mismo tiempoProteja la transmisión (engranes/poleas) del entornoMantenga el centro de masa en el centro geométrico del robotUn robot es más impresionante si se mueve más rápidoLos objetos se deben detectar con suficiente distancia para que el robot no choque contra ellos y los pueda dañar o así mismoLa complejidad agrega pesoEl peso agrega complejidadEl peso consume más energíaLa energía agrega pesoSi el robot no hace nada su consumo de energía debe ser nulo

Agentes (Russell & Norvig)

• Un agente es cualquier cosa que puede verse como aquél que percibe su ambiente a través de sensores y actúa sobre ese ambiente a través de actuadores.

• Agentes Humanos: ojos, orejas,y otros órganos como sensores; manos, piernas, boca y otras partes del cuerpo como actuadores.

• Agente Robótico: cámaras y sensores infrarojoscon diversos motores como actuadores.

Agentes y ambientes (Russell & Norvig)

• La función del agente mapea percepciones en el tiempo con acciones:

[f: P* A]• El programa del agente corre en una arquitectura física

para producir f• agente = arquitectura + programa

10

Tipos de Agentes (Russell & Norvig)

• Existen cuatro tipos básicos de agentes, los cuales incrementan su autonomía:

• Agentes Reflejos Simples• Agentes Reflejos basados en Modelos• Agentes basados en Metas• Agentes basados en Utilidades

Agentes Reflejos Simples

Agentes basados en Modelos

11

Agentes basados en Metas

Agentes basados en Utilidades

Agentes con Aprendizaje

12

Comparación entre algunas plataformas comerciales

Lego MindstormsEl Robot PioneerEl Robot Khepera

¿Cuál es la tarea de programar un robot?

Diseñador/Programador

Medio Ambiente

Robot

Control

Control

Podemos considerar que la tarea de programación de un robot es una tarea de control de 2o. orden debidoa que el diseñador quierecontrolar el robot que a suvez controlará (modificará, actuará en) un ambiente

Enfoques para la programación de robots

Lenguajes específicospara programación

robótica

Lenguajes generalesde programación

Extensioneso

constructos(órdenes y tipos de datos)

+

13

SaphiraVer 6.2c

Saphira

• Es un ambiente para programar el robot Pionner2DX

• Sigue el modelo cliente/servidor paraestablecer la cooperación entre el robot y la computadora en la que se programa

• Consta de dos partes, – Un servidor instalado en el robot– Un cliente instalado en la computadora

Servidor

• Administra los detalles de bajo nivel de los sistemas del robot– Operación de los motores, – procesado de sus sensores (decodificadores de giro)– Activación, disparo, recolección de ecos,

procesamiento de los datos de los sonares– Responder al cliente– Registrar y enviar los reportes requeridos

14

El robot como servidor

Ancho de banda del Canal(9600) baudios)

Control de Velocidad y ángulo

Integración de posición

Despachadorsonares y E/S

Comunicación de paquetes

Control PWM del motor

Conteo del decodificador

Rango de los sonares Control de E/S

Funcionesde control bajo nivel

10 khz

1 khz Int

Int

P2OS

Cliente

• Aisla al programador de los detalles de bajo nivel del robot• Media entre el robot o el simulador y un cliente a través de la

comunicación• Utiliza un protocolo de paquetes, es un flujo de bits que consiste

de 4 elementos– 2 bytes para un encabezado– 1 byte para la cuenta del número de datos a enviar y el número de

bytes de verificación (checksum) en el paquete– 1 orden del cliente incluyendo parámetros o 1 bloque de datos de

información– 2 bytes de verificación

Cliente Saphira

Actividades y microtareas del usuario

Rutinas de control y de aplicación

Comunicación en paquetes

Sistema Operativo síncrono de microtareas

Rutinasasíncronasdel

usuario

15

Arquitectura de Saphira

Localización y registro del mapa

Seguimientode personas

Reconocimientode objetos

ConstrucciónDe superficies

Informaciónsin procesar

Sensores

Planificadortopológico

Tareas de navegación

ConductasMetas

Conductasreactivas

Entradaoral

Procedural Reasoning

Syistem(PRS-lite)

Actuadores

Biblioteca deesquemas

Local Perceptual Space(LPS) graphic window

Procedural Reasoning System (PRS- Lite)

• Se basa en un controlador a nivel de tarea quesigue una aproximación que hace uso de conocimiento procedimental.

Alternativas para programar el clienteSaphira

• Lenguaje de alto nivel Colbert• Conjunto de funciones o API• Gramática de conductas (Behavior Grammar)

16

Colbert

• Colbert es un lenguaje de alto nivel para programar robots. • Se considera una extensión de “C”.Guarda ciertas similitudes y diferencias

con ese lenguaje. • Saphira contiene un evaluador del lenguaje Colbert que consiste en un

intérprete. • La biblioteca de Saphira suman su funcionalidad al evaluador Colbert, esto

permite unir el evaluador con variables, estructuras y funciones nativas de C.

• Colbert tiene un conjunto de funciones con las cuales es posible definir actividades (tareas), estructurar un despachador de tareas, especificar conductas a través de reglas difusas, entre otros

• Estas instrucciones se usan en dos formas:– directa en la zona interactiva del ambiente gráfico,– formando programas de actividades que se cargan con la opción “load” del

menú principal

Funciones básicas de Saphira

• sfConnectToRobot(int ctype, char *channel) conecta al simulador o al robot.– Los valores de ctype:

• sfLOCALPORT (simulador y servidor local)• sfTTYPORT, • sfTCPPORT.

– Los valores para el canal: • sfCOMLOCAL (simulador pipe), • sfCOM1/2 (puerto tty), o • una cadena

– (e.g., /dev/cua1 para un puerto tty, flakey.ai.sri.com para unaconexión TCP).

Funciones básicas de Saphira

• void sfRobotCom(int com) – envía una orden en paquete al robot, con un argumento. Los

nombres simbólicos de las órdenes inician con el prefijosfCOMxx.

• void sfRobotComInt(int com, int arg)– envía una orden en paquete al robot, con un argumento. Los

nombres simbólicos de las órdenes inician con el prefijosfCOMxx.

• void sfSetMaxRVelocity(int vel)– establece la velocidad máxima de rotación del robot a vel

deg/sec. Las órdenes de giro (turn) usan este valor comomáximo; Las órdenes de rotación (rotate) no pueden excederla.

17

Detalles para la instalación del software Saphira

• modificar el autoexec.bat para agregar el camino para llegar a saphira, por ejemplo,– Para Windows 95, 98 se agrega la variable de entorno

• set saphira=d:\robotik\saphira\ver62– En el caso de WinXP y 2000 se puede modificar el registro de las variables de

ambiente en el • Mi PC -> propiedades del sistema -> variables de entorno

– Nueva » Saphira» ruta en la que se encuentran los ejecutables del ambiente gráfico y del simulador generalmente se

encuentran en el subdir bin, de C:\saphira\ver62, así que se pone:» C:\saphira\ver62

• modificar las propiedades de los programas ejecutables para que se puedan ejecutar en este ambiente,por ejemplo– se puede seleccionar que se ejecuten como en win95

• agregar la biblioteca dinámica sf.dll al subdirectorio de dll's– o al subdirectorio \system del directorio de Windows en el caso de la versión

6.x– o al subdirectorio \system32 del directorio de Windows para la versión 8.x

Uso del robot Pioneer

Ambientes de programación para Lego

18

SISTEMAROM

SISTEMA DE FIRMWARE ESTÁNDAR

PROGRAMAS DEL USUARIO

HARDWARE

CÓDIGO RCX

COMPILADOR NQC

Ladrillo

Lego

Computadora (host)

Programa en código RCX

Programa NQC

Código en bytes

Ambiente estándar de programación

LegOS

Programas del Usuario

SISTEMAROM

HARDWARE

Ladrillo

Lego

Computadora (host)

Programa en LegOS

Código nativo binario

Compilador de “C”

Ambiente LegOS

LegOS

Programas del Usuario

SISTEMAROM

HARDWARE

Ladrillo

Lego

Computadora (host)

Programa en Lejos

Código nativo binario

Compilador de “Java”

Ambiente Lejos

19

El ladrillo de LEGO

Un sigue-líneas

El robot Khepera

20

El robot Khepera y su Software de control

Descripción

http://www.k-team.com/

Introducción

• Desarrollado por el Laboratorio de Microprocesadores e Interfaces (LAMI) y el Instituto Ferderal Suizo de Tecnología en Lausanne (EPFL).

• Diseñado como herramienta de investigación y de enseñanza.

• Permite el desarrollo de algoritmos de ejecución de trayectorias, evasión de obstáculos, pre-procesamiento de información sensora y robótica conductual.

Introducción

• El control de los robot Khepera se hace a través del puerto serial.

• Se pueden el siguiente software para controlar los robot Khepera:– Matlab®, http://www.mathworks.com/

– Sysquake®, http://calerga.com/

– Webots®, http://www.cyberbotics.com

– YAKS®, http://r2d2.ida.his.se/

21

Operación

1. LEDs

2. Serial line

3. Reset Button

4. Running modeselector

5. IR sensors

6. Battery charger

7. ON-OFF switch

Operación

Este módulo se puede usar como una interfaz para comunicación entre el robot y la computadora y como fuente externa de poder.

Operación

Carga y comunicación con el robot Khepera.

22

Especificaciones

• Procesador: Motorola 68331, 25MHz.• RAM: 512 Kbytes.• Flash: 512 Kbytes Programable.• Locomoción: 2 servo motores con odometríaincorporada.

• Velocidad: Max: 1 m/s, Min: 0.02 m/s.• Sensores: 8 Infrarrojos que detectan proximidad y luz ambiental con un rango de 100 mm.

Especificaciones

• I/O: 3 Entradas Análogas Inputs (0-4.3V, 8bit.

• Alimentación: Adaptador o Baterías recargables NiMH.

• Autonomía: 1 hora de movimiento continuo.• Comunicación: Puerto Serial estándar, hasta 115kbps.

Especificaciones

• Bus de extensión: Varios Módulos de expansión pueden ser conectados.

• Tamaño: Diámetro: 70 mm, Altura: 30 mm.

• Peso: aprox. 80 g.• Carga: aprox. 250 g.

23

Especificaciones

Los ocho sensores infrarrojos ubicados alrededor del Khepera

El robot Khepera y su Software de control

Torretas de extensión

Pinza

•Procesador: Motorola 68HC11.•RAM: 256 bytes.•ROM: 2 Kbytes.•Locomoción: 2 motores DC con odometría

24

Pinza

• Sensores: Barrera óptica y resistividad en la pinza

• Bus de Extensión: Usa el mismo módulo de extensión K-Extension bus.

• Tamaño: 65 x 90 x 10 mm.• Carga: aprox. 50 g.

Vídeo

• Salida vídeo: PAL o NTSC, 75 Ohms BNC.• Picture Elements: PAL: 500(H)x582(V) pixels, NTSC: 510(H)x492(V) pixels.• Transmisión Vídeo: Cable flexible y contacto rotante.• Tamaño: Diámetro: 55 mm, Altura: 50 mm.

Vídeo

• Field of View– Standard: 39deg (H) x 28 (V).– Opcional: lentes de 360deg (H) x

55deg (V).• Bus de Extensión: No pueden conectarse otras torretas

encima de la de vídeo.

25

Vídeo inalámbrico

• Torreta de Visión Inalámbrica

Torreta CMUcam

•CMOS Cámara a Color•176x255 RGB Color 24-bitpor pixel•Procesamiento a bordo:seguimiento de color, diferencia de cuadros, histogramas, etc.•Diámetro: 55 mm•Altura: 40 mm

Otras torretas de vídeo

• Torreta de Visión Lineal

26

Torreta de E/S

• Entradas: 8 digital, 2 análogos (absoluta) con ganancia ajustable, 1 diferencial análogo.• Salidas: 4 digitales baja potencia, 1 digital alta-potencia, 1 control de motores(puente H completo).

Torreta de E/S

• Bus de Extensión: Posibilidad de usarel módulo de extensión K-Extension bus.

• Tamaño: Diámetro: 55 mm, Altura: 10 mm.

Torreta de radio (I)

• Velocidad: 9600 bps, típico 4800 bps.• Frecuencia: 418 MHz or 433,920 MHz• Rango: 10m.• Máximo numero de robots: 32.• Procesador: Motorola M68331.• RAM: 32 Kbytes.• ROM: 128 Kbytes.• Tamaño: 55 x 55 x 15 mm

27

Torreta de radio (II)

• Velocidad: 115200bps y 38400bps.• Frecuencia: 2.4 GHz.• Rango: 30m.• Máximo número de robots: 7.• Procesador: Microchip PIC18F.• RAM: 2 Kbytes.• ROM: 32 Kbytes.• Tamaño: 55 x 55 x 15 mm.

El robot Khepera y su Software de control

Simuladores

KSIM

• Java• Modificable• WSU Khepera

Serial Interface

• http://ehrg.cs.wright.edu/ksim/downloads/downloads.html

28

YAKS

• Win & Unix• ANN• Requiere:

– GTK+, for graphicalinterface

– GtkGlArea, forOpenGL interface

• http://r2d2.ida.his.se/

Khepera Simulator 2.0

KIKS

• Matlab 5.3 y 6.0• Puede simular hasta

128 Kheperasconectados a través de TCPIP

• Open Source -modificable

• Soporte para la torreta de visión lineal

• http://www.tstorm.se/projects/kiks/

29

Evolutionary Robotics Toolbox

• Matlab 5.0+• Win/Solaris• Enfocado a robótica

evolutiva• Definición de

funciones de adaptabilidad

• http://diwww.epfl.ch/lami/team/urzelai/ertbx.html

Webots

Webots

• Multiplataforma:Win/Mac/Unix

• Multirobot: Khepera, PIONEER, AIBO, etc

• Programación en C/C++/Java

• Posibilidad de usar cómputo distribuido sobre tcpip

30

Webots

http://www.cyberbotics.com

El robot Khepera y su Software de control

Software de control remoto

Conexión Serial

9600 baudios, 8 bit, 1 bit de inicio, 2 bit de parada, no paridad

31

Conexión Serial

• B - Leer versión de Software• D,1,1 - Ajustar Velocidad• G - Ajustar Odometría• H - Leer Odometría• N - Leer sensores infrarrojos• O - Leer sensores de luz ambiental

LabView

kMatlab

Khepera Command kMatlab equivalent

-------------------------------------------------------------

B - Read software version kBiosD - Set speed kSetSpeed

E - Read speed kGetSpeed

G - Set position to the position counter kSetEncoders

H - Read position kGetEncodersL - Change LED state kLED

N - Read proximity sensors kProximity

O - Read ambient light sensors kAmbientT - Send a message to an extension turret kTurret

32

Diseño de experimentos con el robot Khepera

Ejemplos

El Simulador KpraSIM

• Basado en RobotWorld por Henrik Lernmark y Tim Portnoff

• Desarrollado por el M.I.A.

José [email protected]

Diseño de experimentos con el robot Khepera

Recolección de latas

33

Forrajeo de Latas

• Comida nutritiva de color rojo

• Comida venenosa de color azul

• Estación de recarga de color verde

• El robot tiene que recoger la comida y liberarla en las esquinas

• El sensor óptico en la pinza se usa para confirmar la presencia de comida

Forrajeo de Latas

Diseño de experimentos con el robot Khepera

Tareas colectivas

34

Esquema simple de persecución

• Tres robot Khepera están equipados con antenas y sombreros de colores

• Un robot Khepera con cámara tiene que perseguirlos

• Se usan distintas configuraciones para el simulador y la implementación real

Siguiendo a dos líderes

Diseño de experimentos con el robot Khepera

Visión activa

35

Configuración con dos cámaras

Percepción en robots heterogéneos

(a) cámara en la arena (b) vista aérea.

Percepción de los Robots

36

Itchy & Scratchy

Diseño de experimentos con el robot Khepera

Algoritmos Genéticos

Algoritmo Genético

Inicializar población(controladores del robot)

Actuar en el entorno

Reproducción selectiva y mutaciones

Nueva generación

Evaluación: retorno de calidad

Fenotipo

Múltiples puntos

Genotipo

[XX XY]

. . .[XY XX]

N individuos

37

Transferencia al robot Khepera

Generación 1

Generación 20

Notas Finales

El robot Pioneer con un SICK LaserRangefinder

38

Lego Mindstorms NXT

El robot Khepera III

Control sobre la red (tcpip.wbt)

39

Control sobre la red (simple.exe)

[email protected]

Referencias y bibliografía

• Introduction to AI Robotics. Robin Murphy. The MIT Press. 2001• Behavior-Based Robotics. Arkin. The MIT Press. 2000• Behavior-Based Primitives for Articulated Control. Maja J. Mataric, Matthew Williamson,

John Demiris, Aswath Mohan. • Behavior-Based Systems. Pattie Maes. SAB.199?• Behavior-Based Control: Main properties and implications, Maja Mataric. En Proceedings of

the IEEE International Conference in Robotics and Automation, Workshop on Architectures for Intelligent Control Systems. Niza, Francia. Mayo 1992

• A Behavior-Based Arm Controller. Jonathan H. Connell. A.I. Memo 1025. junio 1988• Vehicles: Experiments in Synthetic Psychology, Valentino Braitenberg. MIT Press, 1984• Precambric Intelligence”, Rodney H. Brooks, The MIT Presss, 1999• Una propuesta para el diseño de agentes estrictamente reactivos. De la Mora Bazáñez, C.

R. Tesis de Maestría. Maestría en Inteligencia Artificial. UV. 1997• Situated Cognition. Clancey, • Agentes computacionales cognitivos reactivos en la modelación de la conducta visuomotora

de una rana". García Vega, V. A., Tesis de Maestría. Maestría en ciencias de la computaciónUACP y P del CCH.1993

• Estudio sobre el comportamiento grupal de robots reactivos modelando conductas de recolección y anidamiento. Angélica Muñoz Meléndez. Tesis de Maestría. Maestría en Inteligencia Artificial. UV. 1997

• Mecanismos de selección de acción, Alejandro Guerra Hernández. Tesis de Maestría. Maestría en Inteligencia Artificial. UV. 1997

• A Robot Model of Action Selection in the Vertebrate Brain, Fernando Montes González, PhD Thesis. University of Sheffield. 1991