Los robots contemporáneos pueden moverse rápidamente. «Los motores son rápidos y potentes», dice Sabrina Neuman.
Sin embargo, en situaciones complejas, como interacciones con personas, los robots a menudo no se mueven rápidamente. «El colgar es lo que está pasando en la cabeza del robot», agrega.
Percibir estímulos y calcular una respuesta requiere una «gran cantidad de cálculos», lo que limita el tiempo de reacción, dice Neuman, quien recientemente se graduó con un doctorado del Laboratorio de Ciencias de la Computación e Inteligencia Artificial del MIT (CSAIL). Neuman ha encontrado una manera de combatir este desajuste entre la «mente» y el cuerpo de un robot. El método, llamado computación robomórfica, utiliza el diseño físico de un robot y las aplicaciones previstas para generar un chip de computadora personalizado que minimiza el tiempo de respuesta del robot.
El avance podría impulsar una variedad de aplicaciones robóticas, incluida, potencialmente, la atención médica de primera línea de pacientes contagiosos. «Sería fantástico si pudiéramos tener robots que pudieran ayudar a reducir el riesgo para los pacientes y los trabajadores del hospital», dice Neuman.
Neuman presentará la investigación en la Conferencia internacional de abril sobre soporte arquitectónico para lenguajes de programación y sistemas operativos. Los coautores del MIT incluyen al estudiante de posgrado Thomas Bourgeat y Srini Devadas, el profesor de ingeniería eléctrica Edwin Sibley Webster y asesor de doctorado de Neuman. Otros coautores incluyen a Brian Plancher, Thierry Tambe y Vijay Janapa Reddi, todos de la Universidad de Harvard. Neuman es ahora un becario postdoctoral de NSF Computing Innovation en la Escuela de Ingeniería y Ciencias Aplicadas de Harvard.
Hay tres pasos principales en el funcionamiento de un robot, según Neuman. La primera es la percepción, que incluye la recopilación de datos mediante sensores o cámaras. El segundo es el mapeo y la localización: «Basándose en lo que han visto, tienen que construir un mapa del mundo que los rodea y luego localizarse dentro de ese mapa», dice Neuman. El tercer paso es la planificación y el control del movimiento, en otras palabras, trazar un curso de acción.
Estos pasos pueden llevar tiempo y una enorme potencia informática. «Para que los robots se implementen en el campo y operen de manera segura en entornos dinámicos alrededor de humanos, deben poder pensar y reaccionar muy rápidamente», dice Plancher. «Los algoritmos actuales no se pueden ejecutar en el hardware de la CPU actual lo suficientemente rápido».
Neuman agrega que los investigadores han estado investigando mejores algoritmos, pero cree que las mejoras de software por sí solas no son la respuesta. «Lo que es relativamente nuevo es la idea de que también puede explorar un mejor hardware». Eso significa ir más allá de un chip de procesamiento de CPU estándar que comprende el cerebro de un robot, con la ayuda de la aceleración del hardware.
La aceleración de hardware se refiere al uso de una unidad de hardware especializada para realizar ciertas tareas informáticas de manera más eficiente. Un acelerador de hardware de uso común es la unidad de procesamiento de gráficos (GPU), un chip especializado para el procesamiento paralelo. Estos dispositivos son útiles para gráficos porque su estructura paralela les permite procesar simultáneamente miles de píxeles. «Una GPU no es la mejor en todo, pero es la mejor en lo que está diseñada», dice Neuman. «Obtiene un mayor rendimiento para una aplicación en particular». La mayoría de los robots están diseñados con un conjunto previsto de aplicaciones y, por lo tanto, podrían beneficiarse de la aceleración del hardware. Es por eso que el equipo de Neuman desarrolló la computación robomórfica.
El sistema crea un diseño de hardware personalizado para satisfacer mejor las necesidades informáticas de un robot en particular. El usuario ingresa los parámetros de un robot, como el diseño de sus extremidades y cómo se pueden mover sus diversas articulaciones. El sistema de Neuman traduce estas propiedades físicas en matrices matemáticas. Estas matrices son «escasas», lo que significa que contienen muchos valores cero que corresponden aproximadamente a movimientos que son imposibles dada la anatomía particular de un robot. (Del mismo modo, los movimientos de su brazo son limitados porque solo puede doblarse en ciertas articulaciones, no es un fideo de espagueti infinitamente flexible).
Luego, el sistema diseña una arquitectura de hardware especializada para ejecutar cálculos solo en los valores distintos de cero en las matrices. Por lo tanto, el diseño del chip resultante está diseñado para maximizar la eficiencia de las necesidades informáticas del robot. Y esa personalización dio sus frutos en las pruebas.
La arquitectura de hardware diseñada con este método para una aplicación en particular superó a las unidades de CPU y GPU listas para usar. Si bien el equipo de Neuman no fabricó un chip especializado desde cero, programaron un chip de matriz de compuertas programable en campo (FPGA) personalizable de acuerdo con las sugerencias de su sistema. A pesar de operar a una velocidad de reloj más lenta, ese chip se desempeñó ocho veces más rápido que la CPU y 86 veces más rápido que la GPU.
«Estaba emocionado con esos resultados», dice Neuman. «Aunque estábamos paralizados por la menor velocidad del reloj, lo compensamos simplemente siendo más eficientes».
Plancher ve un gran potencial para la computación robomórfica. «Idealmente, eventualmente podemos fabricar un chip de planificación de movimiento personalizado para cada robot, permitiéndoles calcular rápidamente movimientos seguros y eficientes», dice. «No me sorprendería si dentro de 20 años cada robot tuviera un puñado de chips de computadora personalizados que lo alimentaran, y este podría ser uno de ellos». Neuman agrega que la computación robomórfica podría permitir que los robots alivien a los humanos del riesgo en una variedad de entornos, como el cuidado de pacientes con covid-19 o la manipulación de objetos pesados.
A continuación, Neuman planea automatizar todo el sistema de computación robomórfica. Los usuarios simplemente arrastran y sueltan los parámetros de su robot, y «por el otro extremo viene la descripción del hardware. Creo que eso es lo que lo llevará al límite y lo hará realmente útil».
Esta investigación fue financiada por la National Science Foundation, la Computing Research Agency, el CIFellows Project y la Defense Advanced Research Projects Agency.