ES
Buscar
Por qué la visualización de datos es tan importante en robótica

Por qué la visualización de datos es tan importante en robótica

Adrian McNeil es cofundador y director ejecutivo de Foxglove, una startup que ofrece un potente software de gestión y visualización de datos para robótica. Antes de fundar Foxglove, dirigió la infraestructura y las herramientas de desarrollo en Cruise, empresa de conducción autónoma.

McNeil se dedica a mejorar la productividad de los desarrolladores y considera que optimizar el ciclo de retroalimentación con los desarrolladores es fundamental para innovar rápidamente en robótica.

Según él, cuando pensamos en el desarrollo de la robótica, a menudo imaginamos un proceso lógico y sistemático. Aunque no suponemos que sea fácil o sencillo, podemos pensar que es relativamente objetivo: el objetivo final es evidente y los pasos para alcanzarlo son medibles.

Pero olvidamos que, al desarrollar tecnologías nuevas, necesitamos formas igualmente nuevas de probarlas y solucionar sus problemas. No se trata solo de un robot nuevo, sino también de herramientas y procesos completamente nuevos que hay que inventar para crearlo. Como ocurre con cualquier territorio inexplorado, estas herramientas y procesos aún están en desarrollo y evolucionan junto con el producto y las personas que lo crean.

La visualización de datos es una de las herramientas más importantes de este tipo. Presenta datos complejos y detallados en un formato útil, lo que permite tomar decisiones igual de complejas y detalladas sobre cómo funciona el robot y cómo puede mejorarse. Una herramienta así elimina el ruido irrelevante y realza las señales importantes. 

«Esto aporta el sentido y el orden tan necesarios a la naturaleza increíblemente multidimensional de los datos robóticos. Como ciencia exacta que queremos que sea la robótica, sigue siendo en gran medida un ejercicio subjetivo, con innumerables juicios humanos que nos acercan un paso más a nuestro objetivo final: un mundo en el que nuestra vida cotidiana sea mejor y más rica gracias a la tecnología robótica»

Adrian McNeilcofundador y director ejecutivo de Foxglove

Desarrollo de software tradicional frente a desarrollo de robótica

Para entender de verdad la importancia de la visualización de datos en robótica, primero hay que comprender en qué se diferencia el desarrollo de robótica del desarrollo de software tradicional.

Diagnosticar la causa raíz de los problemas en el desarrollo de software tradicional es un proceso relativamente binario: el código hace o no hace lo que debe hacer en un momento dado. Hay una expectativa clara de lo que debe ocurrir en cada escenario posible. 

Siguiendo el rastro del error y ejecutando pruebas en cada etapa del camino, por ejemplo registrando valores, comprobando resultados esperados y reales, o activando y desactivando funciones concretas, los ingenieros pueden identificar con bastante precisión la línea de código que causó el problema.

Por otro lado, depurar problemas en el desarrollo de robótica rara vez es tan lineal. Averiguar qué ha fallado en un sistema robótico suele ser un proceso mucho más complejo y, por tanto, abierto. Por ejemplo, cuando un robot móvil autónomo (AMR) choca con otro objeto, no hay una "ruta de código" evidente ni un culpable. 

Hay innumerables razones por las que esto podría haber ocurrido, igual que hay muchas razones por las que una persona podría chocar con un obstáculo. Quizá el AMR no vio el obstáculo porque estaba detrás de una esquina, o quizá calculó mal su propia trayectoria para evitar la colisión. Las causas ni siquiera están relacionadas con el software: es posible que los frenos del AMR hayan fallado o que su cámara quedara tapada por un momento por algo.

No existe un protocolo metodológico único que seguir, y la raíz del problema puede deberse a una serie de problemas más pequeños e interrelacionados que atraviesan varias capas de la pila de robótica. Las soluciones suelen ser condicionales y situacionales, por lo que, durante la depuración, la información contextual debe tenerse en cuenta tanto como el código literal que aparece en pantalla.

Visualización de datos para robótica

Para resolver esta complejidad de la depuración se necesita una nueva generación de herramientas sofisticadas para explorar los múltiples aspectos de los datos robóticos. Aquí es donde entra en juego la visualización de datos robóticos.

En los primeros días de Cruise, empresa dedicada a los coches autónomos, el personal comprobó en carne propia lo doloroso que era desarrollar robots sin las herramientas adecuadas. 

Para depurar datos o resultados de simulaciones, los ingenieros tenían que instalar un entorno de desarrollo completo en una máquina con Ubuntu y luego descargar un pequeño número de herramientas de código abierto distintas, como rviz, rqt y otras. Después, debían iniciar manualmente la reproducción de un archivo de registro y reorganizar varias ventanas en la pantalla para usarlas al mismo tiempo. 

