Implementaci´on de una estrategia de control distribuido ...

73
Implementaci´ on de una estrategia de control distribuido en un equipo de robots m´ oviles Trabajo de proyecto de grado presentado al Departamento de Ingenier´ ıa El´ ectrica y Electr´ onica por Diego Alejandro Rodr´ ıguez Ram´ ırez Asesor: Nicanor Quijano Silva Coasesor: Carlos Francisco Rodr´ ıguez Para optar al t´ ıtulo de Ingeniero Electr´ onico Departamento de Ingenier´ ıa El´ ectrica y Electr´ onica Universidad de Los Andes Enero 2008

Transcript of Implementaci´on de una estrategia de control distribuido ...

Page 1: Implementaci´on de una estrategia de control distribuido ...

Implementacion de una estrategia de control

distribuido en un equipo de robots moviles

Trabajo de proyecto de gradopresentado al

Departamento de Ingenierıa Electrica y Electronica

por

Diego Alejandro Rodrıguez Ramırez

Asesor: Nicanor Quijano SilvaCoasesor: Carlos Francisco Rodrıguez

Para optar al tıtulo deIngeniero Electronico

Departamento de Ingenierıa Electrica y ElectronicaUniversidad de Los Andes

Enero 2008

Page 2: Implementaci´on de una estrategia de control distribuido ...

Implementacion de una estrategia de control

distribuido en un equipo de robots moviles

Aprobado por:

Fernando de La Rosa

Nicanor Quijano Silva, Asesor

Carlos Francisco Rodrıguez, Coasesor

Fecha de Aprobacion

Page 3: Implementaci´on de una estrategia de control distribuido ...

0000

Dedicatoria

Soberano Dios: aunque a veces no te logre ver, se que siempre estas

aquı; mis triunfos solo son tuyos y solamente tuyas las sendas de

camino.

iii

Page 4: Implementaci´on de una estrategia de control distribuido ...

0000

Reconocimientos

Agradezco a los profesores Nicanor Quijano y Carlos F. Rodrıguez por su guıa

y apoyo sin los cuales no hubiera podido culminar este proyecto y a mi familia y

amigos por impulsarme y darme una razon para seguir en todo momento.

Por ultimo agradezco a la Secretarıa de Educacion Distrital y a la Universidad de

los Andes por la oportunidad que se me dio de cursar mis estudios en tan honorable

institucion.

iv

Page 5: Implementaci´on de una estrategia de control distribuido ...

0000

Tabla de Contenido

Dedicatoria III

Reconocimientos IV

Lista de Tablas VII

Lista de Figuras VIII

Resumen IX

I. Introduccion X

II. Marco teorico XII

2.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii

2.2. Conceptos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii

2.3. Inspiracion En Sistemas Naturales . . . . . . . . . . . . . . . . . . . xviii

2.3.1. Ejemplos del comportamiento de los insectos . . . . . . . . . xxi

2.4. Sistemas Artificiales Aplicados a Robotica Movil . . . . . . . . . . . xxv

2.4.1. Ejemplos de solucion de problemas con robotica movil . . . . xxvii

III. Elementos de la robotica movil y el control distribuido XXX

3.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxx

3.2. Descripcion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxi

3.2.1. Elementos basicos de una tarea distribuida . . . . . . . . . . xxxi

3.2.2. Elementos de los robots . . . . . . . . . . . . . . . . . . . . . xxxii

3.3. Estrategia de control . . . . . . . . . . . . . . . . . . . . . . . . . . xxxviii

3.3.1. Funciones de deseo de giro y velocidad . . . . . . . . . . . . . xxxviii

3.3.2. Comportamientos para funciones de deseo de giro y velocidad xli

v

Page 6: Implementaci´on de una estrategia de control distribuido ...

0000

3.3.3. Implementacion de funciones de deseo de giro y velocidad . . xlix

3.3.4. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . li

IV. Implementacion de control distribuido LIII

4.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . liii

4.2. Simulador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . liii

4.3. Tareas resueltas por control distruibuido . . . . . . . . . . . . . . . . lvi

4.3.1. Vigilancia cooperativa . . . . . . . . . . . . . . . . . . . . . . lvi

4.3.2. Convergencia robots a puntos especıficos . . . . . . . . . . . lviii

4.3.3. Rodear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lix

4.3.4. Concordancia de todos los robots a un mismo punto . . . . . lxi

4.3.5. Movimiento de robots en cojunto . . . . . . . . . . . . . . . . lxi

4.3.6. Busqueda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lxii

4.4. Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lxiii

V. Conclusiones y trabajo futuro LXV

Apendice A. — Interfaz de ingreso de datos del simulador LXVII

vi

Page 7: Implementaci´on de una estrategia de control distribuido ...

0000

Lista de Tablas

1. Condiciones de velocidades de ruedas para giro del robot. . . . . . . . xl

2. Parametros de control para el comportamiento buscar. . . . . . . . . xliv

3. Parametros de control para el comportamiento seguir. . . . . . . . . . xlv

4. Parametros de control para el comportamiento evitar. . . . . . . . . . xlvii

5. Parametros de control para el comportamiento recorrer. . . . . . . . . l

6. Funciones de simulador. . . . . . . . . . . . . . . . . . . . . . . . . . liv

7. Parametros de control para el comportamiento recorrer. . . . . . . . . lxiv

vii

Page 8: Implementaci´on de una estrategia de control distribuido ...

0000

Lista de Figuras

1. Rangos de deteccion sensorial para un robot . . . . . . . . . . . . . . xxxiii

2. Informacion de angulos y distancias medidas para control del robotcon respecto a un objetivo. . . . . . . . . . . . . . . . . . . . . . . . . xxxv

3. Esquema de cinematica diferencial . . . . . . . . . . . . . . . . . . . . xxxvi

4. Esquema de un control en lazo cerrado. . . . . . . . . . . . . . . . . . xxxviii

5. Informacion de angulos y distancias de giro del robot con respecto aun objetivo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xliv

6. Zona de evasion de obstaculos. . . . . . . . . . . . . . . . . . . . . . . xlvi

7. Trayectoria recorrida por un robot bajo comportamiento recorrer. . . xlix

8. Trayectoria espiral con forma incorrecta. . . . . . . . . . . . . . . . . l

9. Funcion tangente hiperbolica. . . . . . . . . . . . . . . . . . . . . . . li

10. Ejemplo de cuadros consecutivos de una simulacion. . . . . . . . . . . lv

11. Vigilancia de un robot. a) ∆r = 0,75. b) ∆r = 1. c) ∆r = 1,5 . . . . . lvii

12. Vigilancia para varios robots. a) 1 robot. b) 2 robots. c) 3 robots . . . lviii

13. Comportamiento de un solo robot buscando un objetivo . . . . . . . . lix

14. Comportamiento de varios robots moviendose en un mismo espacio . lx

15. Comportamiento de robots rodeando un objetivo . . . . . . . . . . . lx

16. Concordancia de muchos robots a un mismo punto. a) 3 robots, b)15 robots. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lxi

17. Comportamiento colectivo para buscar un objetivo. . . . . . . . . . . lxii

18. Un robot buscando un objeto lejano. . . . . . . . . . . . . . . . . . . lxiii

viii

Page 9: Implementaci´on de una estrategia de control distribuido ...

0000

Resumen

En los ultimos anos se ha aumentado la investigacion en la resolucion

de tareas por medio de la robotica movil. Esta filosofıa es basada en el movimiento

coordinado y dirigido de robots relativamente simples. Si todos los robots que se

tienen en el campo son iguales se dice que se tiene un grupo homogeneo, y si ningun

robot tiene mayor prevalencia sobre el control del equipo se tiene una estrategia de

control distribuida. En este trabajo se desarrolla una estrategia de control distribui-

do para un equipo de robots moviles homogeneos. En la primera parte se realiza

una revision del estado del arte del tema. Luego, se definen las bases tecnologicas y

teoricas necesarias para el desarrollo de la estrategia de control. Despues, se realiza

el desarrollo e implementacion del controlador basado en comportamientos, expli-

cando uno a uno los comportamientos implementados y la forma de activarlos y

desactivarlos. Por utlimo, se muestra la realizacion de un simulador para probar la

estrategia de control y se plantean y resuelven algunos problemas usando la estrate-

gia de control desarrollada. Se termina con algunas conclusiones y la descripcion del

trabajo futuro.

ix

Page 10: Implementaci´on de una estrategia de control distribuido ...

0000

Capıtulo I

Introduccion

En la actualidad, la robotica es uno de los campos con mayor investigacion y

desarrollo, llegando a importantes niveles de automatizacion y solucion de problemas

en los que interviene un solo agente relativamente simple [7]. No obstante, podemos

encontrar algunas tareas que por su naturaleza son demasiado complejas o imposibles

de realizar por un solo robot, o que resultan ineficientes al ser atacadas desde esta

perspectiva. Es por esto que se hace necesario el desarrollo de otras metodologıas

que permitan atacar estos problemas en aras de simplificar su solucion, como por

ejemplo, la cooperacion, que es la union de individuos trabajando juntos para lograr

un fin comun [1]. Particularmente, podemos encontrar un problema muy interesante,

que consiste coordinar el movimiento de varios individuos independientes (robots),

en un mismo espacio delimitado y con alguna meta especıfica. Es necesario observar,

desarrollar y controlar muchos elementos de su movimiento, controlar las trayectorias

que cada robot (o todos en conjunto) seguirıa, evitando las colisiones e interferencias

entre ellos, y optimizando su movimiento.

Con el fin de llegar a soluciones cada vez mejores, en los ultimos anos se ha

generado una gran tendencia de estudiar los sistemas naturales como inspiracion

para obtener mejores soluciones. Este es el caso del estudio de las hormigas, abejas,

termitas y avispas, llamados insectos sociales ([4],[17],[31],[32],[36]) quienes traba-

jan en conjunto para lograr un fin comun que serıa imposible alcanzar de manera

individual. De esta observacion se desarrollan conceptos como swarm intelligence

([3],[26]). A pesar de no ser un campo de investigacion muy viejo, cada vez invita

x

Page 11: Implementaci´on de una estrategia de control distribuido ...

0000

la mirada de mas personas, llegando a importantes desarrollos en campos de opti-

mizacion, computacion y robotica. No obstante las investigaciones previas, este es

un campo en el que queda mucho por hacer, y en el que no se ha trabajado mucho

en nuestro paıs. Por esto, se ve necesario comenzar a desarrollar ideas y aplicaciones

que permitan entender los sistemas de control distribuido y cooperacion, con el fin

de desarrollar tecnicas innovadoras en estas areas.

xi

Page 12: Implementaci´on de una estrategia de control distribuido ...

0000

Capıtulo II

Marco teorico

2.1. Introduccion

Tradicionalmente, la robotica ha sido vista desde una perspectiva donde se bus-

ca la creacion de sistemas de alta complejidad con un alto grado de integracion

tecnologica. Como dice [7], “hoy en dıa, los robots industriales tienden a ser cada

dıa mas sofisticados, con un mayor numero de funciones y mayor nivel de progra-

macion”. El desarrollo de robots implica un trabajo riguroso y conjunto de muchos

campos como los sistemas mecanicos, teorıa de control, analisis y procesamiento de

senales, inteligencia artificial, entre muchos otros. Esto implica un alto grado del

conocimiento de las ciencias basicas (e.g., matematica y fısica) que permitan mod-

elar y controlar cada uno de los sistemas del robot, y una operacion conjunta de

un gran numero de sensores y actuadores, ordenados por un sistema electronico de

gran e de complejidad. Esto sin tener en cuenta que la interaccion del robot con el

medio, es un problema de mayor complejidad ([9]).

A pesar que bajo esta perspectiva se han obtenido resultados muy buenos en la

solucion de problemas que impliquen automatizacion y robotica, tıpicamente se ob-

tienen sistemas muy complejos y costosos, y que no presentan flexibilidad y robustez

por si solos.

Es por esto que se hace necesaria la introduccion de una nueva perspectiva para

atacar diversos problemas, buscando obtener soluciones, no centralizadas sino dis-

tribuidas ([22]). Con esto se busca generar sistemas formados por individuos (robots)

relativamente simples, que se coordinen entre si para realizar tareas con altos grados

de complejidad.

xii

Page 13: Implementaci´on de una estrategia de control distribuido ...

0000

Diversos investigadores han trabajado sobre sistemas distribuidos para la solu-

cion de problemas en robotica, optimizacion y comunicaciones en redes durante los

ultimos anos, hecho que se encuentra plasmando en los trabajos de sintetizacion de

las direcciones, fundamentos y resultados que en este campo se han obtenido. Estos

temas son abordados por autores, de quienes se toma algunas frases para reforzar

esta afirmacion: [22] dice: “el problema de sintetizar y analizar comportamientos

autonomos y colectivos solo recientemente ha sido comenzado a ser estudiado por

la comunidad robotica”, y [6] “se ha incrementado el interes de investigacion en sis-

temas compuestos de multiples robots autonomos que exhiben un comportamiento

cooperativo”, mientras que [3] y [11], presentan una importante coleccion de concep-

tos fundamentales para el trabajo de la robotica, y en general sistemas distribuidos.

En este capıtulo, se presenta una pequena revision del estado del arte del cam-

po de los sistemas distribuidos, particularmente, los robots moviles cooperativos.

Primero, se presenta una serie de razones y propiedades que muestran la impor-

