• No se han encontrado resultados

Implementación de una estrategia de control distribuido en un equipo de robots móviles

N/A
N/A
Protected

Academic year: 2022

Share "Implementación de una estrategia de control distribuido en un equipo de robots móviles"

Copied!
73
0
0

Texto completo

(1)

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

(2)

distribuido en un equipo de robots m´ oviles

Aprobado por:

Fernando de La Rosa

Nicanor Quijano Silva, Asesor

Carlos Francisco Rodr´ıguez, Coasesor

Fecha de Aprobaci´on

(3)

Dedicatoria

Soberano Dios: aunque a veces no te logre ver, s´ e que siempre estas aqu´ı; mis triunfos solo son tuyos y solamente tuyas las sendas de

camino.

iii

(4)

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 raz´on para seguir en todo momento.

Por ´ultimo agradezco a la Secretar´ıa de Educaci´on Distrital y a la Universidad de los Andes por la oportunidad que se me di´o de cursar mis estudios en tan honorable instituci´on.

iv

(5)

Tabla de Contenido

Dedicatoria III

Reconocimientos IV

Lista de Tablas VII

Lista de Figuras VIII

Resumen IX

I. Introducci´on X

II. Marco te´orico XII

2.1. Introducci´on . . . xii

2.2. Conceptos . . . xiii

2.3. Inspiraci´on En Sistemas Naturales . . . xviii

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

2.4. Sistemas Artificiales Aplicados a Rob´otica M´ovil . . . xxv

2.4.1. Ejemplos de soluci´on de problemas con rob´otica m´ovil . . . . xxvii

III. Elementos de la rob´otica m´ovil y el control distribuido XXX 3.1. Introducci´on . . . xxx

3.2. Descripci´on . . . xxxi

3.2.1. Elementos b´asicos 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

(6)

3.3.3. Implementaci´on de funciones de deseo de giro y velocidad . . xlix 3.3.4. Conclusi´on . . . li

IV. Implementaci´on de control distribuido LIII

4.1. Introducci´on . . . 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. B´usqueda . . . lxii 4.4. Comentarios . . . lxiii

V. Conclusiones y trabajo futuro LXV

Ap´endice A. — Interfaz de ingreso de datos del simulador LXVII

vi

(7)

Lista de Tablas

1. Condiciones de velocidades de ruedas para giro del robot. . . xl 2. Par´ametros de control para el comportamiento buscar. . . xliv 3. Par´ametros de control para el comportamiento seguir. . . xlv 4. Par´ametros de control para el comportamiento evitar. . . xlvii 5. Par´ametros de control para el comportamiento recorrer. . . l 6. Funciones de simulador. . . liv 7. Par´ametros de control para el comportamiento recorrer. . . lxiv

vii

(8)

Lista de Figuras

1. Rangos de detecci´on sensorial para un robot . . . xxxiii 2. Informaci´on de ´angulos y distancias medidas para control del robot

con respecto a un objetivo. . . xxxv 3. Esquema de cinem´atica diferencial . . . xxxvi 4. Esquema de un control en lazo cerrado. . . xxxviii 5. Informaci´on de ´angulos y distancias de giro del robot con respecto a

un objetivo. . . xliv 6. Zona de evasi´on de obst´aculos. . . xlvi 7. Trayectoria recorrida por un robot bajo comportamiento recorrer. . . xlix 8. Trayectoria espiral con forma incorrecta. . . l 9. Funci´on tangente hiperb´olica. . . li 10. Ejemplo de cuadros consecutivos de una simulaci´on. . . 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 movi´endose 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

(9)

Resumen

En los ´ultimos a˜nos se ha aumentado la investigaci´on en la resoluci´on de tareas por medio de la rob´otica m´ovil. 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 homog´eneo, y si ning´un 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 m´oviles homog´eneos. En la primera parte se realiza una revisi´on del estado del arte del tema. Luego, se definen las bases tecnol´ogicas y te´oricas necesarias para el desarrollo de la estrategia de control. Despu´es, se realiza el desarrollo e implementaci´on 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 realizaci´on 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 descripci´on del trabajo futuro.

ix

(10)

Cap´ıtulo I

Introducci´ on

