Imagine por un momento que le pide a alguien que tiene las manos sobre propio regazo, que coja una taza de café que está sobre una mesa. De manera natural, esa persona sacará el brazo de debajo de mesa y lo estirará hacia la taza de café para cogerla. Se trata de un acción muy sencilla. Sin embargo, no pensaríamos lo mismo de dicha acción, si quien la realiza es un robot.
Gracias a la combinación de dos algoritmos desarrollados en el MIT (Massachusetts Institute of Technology) ahora es posible ordenar acciones similares a un robot, y que éste responda como lo haría una persona. En este caso, haciendo un movimiento zigzag de ida y vuelta con la mano robótica y un último esfuerzo, casi gimnástico, para llegar hasta la taza, según recoge el propio MIT en un comunicado.
El robot en cuestión realiza un movimiento tan intuitivo que puede parecer un ser humano, de hecho, la planificación de una trayectoria alrededor de los obstáculos en el espacio libre es un cálculo tan complejo, que la mayoría de los algoritmos de planificación de movimiento renuncian a la idea de encontrar el camino más eficiente entre la posición inicial del robot y su objetivo, buscando simplemente un camino sin colisiones.
Mediante la combinación de dos innovadores algoritmos desarrollados en el MIT, los investigadores del CSAIL (Laboratorio de Ciencias de la Computación e Inteligencia Artificial) y el LIDS (Laboratorio de Sistemas de Información y Decisión) han creado un nuevo sistema robótico para planificar el movimiento que calcula las trayectorias mucho más eficiente a través del espacio libre. El avance será presentado este mismo mes, en la Conferencia Internacional sobre Robots y Sistemas Inteligentes del IEEE (Instituto de Ingenieros Eléctricos y Electrónicos), con un documento que describe la aplicación del algoritmo de un brazo robótico.
Movimiento casi humano
No se trata sólo de que los robots estén dirigidos por un sistema de movimiento más eficiente, en el que se ahorra además tiempo y energía, sino que además éstos se mueven de forma más predecible, una consideración crucial si van a interactuar con los humanos. «Las personas se sienten más cómodas cuando el robot se comporta de la manera que lo haría un humano», señala Matthew Walter, científico del CSAIL y uno de los co-autores del nuevo documento.
Las acciones humanas tienden a seguir rutas más directas desde el origen hasta la meta. «El problema de la mayoría de los planificadores de movimiento es que, aunque son muy buenos para encontrar soluciones viables con sistemas muy complejos, no lo son para encontrar la ruta óptima», añade Walter.
En principio, el cálculo de la ruta óptima requiere a su vez la evaluación de todos los caminos posibles, el rechazo de los que introducen las colisiones con obstáculos y seleccionar los más eficientes entre los que quedan. Sin embargo, para un robot con la suficiente libertad de movimiento, este cálculo llevaría demasiado tiempo. Así que, por lo general, explica Walter, un algoritmo de planificación de movimiento en lugar de empezar a escoger puntos al azar de su entorno, determina si cada uno es alcanzable desde el punto más cercano que ya ha sido evaluado.
De esta manera, el algoritmo genera un mapa, libre de colisiones entre las trayectorias de los puntos, algo así como un mapa del metro superpuesto sobre el mapa de una ciudad.
Proyecto colaborativo
A principios de este verano, el estudiante graduado Sertac Karaman y el profesor asociado de Aeronáutica y Astronáutica Emilio Frazzoli, ambos de LIDS, presentaron una nueva variante en el algoritmo para que éste generara trayectorias más eficientes. Cada vez que el algoritmo evalúa un nuevo punto, seleccionado al azar, no sólo determina si es accesible desde el punto más cercano evaluado anteriormente sino que considera todos los puntos previamente evaluados dentro de un radio determinado del nuevo, y define cual ofrece el camino más corto desde el punto de partida. Lo que lleva a caminos que están mucho más cerca de la actuación óptima.
Frazzoli y Karaman se unieron a Walter, al profesor Seth Teller del CSAIL, al investigador asociado Alexander Shkolnik y a Alejandro Pérez en la nueva investigación. Para hacer el controlador aún más eficaz, los investigadores han adaptado otro algoritmo más, que Shkolnik desarrolló en su tesis doctoral. El algoritmo de Shkolnik asume que cada nuevo punto que se añade al mapa tiene una esfera de espacio abierto alrededor, por lo que el algoritmo no evalúa ningún otro punto dentro de esa esfera. Según se expande el mapa, el algoritmo descubre nuevas posibles fuentes de colisiones y reescala la esfera de acuerdo a estas fuentes. Pero utilizando algunas técnicas de estimación, el algoritmo puede diseñar una ruta inicial muy rápidamente. A partir de este momento, el nuevo sistema utiliza el algoritmo de Frazzoli y Karaman para afinar la ruta.
Este algoritmo asume que cada nuevo punto que se añade a su mapa tiene una esfera de espacio abierto alrededor de ella, por lo que no se evalúa ningún otro punto dentro de esa esfera. A medida que el mapa se amplía, el algoritmo descubre nuevas fuentes posibles de colisión y cambia en consecuencia la escala de las esferas. Pero al hacer algunas conjeturas, el algoritmo se puede planificar una ruta inicial rápidamente. El nuevo sistema de los investigadores utiliza a continuación el algoritmo Frazzoli y Karaman para redefinir la ruta.
En las simulaciones de un robot tratando de agarrar un objeto con una mano robótica, el algoritmo estándar necesitó casi cuatro veces más de tiempo que el nuevo para calcular una ruta inicial, y terminó con una ruta espacial que era casi tres veces más larga. Además de las pruebas del algoritmo en las simulaciones, los investigadores también lo han probado en un robot en el CSAIL.
Sachin Chitta, un científico investigador de Willow Garage, la empresa que fabrica el PR2, dice que él y sus colegas ya están evaluando el nuevo algoritmo de los investigadores del MIT con idea de añadirlo al paquete de software de planificación de movimiento que viene con el robot. Por el momento, Chitta señala que el algoritmo es «probablemente más lento de lo que nos gustaría». Pero aumentar la velocidad de un nuevo algoritmo, según explica, «a veces es simplemente cuestión de optimizar el código”. «Ya casi lo tenemos y probablemente será una de las opciones que más le guste a la gente”, finaliza Chitta.
Hacer un comentario