tancia del estudio de los sistemas distribuidos, y algunas definiciones y conceptos

importantes. Luego, se muestran algunas observaciones de sistemas naturales (com-

portamiento de los llamados insectos sociales), que han servido de inspiracion a

sistemas artificiales; y finalmente, se presenta algunos trabajos de aplicaciones de

estos conceptos para la solucion de problemas especıficos.

2.2. Conceptos

Atacar un problema desde una perspectiva distribuida, solo es provechoso bajo

condiciones particulares que dependen de la naturaleza del problema. [6] y [11]

presentan algunas razones bajo las cuales es mejor el uso de robots cooperativos,

que el de robots centralizados, sus conceptos se pueden resumir como:

Tareas que son muy complicadas o imposibles para un solo individuo, o que

pueden ser fuertemente optimizadas por el uso de varios individuos trabajando

sobre ella (e.g:, mover una caja con mayor peso que el que puede mover un

solo robot).

xiii

Page 14: Implementaci´on de una estrategia de control distribuido ...

0000

Construir robots muy simples, puede ser mas facil, economico, flexible y ro-

busto que un unico robot muy poderoso.

Las tareas implementadas bajo una perspectiva cooperativa pueden ser mejo-

radas y optimizadas usando diferentes algoritmos, como por ejemplo, estrate-

gias inspiradas en sistemas naturales.

Muchas de estas ventajas se basan en un propiedad de los sistemas multi-agentes

llamada sinergia ([28], [3], [19]). La sinergia se puede definir como la propiedad de

un sistema de dos o mas individuos, en el que el resultado del trabajo combinado,

es mayor a la suma de los resultados del trabajo individual de cada uno. Un claro

ejemplo de sinergia se ve en el transporte cooperativo por hormigas. [3]basado en

observaciones de transporte de comida por una colonia de hormigas, presentan un

estudio de las ventajas del transporte en grupo en hormigas, demostrando que la

eficiencia del transporte aumenta considerablemente con el numero de hormigas

involucradas en la operacion.

Para poder hablar de sistemas multi-agentes, es necesario incluir el concepto de

agente. [8] realiza un estudio sobre los agentes, sus propiedades y caracterısticas, y

sus relaciones para formar sistemas sociales mas complejos. Un agente se define como

una entidad independiente que hace parte de un sistema. Idealmente, dentro de un

sistema, todos los agentes deben ser semejantes, o por lo menos tener caracterısticas

que los puedan relacionar unos con otros.

Un agente tiene autonomıa y racionalidad, es decir que tiene capacidad para

tomar decisiones y comportamientos especıficos a situaciones dadas, muchas veces

determinadas por alguna historia o experiencia previa que pueda tener relacion con

ese tema en particular. Esta capacidad le permite relacionarse con otros individuos

dentro del sistema, lo que determina su comportamiento social.

Un concepto muy interesante relacionado con los agentes y sus relaciones sociales,

es el de sociedad anonima y sociedad individualizada. Una sociedad anonima es

aquella en la que los miembros del grupo no se reconocen en forma individual. Un

excelente ejemplo de este tipo de sociedades son las formadas por insectos. Si un

grupo de termitas construyen algunos soportes para un compartimiento del nido,

xiv

Page 15: Implementaci´on de una estrategia de control distribuido ...

0000

y una de ellas es cambiada por alguna otra, las demas no lo notan, y continuan

igualmente con su trabajo. Por otro lado, en una sociedad individualizada, cada

individuo representa un papel completamente diferente frente a los otros del grupo.

El mejor ejemplo de estas sociedades es la sociedad humana. Una sociedad formada

por robots cooperativos es por naturaleza una sociedad anonima, caracterıstica que

resultara ventajosa en el momento de la implementacion de estrategias de control.

Cuando los agentes de un grupo se relacionan entre si, expresan un compor-

tamiento colectivo, no necesariamente cooperativo. La cooperacion entre individuos

es solo una sub-clase de comportamiento colectivo, en la que individuos del sistema se

relacionan entre si para aumentar la ganancia o productividad del sistema ([6],[22]).

[1], muestra que la cooperacion es un mecanismo que siempre tiende a surgir en for-

ma espontanea y natural en los sistemas de muchos individuos. Un claro ejemplo de

este fenomeno se encuentra en la llamada guerra de trincheras de la primera guerra

mundial, donde algunas tropas de los dos bandos llegaban a situaciones de relativa

paz, con el fin de no hacerse dano entre ellos. Tambien se presentan diversos casos

en sistemas biologicos, donde la cooperacion surge como respuesta a necesidades

grupales, o incluso, en algunos casos, vienen pre-dispuestas geneticamente. Esto se

puede ver como el resultado de la “memoria” de la evolucion de los sistemas ([17]).

Otra conclusion importante de [1], tiene que ver con la posibilidad de obtener

un resultado negativo del individuo con el que se coopera, fenomeno que el llama

defraudacion. La cooperacion solo puede surgir en ambientes donde una parte no

pueda defraudar a la otra, ya que en caso en el que un individuo se ve defraudado

tendera a dejar sus comportamientos cooperativos hacia el futuro.

La cooperacion es una caracterıstica necesaria en sistemas multi-agentes, ya que

de esta depende la sinergia que pueda presentar el sistema. En ambientes no cooper-

ativos, el sistema no muestra sinergia y el resultado tiende a ser menos provechoso,

obteniendo un resultado completamente contrario al que se desea. Dado que esta

propiedad es deseada en el trabajo de sistemas roboticos multi-agentes, es de mucha

importancia la definicion de los objetivos y los comportamientos que se establezcan

para los robots, como respuesta a actitudes de sus sımiles.

xv

Page 16: Implementaci´on de una estrategia de control distribuido ...

0000

Con el fin de introducir los conceptos de sistemas cooperativos a la robotica

movil, muchos investigadores han venido usando algunos terminos para referirse

a conceptos que se presentan en estos sistemas. [22] y [6], presentan una breve

descripcion de algunos de ellos.

Comportamientos y objetivos

Un comportamiento es una ley de control que determina la reaccion del agente

frente a alguna circunstancia especıfica, para buscar o mantener un logro particu-

lar. Por ejemplo, para un robot movil un comportamiento podrıa ser seguir a otro

individuo con el fin de establecer alguna formacion, o detenerse para evitar colision

contra algun objeto. Por otro lado, los objetivos son los estados terminales a los que

se quiere llevar el sistema. Ası, por ejemplo, un objetivo es evitar obstaculos en un

campo o minimizar la interferencia entre agentes.

Interferencia y conflicto

La interferencia se puede ver como todo aquello que bloquea o se opone a lograr

un objetivo. En sistemas multi-agentes, cuando los comportamientos de un individ-

uo se oponen (en alguna medida) con los comportamientos de otro, se tiene conflicto

entre los agentes. Un problema especial se presenta cuando todos los agentes tienen

un mismo objetivo, pero los comportamientos para alcanzarlo no requieren coop-

eracion. En este caso tiene competencia entre los individuos.

Arquitectura de grupos

La arquitectura provee la estructura bajo la cual los comportamientos colec-

tivos son implementados y determinan las capacidades y limitaciones del sistema.

[6], establecen como componentes fundamentales de las arquitecturas de grupo, la

centralizacion o descentralizacion, la diferencia de individuos, la comunicacion, y la

habilidad para modelar los otros individuos. Entender y establecer en forma clara

cada uno de estos componentes, es un tema de vital importancia para la creacion

de sistemas cooperativos. A continuacion se presenta una breve descripcion de cada

uno de estos aspectos.

Centralizacion/descentralizacion: Las estrategias centralizadas tienen solo un

elemento de control, el cual ordena y determina los comportamientos que debe

xvi

Page 17: Implementaci´on de una estrategia de control distribuido ...

0000

tener todo el sistema. Puede tener varios componentes, pero todos estaran regi-

dos por un control principal. Cuando se tienen estrategias descentralizadas, se

pueden clasificar en distribuidas y jerarquicas. En las estrategias distribuidas,

todos los elementos son iguales con respecto al control de la tarea, mientras

que en las jerarquicas, se presenta centralizacion local, donde un elemento tiene

control sobre un sub-grupo del total de individuos que componen el sistema.

Bajo esta clasificacion, solo podemos hablar de agentes, tal como se definieron

anteriormente, en las estrategias distribuidas. Una ultima posibilidad, es tener

estrategias hıbridas, donde se tiene un “lıder”, sobre individuos automatas.

Diferenciacion: Los robots pueden ser homogeneos o heterogeneos. Una arqui-

tectura es homogenea cuando todos los individuos poseen las mismas capaci-

dades con respecto a la tarea, y es heterogenea cuando los individuos poseen

capacidades diferentes, i.e., un grado de especializacion con respecto a alguna

tarea. En general, las estrategias heterogeneas implican mayor dificultad de

implementacion, porque cada agente necesita conocer las capacidades individ-

uales de sus companeros. ”

Comunicacion: Para lograr la cooperacion, resulta necesario tener comuni-

cacion entre los agentes. Existen tres grados de comunicacion: a traves del

medio, mediante sensores y comunicacion directa. La comunicacion a traves

del medio ocurre porque un individuo puede detectar el efecto de sus com-

paneros sobre el medio. No se presenta comunicacion explıcita entre ellos. Este

fenomeno llamado stigmergy, es tratado por otros autores como [28], quienes

describen claramente la importancia de este fenomeno, y su potencial como

suficiente para lograr generar sinergia entre los individuos. La comunicacion

a traves de sensores ocurre como resultado que unos individuos puedan re-

conocer a los otros. Requiere poder diferenciar un agente de los otros objetos

que se puedan presentar en el medio. Es indispensable para el modelado de

otros agentes. Por ultimo, la comunicacion directa se refiere a la presencia

comunicacion explıcita entre los agentes, expresando sus comportamientos y

objetivos. Es indispensable, cuando la cooperacion requiere de negociacion

xvii

Page 18: Implementaci´on de una estrategia de control distribuido ...

0000

entre individuos.

Modelado de otros agentes: Puede presentarse o no (cuando se presenta, puede

mejorar efectividad de cooperacion). Necesita mas que comunicacion a traves

del medio. Implica poder hacer un modelo de intenciones, creencias, acciones

habilidades y estado de los otros agentes. Esta informacion puede generar

cambios en el comportamiento del agente sensante.

Hasta este punto se han formulado una serie de conceptos necesarios para el de-

sarrollo de sistemas roboticos multiagentes. No solo es necesario establecer una ar-

quitectura para determinar el comportamiento del grupo de robots, pero el conjunto

de las diferentes configuraciones que se pueden tener basandose en estas caracterısti-

cas, reflejaran en gran medida las capacidades que tendra el conjunto de los robots

y el tipo de estrategias de control que se pueden aplicar a ellos, y estos elementos

deben ser elegidos en funcion al equipo de robots que se tenga y los objetivos que

se busquen con ellos.

2.3. Inspiracion En Sistemas Naturales

Los sistemas naturales han servido como inspiracion para desarrollos tecnologi-

cos desde tiempos muy antiguos. Campos como el de la robotica cooperativa, y

en general los sistemas artificiales distribuidos, han tenido algunos de sus may-

ores avances tomando como ejemplo el comportamiento de los llamados “insectos

sociales” (hormigas, abejas, termitas y avispas). Segun [3], en los ultimos 5 anos

la solucion de problemas basados en el comportamiento de los insectos sociales se

ha convertido en un tema de gran interes, atacando los problemas desde una per-

spectiva distribuida y propiciando interacciones directas o indirectas entre agentes

relativamente simples.

La gran importancia que estan teniendo los insectos sociales como punto de

partida para la busqueda de nuevas soluciones desde una perspectiva distribuida

no es casualidad. [36], en su trabajo sobre insectos sociales, habla de ellos como

“quienes mejor muestran el barrido completo de todos los niveles de organizacion de

una sociedad”. Las colonias de insectos logran un altısimo grado de coordinacion,

xviii

Page 19: Implementaci´on de una estrategia de control distribuido ...

0000

llegando a tener trabajando hasta 22 millones de insectos en una misma colmena.

[3] habla de una colonia de insectos como un sistema de solucion de problemas de-

scentralizados/distribuidos compuesto por muchas entidades relativamente simples

interactuando entre ellas. Gracias a la interaccion de individuos que solo exhiben

un comportamiento relativamente simple por ellos mismos, surgen complejos pa-

trones de comportamiento grupal, fenomeno conocido como Swarm intelligence o

inteligencia de enjambres. [34], [17].

Swarm intelligence ofrece una nueva perspectiva para atacar problemas en forma

distribuida, obteniendo sistemas muy complejos a partir de agentes muy sencillos.

Esta cualidad la hace una perfecta base para aplicaciones de robotica movil, teniendo

en cuenta el enorme problema de construir y coordinar robots.

De las sociedades de insectos podemos obtener algunas propiedades que nos

ayudan a modelar y comprender su comportamiento y obtener un mejor resultado

en la creacion de sistemas artificiales. Estas propiedades son la organizacion propia

(self-organization), comunicacion ambiental (stigmery) y la sinergia.

Organizacion propia

Los modelos de organizacion propia (SO por sus iniciales en ingles), dicen que

se puede obtener cualquier sistema complejo a partir de interacciones de procesos

simples. Es un conjunto de mecanismos dinamicos que surgen como resultado de

interaccion entre sus componentes. Las reglas de comportamiento que se obtienen