En la actualidad, la rob´otica es uno de los campos con mayor investigaci´on y desarrollo, llegando a importantes niveles de automatizaci´on y soluci´on 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 soluci´on, como por ejemplo, la cooperaci´on, que es la uni´on de individuos trabajando juntos para lograr un fin com´un [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 a˜nos se ha generado una gran tendencia de estudiar los sistemas naturales como inspiraci´on 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 com´un que ser´ıa imposible alcanzar de manera individual. De esta observaci´on se desarrollan conceptos como swarm intelligence ([3],[26]). A pesar de no ser un campo de investigaci´on muy viejo, cada vez invita

x

(11)

la mirada de m´as personas, llegando a importantes desarrollos en campos de opti- mizaci´on, computaci´on y rob´otica. 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 cooperaci´on, con el fin de desarrollar t´ecnicas innovadoras en estas ´areas.

xi

(12)

Cap´ıtulo II

Marco te´ orico

2.1. Introducci´ on

Tradicionalmente, la rob´otica ha sido vista desde una perspectiva donde se bus- ca la creaci´on de sistemas de alta complejidad con un alto grado de integraci´on tecnol´ogica. Como dice [7], “hoy en d´ıa, los robots industriales tienden a ser cada d´ıa m´as sofisticados, con un mayor n´umero de funciones y mayor nivel de progra- maci´on”. El desarrollo de robots implica un trabajo riguroso y conjunto de muchos campos como los sistemas mec´anicos, teor´ıa de control, an´alisis y procesamiento de se˜nales, inteligencia artificial, entre muchos otros. Esto implica un alto grado del conocimiento de las ciencias b´asicas (e.g., matem´atica y f´ısica) que permitan mod- elar y controlar cada uno de los sistemas del robot, y una operaci´on conjunta de un gran n´umero de sensores y actuadores, ordenados por un sistema electr´onico de gran e de complejidad. Esto sin tener en cuenta que la interacci´on 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 soluci´on de problemas que impliquen automatizaci´on y rob´otica, 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 introducci´on 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

(13)

Diversos investigadores han trabajado sobre sistemas distribuidos para la solu- ci´on de problemas en rob´otica, optimizaci´on y comunicaciones en redes durante los

´

ultimos a˜nos, hecho que se encuentra plasmando en los trabajos de sintetizaci´on 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 afirmaci´on: [22] dice: “el problema de sintetizar y analizar comportamientos aut´onomos y colectivos solo recientemente ha sido comenzado a ser estudiado por la comunidad rob´otica”, y [6] “se ha incrementado el inter´es de investigaci´on en sis- temas compuestos de m´ultiples robots aut´onomos que exhiben un comportamiento cooperativo”, mientras que [3] y [11], presentan una importante colecci´on de concep- tos fundamentales para el trabajo de la rob´otica, y en general sistemas distribuidos.

En este cap´ıtulo, se presenta una peque˜na revisi´on del estado del arte del cam- po de los sistemas distribuidos, particularmente, los robots m´oviles 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 inspiraci´on a sistemas artificiales; y finalmente, se presenta algunos trabajos de aplicaciones de estos conceptos para la soluci´on de problemas espec´ıficos.

2.2. Conceptos

Atacar un problema desde una perspectiva distribuida, s´olo 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

(14)

Construir robots muy simples, puede ser m´as f´acil, econ´omico, 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 m´as 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 n´umero de hormigas involucradas en la operaci´on.

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 m´as 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 relaci´on 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 an´onima y sociedad individualizada. Una sociedad an´onima 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

(15)

y una de ellas es cambiada por alguna otra, las dem´as no lo notan, y contin´uan 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 an´onima, caracter´ıstica que resultar´a ventajosa en el momento de la implementaci´on de estrategias de control.

Cuando los agentes de un grupo se relacionan entre si, expresan un compor- tamiento colectivo, no necesariamente cooperativo. La cooperaci´on entre individuos es s´olo 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 cooperaci´on es un mecanismo que siempre tiende a surgir en for- ma espont´anea y natural en los sistemas de muchos individuos. Un claro ejemplo de este fen´omeno 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 da˜no entre ellos. Tambi´en se presentan diversos casos en sistemas biol´ogicos, donde la cooperaci´on surge como respuesta a necesidades grupales, o incluso, en algunos casos, vienen pre-dispuestas gen´eticamente. Esto se puede ver como el resultado de la “memoria” de la evoluci´on de los sistemas ([17]).

Otra conclusi´on importante de [1], tiene que ver con la posibilidad de obtener un resultado negativo del individuo con el que se coopera, fen´omeno que el llama defraudaci´on. La cooperaci´on s´olo 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 tender´a a dejar sus comportamientos cooperativos hacia el futuro.

La cooperaci´on 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 rob´oticos multi-agentes, es de mucha importancia la definici´on de los objetivos y los comportamientos que se establezcan para los robots, como respuesta a actitudes de sus s´ımiles.

xv

(16)

Con el fin de introducir los conceptos de sistemas cooperativos a la rob´otica m´ovil, muchos investigadores han venido usando algunos t´erminos para referirse a conceptos que se presentan en estos sistemas. [22] y [6], presentan una breve descripci´on de algunos de ellos.

Comportamientos y objetivos

Un comportamiento es una ley de control que determina la reacci´on del agente frente a alguna circunstancia espec´ıfica, para buscar o mantener un logro particu- lar. Por ejemplo, para un robot m´ovil un comportamiento podr´ıa ser seguir a otro individuo con el fin de establecer alguna formaci´on, o detenerse para evitar colisi´on contra alg´un 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 obst´aculos 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- eraci´on. 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 centralizaci´on o descentralizaci´on, la diferencia de individuos, la comunicaci´on, 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 creaci´on de sistemas cooperativos. A continuaci´on se presenta una breve descripci´on de cada uno de estos aspectos.

Centralizaci´on/descentralizaci´on: Las estrategias centralizadas tienen s´olo un elemento de control, el cual ordena y determina los comportamientos que debe

xvi

(17)

tener todo el sistema. Puede tener varios componentes, pero todos estar´an regi- dos por un control principal. Cuando se tienen estrategias descentralizadas, se pueden clasificar en distribuidas y jer´arquicas. En las estrategias distribuidas, todos los elementos son iguales con respecto al control de la tarea, mientras que en las jer´arquicas, se presenta centralizaci´on local, donde un elemento tiene control sobre un sub-grupo del total de individuos que componen el sistema.

Bajo esta clasificaci´on, s´olo 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 aut´omatas.

Diferenciaci´on: Los robots pueden ser homog´eneos o heterog´eneos. Una arqui- tectura es homog´enea cuando todos los individuos poseen las mismas capaci- dades con respecto a la tarea, y es heterog´enea cuando los individuos poseen capacidades diferentes, i.e., un grado de especializaci´on con respecto a alguna tarea. En general, las estrategias heterog´eneas implican mayor dificultad de implementaci´on, porque cada agente necesita conocer las capacidades individ- uales de sus compa˜neros. ”

Comunicaci´on: Para lograr la cooperaci´on, resulta necesario tener comuni- caci´on entre los agentes. Existen tres grados de comunicaci´on: a trav´es del medio, mediante sensores y comunicaci´on directa. La comunicaci´on a trav´es del medio ocurre porque un individuo puede detectar el efecto de sus com- pa˜neros sobre el medio. No se presenta comunicaci´on expl´ıcita entre ellos. Este fen´omeno llamado stigmergy, es tratado por otros autores como [28], quienes describen claramente la importancia de este fen´omeno, y su potencial como suficiente para lograr generar sinergia entre los individuos. La comunicaci´on a trav´es 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 comunicaci´on directa se refiere a la presencia comunicaci´on expl´ıcita entre los agentes, expresando sus comportamientos y objetivos. Es indispensable, cuando la cooperaci´on requiere de negociaci´on

xvii

(18)

entre individuos.

Modelado de otros agentes: Puede presentarse o no (cuando se presenta, puede mejorar efectividad de cooperaci´on). Necesita m´as que comunicaci´on a trav´es del medio. Implica poder hacer un modelo de intenciones, creencias, acciones habilidades y estado de los otros agentes. Esta informaci´on 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 rob´oticos 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 bas´andose en estas caracter´ısti- cas, reflejar´an en gran medida las capacidades que tendr´a 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 funci´on al equipo de robots que se tenga y los objetivos que se busquen con ellos.

2.3. Inspiraci´ on En Sistemas Naturales

Los sistemas naturales han servido como inspiraci´on para desarrollos tecnol´ogi- cos desde tiempos muy antiguos. Campos como el de la rob´otica 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). Seg´un [3], en los ´ultimos 5 a˜nos la soluci´on de problemas basados en el comportamiento de los insectos sociales se ha convertido en un tema de gran inter´es, atacando los problemas desde una per- spectiva distribuida y propiciando interacciones directas o indirectas entre agentes relativamente simples.

