Una ventaja menos evidente pero igual de tangible de esta intensa investigación en el ámbito de la IA es la amplia disponibilidad de modelos utilizados por los ingenieros para construir e implementar prototipos y sistemas de producción temprana de forma rápida y sencilla. Junto con el hardware de alto rendimiento optimizado para prototipado rápido y producción temprana, los ingenieros disponen ahora de una manera de conceptualizar, implementar y comprobar sistemas de IA y robótica a mayor velocidad que nunca.

Una parte de la tecnología IA tiene su origen en áreas inesperadas. Los modelos de difusión, por ejemplo, fueron impulsados por las aplicaciones de reproducción realista de fotografías. Sin embargo, gracias a la flexibilidad de muchos de estos modelos resulta sencillo encontrar nuevos usos para estos modelos, como ofrecer aproximaciones más eficientes desde un punto de vista computacional pero también exactas de los flujos de fluidos complejos. Esta flexibilidad permite que los sistemas sean más accesibles para un abanico mucho más amplio de usuarios y ofrece la posibilidad de que los sistemas respondan con más rapidez en determinados entornos.
Un ejemplo que tiene una relación directa con el control embebido y la robótica procede de una competición promovida por Google en Kaggle en 2023. La compañía quería encontrar modelos de IA que se pudieran convertir de manera fiable en un lenguaje de signos con las manos que se capta mediante cámaras. Para ayudar a los participantes a desarrollar sus soluciones, Google cargó un conjunto de datos formado por tres millones de caracteres en el diccionario dactilológico de la lengua de signos estadounidense o ASL (American Sign Language).

software abierto robotica 0

Uno de los objetivos del proyecto Kaggle ASL fue facilitar la interacción con dispositivos como los smartphones, muchos de los cuales incorporan aceleradores compatibles con lenguajes de IA muy utilizados, como Tensorflow Lite y PyTorch. La dactilología solo es una parte del ASL; usa las formas de las manos para representar cada letra, pero a menudo se emplea para comunicar nombres, direcciones, números de teléfono y otras informaciones de este tipo. Los experimentos dactilológicos con la ASL han permitido averiguar que a menudo es más rápido que pulsar las teclas en la interfaz de un teléfono o una tablet.
Se pueden emplear las mismas técnicas con los vehículos robóticos en el entorno ruidoso de una fábrica, donde el control por voz resulta práctico porque los operadores no están en condiciones de interaccionar con un teclado o una pantalla táctil debido a la presencia de suciedad, polvo o grasa. Los signos con las manos ofrecen un mecanismo para controlar estos vehículos de forma sencilla y eficiente: la combinación de software y hardware abierto puede proporcionar el soporte de la IA necesario para interpretar los signos de las manos ante una cámara y enviar instrucciones a los sistemas de movimiento de un robot.
Proyectos como el conjunto de datos de Google para ASL facilitan la disponibilidad de material. Los usuarios tienen la posibilidad de tomar modelos obtenidos en proyectos como este o de utilizar los conjuntos de datos para entrenar modelos con arquitecturas apropiadas para sus casos de uso siempre que los materiales se suministren en forma de software gratuito o de código abierto.

Herramientas como la Plataforma Unificada de Software AMD Vitis facilitan el acceso a entornos de procesamiento y software de alto rendimiento capaces de albergar este código abierto que se suele escribir en TensorFlow Lite, PyTorch u otros entornos abiertos de desarrollo de IA. La plataforma Vitis permite a los ingenieros desarrollar código de aplicación C/C++ y bloques de propiedad intelectual (IP) destinados al MPSoC (multiprocessor system-on-chip) de AMD. La solución se puede instalar luego por medio de ordenadores monoplaca, bien sea comerciales o a medida, como el ZUBoard 1CG de Tria que se basa en el MPSoC Zynq UltraScale+. Estos dispositivos de alto rendimiento están formados por procesadores multinúcleo basados en la arquitectura Arm Cortex-A y una estructura de células de lógica programable. El hardware resultante no solo proporciona el rendimiento necesario para ejecutar aplicaciones robóticas que requieran IA, sino que también incorpora una lógica programable que es muy adecuado para implementar algoritmos sofisticados destinados al control de motores.