en el sistema son producto de decisiones tomadas en funcion de informacion local,

lo que ayuda que los resultados de la SO sean efectos propios del sistema, mas que

de influencias externas. La SO posee 4 ingredientes principales:

Realimentacion positiva: Permite reforzar una accion determinada con el fin

de crear estructuras de comportamientos. Algunos ejemplos se observan en el

establecimiento de caminos que usan las hormigas para buscar comida. Cada

hormiga expide un feromona de olor que atrae a las demas. Cuantas mas

hormigas transiten por ese camino, mayor se hara el olor en el y atraera a

mas hormigas a que lo usen, provocando un efecto amplificador de transito de

hormigas.

xix

Page 20: Implementaci´on de una estrategia de control distribuido ...

0000

Realimentacion negativa: Es un fenomeno que se presenta para contrarrestar

la realimentacion positiva, con el fin de generar patrones colectivos estables.

La realimentacion negativa, por ejemplo, se presenta en la recoleccion de co-

mida por hormigas, porque los caminos que se establecen por realimentacion

positiva, se saturan, ayudando a que el numero de hormigas en ese camino no

crezca indefinidamente.

Las soluciones a los problemas deben tener fluctuaciones, i.e., incluir procesos

aleatorios, que permitan llegar a nuevas soluciones.

Para generarse un SO, deben presentarse un gran numero de interacciones

que refuercen los patrones que se empiezan a establecer por las interacciones

aisladas y aleatorias de pocos individuos.

Los fenomenos SO, permiten que nuevas soluciones completamente estables se

esten creando constantemente. Una solucion particular puede aumentarse y amplifi-

carse en cualquier momento y lugar del trabajo, y una vez que esta este establecida,

una nueva puede generarse a partir de la amplificacion de alguna aleatoriedad de

la solucion original. Las soluciones SO tambien generan bifurcaciones por el cambio

de algun parametro, haciendo que un proceso pueda tener dos soluciones completa-

mente diferentes.

Comunicacion ambiental

Los procesos SO requieren interaccion entre los agentes del grupo, interaccion

que puede hacerse en forma indirecta. [3] establecen que se presenta interaccion

indirecta cuando un individuo responde a un ambiente que ha sido modificado pre-

viamente por la accion de otro individuo. Este fenomeno tambien puede verse como

comunicacion entre los agentes por medio del ambiente. La comunicacion indirecta

permite explicar la coordinacion y la regulacion que ocurre entre los miembros de la

colonia. Por ejemplo, en actividades de construccion del nido, las termitas responden

a la estructura del nido mismo, mas que a sus companeras.

La comunicacion ambiental “permite reemplazar la coordinacion a traves de co-

municacion directa por interacciones indirectas” [28], esto permite simplificar las

xx

Page 21: Implementaci´on de una estrategia de control distribuido ...

0000

habilidades de comunicacion de los agentes, abriendo la posibilidad del uso de indi-

viduos mas simples dentro de un proceso multi-agente.

Sinergia

La sinergia, tal como se explico anteriormente, es el resultado de fenomenos de

cooperacion que exhiben los insectos, obteniendo mayores resultados por un trabajo

comun, que por un trabajo individual. Esta propiedad es una de los resultados mas

interesantes de trabajo comun de los insectos sociales.

2.3.1. Ejemplos del comportamiento de los insectos

Como se dijo anteriormente, las estrategias distribuidas solo son mejores que las

centralizadas bajo ciertas condiciones. Es por esto, que es muy util la aplicacion

de comportamientos especıficos de los insectos para resolver problemas particulares.

A continuacion se mostraran algunos ejemplos de los comportamientos de los in-

sectos sociales, los cuales han servido de inspiracion para el desarrollo de sistemas

artificiales. Esta recopilacion se toma de los trabajos de [3], [31], [36],[34], [17], [27].

Comportamientos en hormigas

Busqueda de comida (Foraging): El proceso de busqueda de comida de las

hormigas sigue algunos pasos bien definidos. Diferentes hormigas toman difer-

entes caminos para ir del nido a la fuente de comida y de regreso. Durante

su recorrido, cada hormiga produce una sustancia quımica que atrae a sus

companeras. Esta sustancia llamada feromona, es dispersada en el ambiente,

dejando rastros del camino que sigue el insecto. La hormiga que toma el camino

mas corto es la primera en ir y regresar, es decir, esta ruta es la primera en ser

transitada dos veces en su totalidad, teniendo el doble contenido de feromona

que cualquier otra. Las otras hormigas que esperan en el nido, sienten mayor

atraccion por ese camino, empezando a ser transitado por mas hormigas ca-

da vez, produciendo un efecto de realimentacion positiva que desemboca en

una estructura SO. La feromona, se va dispersando en el ambiente en funcion

del tiempo, por lo cual, los caminos transitados pocas veces (los no optimos)

tienen a desvanecerse, quedando solo los caminos optimos.

xxi

Page 22: Implementaci´on de una estrategia de control distribuido ...

0000

Las hormigas pueden adaptarse facilmente a cambios en la ruta, (e.g. ob-

staculos imprevistos) o en el numero de hormigas involucradas en el proceso,

haciendo de esta, una solucion muy flexible y robusta.

Transporte cooperativo: Cuando una hormiga encuentra una presa que quiera

llevar de regreso al nido (e.g. una hoja), trata de levantarla y empujarla por

si misma. Si el peso de la hoja supera sus capacidades, la hormiga atrae a

las companeras que se encuentren cerca de ese lugar expeliendo feromonas

alrededor de la hoja. Si ası no se logra atraer suficientes hormigas, se crea

un camino de feromonas desde la hoja hasta el nido, generando el proceso

explicado anteriormente.

Una vez que se tienen suficientes hormigas en la labor, todas empiezan a

empujar la hoja en diferentes direcciones alrededor, buscando mover las hojas.

Obviamente, el efecto de una hormiga es cancelado por el de otra que se

encuentre en el lado opuesto de la hoja. Cuando una hormiga ve que despues

de cierto tiempo no se logran resultados positivos en mover la hoja, se ubica

aleatoriamente en otra posicion con respecto a la misma y empieza a empujarla

en esta nueva direccion. Este proceso es seguido por muchas hormigas, hasta

que se logra una configuracion, donde el trabajo conjunto logra mover la hoja.

Si luego de un tiempo y muchas reconfiguraciones de las hormigas no se logra

mover la hoja, se hace el reclutamiento de trabajadoras especializados con

enormes tenazas, que cortan la hoja trozos mas pequenos, con lo que se inicia

el proceso de empuje una vez mas.

Organizacion de cementerios: Cuando una hormiga muere, deben ser retirada

del nido, en un proceso de limpieza. Las hormigas muertas expelen un olor

caracterıstico, que les indica esta condicion a las demas. Si inicialmente se

tiene una hormiga muerta dispersa en un terreno, una obrera encargada de la

limpieza, la tomara, y tendera a llevarla a un punto con alta concentracion de

ese olor caracterıstico. Cuantas mas hormigas muertas se encuentren apiladas

juntas, mayor olor se expele de ese punto en particular, y tendera a atraer a las

xxii

Page 23: Implementaci´on de una estrategia de control distribuido ...

0000

obreras, a depositar nuevos cuerpos en ese mismo punto. Antes de tener forma-

do un punto lo suficientemente grande, el proceso de deposicion de cadaveres

es aleatorio, pero luego de algunos movimientos, se ha visto que se forman

puntos lo suficientemente grandes para empezar el proceso de atraccion.

Construccion del nido: La construccion de las paredes del nido se hace alrede-

dor de las camaras de incubacion de larvas. Para la construccion de una

pared, cada hormiga carga una pequena porcion de tierra adentro del nido, de-

positandola aleatoriamente en un principio. Las hormigas se sienten atraıdas a

depositar tierra en lugares de mayor concentracion, o sea, puntos donde otras

hormigas hayan depositado mas tierra previamente. Este proceso sucesivo gen-

era un efecto de realimentacion positiva que culmina en la construccion de una

pared del nido.

Comportamientos en abejas

Reclutamiento: las abejas exploradoras, son las encargadas de encontrar nuevas

fuentes de comida para la colmena, entre otras cosas, Una vez se ubica una nue-

va fuente de comida, la abeja exploradora se alimenta y regresa a la colmena,

donde produce un ritual de reclutamiento muy particular.

Al llegar a la colmena, la abeja que posee la informacion regurgita un poco

del alimento frente a un grupo de sus companeras para darles a probar un

poco del alimento encontrado. Luego el comienza un “baile” en el que da las

indicaciones necesarias para ir a la fuente de comida. En este baile, se incluyen

indicaciones de direccion, dadas como un angulo con respecto al so, la distancia

y tambien una medida del esfuerzo que le tomo llegar hasta la fuente ([31], [32]

y [27]). Una vez que este grupo abejas ha entendido el mensaje, la portadora

de la informacion se desplaza hasta otro lugar dentro de la colmena donde

repetira el baile de indicaciones para reclutar mas abejas.

Regulacion termica de la colmena: Sorprendentemente, una colmena de abejas

logra tener una temperatura interna aproximadamente constante sin importar

xxiii

Page 24: Implementaci´on de una estrategia de control distribuido ...

0000

la temperatura al exterior. Para esto, se generan comportamientos diferentes

cuando es necesario calentar y enfriar la colmena.

Para aumentar la temperatura interior de la colmena, las abejas se organizan

en 2 grupos diferentes. El primer grupo se ubica en el centro de la colmena, y

cada una de ellas funciona como una pequena fuente de calor, aumentando la

temperatura de su cuerpo por medio de trabajo muscular. El segundo grupo

forma un cırculo fuera del primero, formando una barrera termica para evitar

el flujo del calor hacia el exterior de la colmena. Periodicamente, las abejas

ubicadas en cada uno de los grupos intercambian sus posiciones y sus funciones

para regular la temperatura y el trabajo de cada una.

Por otro lado, para disminuir la temperatura, se usa un sistema de refrig-

eracion basado en evaporacion de agua. Si la temperatura de la colmena es

alta, las abejas llevan gotas de agua o nectar muy diluido, y la dispersan por

el nido, atomizandola con el aleteo de sus alas. El agua atomizada toma el

calor del ambiente para evaporarse, disminuyendo la temperatura del nido.

En ese proceso, se requiere dos labores diferentes, unas abejas se encargan de

colectar el agua y otras de esparcirlo por la colmena. Para cumplir esta tarea,

se requiere una estrecha colaboracion entre las abejas que ejercen cada una de

las funciones.

Comportamientos en termitas

Construccion de nidos: semejante a como ocurre en las hormigas, las termitas

construyen las estructuras importantes de su nido alrededor de la camara de

la reina. Cada termita es encargada de llevar un grano de tierra adentro del

nido, el cual impregnan con una feromona que atrae a las demas termitas.

Inicialmente los granos se disponen en forma aleatoria alrededor de la reina

(a cierta distancia), pero cuando se forma un pequeno cumulo (varios granos

juntos), el olor de ese punto es mayor que cualquier otro en el terreno, y

atrae a las otras termitas a depositar sus granos allı, generando un efecto de

realimentacion positiva. Las termitas responden tanto a la concentracion de

xxiv

Page 25: Implementaci´on de una estrategia de control distribuido ...

0000

olor del punto, como a la forma de la estructura que se esta formando. La tierra

se apila inicialmente en columnas, luego, al alcanzar cierta altura, empieza

ser depositada de tal manera que se genere la forma de un arco, estructura

principal de los nidos de termitas. Por ultimo, una vez que se han terminado

los pilares, los huecos entre ellos se llenan para completar las paredes del nido.

Comportamientos en avispas

Construccion de nidos: las avispas construyen sus nidos de una resina que

toman de los arboles y la mezclan con secreciones salivales, para formar una

pasta parecida al papel. Para generar la construccion del nido, una vez que se

selecciona el lugar de la construccion, se pone una celula inicial, como “piedra

central” de la estructura. Luego las avispas van anadiendo otras celulas debajo

de la inicial, disponiendolas en forma circular. La union de estas celulas forman

un nivel. Una vez completado el primer nivel, se inicia uno nuevo justo debajo.

De nuevo las avispas construyen cada nivel poniendo una celula a la vez, una

junto a otra en un patron circular. Este proceso se sigue formando un nivel a

la vez, hasta completar la estructura. Se ha visto que las avispas tienden a no

iniciar un nuevo nivel hasta que no se ha terminado el anterior.

Cada celula posee paredes, formando un pequeno espacio vacıo que servira de

deposito. Una avispa tiende a completar una celula antes que iniciar una nueva,

es decir, cuando llega a la construccion, busca celulas con 1, 2 o 3 paredes

completas donde poner su aporte. Esto muestra que ellas responden al trabajo

previo de sus companeras, y en general a la estructura actual del nido. Este es

un comportamiento de SO, con comunicacion ambiental.

2.4. Sistemas Artificiales Aplicados a Robotica Movil

Como se dijo anteriormente, la arquitectura del grupo determina las capacidades

que tiene un equipo de robots moviles para responder a alguna tarea. Algunas de

las arquitecturas mas representativas, son presentadas por citecao.

Comportamiento cooperativo dominado por comportamientos: El control de

cada robot es basado en un patron de comportamientos-objetivos simples. La

xxv

Page 26: Implementaci´on de una estrategia de control distribuido ...

0000

union del comportamiento individual de cada uno, como respuesta a la accion