La gran importancia que est´an teniendo los insectos sociales como punto de partida para la b´usqueda 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 organizaci´on de una sociedad”. Las colonias de insectos logran un alt´ısimo grado de coordinaci´on,

xviii

(19)

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

[3] habla de una colonia de insectos como un sistema de soluci´on de problemas de- scentralizados/distribuidos compuesto por muchas entidades relativamente simples interactuando entre ellas. Gracias a la interacci´on de individuos que s´olo exhiben un comportamiento relativamente simple por ellos mismos, surgen complejos pa- trones de comportamiento grupal, fen´omeno 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 rob´otica m´ovil, 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 creaci´on de sistemas artificiales. Estas propiedades son la organizaci´on propia (self-organization), comunicaci´on ambiental (stigmery) y la sinergia.

Organizaci´on propia

Los modelos de organizaci´on 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 din´amicos que surgen como resultado de interacci´on entre sus componentes. Las reglas de comportamiento que se obtienen en el sistema son producto de decisiones tomadas en funci´on de informaci´on 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:

Realimentaci´on positiva: Permite reforzar una acci´on 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 dem´as. Cuantas m´as hormigas transiten por ese camino, mayor se har´a el olor en ´el y atraer´a a m´as hormigas a que lo usen, provocando un efecto amplificador de tr´ansito de hormigas.

xix

(20)

Realimentaci´on negativa: Es un fen´omeno que se presenta para contrarrestar la realimentaci´on positiva, con el fin de generar patrones colectivos estables.

La realimentaci´on negativa, por ejemplo, se presenta en la recolecci´on de co- mida por hormigas, porque los caminos que se establecen por realimentaci´on positiva, se saturan, ayudando a que el n´umero 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 n´umero de interacciones que refuercen los patrones que se empiezan a establecer por las interacciones aisladas y aleatorias de pocos individuos.

Los fen´omenos SO, permiten que nuevas soluciones completamente estables se est´en creando constantemente. Una soluci´on particular puede aumentarse y amplifi- carse en cualquier momento y lugar del trabajo, y una vez que ´esta est´e establecida, una nueva puede generarse a partir de la amplificaci´on de alguna aleatoriedad de la soluci´on original. Las soluciones SO tambi´en generan bifurcaciones por el cambio de alg´un par´ametro, haciendo que un proceso pueda tener dos soluciones completa- mente diferentes.

Comunicaci´on ambiental

Los procesos SO requieren interacci´on entre los agentes del grupo, interacci´on que puede hacerse en forma indirecta. [3] establecen que se presenta interacci´on indirecta cuando un individuo responde a un ambiente que ha sido modificado pre- viamente por la acci´on de otro individuo. Este fen´omeno tambi´en puede verse como comunicaci´on entre los agentes por medio del ambiente. La comunicaci´on indirecta permite explicar la coordinaci´on y la regulaci´on que ocurre entre los miembros de la colonia. Por ejemplo, en actividades de construcci´on del nido, las termitas responden a la estructura del nido mismo, m´as que a sus compa˜neras.

La comunicaci´on ambiental “permite reemplazar la coordinaci´on a trav´es de co- municaci´on directa por interacciones indirectas” [28], esto permite simplificar las

xx

(21)

habilidades de comunicaci´on de los agentes, abriendo la posibilidad del uso de indi- viduos m´as simples dentro de un proceso multi-agente.

