control gestual de robots

Hace unos días el mundo publicó un artículo sobre un robot controlado gestualmente. El robot es capaz de seguir a un operador humano en espacios interiores y exteriores y entiende órdenes gestuales y verbales simples. El éxito de la universidad de brown con éste robot es conseguir que el reconocimiento de imágenes funcione en diferentes condiciones de iluminación, sin que el operador tenga que llevar ropa especial y además parece que funciona en un portátil convencional. En el artículo original de la universidad de Brown, mencionan que utiliza un sensor de infrarrojo para mantener la distancia con el operador. Sobre el sistema de visión artificial dicen que funciona analizando la silueta del operador, de la que extrae los diferentes gestos y los convierte en instrucciones.

La idea es interesante desde el punto de vista del control del robot y sobretodo me interesa por la unión entre órdenes verbales y órdenes gestuales. Me pregunto si en algún momento podrán unificar ámbos sistemas para dar órdenes combinadas. Por ejemplo, levantar una palma para especificar que ejecute una orden más despacio para no hacer ruido.

El funcionamiento de este robot se puede relacionar con la fatiga cognitiva que aparece en la teleoperación, ya que el objetivo del proyecto según Chad Jenkins, el profesor que lidera el proyecto, es que el robot no se comporte como una marioneta y sea fácil de controlar.

¿qué esperar de los agentes inteligentes?

Hace unos años, los agentes inteligentes eran la gran promesa de la inteligencia artificial. Pero esa promesa, al igual que ha pasado históricamente con la propia inteligencia artificial, parece que no ha podido hacerse realidad. Y la razón de ese fracaso, en mi opinión es que la propia inteligencia artificial no ha avanzado lo suficiente, no el paradigma de agente inteligente.

Según la wikipedia, un agente inteligente es (a grandes rasgos) una entidad que observa y actúa en un entorno para intentar alcanzar unos objetivos. Los agentes inteligentes hay que entenderlos más cómo un paradigma de diseño que cómo una solución a un problema. Y entendidos como un paradigma de diseño, son innegablemente  útiles, ya que sirven para modelar un programa siguiendo un comportamiento inspirado en el de los seres vivos. También sirven para implementar la noción de agente situado en un entorno, que permite definir los límites en el sistema y así mejorar el rendimiento nuestro agente: no es necesario diseñar un agente que opere en cualquier entorno, sino uno que lo haga en el entorno que hemos definido. Lo importante para diseñar el agente no es sólo los objetivos, sino el entorno y la interacción con el mismo.

Sin embargo, el hecho de usar este paradigma no ayuda a resolver por sí mismo los problemas. Hay otro factor importante: a veces se plantea un problema en términos de agentes inteligentes y se espera que el simple planteamiento en estos términos sirva para resolver el problema. La realidad es que el problema es complejo de resolver empleando cualquier paradigma, el problema es complejo en términos absolutos, da igual cómo lo resolvamos.

Los agentes son una forma de modelar una solución problema, que ayudan en la división de problemas complejos y en la comunicación entre distintas entidades. Sin embargo mi opinión es que no mejoran por sí mismos la inteligencia del sistema. Podrían mejorar la inteligencia global por agregación de varias entidades inteligentes, apareciendo un comportamiento complejo por emergencia (varias mentes sencillas cooperando en paralelo en el mismo problema). Pero en general, si los agentes no son lo suficientemente inteligentes, es difícil que su inteligencia colectiva mejore lo suficiente por emergencia.

Así que mientras no mejoren los algoritmos en bruto de la inteligencia artificial, no creo que mejore la capacidad de los agentes inteligentes. Es por eso que si la inteligencia artificial no ha terminado de tener éxito, tampoco los agentes inteligentes lo tendrán.

Al final la realidad es que necesitamos otras técnicas de inteligencia artificial cómo el aprendizaje automático, las redes neuronales, redes bayesianas, o los motores de reglas. Quizá tengamos que descubrir algo nuevo, cómo por ejemplo, la memoria jerárquica temporal de numenta.

Lo que sí creo que facilitan los agentes inteligentes, aunque desconozco si se está utilizando o no, es la implementación de sistemas mixtos. El uso de varias técnicas se puede aunar utilizando agentes inteligentes, al usar los objetivos del agente cómo criterio unificador. Por ejemplo, en el caso de perseguir unos objetivos u otros se puede emplear unas técnicas de inteligencia artificial u otras. O se podrían mezclar los resultados de diferentes técnicas aplicadas al mismo problema, evaluando los resultados de cada técnica en vista de los objetivos del agente.

Éste es el sentido más apropiado que veo al diseño de aplicaciones mediante agentes, la unificación de distintas técnicas de inteligencia artificial, pero en cualquier caso los agentes están limitados por la capacidad de las distintas técnicas de inteligencia artificial.

Quizá cuándo se consiga dar ése salto de calidad, es posible que la emergencia de un comportamiento agregado de agentes nos lleve a otro nivel de inteligencia artificial colectiva más avanzada, pero por ahora es especulación.