El soporte al control del robot ahora resulta tan accesible gracias a la creación de Robot Operating System (ROS), creado por un grupo de la Universidad de Stanford pero gestionado ahora por la Open Source Robotics Foundation (OSRF). El lanzamiento de ROS2 supuso un cambio en las prestaciones que convierten a este software en una opción viable para el control industrial y el manejo de drones comerciales mediante la incorporación de funciones de procesamiento del movimiento en tiempo real y seguridad. AMD llevó el código del ROS2 al sistema operativo PetaLinux que se ejecuta en el hardware del MPSoC para facilitar la integración a los clientes.
Con ROS2, los desarrolladores crean aplicaciones robóticas por medio de gráficos comprensibles y organizados siguiendo un flujo de editor-suscriptor, una modalidad de diseño que se suele aplicar a sistemas de control industrial y de automoción. En estos gráficos, los suministradores de datos y entradas se tratan como nodos del editor que transmiten información sobre asuntos específicos a los nodos de suscriptores que actúan sobre ellos.

Esta estructura facilita la integración de los módulos necesarios para obtener un sistema robótico operativo. Las cámaras conectadas a interfaces MIPI estándar pueden trabajar con nodos que ejecuten software de procesamiento de imágenes como OpenCV que pueden ajustar el brillo, el contraste y realizar otras funciones de mejora para proporcionar una secuencia de imágenes de alta calidad a un modelo de clasificación de imágenes. Ese modelo publica a continuación las salidas textuales que son consumidas por el software de control del movimiento empleado por el robot. En el caso de esta aplicación basada en ASL, las letras dactilológicas le indican al robot que gire, avance y pare. Una vez ensamblada, compilada y descargada en el robot, la aplicación no tiene por qué considerarse estática.

software abierto robotica 1

El rápido ritmo de desarrollo de la IA y el software de control de robots con código abierto abre oportunidades a los desarrolladores para optimizar sus sistemas. La demostración original de Tria de un robot controlado por ASL utilizó un modelo de clasificación de signos con las manos basado en la arquitectura VGG-16 y entrenado con el conjunto de datos de Google. Hace una década, los investigadores del Grupo de Geometría Visual de la Universidad de Oxford desarrollaron esta conocida red neuronal convolucional profunda para proporcionar una buena exactitud a una gran variedad de tareas de reconocimiento de imágenes. Una ventaja fundamental de VGG-16 reside en sus capas convolucionales seguidas por una serie de capas de máxima agrupación (pooling) con unas menores dimensiones pero una mayor profundidad. Esto ayuda al modelo a aprender representaciones jerárquicas de las características visuales, un atributo indicado para el reconocimiento de signos con las manos en el cual el modelo necesita detectar primero una forma válida de la mano en la imagen de la cámara y a partir de ella determinar la disposición de los dedos que representa un carácter ASL.
Si bien VGG-16 ofrece un buen rendimiento y ha demostrado la viabilidad del prototipo, cualquier plataforma embebida disfruta de una mayor eficiencia. Los desarrolladores de Tria la obtuvieron cambiando la VGG-16 por el clasificador más reciente MobileNet V2. Se trata de un conjunto de capas con una arquitectura más compleja, formada por más de un centenar de capas convolucionales, de agrupación y de cuello de botella. Así, la MobileNet V2 alcanza una mayor exactitud en la tarea de clasificación de ASL que VGG-16 con muchas menos operaciones computacionales por imagen. Esto permite ejecutar el modelo en el ZUBoard 1CG de Tria a más de veinte imágenes por segundo frente a tan solo dos o tres con VGG-16.

Este ejemplo muestra lo potente que es la combinación de hardware, software e IA de tipo abierto cuando se implementan conceptos de sistemas novedosos. Al escoger hardware con un elevado grado de compatibilidad con los entornos de desarrollo actualmente disponibles para aplicaciones robóticas y de IA, los desarrolladores pueden obtener una ventaja significativa en el plazo de comercialización de sus revolucionarias ideas.

Autor: Jim Beneke, Vicepresidente de Tria

Más información