Agentes Robóticos Autónomos
Los agentes tienen su origen en la psicología, inteligencia
artificial, y la inteligencia artificial distribuida, integrando
aspectos de aprendizaje, planeación, razonamiento, representación
de conocimiento, y tienen como objetivos ejecutar tareas complejas
en beneficio de los usuarios, que de otra manera serían difíciles
de lograr. Los usuarios tienen la posibilidad de asignar objetivos
a ser cumplidos por los agentes; en contraste a los sistemas de
software convencionales que limitan a los usuarios a objetivos previamente
especificados que no pueden alterarse.
Un agente es todo aquello que puede considerarse que percibe
su ambiente mediante sensores y que responde o actúa
en tal ambiente por medio de efectores (Rusell & Norvig
1995).
Un agente autónomo es aquel cuya conducta se basa
principalmente en su propia existencia, aunque pudiendo utilizar
cierto conocimiento ya integrado.
Así como la evolución ha dotado a los animales con
una dotación suficiente de reflejos incorporados a fin de
que sobrevivan lo suficiente hasta que sean capaces de aprender
por si mismos, también es razonable dotar a un agente inteligente
con ciertos conocimientos iniciales y de habilidad para aprender.
Cuando un agente actúa basándose en suposiciones
en él integradas, su comportamiento será satisfactoria
sólo en la medida en que tales suposiciones sean vigentes,
y por ello carecerá de flexibilidad. Un auténtico
agente autónomo deberá ser capaz de funcionar satisfactoriamente
en una amplia gama de ambientes, considerando que se le de tiempo
suficiente para adaptarse. Hay poca o ninguna dependencia en representaciones
abstractas del mundo, y los comportamientos en lugar de los planes
son el medio por los cuales el robot interactúa con el mundo.
Existen diferentes tipos de agentes autónomos:
- Agentes humanos tienen órganos, como ojos y oídos,
que sirven de sensores, mientras que partes del cuerpo, como manos,
piernas y boca, sirven de efectores.
- Agentes robóticos sustituyen sensores por cámaras
y lectores, por ejemplo, infrarrojos o de ultrasonido, y los efectores
son reemplazados mediante motores.
- Agentes de software reciben percepciones y ejecutan acciones
que tiene como formato cadenas de bits codificados.
Las agentes de software varían y se pueden clasificar en:
- asistentes expertos, agentes de software que asisten
a los usuarios en decisiones complejas o procesamiento de conocimiento,
como el monitoreo médico, control industrial, administración
de procesos de negocios, manufactura, y manejo de tráfico
aéreo.
- softbots, agentes de software que interactúan
con ambientes de software del mundo real, como sistemas operativos,
el Internet, y el Web.
- agentes sintéticos, agentes de software que operan
en ambientes simulados, como mundos virtuales, MUDS, o juegos
de video. Se enfatizan cualidades como credibilidad y personalidad,
en lugar de inteligencia o especialización, y pueden jugar
papeles en sistemas interactivos para entretenimiento, arte y
educación.
Los agentes autónomos se estudian como agentes sencillos
o como múltiples agentes.
Múltiples Agentes Robóticos Autónomos
Existe una gran cantidad de trabajo en sistemas de múltiples
agentes. Un trabajo inicial importante es el sistema CEBOT de Fukuda's
que demuestra el comportamiento auto-organizante de un grupo de agentes
robóticos heterogéneos. La investigación de Beni
y Hackwood's sobre enjambres de robótica (swarm robotics) demuestran
cooperación a gran escala a nivel en una simulación.
Trabajo en el MIT, por Brooks y Mataric, muestran el desarrollo de
grupos de agentes basados en la arquitectura "subsumption".
Estos sistemas caracterizan por su control reactivo:
- Una descomposición de las metas del robot en una colección
de comportamientos primitivos.
- Los comportamientos son activados por arbitraje o permiten activación
concurrente.
- Estrategias perceptuales están fuertemente asociadas
con cada comportamientos reactivos, ofreciendo sólo la
información necesaria para cada actividad; y los modelos
globales del mundo son generalmente evitados, ofreciendo respuestas
robóticas más rápidas en tiempo real.
Muchos sistemas han sido desarrollados que incluyen múltiples
unidades para llevar a cabo tareas de "foraging", "grazing",
y consumo de objetos:
- "Foraging" consiste de una búsqueda de objetos
en el ambiente (referidos como atractores) y llevarlos de regreso
a una ubicación central. Robots que ejecuten esta tarea
serían útiles para la recolección de basura
o recolección de especímenes en ambientes peligrosos.
- "Grazing" es similar a cortar el césped, un
equipo de robots debe cubrir adecuadamente el ambiente. Robots
que ejecuten esta tarea serían útiles para cortar
el césped, sembrar o cesachar los campos, aspirar el polvo
de la casa, patrullaje, o simplemente remover basura.
- Consumo requiere que el robot haga un trabajo con los atractores,
donde éstos se encuentren, en lugar de llevarlos de regreso.
Aplicaciones de este tipo pudieran incluir limpieza de residuos
tóxicos, tareas de ensamblaje o limpieza.
Mecanismos de comunicación incluyen:
Comunicación de estado mejora el rendimiento de un sistema
social de manera cuantificable. Cuando se utiliza la comunicación
de estado, los robots pueden detectar los estados internos (vagar,
adquirir, o entregar) de los demás robots de manera análoga
al comportamiento desplegado por los animales.
Comunicación de meta involucra la transmisión y recepción
de información específica orientada a las metas. La
implementación en robots móviles requiere codificación,
transmisión, recepción y decodificación de
datos.
Se puede ver un comportamiento emergente durante el fenómeno
de enlistar, el esfuerzo compartido de muchos robots para ejecutar
una tarea, lo cual ocurre incluso en la ausencia de comunicación
entre agentes.
Poca investigación se ha hecho sobre sistemas de agentes
múltiples basados en estudios biológicos y aún
menos en sistemas compuestos de múltiples robots. Estos aspectos
son tratados como parte del proyecto de investigación titulado
Robots Ecológicos: Un
Enfoque Teórico Esquemático.
Arquitectura de Robot Autónomo (AuRA)
En la Arquitectura de Robot Autónomo (AuRA - Autonomous Robot
Architecture) desarrollada en el Laboratorio de Robots Móviles
de la Escuela de Computación en Georgia Tech, se utiliza
una arquitectura híbrida reactiva y planeada, donde esquemas
motrices proveen el componente reactivo de navegación. En
lugar de planear determinando de antemano la ruta exacta a través
del mundo y luego tratando de que el robot la siga, los esquemas
motrices (comportamientos) son seleccionados e instanciados de manera
que permitan al robot interactuar de forma exitosa con eventos inesperados
mientras trata de satisfacer sus metas de más alto nivel.
Las salidas de los esquemas motrices son en cierta forma análogos
a campos potenciales. Múltiples esquemas activos están
usualmente presentes, cada uno produciendo un vector de velocidad
dirigiendo al robot en respuesta a su estímulo perceptual.
El robot necesita computar un sólo vector en su ubicación
actual. Cada uno de los esquemas individuales otorga su contribución
al movimiento del robot en una ubicación centralizada. Los
vectores resultantes son sumados y normalizados para ajustarse a
los límites del vehículo robótico, resultando
una sóla velocidad combinada para el robot. Estos vectores
son actualizados continuamente según llega nueva información
perceptual, con el resultado siendo una respuesta inmediata a cualquier
datos sensoriales.
Las ventajas de esta forma de navegación son muchas. Incluyen
computación rápida y la habilidad de poderse mapear
a arquitecturas paralelas haciendo posible lograr respuestas en
tiempo real. La construcción modular permite facilidad de
integración de nuevos comportamientos motrices simplificando
el mantenimiento del sistema y la facilidad de transferencia a nuevos
dominios de problema. Esquemas motrices reflejan la incertidumbre
en la percepción, cuando tal medida existe, y también
reaccionan inmediatamente a datos sensoriales del ambiente. Todos
estos factores contribuyen a las necesidades de sistemas navegacionales
que asistirán con éxito a las metas intencionales
del robot. MissionLab
está diseñado para apoyar tal sistema en un ambiente
simulado.
|