Los ingenieros podían preparar con paciencia la disposición de ventanas en su pantalla para un flujo de trabajo concreto, pero cambiarla para otro flujo o copiarla en el ordenador de un compañero de equipo les quitaba un tiempo valioso. Aunque estas herramientas hacían bien su trabajo individual, estaba claro que no se habían diseñado para usarse juntas ni con un equipo más grande de especialistas en robótica. 

Eran torpes de usar por separado, difíciles de integrar entre sí y imposibles de compartir con los compañeros de forma significativa. La capacidad de iterar con los robots se veía seriamente obstaculizada, no por el talento del equipo, sino por la incapacidad de extraer rápidamente información útil de los datos.

Esto dio lugar a un proyecto de hackatón, en el que un grupo de ingenieros vio la oportunidad de mejorar este flujo de trabajo. Presentaron una herramienta web de visualización de datos que gustó tanto que recibió una gran ovación y, finalmente, se convirtió en una herramienta interna con su propio equipo especializado. 

Esa herramienta fue Webviz, que finalmente se abrió para que otros especialistas en robótica pudieran aprovechar un conjunto de herramientas mejor integrado. Con el tiempo, la empresa reconoció la influencia que Webviz había tenido en Cruise y decidió fundar Foxglove para seguir resolviendo los problemas comunes de la robótica como sector en su conjunto. 

«Lanzamos Foxglove Studio para ayudar a los usuarios a visualizar y depurar sus datos robóticos, y Foxglove Data Platform para ayudarles a almacenarlos y gestionarlos en un repositorio central. Con la visualización de datos podemos entender rápidamente nuestros datos desde distintos ángulos, con distintas vistas y para distintos flujos de trabajo, con el fin de decidir el siguiente paso del desarrollo. Así es como podemos explorar situaciones no binarias y aplicar los juicios humanos necesarios para llevar la robótica al futuro»

Adrian McNeilcofundador y director ejecutivo de Foxglove

La visualización interactiva y rica de datos es fundamental para que los especialistas en robótica participen en las investigaciones más abiertas que exige el desarrollo de la robótica. Permite a los especialistas usar su intuición y experiencia para empezar a depurar un problema concreto. Les ayuda a sintetizar los juicios subjetivos y objetivos, igual de importantes, necesarios para solucionar problemas en su trabajo. 

Les ayuda a entender de un vistazo cómo funcionan actualmente sus robots y cómo podrían mejorarse, para poder introducir cambios con más eficacia.

Distintas herramientas de visualización de datos pueden ayudar a emitir distintos juicios al resolver distintas tareas. Cada paso del flujo de depuración o análisis puede beneficiarse de una combinación de herramientas diferentes. Por ejemplo, en Foxglove Studio los usuarios pueden elegir entre una amplia colección de paneles de visualización para crear disposiciones de depuración personalizadas.

Cada panel tiene una función específica: en uno se pueden representar valores, en otro marcar coordenadas en un mapa y en un tercero mostrar modelos 3D en una escena interactiva. Tanto si está depurando la pila de planificación de un robot como si supervisa su diagnóstico, existe una herramienta de visualización para esa tarea.

Gracias a las visualizaciones de datos interactivas y ricas, las herramientas por fin pueden estar a la altura de las ambiciones. Ahora es posible explorar, analizar y comprender con más profundidad datos que antes eran impenetrables, para acelerar el avance hacia el objetivo.

El futuro de la robótica y la visualización de datos

A pesar de su aparente objetividad, el desarrollo de la robótica no está libre de decisiones subjetivas y creativas. Aunque el resultado final puede ser concreto, como que "el robot ya puede maniobrar por el suelo de un almacén", los medios con los que los investigadores lo consiguen forman un proceso iterativo sin fin que exige una intervención humana considerable. 

«Para presentar con éxito los robots al gran público, debemos reconocer que la robótica es un campo más abierto, que plantea más problemas interrelacionados, tiene más soluciones situacionales y, por tanto, requiere más herramientas diversas que el desarrollo de software tradicional»

Adrian McNeilcofundador y director ejecutivo de Foxglove

En el desarrollo de robótica siguen existiendo muchos retos por resolver: infraestructuras de prueba engorrosas, plazos impredecibles en el desarrollo de hardware y una gestión de datos escalable. La lista podría seguir. Pero hay algunas mejoras que impactarán mucho en todo el sector robótico, como las buenas herramientas de visualización de datos.