Saltar al contenido

Ingenieros idean una receta para mejorar cualquier sistema robótico autónomo

23 de junio de 2022

Los robots autónomos han recorrido un largo camino desde el fastidioso Roomba. En los últimos años, los sistemas de inteligencia artificial se han implementado en automóviles autónomos, entrega de alimentos en la última milla, servicio de restaurante, detección de pacientes, limpieza de hospitales, preparación de comidas, seguridad de edificios y empaque de almacenes.

Cada uno de estos sistemas robóticos es producto de un proceso de diseño ad hoc específico para ese sistema en particular. Al diseñar un robot autónomo, los ingenieros deben ejecutar innumerables simulaciones de prueba y error, a menudo informadas por la intuición. Estas simulaciones se adaptan a los componentes y tareas de un robot en particular, con el fin de ajustar y optimizar su rendimiento. En algunos aspectos, diseñar un robot autónomo hoy en día es como hornear un pastel desde cero, sin receta ni mezcla preparada para garantizar un resultado exitoso.

Ahora, los ingenieros del MIT han desarrollado una herramienta de diseño general para que los especialistas en robótica la utilicen como una especie de receta automatizada para el éxito. El equipo ha ideado un código de optimización que se puede aplicar a simulaciones de prácticamente cualquier sistema robótico autónomo y se puede utilizar para identificar automáticamente cómo y dónde modificar un sistema para mejorar el rendimiento de un robot.

El equipo demostró que la herramienta podía mejorar rápidamente el rendimiento de dos sistemas autónomos muy diferentes: uno en el que un robot navegaba por un camino entre dos obstáculos y otro en el que un par de robots trabajaban juntos para mover una caja pesada.


Recomendado: ¿Qué es el Big data?.


Los investigadores esperan que el nuevo optimizador de propósito general pueda ayudar a acelerar el desarrollo de una amplia gama de sistemas autónomos, desde robots andantes y vehículos autónomos hasta robots suaves y diestros y equipos de robots colaborativos.

El equipo, compuesto por Charles Dawson, estudiante de posgrado del MIT, y ChuChu Fan, profesor asistente en el Departamento de Aeronáutica y Astronáutica del MIT, presentará sus hallazgos a fines de este mes en la conferencia anual Robótica: Ciencia y Sistemas en Nueva York.

diseño invertido

Dawson y Fan se dieron cuenta de la necesidad de una herramienta de optimización general después de observar una gran cantidad de herramientas de diseño automatizadas disponibles para otras disciplinas de ingeniería.

«Si un ingeniero mecánico quisiera diseñar una turbina eólica, podría usar una herramienta CAD 3D para diseñar la estructura y luego usar una herramienta de análisis de elementos finitos para verificar si resistirá ciertas cargas», dice Dawson. «Sin embargo, faltan estas herramientas de diseño asistido por computadora para sistemas autónomos».

Normalmente, un especialista en robótica optimiza un sistema autónomo desarrollando primero una simulación del sistema y sus muchos subsistemas que interactúan, como sus componentes de planificación, control, percepción y hardware. Luego debe ajustar ciertos parámetros de cada componente y ejecutar la simulación para ver cómo se desempeñaría el sistema en ese escenario.

Solo después de ejecutar muchos escenarios a través de prueba y error, un especialista en robótica puede identificar la combinación óptima de ingredientes para lograr el rendimiento deseado. Es un proceso tedioso, demasiado personalizado y lento que Dawson y Fan intentaron cambiar.

“En lugar de decir, ‘Dado un diseño, ¿cuál es el rendimiento?’ queríamos invertir esto para decir: ‘Dado el rendimiento que queremos ver, ¿cuál es el diseño que nos lleva allí?'», explica Dawson.

Los investigadores desarrollaron un marco de optimización, o un código de computadora, que puede encontrar automáticamente ajustes que se pueden realizar en un sistema autónomo existente para lograr el resultado deseado.

El corazón del código se basa en la diferenciación automática, o «autodiff», una herramienta de programación que se desarrolló dentro de la comunidad de aprendizaje automático y se usó inicialmente para entrenar redes neuronales. Autodiff es una técnica que puede «evaluar la derivada» de manera rápida y eficiente, o la sensibilidad al cambio de cualquier parámetro en un programa de computadora. Dawson y Fan se basaron en los avances recientes en la programación de diferencias automáticas para desarrollar una herramienta de optimización de propósito general para sistemas robóticos autónomos.

«Nuestro método nos dice automáticamente cómo dar pequeños pasos desde un diseño inicial hacia un diseño que logre nuestros objetivos», dice Dawson. «Usamos autodiff para profundizar esencialmente en el código que define un simulador y descubrir cómo hacer esta inversión automáticamente».

Construyendo mejores robots

El equipo probó su nueva herramienta en dos sistemas robóticos autónomos separados y demostró que la herramienta mejoró rápidamente el rendimiento de cada sistema en experimentos de laboratorio, en comparación con los métodos de optimización convencionales.

El primer sistema constaba de un robot con ruedas encargado de planificar un camino entre dos obstáculos, en función de las señales que recibió de dos balizas ubicadas en ubicaciones separadas. El equipo buscó encontrar la ubicación óptima de las balizas que generaría un camino claro entre los obstáculos.

Descubrieron que el nuevo optimizador trabajó rápidamente en la simulación del robot e identificó la mejor ubicación de las balizas en cinco minutos, en comparación con los 15 minutos de los métodos convencionales.

El segundo sistema era más complejo y constaba de dos robots con ruedas que trabajaban juntos para empujar una caja hacia una posición objetivo. Una simulación de este sistema incluía muchos más subsistemas y parámetros. Sin embargo, la herramienta del equipo identificó eficientemente los pasos necesarios para que los robots lograran su objetivo, en un proceso de optimización que fue 20 veces más rápido que los enfoques convencionales.

«Si su sistema tiene más parámetros para optimizar, nuestra herramienta puede hacerlo aún mejor y puede ahorrar exponencialmente más tiempo», dice Fan. «Es básicamente una elección combinatoria: a medida que aumenta la cantidad de parámetros, también aumentan las opciones, y nuestro enfoque puede reducir eso de una sola vez».

El equipo ha hecho que el optimizador general esté disponible para descargar y planea refinar aún más el código para aplicarlo a sistemas más complejos, como robots que están diseñados para interactuar y trabajar con humanos.

«Nuestro objetivo es capacitar a las personas para que construyan mejores robots», dice Dawson. «Estamos proporcionando un nuevo bloque de construcción para optimizar su sistema, para que no tengan que empezar desde cero».

Esta investigación fue financiada, en parte, por la Agencia de Ciencia y Tecnología de Defensa de Singapur y por IBM.

Resumen del artículo: https://roboticsconference.org/program/papers/037/