Desde 2007, investigadores de todo el mundo han trabajado en el avance del Sistema Operativo de Robot (ROS). Este trabajo inicialmente se realizó en el Laboratorio de Inteligencia Artificial de Stanford y ahora es parte de la Fundación de Robótica de Código Abierto (OSRF). A pesar de lo que sugiere su nombre, ROS no es un sistema operativo independiente. En cambio, se basa en sistemas como Linux o Windows para actuar como una capa mediadora entre el hardware y el software. ROS ofrece, entre otros componentes, una amplia gama de controladores de dispositivos. Esto facilita la integración de nuevos sensores y actuadores en los sistemas existentes. Además, ROS se considera una "caja de herramientas de software" para investigación y automatización orientada a la aplicación.
Plataforma de ensamblaje para funciones de software
Desde 2019, Porsche Engineering ha estado utilizando ROS. Los ingenieros de la empresa, en colaboración con los ingenieros de ADAS en Porsche, han desarrollado interfaces de software complejas para conectar la capa ROS con los sistemas de bus de los vehículos de producción en serie. Esto permite que las nuevas características se integren sin problemas en los vehículos existentes, los cuales pueden actuar como una especie de "plataforma de ensamblaje para funciones de software". Este es el enfoque que Porsche Engineering ha adoptado en sus vehículos de prueba JUPITER (Joint User Personalized Integrated Testing and Engineering Resource). Estos vehículos pueden equiparse con una multitud de sensores para funciones de conducción automatizada, incluyendo actualmente cámaras estéreo y lidar. Marcel Pelzer, un ingeniero de desarrollo para sistemas de asistencia al conductor y líder del proyecto JUPITER en Porsche Engineering, informa que "Gracias a ROS, pudimos instalar e integrar los sensores lidar en solo una semana, y después de un día de puesta en marcha, pudimos comenzar a recolectar datos de prueba inmediatamente". Añade que "Los períodos de integración y puesta en marcha que oscilan entre varios días y varias semanas son bastante comunes".
Las aplicaciones de ROS se componen de nodos individuales que se comunican entre sí. Para facilitar esto, ROS proporciona muchas bibliotecas de software para el intercambio de datos estandarizado, visualización de datos, depuración y más. "Esto permite que los nuevos nodos empiecen a usar los datos de otros nodos inmediatamente", explica Pelzer. "No es necesario saber desde el principio quién debería comunicarse con quién. Los mensajes estandarizados también ayudan a adaptar los algoritmos a una amplia gama de sensores".
ROS es atractivo no solo para la construcción de robots, sino también para el desarrollo de nuevas funciones de conducción automatizada o conectada. Estas aplicaciones requieren que el nuevo software y los sensores estén disponibles rápidamente para los vehículos prototipo. Además de una simple integración de nuevo hardware, el concepto de nodo ofrece una ventaja decisiva: las funciones de los Sistemas Avanzados de Asistencia al Conductor (ADAS) se pueden implementar de manera flexible como nuevos nodos. La interacción entre estos nodos se puede probar en una plataforma unificada. Pelzer cita la implementación de una función avanzada de asistencia para estacionar como un prototipo. “En el desarrollo en serie, usualmente pasan varios meses antes de que las soluciones del proveedor para una función de asistencia al conductor estén disponibles en el vehículo. En el vehículo JUPITER, pudimos implementar una función de asistencia para el reconocimiento automático de peatones con solo un desarrollador y en la mitad del tiempo habitual”.
Además de la rápida implementación de nuevos sensores y funciones, los vehículos JUPITER ofrecen beneficios adicionales a los desarrolladores. Los sensores se instalan en posiciones que podrían ser utilizadas en la producción en serie futura, lo que permite evaluar cómo la posición del sensor afecta al algoritmo. Además, se puede acceder a los datos brutos de los sensores, al bus del vehículo y, por consiguiente, a todos los actuadores.
50 a 60 nodos en un vehículo JUPITER
Gracias a ROS, los desarrolladores pueden implementar nuevas funciones de conducción como nodos en ROS en cualquier momento sin demasiado esfuerzo adicional. En un vehículo JUPITER, están activos un total de 50 a 60 nodos para diversas funciones y subfunciones, con la opción de expandir dinámicamente el sistema con nodos adicionales durante el tiempo de ejecución. Además, el código fuente de ROS es de código abierto, ROS admite varios lenguajes de programación como C++ y Python, y existe una gran comunidad dispuesta a ofrecer inspiración y ayuda con los problemas. Esto permite a los ingenieros de Porsche Engineering centrarse en lo esencial: el desarrollo de funciones.
La nueva versión, ROS 2, se basa en la experiencia adquirida con ROS. Su infraestructura de comunicación está certificada para aplicaciones automotrices gracias al estándar DDS (Data Distribution Services). Esto implica que, teóricamente, ROS 2 podría utilizarse en vehículos de producción en serie. DDS permite configurar propiedades (calidad de servicio), mecanismos de transporte y derechos de acceso, optimizando así el uso de los recursos de hardware.
"ROS ha demostrado ser una excelente plataforma para probar nuevas tecnologías y ofrecer tecnologías de vanguardia a nuestros clientes", afirma Pelzer. "Nos permite demostrar rápidamente casos de uso y acortar significativamente el tiempo de entrega a nuestros clientes. Estamos orgullosos de esto, ya que la aceleración eficiente de los tiempos de entrega y la provisión de soluciones a tareas complejas son elementos esenciales de nuestras actividades para optimizar procesos y métodos."
Además, ROS ofrece una base estandarizada para investigar la interacción entre varios dominios tecnológicos como ADAS, V2X, inteligencia artificial y simulación. Esto nos permite aprovechar numerosas sinergias en el desarrollo de los vehículos conectados e inteligentes del futuro.
Info
Este texto se publicó por primera vez en la revista Porsche Engineering, número 1/2024.
Autor del texto: Christian Buck
Ilustraciones por: Supertotto
Derechos de autor: Todas las imágenes, videos y archivos de audio publicados en este artículo están protegidos por derechos de autor. No se permite su reproducción total o parcial sin el consentimiento escrito del Dr. Ing. h.c. F. Porsche AG.