de otro companero, crea los patrones de comportamiento cooperativo [22].

CEBOT (CEllular roBOtics System): Arquitectura descentralizada, jerarquica,

inspirada por la organizacion celular de entidades biologicas. Es un sistema

compuesto por robots (celulas) que pueden acoplarse fısicamente a otras. Es

reconfigurable dinamicamente, cambiando su estructura para responder en for-

ma optima a cambios en el ambiente. En esta configuracion se encuentran

“celulas maestras” que coordinan localmente a celulas de un sub-grupo y se

comunican con otras “celulas maestras” de la misma jerarquıa. La comuni-

cacion puede ser explıcita o ambiental dependiendo de las necesidades, pero

tiende a ser menos explıcita, a medida que las celulas se hacen mas inteligentes

[12].

SWARM: Es una propiedad de un sistema de robots no inteligentes de exhibir

un comportamiento inteligente. Posee propiedades de SO y comunicacion ex-

plıcita o ambiental, permitiendo construccion de robots mas sencillos. Es una

arquitectura distribuida, tıpicamente por robots homogeneos. La interaccion

se presenta porque cada miembro reacciona al estado o acciones previas de sus

companeros [3].

GOFER: Usada para estudiar solucion de problemas distribuidos por multi-

ples robots en un ambiente controlado, usando tecnicas tradicionales de IA.

Es una estrategia centralizada donde el control se hace por un sistema cen-

tral de planeamiento y cronogramacion, que se comunica con todos los robots

para decirles como y cuando deben actuar para optimizar la tarea. Los robots

tıpicamente son homogeneos y la comunicacion entre los robots y el centro de

procesamiento es explıcita

Realizando la aplicacion de una arquitectura u otra, diversos grupos de in-

vestigacion han desarrollado muchos sistemas para la solucion de problemas

xxvi

Page 27: Implementaci´on de una estrategia de control distribuido ...

0000

usando robotica distribuida. [22], presenta un resumen de los trabajos he-

chos en simulacion o implementacion fısica, casi todos basados en una per-

spectiva de agentes. [11] presenta una taxonomıa de los sistemas roboticos

de multi-agentes, clasificando los trabajos dependiendo a las caracterısticas

de su arquitectura, incluyendo aspectos como tamano, comunicacion, tareas,

reconfigurabilidad, entre otros.

2.4.1. Ejemplos de solucion de problemas con robotica movil

Entre algunas de las tareas a las que se les ha propuesto una solucion con

robotica distribuida, se cuentan transporte cooperativo, tareas de observacion,

busqueda y rescate, diseno de trayectoria y tareas de preparacion territorios.

Cada una de estas soluciones sera expuesta a continuacion.

Transporte cooperativo

[19], realizaron diversos experimentos de aplicacion de una arquitectura tipo

swarm para generar transporte cooperativo inspirado en el comportamiento

que ocurre en las hormigas para un problema similar. El problema consiste

en mover un objeto de mayor peso que el que puede cargar un solo robot, de

tal forma que se necesitan dos o tres robots juntos para lograr movimiento de

una caja. Se basan en una arquitectura distribuida, con robots homogeneos

y un nivel de comunicacion sensorial. El control del robot se hace mediante

comportamientos, dominados por respuestas sensor-actuador, procesando la

informacion mediante implementacion de logica combinatoria o de redes neu-

ronales. Estas configuraciones, aunque producen un mismo resultado final,

generan comportamientos diferentes en los robots.

xxvii

Page 28: Implementaci´on de una estrategia de control distribuido ...

0000

Tareas de observacion

En este problema, se busca recorrer un espacio determinado, cubriendo el ter-

reno con un equipo de robots, haciendo que cada uno de ellos se ocupe de una

zona especıfica. Es una tarea en la que se gana rapidez por el trabajo conjunto

de varios miembros. Puede tener aplicacion, por ejemplo, en situaciones de

vigilancia cooperativa ([13]) o tareas de creacion de mapas y reconocimiento

del terreno [13]. En ambos casos se usa una estrategia distribuida y robots

homogeneos, con capacidades para observar su ambiente. Cada robot tiene

tambien la capacidad para reconocer a los otros y recordar los espacios recor-

ridos por el y por sus companeros. La cooperacion consiste en la division del

campo y la no interferencia entre robots. El resultado de esta estrategia se com-

probo en simulacion y con implementacion fısica, realizando tareas en espacios

abiertos y cerrados.

Busqueda y rescate

Es una estrategia distribuida tipo swarm, aplicada a un grupo de robots ho-

mogeneos. Puede verse como una evolucion de la tarea de observacion. El

primer paso es realizar una busqueda paralela del espacio, usando un control

semejante implementado en observacion. Una vez que se ha ubicado el objeti-

vo, se genera un problema de transporte cooperativo, incluyendo la labor de

reclutamiento. Este problema fue trabajado por [16].

En [2] se trabajo sobre este problema. Demuestran que en una industria se pre-

sentan muchas ventajas al tener varios robots que transporten materiales de

diferentes partidas a diferentes destinos dentro del mismo espacio, optimizando

sus trayectorias. La cooperacion se presenta en generar la menor interferen-

cia posible entre ellos. En la estrategia se aplica una arquitectura distribuida

tipo swarm, con cooperacion explıcita entre robots homogeneos. Presentan

resultados teoricos y simulados. Otros autores como [35] realizan un analisis

semejante, pero con objetivos que se mueven, basandose en el principio de

mınima interferencia.

Tareas de preparacion de lugar

xxviii

Page 29: Implementaci´on de una estrategia de control distribuido ...

0000

[25] hacen en este trabajo una proposicion de preparacion de lugares para fu-

turas investigaciones humanas en Marte. Antes del arribo de los humanos a

este planeta, se enviarıa un grupo de robots para preparar los territorios donde

se instalarıan los investigadores. Para esta tarea se propone una estrategia

ALLIANCE, que implica un control distribuido con robots heterogeneos, con

independencia de toma de decisiones y comunicacion explıcita entre robots. Es-

ta estrategia se basa en el logro de sub-objetivos (preparacion para limpieza,

generacion de trayectoria de limpieza, limpieza cooperativa, operaciones de

mantenimiento), por medio de comportamientos definidos (seguir, evitar, de-

tenerse).

En todos estos trabajos, se encontraron caracterısticas comunes, consistentes

en desarrollo de robots mucho mas simples que los necesarios para el mismo

trabajo desde una perspectiva centralizada, obteniendo resultados mas rapi-

dos y/u optimos. Las estrategias de control se disenan desde una perspectiva

de agentes programados para generar cooperacion explıcita. El control de los

robots se caracteriza por respuestas a estımulos sensoriales que en algunos ca-

sos desembocan en fenomenos de realimentacion positiva. Se presenta el uso

de todos los niveles de comunicacion (explıcita, a nivel sensorial o ambiental),

obteniendo diferentes resultados en cada caso, demostrando que cualquier ar-

quitectura puede ser programada para exhibir comportamientos cooperativos

bajo estrategias de control distribuido.

xxix

Page 30: Implementaci´on de una estrategia de control distribuido ...

0000

Capıtulo III

Elementos de la robotica movil y el control

distribuido

3.1. Introduccion

En el capıtulo anterior, por medio del trabajo de muchos investigadores, se

mostro como se ha logrado resolver muchos problemas complejos usando robots

muy simples, coordinados mediante estrategias de control distribuido. No ob-

stante estos avances, se ha visto que las soluciones y los metodos de cooperacion

obtenidos para cada una de estas tareas son muy especıficos y dependientes

de la tarea y de la plataforma tecnologica que en estas se use (Seccion 2.4.1),

mas que la obtencion de soluciones generales que permitan atacar muchos

problemas.

En busqueda de resultados mas globales, se desea desarrollar e implementar

una estrategia de control que permita atacar diversos problemas usando una

misma plataforma tecnologica con comportamientos roboticos que puedan ser

modificables con solo la reconfiguracion de algunos parametros generales que

dominen su comportamiento.

Durante esta seccion se muestra el proceso seguido para esta implementacion

general. Se inicia con la introduccion de algunos elementos importantes para el

desarrollo de la estrategia. Luego se realiza una descripcion de una plataforma

tecnologica apropiada para la solucion y la descripcion del control de los robots.

Se termina con la descripcion de la arquitectura desarrollada.

xxx

Page 31: Implementaci´on de una estrategia de control distribuido ...

0000

3.2. Descripcion

3.2.1. Elementos basicos de una tarea distribuida

Ya se ha dicho que los robots se crean con un fin especıfico, es decir, se desea

que un robot actue en una forma determinada para cumplir un fin especıfico.

Durante este estudio se desean tratar problemas relacionados con la robotica

movil, tratando un numero de robots en movimiento en un espacio determina-

do. Esto implica que todas las tareas que estos puedan realizar tienen que ver

con el movimiento que puedan realizar. Por esta razon, para llevar a cabo una

tarea, se propone necesario para los robots la identificacion de dos elementos

principales frente a los cuales se interactua en forma diferente: los objetivos y

los obstaculos. Los objetivos son aquellos elementos que el robot debe alcan-

zar. Estos pueden ser puntos del terreno donde se deben llega o un objeto a

buscar, recobrar o seguir. Por otro lado, los obstaculos son los elementos que

impiden el libre transito del robot por el campo en el que se mueve y estan

principalmente representados en todos los posibles elementos (en movimiento

o no) contra los que el robot pueda colisionar. El comportamiento natural del

robot frente a los obstaculos es la evasion de los mismos.

Se puede identificar un tercer elemento que se presenta por la naturaleza co-

operativa y distribuida de la investigacion mas que por la tarea misma: los

companeros. Estos son otros robots que se encuentran en el mismo campo de

juego. Se propone una aproximacion homogenea y distribuida, en la cual todos

los robots tienen las mismas caracterısticas y la misma prevalencia con respec-

to al control de la tarea. Dependiendo del objetivo a alcanzar, los companeros

tambien pueden transformarse en objetivos u obstaculos, ya que podrıa ser

deseable que bajo algunas condiciones un robot siga a uno de sus companeros

o que por el contrario lo evite para impedir un choque contra este (seccion

2.2).

Como se muestra mas adelante, la identificacion de estos tres elementos: obje-

tivos, obstaculos y companeros son de vital importancia para la estrategia de

xxxi

Page 32: Implementaci´on de una estrategia de control distribuido ...

0000

control que se plantea.

3.2.2. Elementos de los robots

Por lo observado en diversos trabajos ([3], [19], [11], [2], [13], [14], [22], [28],

[25], [35]), la interaccion de un robot con el medio en el que se mueve esta deter-

minada por los sensores que le permiten hacerse una imagen de este ambiente,

y los actuadores que le permiten moverse e interactuar con el. La informacion

adquirida por el robot debe ser procesada para generar las senales de accion

sobre los actuadores que lleven al robot a moverse e interactuar con el medio

en la forma deseada. El conjunto de sensores y actuadores que componen a un

robot determina en gran medida la plataforma tecnologica que usa los robots

moviles. Se propone una plataforma tecnologica apropiada para una arquitec-

tura de robots moviles. A pesar que no se describe con exactitud todos los

parametros de esta plataforma, sı se describe esta plataforma en datos que

pueden ser acomodados de acuerdo a una plataforma especıfica.

Sensores

Su funcion principal es la deteccion de objetos o caracterısticas especiales

dentro del terreno en el que el robot se mueve. El sensor puede construirse

para detectar obstaculos, objetivos, lımites o caracterısticas especiales del ter-

reno (i.e. huecos o barrenas intermedias), companeros, etc. [19] proponen una

plataforma tecnologica de robots moviles con 3 tipos diferentes de sensores:

Infrarrojos para deteccion cercana, lumınicos para distancias intermedias y

ultrasonicos para deteccion a larga distancia. Cada uno de estos sensores en

sus robots tiene un fin especıfico: deteccion de obstaculos, companeros y ob-

jetivos, respectivamente. Algunos tipos de sensores y sus propiedades pueden

encontrarse en [30].

El uso de diferentes sensores en un robot puede generar una amplia gama de

configuraciones sensoriales posibles. En general puede asumirse que el robot

posee un “circulo de vision” (con centro en el robot mismo) en el cual puede

detectar o no un objeto para cada tipo de sensor. Para este estudio se asume

xxxii

Page 33: Implementaci´on de una estrategia de control distribuido ...

0000

que de la misma forma que en el trabajo de [20], se tienen 3 tipos diferentes

sensores: para deteccion de obstaculos, deteccion de objetivos y deteccion de

companeros. A los radios maximos de deteccion para cada una de estas condi-

ciones se llama drocrit, drgcrit y drpcrit. Esta condicion de vision y deteccion se

muestra en la figura 1. Para este caso particular se tiene una configuracion

donde drocrit < drpcrit < drgcrit. Se ve que el objetivo esta dentro del cırculo de

vision de objetivos del robot, por lo cual este puede ser detectado (mostrado

con lınea continua) mientras que el obstaculo se encuentra fuera del cırculo

de vision de obstaculos y por lo tanto no puede ser detectado (obstaculo con

lınea punteada).

Figura 1: Rangos de deteccion sensorial para un robot

Pueden tenerse algunas otras condiciones especiales de deteccion donde por

ejemplo se identifiquen los lımites del terreno. En otras condiciones especiales

puede tenerse full information, donde el robot puede ver todo el terreno y

detectar cada uno de las clases de objetos que en el se encuentren. En estas