Sinergia

La sinergia, tal como se explic´o anteriormente, es el resultado de fen´omenos de cooperaci´on que exhiben los insectos, obteniendo mayores resultados por un trabajo com´un, que por un trabajo individual. Esta propiedad es una de los resultados m´as interesantes de trabajo com´un de los insectos sociales.

2.3.1. Ejemplos del comportamiento de los insectos

Como se dijo anteriormente, las estrategias distribuidas s´olo son mejores que las centralizadas bajo ciertas condiciones. Es por esto, que es muy ´util la aplicaci´on de comportamientos espec´ıficos de los insectos para resolver problemas particulares.

A continuaci´on se mostrar´an algunos ejemplos de los comportamientos de los in- sectos sociales, los cuales han servido de inspiraci´on para el desarrollo de sistemas artificiales. Esta recopilaci´on se toma de los trabajos de [3], [31], [36],[34], [17], [27].

Comportamientos en hormigas

B´usqueda de comida (Foraging): El proceso de b´usqueda 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 compa˜neras. Esta sustancia llamada feromona, es dispersada en el ambiente, dejando rastros del camino que sigue el insecto. La hormiga que toma el camino m´as 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 atracci´on por ese camino, empezando a ser transitado por m´as hormigas ca- da vez, produciendo un efecto de realimentaci´on positiva que desemboca en una estructura SO. La feromona, se va dispersando en el ambiente en funci´on del tiempo, por lo cual, los caminos transitados pocas veces (los no ´optimos) tienen a desvanecerse, quedando s´olo los caminos ´optimos.

xxi

(22)

Las hormigas pueden adaptarse f´acilmente a cambios en la ruta, (e.g. ob- st´aculos imprevistos) o en el n´umero de hormigas involucradas en el proceso, haciendo de esta, una soluci´on 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 compa˜neras 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 despu´es de cierto tiempo no se logran resultados positivos en mover la hoja, se ubica aleat´oriamente en otra posici´on con respecto a la misma y empieza a empujarla en esta nueva direcci´on. Este proceso es seguido por muchas hormigas, hasta que se logra una configuraci´on, 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 m´as peque˜nos, con lo que se inicia el proceso de empuje una vez m´as.

Organizaci´on 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 condici´on a las dem´as. Si inicialmente se tiene una hormiga muerta dispersa en un terreno, una obrera encargada de la limpieza, la tomar´a, y tender´a a llevarla a un punto con alta concentraci´on de ese olor caracter´ıstico. Cuantas m´as hormigas muertas se encuentren apiladas juntas, mayor olor se expele de ese punto en particular, y tender´a a atraer a las

xxii

(23)

obreras, a depositar nuevos cuerpos en ese mismo punto. Antes de tener forma- do un punto lo suficientemente grande, el proceso de deposici´on de cad´averes es aleatorio, pero luego de algunos movimientos, se ha visto que se forman puntos lo suficientemente grandes para empezar el proceso de atracci´on.

Construcci´on del nido: La construcci´on de las paredes del nido se hace alrede- dor de las c´amaras de incubaci´on de larvas. Para la construcci´on de una pared, cada hormiga carga una peque˜na porci´on de tierra adentro del nido, de- posit´andola aleatoriamente en un principio. Las hormigas se sienten atra´ıdas a depositar tierra en lugares de mayor concentraci´on, o sea, puntos donde otras hormigas hayan depositado m´as tierra previamente. Este proceso sucesivo gen- era un efecto de realimentaci´on positiva que culmina en la construcci´on 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 informaci´on regurgita un poco del alimento frente a un grupo de sus compa˜neras 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 direcci´on, dadas como un ´angulo con respecto al so, la distancia y tambi´en 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 informaci´on se desplaza hasta otro lugar dentro de la colmena donde repetir´a el baile de indicaciones para reclutar m´as abejas.

Regulaci´on t´ermica de la colmena: Sorprendentemente, una colmena de abejas logra tener una temperatura interna aproximadamente constante sin importar

xxiii

(24)

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 peque˜na 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 t´ermica para evitar el flujo del calor hacia el exterior de la colmena. Peri´odicamente, 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- eraci´on basado en evaporaci´on de agua. Si la temperatura de la colmena es alta, las abejas llevan gotas de agua o n´ectar muy diluido, y la dispersan por el nido, atomiz´andola 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 colaboraci´on entre las abejas que ejercen cada una de las funciones.

Comportamientos en termitas

Construcci´on de nidos: semejante a como ocurre en las hormigas, las termitas construyen las estructuras importantes de su nido alrededor de la c´amara 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 dem´as termitas.