condiciones tambien se pueden limitar la vision del robot a un radio limitado

para “simular” la condicion de vista parcial del robot.

xxxiii

Page 34: Implementaci´on de una estrategia de control distribuido ...

0000

Una de las opciones mas utiles en una condicion de full information, es que es

facil establecer un marco de referencia con origen que ayude a medir distancias

y angulos en el campo. En este estudio se asume que se tiene un sistema con un

marco de referencia global ubicado en la esquina inferior izquierda del campo.

En todo momento se pueden conocer las posiciones de los robots, objetivos

y obstaculos. En la figura 2 se muestra un ejemplo de las mediciones que se

realizan sobre un robot con relacion a un marco de referencia x-y. En esta

figura se muestra un robot y un objetivo dentro de su radio de deteccion.

Es importante conocer la posicion global y el angulo de inclinacion del robot

(medido respecto al eje x), representados por la distancia dr y el angulo θr

respectivamente. Para decidir las acciones del robot con respecto al objetivo,

debe conocerse la distancia entre el robot y el objetivo (drg) y el angulo entre

la direccion del robot y la recta que une el centro del robot con el objetivo

(θg). Dado que se conocen las posiciones globales del robot y del objetivo con

respecto al marco de referencia global, puede calcularse el angulo absoluto

de la recta que une al robot y el objetivo θg. Con los datos anteriores puede

calcularse θg, usando θg = θr − θg. Este mismo procedimiento puede hacerse

para calcular los datos correspondientes a distancias y angulos entre robots y

obstaculos (dro y θo), y entre robots y companeros (drp y θp)

Actuadores

Son los que permiten al robot interactuar con el medio en las diversas for-

mas posibles. Esta interaccion incluye permitirle moverse, toma, empujar o

levantar objetos del medio. A pesar de las diferentes interacciones que puedan

plantearse, por las caracterısticas de la robotica movil, la principal funcion

(la unica en la mayorıa de casos) de los actuadores es permitir que el robot

se mueva por el campo en una forma determinada. Es necesario definir una

arquitectura mecanica que permita analizar el movimiento del robot en fun-

cion de sus elementos constitutivos. [29] realiza una descripcion de algunas

arquitecturas mecanicas como propulsion diferencial o propulsion de triciclo.

En este estudio, y basados en la amplia aplicacion que de esta se hace ([13],[19],[22],

xxxiv

Page 35: Implementaci´on de una estrategia de control distribuido ...

0000

Figura 2: Informacion de angulos y distancias medidas para control del robot conrespecto a un objetivo.

[24]), se propone el uso de la propulsion diferencial para realizar el movimien-

to de los robots. Cabe anotar que esta propulsion tambien se encuentra en

equipos de robotica usados en la actualidad, tal como los robots de diversas

categorıas usadas en la FIRA1 .

La propulsion diferencial consta de dos ruedas motoras ubicadas a cada lado

del robot y una o varias ruedas locas dispuestas en otras posiciones del robot

para ayudar a su estabilidad. La principal ventaja de esta propulsion descansa

en la gran movilidad del robot obtenida variando en forma independiente cada

una de las ruedas motoras. Ası, por ejemplo, cuando las dos ruedas giran a

la misma velocidad y en la misma direccion el robot se mueve en lınea recta,

pero si se hacen girar a la misma velocidad y en diferente sentido, el robot

gira sobre su propio eje sin tener desplazamiento. En la figura 3 se muestra un

esquema de la cinematica diferencial con una rueda loca posterior.

1Federation of International Robot-soccer Association. Mas informacion puede ser encontradaen www.fira.net

xxxv

Page 36: Implementaci´on de una estrategia de control distribuido ...

0000

Figura 3: Esquema de cinematica diferencial

En funcion de estos elementos se pueden desarrollar las ecuaciones de movimien-

to para el robot. Ubicando una marco de referencia sobre el robot, se plantean

relaciones para calcular su velocidad de movimiento y velocidad de giro en

funcion de la velocidad de cada llanta (Vd y Vi) y la distancia entre las ruedas

(d).

V =Vd + Vi

2(1)

ω =Vd − Vi

d(2)

Las ecuaciones 1 y 2 son muy importantes en este estudio y seran retomadas

mas adelante.

Controlador

El mecanismo encargado de procesar la informacion tomada por los sensores

y transformarla en senales de control para los actuadores es la estrategia de

control o el controlador. Para cada robot se propone un tipo de controlador

en lazo cerrado basado en comportamientos, como el de la figura 4. Un con-

trolador basado en comportamientos genera respuesta especıfica a entradas

xxxvi

Page 37: Implementaci´on de una estrategia de control distribuido ...

0000

determinadas, en la forma indicada por los patrones de comportamiento. Ası,

por ejemplo, si se introduce el comportamiento empujar, el robot debe iden-

tificar las condiciones ambientales necesarias (posicion propia y de objeto a

empujar, direccion indicada, contacto necesario, etc.) para accionar el com-

portamiento y luego ordena los movimientos especificados en los actuadores

para completar la accion (accionar un motor o un solenoide, etc.). Normal-

mente la relacion entre activacion de comportamientos y informacion sensorial

estan determinadas por reglas definidas por el disenador. La determinacion

de esas reglas para una tarea es lo que se llama control por comportamientos.

Basados en los elementos basicos de una tarea que se sugirieron anteriormente,

se propone implementar un control basado en cuatro comportamientos: evi-

tar, buscar y seguir para las tareas que impliquen elementos principales, y el

comportamiento recorrer cuando no se detecte ninguno. La implementacion y

la generacion de reglas de activacion de cada uno de estos permite realizar el

control sobre el robot en la forma deseada.

Por otro lado, la caracterıstica de lazo cerrado es especialmente util en esta

situacion porque le permite evaluar su comportamiento dependiendo de las

condiciones actuales del ambiente (siempre y cuando los sensores le permitan

tener realimentacion instantanea de lo que sucede a su alrededor) y tomar ac-

ciones pertinentes para cumplir su cometido. Ası, por ejemplo, cuando al robot

se le da la da el objetivo de de moverse a una posicion especıfica del terreno,

el control en lazo cerrado juega un papel importante para permitirle cumplir

su objetivo. El robot toma la informacion necesaria para saber que tan lejos

esta de cumplir su objetivo y esto le permite decidir las acciones necesarias

para cumplirla. Luego de sensar su ubicacion de acuerdo a un marco de ref-

erencia definido y evalua su posicion actual contra la posicion a la que debe

llegar. Si las dos posiciones son iguales, no se debe hacer nada. De lo contrario,

se toman las acciones necesarias para igualarlas, girando y avanzando en una

direccion especıfica. Este proceso se realiza una y otra vez, permitiendo que

el robot pueda elegir acciones diferentes en cada momento. Esta capacidad re-

sulta especialmente util en ambientes dinamicos o donde solo se pueda sensar

xxxvii

Page 38: Implementaci´on de una estrategia de control distribuido ...

0000

una parte limitada del terreno. Algunas propiedades del controlador en lazo

cerrado pueden ser consultadas en [23].

Figura 4: Esquema de un control en lazo cerrado.

3.3. Estrategia de control

3.3.1. Funciones de deseo de giro y velocidad

Una vez establecidas las bases del control, se procede a implementar la es-

trategia para controlar al robot en aras de cumplir un objetivo determinado

pensando en sistemas naturales (i.e. hormigas), quienes cumplen con sus tar-

eas realizando movimientos en el campo tomando la direccion que quieran o

consideren mejor. Deben tomarse decisiones de girar o seguir en lınea recta, y

en caso de elegir girar, debe decidirse si girar a izquierda o a derecha y en que

grado hacerlo. Tambien puede ser necesario tomar decisiones si aumentar o dis-

minuir la velocidad, o definitivamente detenerse. La sumatoria de tomar estas

decisiones en forma consecutiva dependiendo de las condiciones ambientales

permiten cumplir o no con el objetivo.

Basados en este hecho, se propone controlar al robot implementando funciones

que expresen su “deseo” de cambiar de direccion de movimiento una vez que se

ha tomado una y de desplazarse a una velocidad determinada. Estas funciones

se llamaran funcion de deseo de cambio de direccion (denotada con la letra

griega ϕ) y la funcion de deseo de velocidad (denotada por la letra griega ψ).

xxxviii

Page 39: Implementaci´on de una estrategia de control distribuido ...

0000

Para definir las funciones ϕ y ψ, primero se procedera a definir el conjunto

dominio de estas funciones:

Definicion 3.3.1 (Conjunto de parametros de control (Ω)) Ω ∈ <n es

el conjunto de todos los parametros que permiten la activacion de los compor-

tamientos del control para las funciones de cambio de direccion de movimiento

y de velocidad.

El numero de estos parametros, su explicacion, naturaleza y forma de ser

obtenidos no se incluye en este punto para evitar confusiones entre la natu-

raleza de las funciones ϕ y ψ y su implementacion por medio de comportamien-

tos. Estos seran retomados una vez que se hallan introducido completamente

las funciones ϕ y ψ.

Definicion 3.3.2 (Funcion de deseo de cambio de giro (ϕ)) Sea ϕ una

funcion, la cual mapea de Ω → <, continua en <, tal que ϕ ∈ [−1, 1], que ex-

presa el deseo de un robot de generar un cambio en su direccion de movimiento.

Si ϕ = −1, ϕ = 1 y ϕ = 0, esto representa respectivamente, el giro mas rapido

a izquierda, a derecha y nulo.

Definicion 3.3.3 (Funcion de deseo de velocidad (ψ)) Sea ψ una fun-

cion, la cual mapea de Ω → <, continua en <, tal que tal que ψ ∈ [0, 1],

que expresa el deseo de un robot de desplazarse a una velocidad determinada.

Si ψ = 0 y ψ = 1, esto representa respectivamente, un avance nulo y a maxima

velocidad posible (U).

Basados en una arquitectura mecanica con propulsion diferencial, es adecuado

establecer relaciones entre los valores de las funciones ϕ y ψ y la velocidad de

las ruedas propulsoras del robot (Vd, Vi). El maximo giro que puede presentar

el robot en un giro (max. ω en 2), se da cuando se detiene una rueda y la otra

gira a su maxima velocidad. Este fenomeno debe coincidir con el valor maximo

de ϕ para ese sentido de giro. En la tabla 1 se muestran las condiciones de

xxxix

Page 40: Implementaci´on de una estrategia de control distribuido ...

0000

Giro deseado ϕ Vi Vd Rel. velocidadesMaximo izquierda ϕ = 0 Vi = 0 V d = Vmax

Leve izquierda −1 < ϕ < 0 0 < Vi = Vmax 0 < V d ≤ Vmax Vl < V dNinguno ϕ = 0 0 < Vi ≤ Vmax 0 < V d ≤ Vmax Vl = V d

Leve derecha 0 < ϕ < 1 0 < Vi ≤ Vmax 0 < V d < Vmax Vl > V dMaximo derecha ϕ = 1 Vi = Vmax V d = 0

Tabla 1: Condiciones de velocidades de ruedas para giro del robot.

velocidad que se deben presentar en las ruedas del robot dependiendo del valor

de ϕ.

Para cumplir con todas las condiciones planteadas para las funciones de deseo

de movimiento, se propone el uso de funciones de velocidad para cada llanta

que dependan de ϕ y ψ:

Vd = Uψϕd (3)

Vi = Uψϕi (4)

donde

ϕd =1− ϕ

2(5)

ϕi =1 + ϕ

2(6)

Sustituyendo (3), (4), (5) y (6) en (1) y (2) se obtiene

V = Uψ(

1−ϕ+1+ϕ2

)

V = Uψ (7)

xl

Page 41: Implementaci´on de una estrategia de control distribuido ...

0000

ω = Uψ(

1−ϕ−1−ϕ2d

)

ω =−Uψϕd

(8)

Estas ecuaciones muestran la dependencia de la velocidad lineal y rotacional

del robot de las funciones ϕ y ψ. Como se esperaba, la velocidad neta de

movimiento del robot solo depende de ψ y es maxima cuando ψ = 1 y nula

cuando ψ = 0, mientras que, aunque la velocidad rotacional del robot depende

de los dos parametros, solo puede presentarse rotacion cuando ϕ 6= 0 y la

maxima velocidad de rotacion coincide con el maximo de la funcion de deseo

de movimiento para los dos sentidos. Una ultima observacion muestra que

ϕ = −1 genera ω > 0, esto es, el robot rota a la izquierda, mientras que ϕ = 1

genera rotacion a la derecha.

Este sencillo analisis de las funciones aplicadas a una propulsion diferencial,

comprueba que la implementacion de las funciones de deseo de movimien-

to cumple con las condiciones de las definiciones 3.3.2 y 3.3.3 y establecen

las bases necesarias para implementar el control del robot. Ahora que se han

establecido las funciones de control que deben ser implementadas y los lin-

eamientos que deben cumplir, estas deben ser buscadas, y hacer que cumplan

con el objetivo del controlador usando la plataforma tecnologica que se es-

tablecio previamente.

3.3.2. Comportamientos para funciones de deseo de giro y veloci-dad

El concepto de control por comportamientos fue introducido en una seccion

anterior. Lo que en ese momento se llamo controlador, sera implementado por

medio de las funciones de deseo de movimiento, ya que como se dijo, estas

funciones mapean desde un conjunto Ω con la informacio de control a un valor

que indica en que medida debe encenderse cada uno de los motores de la trac-