Inicialmente los granos se disponen en forma aleatoria alrededor de la reina (a cierta distancia), pero cuando se forma un peque˜no c´umulo (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 realimentaci´on positiva. Las termitas responden tanto a la concentraci´on de

xxiv

(25)

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

Construcci´on 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 construcci´on del nido, una vez que se selecciona el lugar de la construcci´on, se pone una c´elula inicial, como “piedra central” de la estructura. Luego las avispas van a˜nadiendo otras c´elulas debajo de la inicial, disponi´endolas en forma circular. La uni´on de estas c´elulas forman un nivel. Una vez completado el primer nivel, se inicia uno nuevo justo debajo.

De nuevo las avispas construyen cada nivel poniendo una c´elula a la vez, una junto a otra en un patr´on 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 c´elula posee paredes, formando un peque˜no espacio vac´ıo que servir´a de dep´osito. Una avispa tiende a completar una c´elula antes que iniciar una nueva, es decir, cuando llega a la construcci´on, busca c´elulas con 1, 2 o 3 paredes completas donde poner su aporte. Esto muestra que ellas responden al trabajo previo de sus compa˜neras, y en general a la estructura actual del nido. Este es un comportamiento de SO, con comunicaci´on ambiental.

2.4. Sistemas Artificiales Aplicados a Rob´ otica M´ ovil

Como se dijo anteriormente, la arquitectura del grupo determina las capacidades que tiene un equipo de robots m´oviles para responder a alguna tarea. Algunas de las arquitecturas m´as representativas, son presentadas por citecao.

Comportamiento cooperativo dominado por comportamientos: El control de cada robot es basado en un patr´on de comportamientos-objetivos simples. La

xxv

(26)

uni´on del comportamiento individual de cada uno, como respuesta a la acci´on de otro compa˜nero, crea los patrones de comportamiento cooperativo [22].

CEBOT (CEllular roBOtics System): Arquitectura descentralizada, jer´arquica, inspirada por la organizaci´on celular de entidades biol´ogicas. Es un sistema compuesto por robots (c´elulas) que pueden acoplarse f´ısicamente a otras. Es reconfigurable din´amicamente, cambiando su estructura para responder en for- ma ´optima a cambios en el ambiente. En esta configuraci´on se encuentran

“c´elulas maestras” que coordinan localmente a c´elulas de un sub-grupo y se comunican con otras “c´elulas maestras” de la misma jerarqu´ıa. La comuni- caci´on puede ser expl´ıcita o ambiental dependiendo de las necesidades, pero tiende a ser menos expl´ıcita, a medida que las c´elulas se hacen m´as inteligentes [12].

SWARM: Es una propiedad de un sistema de robots no inteligentes de exhibir un comportamiento inteligente. Posee propiedades de SO y comunicaci´on ex- pl´ıcita o ambiental, permitiendo construcci´on de robots mas sencillos. Es una arquitectura distribuida, t´ıpicamente por robots homog´eneos. La interacci´on se presenta porque cada miembro reacciona al estado o acciones previas de sus compa˜neros [3].

GOFER: Usada para estudiar soluci´on de problemas distribuidos por m´ulti- ples robots en un ambiente controlado, usando t´ecnicas tradicionales de IA.

Es una estrategia centralizada donde el control se hace por un sistema cen- tral de planeamiento y cronogramaci´on, que se comunica con todos los robots para decirles c´omo y cuando deben actuar para optimizar la tarea. Los robots t´ıpicamente son homog´eneos y la comunicaci´on entre los robots y el centro de procesamiento es expl´ıcita

Realizando la aplicaci´on de una arquitectura u otra, diversos grupos de in- vestigaci´on han desarrollado muchos sistemas para la soluci´on de problemas

xxvi

(27)

usando rob´otica distribuida. [22], presenta un resumen de los trabajos he- chos en simulaci´on o implementaci´on f´ısica, casi todos basados en una per- spectiva de agentes. [11] presenta una taxonom´ıa de los sistemas rob´oticos de multi-agentes, clasificando los trabajos dependiendo a las caracter´ısticas de su arquitectura, incluyendo aspectos como tama˜no, comunicaci´on, tareas, reconfigurabilidad, entre otros.

2.4.1. Ejemplos de soluci´on de problemas con rob´otica m´ovil Entre algunas de las tareas a las que se les ha propuesto una soluci´on con rob´otica distribuida, se cuentan transporte cooperativo, tareas de observaci´on, b´usqueda y rescate, dise˜no de trayectoria y tareas de preparaci´on territorios.

Cada una de estas soluciones ser´a expuesta a continuaci´on.

Transporte cooperativo

[19], realizaron diversos experimentos de aplicaci´on 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 homog´eneos y un nivel de comunicaci´on sensorial. El control del robot se hace mediante comportamientos, dominados por respuestas sensor-actuador, procesando la informaci´on mediante implementaci´on de l´ogica combinatoria o de redes neu- ronales. Estas configuraciones, aunque producen un mismo resultado final, generan comportamientos diferentes en los robots.

xxvii

(28)

Tareas de observaci´on

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 aplicaci´on, por ejemplo, en situaciones de vigilancia cooperativa ([13]) o tareas de creaci´on de mapas y reconocimiento del terreno [13]. En ambos casos se usa una estrategia distribuida y robots homog´eneos, con capacidades para observar su ambiente. Cada robot tiene tambi´en la capacidad para reconocer a los otros y recordar los espacios recor- ridos por el y por sus compa˜neros. La cooperaci´on consiste en la divisi´on del campo y la no interferencia entre robots. El resultado de esta estrategia se com- prob´o en simulaci´on y con implementaci´on f´ısica, realizando tareas en espacios abiertos y cerrados.

B´usqueda y rescate

Es una estrategia distribuida tipo swarm, aplicada a un grupo de robots ho- mog´eneos. Puede verse como una evoluci´on de la tarea de observaci´on. El primer paso es realizar una b´usqueda paralela del espacio, usando un control semejante implementado en observaci´on. 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 cooperaci´on se presenta en generar la menor interferen- cia posible entre ellos. En la estrategia se aplica una arquitectura distribuida tipo swarm, con cooperaci´on expl´ıcita entre robots homog´eneos. Presentan resultados te´oricos y simulados. Otros autores como [35] realizan un an´alisis semejante, pero con objetivos que se mueven, bas´andose en el principio de m´ınima interferencia.

Tareas de preparaci´on de lugar

xxviii

(29)

[25] hacen en este trabajo una proposici´on de preparaci´on 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 heterog´eneos, con independencia de toma de decisiones y comunicaci´on expl´ıcita entre robots. Es- ta estrategia se basa en el logro de sub-objetivos (preparaci´on para limpieza, generaci´on 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 m´as simples que los necesarios para el mismo trabajo desde una perspectiva centralizada, obteniendo resultados m´as r´api- dos y/u ´optimos. Las estrategias de control se dise˜nan desde una perspectiva de agentes programados para generar cooperaci´on expl´ıcita. El control de los robots se caracteriza por respuestas a est´ımulos sensoriales que en algunos ca- sos desembocan en fen´omenos de realimentaci´on positiva. Se presenta el uso de todos los niveles de comunicaci´on (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

(30)

Cap´ıtulo III

Elementos de la rob´ otica m´ ovil y el control distribuido

3.1. Introducci´ on

En el cap´ıtulo anterior, por medio del trabajo de muchos investigadores, se mostr´o c´omo 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 m´etodos de cooperaci´on obtenidos para cada una de estas tareas son muy espec´ıficos y dependientes de la tarea y de la plataforma tecnol´ogica que en estas se use (Secci´on 2.4.1), m´as que la obtenci´on de soluciones generales que permitan atacar muchos problemas.

En b´usqueda de resultados m´as globales, se desea desarrollar e implementar una estrategia de control que permita atacar diversos problemas usando una misma plataforma tecnol´ogica con comportamientos rob´oticos que puedan ser modificables con s´olo la reconfiguraci´on de algunos par´ametros generales que dominen su comportamiento.

Durante esta secci´on se muestra el proceso seguido para esta implementaci´on general. Se inicia con la introducci´on de algunos elementos importantes para el desarrollo de la estrategia. Luego se realiza una descripci´on de una plataforma tecnol´ogica apropiada para la soluci´on y la descripci´on del control de los robots.

Se termina con la descripci´on de la arquitectura desarrollada.

xxx

(31)

3.2. Descripci´ on

3.2.1. Elementos b´asicos 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 act´ue en una forma determinada para cumplir un fin espec´ıfico.

Durante este estudio se desean tratar problemas relacionados con la rob´otica m´ovil, tratando un n´umero 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 raz´on, para llevar a cabo una tarea, se propone necesario para los robots la identificaci´on de dos elementos principales frente a los cuales se interact´ua en forma diferente: los objetivos y los obst´aculos. 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 obst´aculos son los elementos que impiden el libre tr´ansito del robot por el campo en el que se mueve y est´an 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 obst´aculos es la evasi´on de los mismos.

Se puede identificar un tercer elemento que se presenta por la naturaleza co- operativa y distribuida de la investigaci´on m´as que por la tarea misma: los compa˜neros. Estos son otros robots que se encuentran en el mismo campo de juego. Se propone una aproximaci´on homog´enea 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 compa˜neros tambi´en pueden transformarse en objetivos u obst´aculos, ya que podr´ıa ser deseable que bajo algunas condiciones un robot siga a uno de sus compa˜neros o que por el contrario lo evite para impedir un choque contra este (secci´on 2.2).

Como se muestra m´as adelante, la identificaci´on de estos tres elementos: obje- tivos, obst´aculos y compa˜neros son de vital importancia para la estrategia de

xxxi

(32)

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 interacci´on de un robot con el medio en el que se mueve est´a 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 informaci´on adquirida por el robot debe ser procesada para generar las se˜nales de acci´on 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 tecnol´ogica que usa los robots m´oviles. Se propone una plataforma tecnol´ogica apropiada para una arquitec- tura de robots m´oviles. A pesar que no se describe con exactitud todos los par´ametros de esta plataforma, s´ı se describe esta plataforma en datos que pueden ser acomodados de acuerdo a una plataforma espec´ıfica.

Sensores

Su funci´on principal es la detecci´on de objetos o caracter´ısticas especiales dentro del terreno en el que el robot se mueve. El sensor puede construirse para detectar obst´aculos, objetivos, l´ımites o caracter´ısticas especiales del ter- reno (i.e. huecos o barrenas intermedias), compa˜neros, etc. [19] proponen una plataforma tecnol´ogica de robots m´oviles con 3 tipos diferentes de sensores:

Infrarrojos para detecci´on cercana, lum´ınicos para distancias intermedias y ultras´onicos para detecci´on a larga distancia. Cada uno de estos sensores en sus robots tiene un fin espec´ıfico: detecci´on de obst´aculos, compa˜neros 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 visi´on” (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

(33)

que de la misma forma que en el trabajo de [20], se tienen 3 tipos diferentes sensores: para detecci´on de obst´aculos, detecci´on de objetivos y detecci´on de compa˜neros. A los radios m´aximos de detecci´on para cada una de estas condi- ciones se llama drocrit, drgcrit y drpcrit. Esta condici´on de visi´on y detecci´on se muestra en la figura 1. Para este caso particular se tiene una configuraci´on donde drocrit< drpcrit < drgcrit. Se ve que el objetivo est´a dentro del c´ırculo de visi´on de objetivos del robot, por lo cual este puede ser detectado (mostrado con l´ınea continua) mientras que el obst´aculo se encuentra fuera del c´ırculo de visi´on de obst´aculos y por lo tanto no puede ser detectado (obst´aculo con l´ınea punteada).

Figura 1: Rangos de detecci´on sensorial para un robot

Pueden tenerse algunas otras condiciones especiales de detecci´on 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 tambi´en se pueden limitar la visi´on del robot a un radio limitado para “simular” la condici´on de vista parcial del robot.

xxxiii

(34)

Una de las opciones m´as ´utiles en una condici´on de full information, es que es f´acil 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 obst´aculos. En la figura 2 se muestra un ejemplo de las mediciones que se realizan sobre un robot con relaci´on a un marco de referencia x-y. En esta figura se muestra un robot y un objetivo dentro de su radio de detecci´on.

Es importante conocer la posici´on global y el ´angulo de inclinaci´on 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 direcci´on 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 obst´aculos (dro y θo), y entre robots y compa˜neros (drp y θp)

Actuadores

Son los que permiten al robot interactuar con el medio en las diversas for- mas posibles. Esta interacci´on 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 rob´otica m´ovil, la principal funci´on (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 mec´anica que permita analizar el movimiento del robot en fun- ci´on de sus elementos constitutivos. [29] realiza una descripci´on de algunas arquitecturas mec´anicas como propulsi´on diferencial o propulsi´on de triciclo.

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

xxxiv

(35)

Figura 2: Informaci´on de ´angulos y distancias medidas para control del robot con respecto a un objetivo.

[24]), se propone el uso de la propulsi´on diferencial para realizar el movimien- to de los robots. Cabe anotar que esta propulsi´on tambi´en se encuentra en equipos de rob´otica usados en la actualidad, tal como los robots de diversas categor´ıas usadas en la FIRA1 .

La propulsi´on 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 propulsi´on 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 direcci´on 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 cinem´atica diferencial con una rueda loca posterior.

1Federation of International Robot-soccer Association. M´as informaci´on puede ser encontrada en www.fira.net

xxxv

(36)

Figura 3: Esquema de cinem´atica diferencial

En funci´on 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 funci´on 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 ser´an retomadas mas adelante.

Controlador

El mecanismo encargado de procesar la informaci´on tomada por los sensores y transformarla en se˜nales 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

(37)

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 (posici´on propia y de objeto a empujar, direcci´on indicada, contacto necesario, etc.) para accionar el com- portamiento y luego ordena los movimientos especificados en los actuadores para completar la acci´on (accionar un motor o un solenoide, etc.). Normal- mente la relaci´on entre activaci´on de comportamientos y informaci´on sensorial est´an determinadas por reglas definidas por el dise˜nador. La determinaci´on de esas reglas para una tarea es lo que se llama control por comportamientos.

Basados en los elementos b´asicos 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 implementaci´on y la generaci´on de reglas de activaci´on 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 situaci´on porque le permite evaluar su comportamiento dependiendo de las condiciones actuales del ambiente (siempre y cuando los sensores le permitan tener realimentaci´on instant´anea 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 posici´on espec´ıfica del terreno, el control en lazo cerrado juega un papel importante para permitirle cumplir su objetivo. El robot toma la informaci´on necesaria para saber que tan lejos est´a de cumplir su objetivo y esto le permite decidir las acciones necesarias para cumplirla. Luego de sensar su ubicaci´on de acuerdo a un marco de ref- erencia definido y eval´ua su posici´on actual contra la posici´on 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 direcci´on 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 din´amicos o donde solo se pueda sensar

xxxvii

(38)

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 direcci´on 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. Tambi´en 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 direcci´on de movimiento una vez que se ha tomado una y de desplazarse a una velocidad determinada. Estas funciones se llamar´an funci´on de deseo de cambio de direcci´on (denotada con la letra griega ϕ) y la funci´on de deseo de velocidad (denotada por la letra griega ψ).

xxxviii

(39)

Para definir las funciones ϕ y ψ, primero se proceder´a a definir el conjunto dominio de estas funciones:

Definici´on 3.3.1 (Conjunto de par´ametros de control (Ω)) Ω ∈ <n es el conjunto de todos los par´ametros que permiten la activaci´on de los compor- tamientos del control para las funciones de cambio de direcci´on de movimiento y de velocidad.

El n´umero de estos par´ametros, su explicaci´on, 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 implementaci´on por medio de comportamien- tos. Estos ser´an retomados una vez que se hallan introducido completamente las funciones ϕ y ψ.

Definici´on 3.3.2 (Funci´on de deseo de cambio de giro (ϕ)) Sea ϕ una funci´on, la cual mapea de Ω → <, continua en <, tal que ϕ ∈ [−1, 1], que ex- presa el deseo de un robot de generar un cambio en su direcci´on de movimiento.

Si ϕ = −1, ϕ = 1 y ϕ = 0, esto representa respectivamente, el giro m´as r´apido a izquierda, a derecha y nulo.

Definici´on 3.3.3 (Funci´on de deseo de velocidad (ψ)) Sea ψ una fun- ci´on, 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 m´axima velocidad posible (U).

Basados en una arquitectura mec´anica con propulsi´on diferencial, es adecuado establecer relaciones entre los valores de las funciones ϕ y ψ y la velocidad de las ruedas propulsoras del robot (Vd, Vi). El m´aximo 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 m´axima velocidad. Este fen´omeno debe coincidir con el valor m´aximo de ϕ para ese sentido de giro. En la tabla 1 se muestran las condiciones de

xxxix

(40)

Giro deseado ϕ Vi Vd Rel. velocidades M´aximo izquierda ϕ = 0 Vi = 0 V d = Vmax

Leve izquierda −1 < ϕ < 0 0 < Vi = Vmax 0 < V d ≤ Vmax Vl < V d Ninguno ϕ = 0 0 < Vi ≤ Vmax 0 < V d ≤ Vmax Vl = V d Leve derecha 0 < ϕ < 1 0 < Vi ≤ Vmax 0 < V d < Vmax Vl > V d M´aximo 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

(41)

ω = 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 m´axima cuando ψ = 1 y nula cuando ψ = 0, mientras que, aunque la velocidad rotacional del robot depende de los dos par´ametros, solo puede presentarse rotaci´on cuando ϕ 6= 0 y la m´axima velocidad de rotaci´on coincide con el m´aximo de la funci´on de deseo de movimiento para los dos sentidos. Una ´ultima observaci´on muestra que ϕ = −1 genera ω > 0, esto es, el robot rota a la izquierda, mientras que ϕ = 1 genera rotaci´on a la derecha.

Este sencillo an´alisis de las funciones aplicadas a una propulsi´on diferencial, comprueba que la implementaci´on 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 tecnol´ogica que se es- tableci´o previamente.

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

El concepto de control por comportamientos fue introducido en una secci´on anterior. Lo que en ese momento se llam´o controlador, ser´a implementado por medio de las funciones de deseo de movimiento, ya que como se dijo, estas funciones mapean desde un conjunto Ω con la informaci´o de control a un valor que indica en que medida debe encenderse cada uno de los motores de la trac- ci´on diferencial, que son los acutadores del problema. De este razonamiento se

xli

(42)

puede concluir que el conjunto Ω es el conjunto de toda la informaci´on ambi- ental y de par´ametros de control para el robot. Para implementar el control, debe determinarse en forma detallada las condiciones de activaci´on de cada uno de los comportamientos y los efectos que generan sobre las funciones de deseo de movimiento, an´alizandolos en forma independiente, generando as´ı las bases necesarias para el desarrollo de las funciones de deseo de movimiento.

Generalidades

• La notaci´on usada en cada elemento ser´a parecida, debido a que en lam ayor´ıa de los casos se tratar´a 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 compa˜neros, buscar objetivos y evitar obst´aculos respectivamente.

Por ejemplo, se dijo que el robot tiene sensores diferentes para detecci´on de cada tipo de elemento, y cada uno de estos sensores tiene un radio m´aximo o cr´ıtico de detecci´on. As´ı, este radio m´aximo se denotar´a dpcrit, dgcrit y docrit para detecci´on de compa˜neros, detecci´on objetivos y detec- ci´on de obst´aculos respectivamente.

• Todos los comportamientos afectan las funciones ϕ y ψ en formas inde- pendientes. Por medio de un par´ametro b ≥ 0 se mide el efecto de cada comportamiento sobre la funci´on de cambio de giro, mientras que este efecto sobre la funci´on de velocidad se mide con un un par´ametro ν ≥ 0.

Para los dos par´ametros, un valor de cero implica un efecto nulo (si se detecta ese elemento no se sigue o evita). La configuraci´on de valores

´

optimos para todos estos par´ametros depende de la tarea en particular.

• El robot no puede detectar un elemento si este est´a a una distancia mayor a una distancia cr´ıtica de detecci´on. Para realizar el modelamiento o la simulaci´on del control lo primero que se har´a para evaluar la activaci´on 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 compa˜nero, un objetivo y un obst´aculo respectivamente.

xlii

(43)

• 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 reducci´on del ´angulo de objetivo mostrado en la figura 2. Si se hace que el ´angulo θg tienda a cero, el robot caminar´a en l´ınea recta en b´usqueda del objetivo. Este mismo criterio se usa cuando se quiere alcanzar un compa˜nero con el ´angulo que se presenta entre la direcci´on del ´angulo y la recta que une el robot con el compa˜nero (θp). Por otro lado, para evitar obst´aculos, se usa este criterio en forma inversa, buscando que ese ´angulo medido con respecto a un obst´aculo en el camino tienda a aumentar.

• Todos los ´angulos se miden en radianes, y todos las funciones de medici´on de efecto de comportamiento sobre ϕ y ψ (e.g., δo, δro) son adimensionales.

• El control en lazo cerrado permite evaluaci´on continua del valor ´optimo de las funciones ϕ y ψ. La medida de “que tan lejos” se est´a de logra que el movimiento del robot se vea afectado completamente por un compor- tamiento (i.e. rotar al robot aline´andolo 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 funci´on de deseo de velocidad, generando una condici´on ψ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 m´as cercano (en caso de tener varios en el mismo campo), aunque el robot siente la misma misma “atracci´on” por cada uno. Si se tiene m´as 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 par´ametros mostrados en la tabla 2.

xliii

Referencias

Documento similar

La heterogeneidad clínica de esta patolo- gía hizo que se considerasen a numerosos genes de pro- teínas de la matriz extracelular (elastina, fibronectina, genes de los colágenos de

Volviendo a la jurisprudencia del Tribunal de Justicia, conviene recor- dar que, con el tiempo, este órgano se vio en la necesidad de determinar si los actos de los Estados

[r]

&#34;No porque las dos, que vinieron de Valencia, no merecieran ese favor, pues eran entrambas de tan grande espíritu […] La razón porque no vió Coronas para ellas, sería

Abstract: This paper reviews the dialogue and controversies between the paratexts of a corpus of collections of short novels –and romances– publi- shed from 1624 to 1637:

Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

En cada antecedente debe considerarse como mínimo: Autor, Nombre de la Investigación, año de la investigación, objetivo, metodología de la investigación,