cion diferencial, que son los acutadores del problema. De este razonamiento se

xli

Page 42: Implementaci´on de una estrategia de control distribuido ...

0000

puede concluir que el conjunto Ω es el conjunto de toda la informacion ambi-

ental y de parametros de control para el robot. Para implementar el control,

debe determinarse en forma detallada las condiciones de activacion de cada

uno de los comportamientos y los efectos que generan sobre las funciones de

deseo de movimiento, analizandolos en forma independiente, generando ası las

bases necesarias para el desarrollo de las funciones de deseo de movimiento.

Generalidades

• La notacion usada en cada elemento sera parecida, debido a que en lam

ayorıa de los casos se tratara de conceptos semejantes indicados para ca-

da comportamiento. En general la diferencia radica en un sub-ındice. Se

usan las letras p, g y o para referirse a conceptos relacionados con seguir

companeros, buscar objetivos y evitar obstaculos respectivamente.

Por ejemplo, se dijo que el robot tiene sensores diferentes para deteccion

de cada tipo de elemento, y cada uno de estos sensores tiene un radio

maximo o crıtico de deteccion. Ası, este radio maximo se denotara dpcrit,

dgcrit y docrit para deteccion de companeros, deteccion objetivos y detec-

cion de obstaculos respectivamente.

• Todos los comportamientos afectan las funciones ϕ y ψ en formas inde-

pendientes. Por medio de un parametro b ≥ 0 se mide el efecto de cada

comportamiento sobre la funcion de cambio de giro, mientras que este

efecto sobre la funcion de velocidad se mide con un un parametro ν ≥ 0.

Para los dos parametros, un valor de cero implica un efecto nulo (si se

detecta ese elemento no se sigue o evita). La configuracion de valores

optimos para todos estos parametros depende de la tarea en particular.

• El robot no puede detectar un elemento si este esta a una distancia mayor

a una distancia crıtica de deteccion. Para realizar el modelamiento o la

simulacion del control lo primero que se hara para evaluar la activacion o

no de un comportamiento es medir la distancia entre el robot y el emento a

medir. Esta distancia se denota como drp, drg y dro para la distancia entre

el robot y un companero, un objetivo y un obstaculo respectivamente.

xlii

Page 43: Implementaci´on de una estrategia de control distribuido ...

0000

• El principal criterio para guiar a un robot a un elemento es hacer que el

robot se dirija a el en linea recta. Para lograr esto, se usa como criterio la

reduccion del angulo de objetivo mostrado en la figura 2. Si se hace que

el angulo θg tienda a cero, el robot caminara en lınea recta en busqueda

del objetivo. Este mismo criterio se usa cuando se quiere alcanzar un

companero con el angulo que se presenta entre la direccion del angulo y

la recta que une el robot con el companero (θp). Por otro lado, para evitar

obstaculos, se usa este criterio en forma inversa, buscando que ese angulo

medido con respecto a un obstaculo en el camino tienda a aumentar.

• Todos los angulos se miden en radianes, y todos las funciones de medicion

de efecto de comportamiento sobre ϕ y ψ (e.g., δo, δro) son adimensionales.

• El control en lazo cerrado permite evaluacion continua del valor optimo

de las funciones ϕ y ψ. La medida de “que tan lejos” se esta de logra que

el movimiento del robot se vea afectado completamente por un compor-

tamiento (i.e. rotar al robot alineandolo hacia un objetivo) se mide por

un valor δ para ϕ y un valor δr para ψ.

• A veces se desea que el robot se detenga a una distancia dada del elemento

a buscar, o que por el contrario, cuando lo alcance, tenga una velocidad

mayor a cero (i.e. si se busca chocar el elemento). Esto se logra con la

funcion de deseo de velocidad, generando una condicion ψmin positiva si

se quiere tener velocidad cuando se alcance el elemento o negativa para

detenerse a una distancia dada del elemento.

Comportamiento de buscar objetivos

Este comportamiento hace que el robot busque un objetivo determinado o el

mas cercano (en caso de tener varios en el mismo campo), aunque el robot

siente la misma misma “atraccion” por cada uno. Si se tiene mas de un robot,

puede hacerse que varios robots busquen un mismo objetivo o que cada uno

busque uno en forma separada. Este comportamiento puede afectar las dos

funciones de deseo de movimiento y se controla por los parametros mostrados

en la tabla 2.

xliii

Page 44: Implementaci´on de una estrategia de control distribuido ...

0000

Parametro Signficadodgcrit Distancia maxima de reconocimiento de objetivosbg Peso de comportamiento buscar sobre ϕνg Peso de comportamiento buscar sobre ψ

ψgmin Velocidad de robot al pasar por objetivo o distancia de detension a objetivoδg Accion de compensacion por error angulo en busqueda de objetivoδrg Accion de compensacion por error velocidad en busqueda de objetivo

Tabla 2: Parametros de control para el comportamiento buscar.

Figura 5: Informacion de angulos y distancias de giro del robot con respecto a unobjetivo.

• Efecto sobre ϕ: Como se explico en las generalidades, el criterio es dis-

minuir el angulo θg hasta llevarlo a cero (ver figura 5). El efecto del

comportamiento se mide por δg.

δg =

0 si drg > drgcrit

θg de lo contrario(9)

• Efecto sobre ψ: El efecto sobre la funcion de deseo de velocidad se basa

en que cuanto mas lejos este el robot del objetivo, este se movera mas

rapido, siendo la velocidad maxima la generada por el lımite superior de

ψ. El efecto del comportamiento se mide con el parametro δrg

xliv

Page 45: Implementaci´on de una estrategia de control distribuido ...

0000

δrg =

1 si drg > drgcrit

νgdrg + ψgmin de lo contrario(10)

De la ecuacion 10 puede verse que tener ψmin > 0 hace que el robot

tenga velocidad aun cuando el robot ya halla alcanzado el objetivo y que

nunca se detenga por accion directa de este comportamiento; mientras

que tener un valor ψmin ≤ 0 hace que el robot se detenga a una distancia

(dgm) dada por dgm = |ψmin|/νg.

Comportamiento de seguir companeros

Con este comportamiento se puede programar a un robot para seguir uno

de sus companeros haciendo posible generar comportamientos cooperativos

complejos ([19]). Se implementa haciendo que el companero se convierta en un

objetivo temporal para el robot, razon por la cual los cirterios y los parametros

son los mismos a los vistos en el comportamiento anterior, solamente varıan

sus nombres. El listado de parametros que afectan este comportamiento se

encuentra en la tabla 3.

Parametro Signficadodpcrit Distancia maxima de reconocimiento de companerosbp Peso de comportamiento seguir sobre ϕνp Peso de comportamiento seguir sobre ψ

ψpmin Velocidad de robot al llegar a un companero o distancia de detensiona companero

δp Accion de compensacion por error angulo en busqueda de companeroδrp Accion de compensacion por error velocidad en busqueda de companero

Tabla 3: Parametros de control para el comportamiento seguir.

• Efecto sobre ϕ: El efecto generado usa el mismo criterio que el del com-

portamiento buscar y es medido por el parametro δp.

δp =

0 si drp > drpcrit

θp de lo contrario(11)

xlv

Page 46: Implementaci´on de una estrategia de control distribuido ...

0000

• Efecto sobre ψ: El criterio y los comentarios son iguales que el del com-

portamiento buscar. Es medido por el parametro δrp.

δrp =

1 si drp > drpcrit

νpdrp + ψpmin de lo contrario(12)

Comportamiento de evadir obstaculos

Este es el comportamiento que permite garantizar la integridad fısica del robot.

Cuando el robot encuentra un elemento contra el que se podrıa presentar una

colision, debe cambiar su trayctoria para evitar chocar contra el y en la mayorıa

de casos, en los que se este buscando alcanzar un objetivo, esquivarlos tratando

de cambiar la trayectoria que lleva lo menos posible. La zona de evasion en la

cual el robot detecta un obstaculo, no tien la misma forma circular que la de

deteccion de objetivos. Esta nueva zona es ovalada, efecto que se da porque

distancias pequenas solo son crıticas cuando se va de frente contra el obstaculo

(Figura 6). Si el robot va acercandose al obstaculo, pero su trayectoria es

tangente de tal forma que no se chocara, no es necesario general la desviacion

de la trayectoria.

Figura 6: Zona de evasion de obstaculos.

La zona de evasion tiene dos longitudes principales, drocrit y ε con el semieje

mayor de este ovalo alineado a la direccion de movimiento del robot. Cuando

el angulo entre la direccion del robot y la recta que une su centro con el

obstaculo (θo) es muy pequeno, es mas importante drocrit porque el robot va

xlvi

Page 47: Implementaci´on de una estrategia de control distribuido ...

0000

a una colision de frente contra el obstaculo. Si este angulo es muy grande,

normalmente indicara que el robot esta cerca a pasar en forma tangente por la

zona de menor longitud. La zona de menor longitud depende principalmente

de el ancho del robot.

Los parametros que dominan este comportamiento se muestran en la tabla 4.

Parametro Signficadodocrit Distancia mayor de zona de evasionε Distancia menor de zona de evasinbo Peso de comportamiento evadir sobre ϕνo Peso de comportamiento evadir sobre ψ

ψomin Distancia mınima de detension respecto al obstaculoδo Accion de compensacion por error de angulo evasion de obstaculoδro Accion de compensacion por error velocidad en evasion de obs’aculo

Tabla 4: Parametros de control para el comportamiento evitar.

• Efecto sobre ϕ: El efecto para generar en un cambio de direccion solo

ocurre si se va de frente contra el obstaculo. El parametro que mide el

efecto de la evasion sobre ϕ es δo.

δo =

0 si dro + ε |θo| > drocrit

1dro+ε|θo| si dro + ε |θo| > drocrit,∧, θo < 0

−1dro+ε|θo| de lo contrario

(13)

En este caso el efecto de la distancia esta en el denominador del parametro,

porque cuanto mas cerca se este del obstaculo mayor puede ser la prob-

abilidad de choque y por tanto mayor la accion de evasin.

• Efecto sobre ψ: El criterio de evasion sigue siendo las dos distancias para

evitar el ovalo, pero el efecto es el mismo que en los dos comportamientos

anteriores, el robot se mueve mas despacio cuanto mas cerca este y puede

detenerse a una distancia determinada. El parametro de medicion de la

accion de la evasion sobre ψ esta dado por δro

xlvii

Page 48: Implementaci´on de una estrategia de control distribuido ...

0000

δro =

1 si dro + ε |θo| > drocrit

νodro + ε |θo|+ ψomin de lo contrario(14)

Comportamiento de recorrer

Idealmente un robot siempre tendra un punto hacia donde moverse atraido por

alguno de los elementos principales. No obstante, y dado el hecho que en algu-

nas ocaciones el rango de vision de los robots puede ser muy estrecho, podrıan

presentarse casos donde el robot no “logre ver” ningun elemento que dicte su

siguiente movimiento. Para dar direccion al robot en estos casos, se propone

un cuarto compotamiento que permita al robot recorrer el campo realizando

una tarea de investigacion. Este comportamiento solo es valido mientras el

robot no identifique ningun elemento, esto es basicamente cuando los valores

de δg, δp y δo sean todos iguales a cero.

La forma de recorrer el campo es inspirada en el comportamiento de las abejas,

quienes (bajo ciertas circunstancias), realizan busquedas de alimento barriendo

el terreno que rodea su nido recorriendo una trayectoria en forma de espiral

creciente ([31]). La forma de la trayectoria generada por un robot puede verse

en la figura 7. Es de extrema importancia que el cambio de radio que produce

la espiral luego de un giro completo (distancia entre espirales sucesivas) sea

siempre igual, de lo contrario, con el tiempo se generaran puntos donde la

distancia entre dos espiras consecutivos sea tan grande que no sea detectada

por el cırculo de vision de un robot (figura 8).

Los parametros de control de este comportamiento se presentan en la tabla 5

• Efecto sobre ϕ: El efecto es el de correccion de la velocidad angular nece-

saria en robot para generar la espiral. Esto se logra generando un decre-

mento exponencial de ϕ a traves del tiempo. Solo se aplica este criterio

cuando no se detecta ningun otro comportamiento activo. Este efecto es

medido con el parametro γ.

xlviii

Page 49: Implementaci´on de una estrategia de control distribuido ...

0000

Figura 7: Trayectoria recorrida por un robot bajo comportamiento recorrer.

γ =

0 si δg 6= 0,∧, δp 6= 0,∧, δo 6= 0∆r

t2de lo contrario

(15)

donde t es el tiempo transcurrido en el proceso.

• Efecto sobre ψ: En este comportamiento lo unico importante es lograr la

forma de la espiral y que la velocidad siempre se mantiene constante. El

valor que toma cuando se activa el comportamiento es el necesario para

generar que la funcion normalizada tome el valor de 1. La accion sobre ψ

esta dada por

γr =

1 si δg 6= 0yδp 6= 0yδo 6= 0

4 de lo contrario(16)

3.3.3. Implementacion de funciones de deseo de giro y velocidad

Una vez establecidos los comportamientos que dominan el movimiento del

robot y los criterios para la activacion de los mismos, solo resta unirlos todos

xlix

Page 50: Implementaci´on de una estrategia de control distribuido ...

0000

Figura 8: Trayectoria espiral con forma incorrecta.

Parametro Signficado∆r Aumento de distancia entre dos espiras consecutivas de

la trayectoria.γ Accion de compensacion de direccion para generar la

trayectoria espiralγr Accion de compensacion sobre velocidad para lograr

normalizacion ψ = 1

Tabla 5: Parametros de control para el comportamiento recorrer.

para generar las funciones de deseo de giro y velocidad.

• Normalizacion: Las definiciones 3.3.2 y 3.3.3 indican que esas funciones

solo pueden tomar valores entre [−1, 1] y [0, 1] respectivamente. No ob-

stante, el valor maximo que podrıan tomar una vez sean implementadas

puede ser incierto por la gran cantidad de parametros de control que

se tienen sobre el robot. Para asegurar cumplir con la condicion de val-

ores maximos y mınimos, y aprovechando el hecho que su rango es <1,

se implementa una normalizacion de estas funciones usando la funcion

sigmoide f(x) = tanhx. En la figura 9 se muestra una grafica de es-

ta funcion, donde puede comprobarse que su rango esta en el intervalo

l

Page 51: Implementaci´on de una estrategia de control distribuido ...

0000

requerido.

Figura 9: Funcion tangente hiperbolica.

• Implementacion de ϕ: La implementacion de esta funcion se hace usando

las ecuaciones 9, 11, 13 y 15. Estos parametros se disenaron de tal forma

que valieran 0 cuando no estuvieran activos, por lo cual, la funcion ϕ es

definida como:

ϕ = tanh (bgδg + bpδp + boδo + γ) (17)

• Implementacion de ψ: Esta funcion se implementa usando las ecuaciones

10, 12, 14 y 16. El diseno de estos parametros se realizo para que tuvieran

un valor de 1 cuando estuvieran desactivados, de tal forma que si ninguno

se activa, el robot corre a la velocidad maxima, que se presenta cuando

esta activado el comportamiento recorrer. La funcion ψ se define como:

ψ = tanh (δrgδrpδroγr) (18)

3.3.4. Conclusion

En este capıtulo se introdujeron las bases para el analisis de los robots

moviles identificando los elementos basicos de una tarea distribuida y de

li

Page 52: Implementaci´on de una estrategia de control distribuido ...

0000

un robot en forma individual. Posteriormente se planteo de un platafor-

ma tecnologica apropiada para resolver problemas desde esta perspectiva,

desarrollando arquitecturas de sensores con campo limitado (o ilimitado

dependidendo del diametro crıtico de lectura) y una propulsion diferen-

cial. Luego se describieron los diferentes comportamientos que se usan

para el desarrollo del controlador, y por ultimo, haciendo uso de todas

estas herramientas teoricas que se plantearon durante todo el capıtulo,

en las ecuaciones 17 y 18 se muestra la implementacion final del contro-

lador por comportamientos para el equipo de robots moviles. Ahora, solo

resta realizar las pruebas de rendimiento al controlador desarrollado para

comprobar su correcto funcionamiento, y mas impotante aun, su objetivo

de ser una arquitectura multi-tarea.

lii

Page 53: Implementaci´on de una estrategia de control distribuido ...

0000

Capıtulo IV

Implementacion de control distribuido

4.1. Introduccion

Ya se han establecido las bases necesarias para realizar control distribuido a

un equipo de robots moviles. Se realizo la descripcion de una plataforma tec-

nologica adecuada para la implementacion de la tarea (robot) y se desarrollo la

estrategia de control para un equipo de robots con los que se quiera resolver

una tarea determinada. Esta estrategia desarrollada puede ser usada para lo-

grar la consecusion de tareas diferentes solo con dar valor a los parametros

de control, es decir, se ha logrado el desarrollo de una estrategia multi-tarea.

En este capıtulo se realizan simulaciones del comportamiento del robot para

lograr la consecusion de diferentes tareas. Primero se hace una breve descrip-

cion del simulador implementado para probar la estrategia. Luego se muestra

la solucion de algunos problemas de robotica distribuida usando la estrategia

basada en comportamientos desarrollado en el capıtulo anterior, mostrando

los valores que deben tomar los parametros de control. Por ltimo se realizan

algunos comentarios generales.

4.2. Simulador

Para probar la estrategia se realizo la implementacion de un simulador en

Matlab, un lenguaje de programacion matematica. Para esta implementacion

se usaron funciones invocadas unas a otras. El programa completo consta de

liii

Page 54: Implementaci´on de una estrategia de control distribuido ...

0000

10 funciones cada una con una labor especıfica. En la tabla 6 se muestran estas

funciones y la labor de cada una.

Funcion Descripcioncalcularangulo.m Se encarga de calcular el angulo entre la horizontal

y la lınea que une al robot con un elemento.calculardistancia.m Calcula la distancia entre dos elementos dados en el campo

cdistribuido.m Es la funcion principal donde se establecen todas las condicionespara realizar la simulacion y donde se invocan las demas

CinDif.m Calcula la velocidad lineal y de rotacion del robot con lainformacion del robot1

cveldistrib.m Calcula la velocidad de cada rueda dependiendo del valor de lasfunciones de deseo de movimiento

Dibuja.m Dibuja los elementos de la simulacion, dibujos de robot,objetivos y obstaculos2

generarphi.m Calcula el valor de la funcion ϕgenerarpsi.m Calcula el valor de la funcion ψgraficar.m Genera el cuadro de estado del campo, para cada punto del

movimiento de los robotsnewpos.m Calcula las nuevas posiciones de robots y otros elementos luego de

cada paso de tiempo

Tabla 6: Funciones de simulador.

La interfaz con el usuario se realiza por dos medios diferentes: el ingreso de

los datos para la simulacion y la ventana con los resultados de la misma.

Iniciacion de datos

Todos los datos de control de la simulacion (parametros de control de robot

de la seccion 3.3.2, condiciones espaciales de campo de juego y temporales de

simulacion, numero de elementos y posiciones inciales de cada uno, etc.) se

ingresan en la primera parte de la funcion principal del simulador (cdistribui-

do.m). Es importante notar que se han implementado 3 formas de ingreso

de las posiciones de los elementos: una a una poniendo en forma explıcita la

ubicacion de cada posicion, una forma para poner todos los elementos inicial-

mente en un mismo punto y una forma para generar un numero de elementos

en posiciones aleatorias. En el apendice A se muestran pantallazos de esta

liv

Page 55: Implementaci´on de una estrategia de control distribuido ...

0000

seccion del programa, donde se ve la funcion y los comentarios que indican lo

que representa cada dato necesario.

Resultados de simulacion

Los resultados de la simulacion se muestran como un video del comportamiento

que tendrıan los robots con las condiciones dadas. El tiempo de simulacion se

divide en pasos de simulacion. En cada una de estos pasos se calculan todos los

datos necesarios y se muestra una “foto” del estado de la simulacion. Con el

uso de funciones de movimiento en matlab, todas las imagenes se concatenan

para forman una pelıcula. Un ejemplo de los pasos de simulacion se muestran

en la figura 10.

Figura 10: Ejemplo de cuadros consecutivos de una simulacion.

lv

Page 56: Implementaci´on de una estrategia de control distribuido ...

0000

En la simulacion, al movimiento del robot permite se anade una lınea pase

mostrar la trayectoria que tuvo el robot durante todo su recorrido, ayudando

a verificar que el robot tuvo el movimiento deseado. Donde no sea posible

mostrar toda la simulacion completa (como en este reporte escrito), solo se

muestra la ultima imagen de la simulacion como resultado del proceso.

4.3. Tareas resueltas por control distruibuido

Como comprobacion del control, en esta seccion se muestran algunas tareas

resueltas usando el controlador desarrollado.

4.3.1. Vigilancia cooperativa

La naturaleza de la tarea se mostro en la seccion 2.4.1. Este problema se

desarrolla en campos amplios donde no se conocen objetivos a buscar. Se

propone que el robot se mueva en una trayectoria en forma espiral con su

centro en el origen del robot. Se trata como una variacion del tabajado de

[24].

El parametro de mayor importancia para esta tarea es ∆r que indica la sep-

aracion entre espiras de la trayectoria del robot. Este valor depende de la

tecnologıa usada en los sensores del robot (drcrit), de tal forma que la sep-

aracion debe cumplir ∆r ≤ drcrit. En la figura 11 se mustra la trayectoria

recorrida por el robot para varios valores de ∆r.

Esta tarea puede ser potencializada usando varios robots que ayuden a recorrer

el espacio en menos tiempo. La forma espiral es ideal para usar varios robots,

porque las espirales de los diferentes robots se entrelazan para cubrir mas

terreno. En la figura 12 se hace una aplicacion donde se cubre la misma area

usando 1, 2 y 3 robots. Cuando se usan mas robots debe usarse ∆r cada vez

mayor para poder incluir los caminos de los otros robots entre dos brazos

sucesivos de la trayectoria de un mismo robot. Para un robot debe tenerse

lvi

Page 57: Implementaci´on de una estrategia de control distribuido ...

0000

Figura 11: Vigilancia de un robot. a) ∆r = 0,75. b) ∆r = 1. c) ∆r = 1,5

∆r = 1,5 y se toman 90s para el recorrido, para 2 se tiene ∆r = 1 y se tarda

25s y para 3 se tiene ∆r = 0,5 y se toman 15s.

Cuando se encuentra con una pared, el robot vuelve al campo generando

aleatoriamente el angulo de salida del robot al alejarse de la pared. Esta for-

ma de recorrer el campo es limitada ya que puede tener problemas en areas

con esquinas agudas. Debe realizarse mas investigacion en este campo para

demostrar que las espirales son buen metodo, o serıa necesario buscar uno

mejor.

En la tabla 7 se muestra el valor necesario de los parametros de control para

generar el comportamiento deseado.

lvii

Page 58: Implementaci´on de una estrategia de control distribuido ...

0000

Figura 12: Vigilancia para varios robots. a) 1 robot. b) 2 robots. c) 3 robots

4.3.2. Convergencia robots a puntos especıficos

Muchas veces se desea que un robot valla de un punto inicial a un punto

especıfico evitando choques en el trayecto. Cuando las posiciones inicial y final

son conocidas (condicion de Full information) el robot va directamente a ese

punto deseado sin importar la orientacion inicial. En la figura 13 se muestra

un robot que va buscando un objetivo (punto grande) evitando los obstaculos

(punto pequeno).

Puede hacerse este mismo procedimiento usando varios robots moviendose en

el mismo terreno y al mismo tiempo, cada uno con un objetivo particular. En la

lviii

Page 59: Implementaci´on de una estrategia de control distribuido ...

0000

Figura 13: Comportamiento de un solo robot buscando un objetivo

figura 14 se muestra el resultado de este problema con dos robots, cada uno con

un objetivo particular. Para esta simulacion se activan los comportamientos

buscar y evitar, cancelando el de seguir y se fija un obtaculo sobre la posicion

de los otros robots.

Este problema es tratado usando una aproximacion por metodos diferentes,

entre otros por [10], [35] y [26].

4.3.3. Rodear

Esta tarea es una variacion del comportamiento converger, solo que se da un

valor ψgmin < 0 para lograr que los robots se detengan todos a una misma

distancia antes de llegar al objetivo. Esta variacion, que es una tarea muy

especıfica puede tener una aplicaciones reales, ası, por ejemplo, puede hacerse

que robots con propiedades especiales (i.e escudos de aislamiento de radiacion)

rodeen a un objeto para evitar contacto de este con el exterior (i.e un objeto

radioactivo del que se quiere evitar contaminacion), como respuesta rapida de

contencion. Falta investigacion en este caso, ya que serıa deseable lograr que

lix

Page 60: Implementaci´on de una estrategia de control distribuido ...

0000

Figura 14: Comportamiento de varios robots moviendose en un mismo espacio.

los robots se distribuyan equidistantes entre ellos para usar la mınima cantidad

posible. Un ejemplo de rodear objetos se puede ver en la figura 15, donde se

usan 15 robots para rodear un objeto.

Figura 15: Comportamiento de robots rodeando un objetivo

En la tabla 7 se muestran parametros necesarios para generar este compor-

tamiento. Estos mismos parametros son los que se usan para la siguiente apli-

cacion.

lx

Page 61: Implementaci´on de una estrategia de control distribuido ...

0000

4.3.4. Concordancia de todos los robots a un mismo punto

Muchas veces, se desea que luego de realizar algun movimiento y tener los

robots dispersos en el campo, todos concuerden a un mismo punto (i.e. retorno

al nido). En estos casos, normalmente se cuenta con em full information, ya

que se sabe a donde se quiere ir. En la figura 16 se muestra el resultado de

este problema para 3 y 15 robots en un mismo campo.

Figura 16: Concordancia de muchos robots a un mismo punto. a) 3 robots, b) 15robots.

En esta tarea se desactiva el comportamiento seguir y se les impone a todos

los robots un objetivo comun. Esta tarea es parte de los resultados de la

investigacion, por ejemplo de [25].

4.3.5. Movimiento de robots en cojunto

Se puede desear que los robots se muevan todos en conjunto, es decir, que se

agrupen antes de moverse hacia el objetivo (i.e. forma de viajar de algunos

animales como abejas y patos). Si se desea este comportamiento, se puede

hacer que los robots se junten activando fuertemente el comportamiento a

seguir y que busquen un objetivo activando el comportamiento buscar. En la

lxi

Page 62: Implementaci´on de una estrategia de control distribuido ...

0000

figura 17 se muestra una aplicacion donde los robots se juntan y luego avanzan

al objetivo.

Figura 17: Comportamiento colectivo para buscar un objetivo.

Este problema es tal vez en el que mas falta por investigar, pero los movimien-

tos logrados hasta ahora son bases para resolver otros problemas de mayor

complejidad como la generacion de patrones, ayuda a transporte cooperativo.

4.3.6. Busqueda

Las bases de esta tarea fueron explicadas en las seccion 2.4.1. En esta tarea

se quiere identificar un objeto del cual no se conoce ubicacion alguna, y los

alcances de los sensores son limitados como para identificarlo inicialmente. El

procedimiento para resolver este problema, es en primera instancia empezar a

recorrer el campo en una forma ordenada y luego correr hasta el objetivo una

vez que se ha podido acercar a el lo suficiente para identificarlo sensorialmente.

Un ejemplo de simulacion para esta tarea se muestra en la figura 18, donde se

desea que un robot encuentre un objeto, cuyo distanciamiento inicial al robot

es mayor a dgcrit.

El resultado de esta tarea es la combinacion de las tareas de observacion y

busqueda. Esta tambien es la base para tareas de rescate y transporte cooper-

ativo, como el tratado por [18]. Teoricamente esta ultima podrıa completarse

usando el control desarrollado, pero el simulador aun no tiene los elementos

lxii

Page 63: Implementaci´on de una estrategia de control distribuido ...

0000

Figura 18: Un robot buscando un objeto lejano.

suficientes para lograrlo. Es necesario hacer que el simulador permita que el

robot arrastre el objetivo.

Tabla de parametros de control

En la siguiente tabla se resumen los valores que se dieron a los parametros de

control de las simulaciones anteriores. Las siglas NA y VV significan respecti-

vamente: No aplica y Valor de la explicacion de la tarea.

4.4. Comentarios

En este capıtulo se mostro la implementacion de la estrategia de control por

medio de un simulador desarrollado para este proyecto. Se realizo el control

de las tareas de vigilancia cooperativa, convergencia robots a puntos especıfi-

co, rodear, concordancia de todos los robots a un mismo punto movimiento

robots en cojunto y busqueda, con lo que se demuestra que la estrategia de

control desarrollada tiene la propiedad de se multi-tarea. No obstante los logros

alcansados, debe decirse que el trabajo que resta es bastante arduo. El comen-

tario del trabajo futuro, junto con las conslusiones generales del trabajo se

presentan en el siguiente capıtulo.

lxiii

Page 64: Implementaci´on de una estrategia de control distribuido ...

0000

Parametro Observacion Convergencia Rodear Concordancia Busquedadgcrit NA 30 70 70 5bg NA 10 1 1/20 10νg NA 0.5 0.8 0.5 0.5

ψgmin NA -0.3 -1 0 -0.3dpcrit NA 50 0 50 50bp NA 0 0 1 0νp NA 0.5 0 0.5 0.5

ψpmin NA 0 0 -0.1 0docrit NA 15 15 10 15ε NA 1/10 1/15 1/20 1/15bo NA 200 200 10 200νo NA 1/30 1/30 1/30 1/30

ψomin NA 1 1 0.5 1∆r VV NA NA NA 1

Tabla 7: Parametros de control para el comportamiento recorrer.

lxiv

Page 65: Implementaci´on de una estrategia de control distribuido ...

0000

Capıtulo V

Conclusiones y trabajo futuro

Durante el desarrollo del proyecto se mostro la importancia del control dis-

tribuido como herramienta para resolver diversa cantidad de problemas de

robotica movil, mostrando (en la primera parte) la importancia que ha toma-

do este campo de investigacion en los ultimos anos. Muchos investigadores han

centrado sus esfuerzos a generar soluciones a diversa clase de problemas, encon-

trando soluciones muy buenas, pero tambien muy particulares y dependientes

de la tarea mas que de la platarforma usada, y para generar una solucion a una

nueva tarea, se hace necesario generar toda una nueva estrategia de control,

haciendola no muy flexible. Por esta razon, es deseable el desarrollo de una

estrategia de control multi-tarea que pueda ser usada para solucionar diversos

problemas, solo con dar valores a algunos parametros.

Por otro lado, estas soluciones tecnologicas se han visto ampliamente influ-

enciadas por los sistemas biologicos, particularmente, los llamados insectos

sociales (hormigas, abejas, termitas y avispas). Siguiendo esta misma filosofıa,

la estrategia desarrollada sera bio-inspirada basada en comportamientos. Esta

caracterıstica le proporciona a la solucion simplicidad y robustez.

Atacando una estrategia de control robotica generando funciones que controlen

su direccion y su velocidad, permite generar controladores reconfigurables que

permiten resolver muchos problemas sin necesidad de crear nuevas estrategias.

Estas funciones pueden ser implementadas por comportamientos son acciones

lxv

Page 66: Implementaci´on de una estrategia de control distribuido ...

0000

particulares que guıan al robot a tener un movimiento particular. La com-

binacion de estos comportamientos por reglas bien definidas de activacion y

desactivacion crea soluciones a tareas muy complejas.

Definir una plataforma tecnologica apropiada es necesario para el desarrollo

de estrategias de control. Los robots moviles que usan propulsion diferencial

son muy populares por la amplia gama de movimientos que pemiten el robot,

controlados por la relacion que existe entre sus ruedas motoras.

Se logro el desarrollo de una estrategia de control para robotica movil, que

permite coordinar robots para resolver diferentes tareas sin necesidad de re-

alizar grandes cambios en la estrategia cuando se quiere tratar un problema

diferente. La estrategia de control mostro se util para atacar problmas tales

como observacion, coordinacion de movimientos, busqueda entre otros.

A pesar de los avances que se lograron en el desarrollo de la estrategia, aun

queda un enorme trabajo de investigacion, ya que si bien se logro resolver var-

ios problemas con la misma estrategia (usando diferentes cantidades de robots)

dando valores adecuados a los parametros de control,es necesario normalizar

los valores de los parametros y definir sus rangos de trabajo optimos para cada

tarea. Tambien es necesario indagar y potencializar las soluciones que se han

obtenido para generar comportamientos mucho mas complejos y mejores solu-

ciones. Ası, por ejemplo, es necesario trabajar en mejorar los comportamientos

colectivos de los robots para pasar de simples movimientos grupales a compor-

tamientos cooperativos complejos tales como la formacion de patrones.

Es necesario mejorar el simulador para incluir fenomenos como el arrastre de

objetos por robots, lo que permitirıa hacer pruebas de para resolver problemas

de transporte cooperativo y busqueda y rescate. Por ultimo es necesario decir

que serıa muy interesante poder probar la estrategia de control desarrollada

en un equipo de robots reales, esto permitirıa sacar el trabajo del simulador

y enfrentar la estrategia desarrollada condiones reales, que pueden permitir

mejorarla.

lxvi

Page 67: Implementaci´on de una estrategia de control distribuido ...

0000

Apendice A

Interfaz de ingreso de datos del simulador

lxvii

Page 68: Implementaci´on de una estrategia de control distribuido ...

0000

lxviii

Page 69: Implementaci´on de una estrategia de control distribuido ...

0000

lxix

Page 70: Implementaci´on de una estrategia de control distribuido ...

0000

Referencias

[1] Axelrod, R., “The evolution of cooperation”, Basic Book, New York, 1984.

[2] Beslon G., Biennier, F., Hirsbrunner, B., “Multi-Robot Path-Planning

Based on Implicit Cooperation in a Robotic Swarm”, en International con-

ference on Autonomous Agents, Minnesota, 1998.

[3] Bonabeau, E., Dorigo, M., Theraulaz., “Swarm Intelligence: from natural

to artificial systems”. Oxford University Press. New York, 1999.

[4] Bourke, A.F.G., Franks, N.R., ”The social evolution in ants”, Princeton

University Press, 1995

[5] Bonabeau, E., Theraulaz, G., “Swarm Smarts”, Scientific American, pp

83-89, Marzo 2000.

[6] Cao, Y., Fukunaga, A., Kahng, A., “Cooperative Mobile Robotics: An-

tecedents and Directions”, Autonomous Robots, 4, pp. 1-23 (1997).

[7] Craig, J.J., “Introduction to robotics: mechanics and control”. 3th ed.

Prentice Halll, Upper Saddle River, NJ, 2005.

[8] Dautenhahn, K., “Ants don’t have friends - Thoughts on Social Intelligent

Agents”, University of Reading, Whiteknights, 19??

[9] De Schutter, J., Bruyninck, H., Zhu, W.-H., Spong, M.W. , “Force con-

trol: A bird’s eye view” in International Workshop on Control problems in

Robotics and Automatization, San Diego CA, 1997

[10] Doty, K.L., Van Aken R.E., “Swarm robot materials handling paradigm

for a manufacturaring workcell” on the IEEE International Conference on

Robotics and Automation, Atlanta GA, May 2-6,1993

lxx

Page 71: Implementaci´on de una estrategia de control distribuido ...

0000

[11] Dudek G., Jenkin, M.R., Milios, E., Wilkes, D., “A Taxonomy for Multi-

Agents Robotics”, Autonomous Robots, ?, pp 5-29, 19??

[12] Fukuda, T., Kawauchi, Y., “Cellular Robotics”, Springer Verlag, pp. 745-

782, 1993.

[13] Guo, Y., Parker L., “A Distributed and Optimal Motion Planning Ap-

proach for Multiple Mobile Robots”. Proceedings of IEEE International

Conference on Robotics and Automation (ICRA), 2002.

[14] Guo, Y., Parker, L., Madhavan, R., “Towards Collaborative Robots for

Infrastructure Security Applications”, Proceedings of International Sym-

posium on Collaborative Technologies and Systems, pp 235-240. 2004.

[15] Izquierdo-Torres E., “Collective intelligence in multi-agent robotics: Stig-

mergy , Self Organization and evolution”. University of Sussex, Bringhton,

2004

[16] Jennings, J., Kirkwood-Watts, C., “Distributed Mobile Robotics by the

Method of Dynamic Teams”, en 4th International Symposium on Distribut-

ed Autonomous Robotic Systems, 1998.

[17] Krause, J., Ruxton G.D., “Living in groups”, Oxford University Press,

New York, 2002

[18] Kube, C.R., Zhang H., “Collective Robotics Intelligence”, University of

Alberta, Edmonton-Alberta, 1992.

[19] Kube, C.R., Zhang H., “Collective Robotics: from social insects to

robotics”, University of Alberta, Edmonton-Alberta, 1993.

[20] Kube, C.R., Bonabeau, E., “Cooperative transport by ants and robots”,

Robotics and autonomous systems, 30, pp. 85-101 (2000).

[21] LePape, C., “A combination of centralized and distributed methods for

multi-agent planning and scheduling”, en IEEE ICRA, pp. 488493, 1990.

[22] Mataric, M.J., “Issues and approaches in design of collective autonomous

agents”. Volen Center for Complex Systems, Brandeis University, Waltham

MA, 1994.

lxxi

Page 72: Implementaci´on de una estrategia de control distribuido ...

0000

[23] Ogata, K., “Ingenierıa de control moderna”, 3 ed. Prentice Hall, Mexico,

1998

[24] Parker, L., Fregene K., Guo, Y., Madhavan, R.,, “Distributed Heteroge-

neous Sensing for Outdoor Multi-Robot Localization, Mapping, and Path

Planning”, Multi-Robot Systems: From Swarms to Intelligent Automata,

pp. 21-30, Kluwer, 2002.

[25] Parker, L., Guo, Y., Jung, D., “Cooperative Robot Teams Applied to the

Site Preparation Task”, Proceedings of 10th International Conference on

Advanced Robotics, pp 71-77, 2001.

[26] Passino, K., “Biomimicry for Optimization, Control, and Automation”,

Springer-Verlag, London, 2005

[27] Quijano, N., Passino, K., “The ideal free distribution: Theory and

engineering application”, en IEEE Transaction on systems, man, and

cybernetics-Part B: cybernetics. Vol. 37, No. 1, pp. 154-165, 2007.

[28] Ramos, V., Merelo, J.J., “Self-Organized Stigmergic Document Maps: En-

vironment as a Mechanism for Context Learning”, AEB02, Merida, 2002

[29] Sanchez, A., “Arquitecturas de robots: Notas de clase”. Escuela Tecnica

Superior de Ingenierıa, Madrid, 2005.

[30] Sanchez, A., “Sensores y actuadores: Notas de clase”. Escuela Tecnica

Superior de Ingenierıa, Madrid, 2006.

[31] Schmid, H., “Como se comunican los animales”, Salvat, Barcelona, 1986

[32] Seeley, T.D., ”The Wisdom of the Hive: The Social Physiology of Honey

Bee Colonies”, Harvard University Press, 1995

[33] Stephens, D.W., Krebs, J.R., ”Foraging theory”, Princeton University

Press, 1986

[34] Tarasewich, P., McMullen, P.R., “Swarm Intelligence: Power in numbers”,

Communications of the ACM, Vol 45. No. 8, 2002

lxxii

Page 73: Implementaci´on de una estrategia de control distribuido ...

0000

[35] Tzafestas, S.G. , Tzamtzi M.P., Rigatos G.G., “Robust motion planning

and control of mobile robots for collision avoidance in terrains with mobile

objects”, Mathematics and Computers in simulation 59, pp 279-292, 2002

[36] Wilson E.O., “The insect societies”, Harvard University Press, Cam-

bridge, 1971

lxxiii