Iveco Group acelera el desarrollo de software para vehículos eléctricos mediante la simulación de vehículos virtuales
Los vehículos totalmente virtuales permiten realizar pruebas de software para vehículos eléctricos de forma más rápida y escalable
Tradicionalmente, en la industria de la automoción, el desarrollo de software se ha caracterizado por su lentitud. Antes de poder validar una línea de código, los ingenieros necesitan hardware, bancos de pruebas y vehículos físicos, además de personal técnico que los opere. Se trata de un proceso lento y de gran consumo de recursos que no se adapta bien al ritmo de desarrollo del software moderno. Para Iveco Group, el fabricante italiano de vehículos comerciales responsable de la furgoneta eléctrica eDaily, además de una flota de camiones y autobuses, salvar esa brecha supuso la oportunidad de desarrollar software del mismo modo que las mejores empresas tecnológicas.
"En el mundo tecnológico, un joven de 16 años puede cambiar el mundo desde su habitación porque cuenta con el respaldo de la tecnología y no tiene que pedir permiso a nadie", señala Alessio Canepa, responsable de desarrollo de software de dinámica y controles de vehículos de Iveco Group. "En el sector de la automoción, nos encontramos a menudo con la situación opuesta. Siempre hay que depender de alguien más".
Canepa lidera el equipo responsable de eVECOP, el software de control de vehículos propio de Iveco Group. A medida que aumentaba su complejidad, también lo hacía la carga de trabajo asociada a las pruebas. Cuantas más funciones añadía el equipo, más pruebas debían volver a ejecutarse con cada modificación. Realizar este proceso de forma manual sobre hardware físico se convirtió en algo imposible.
La respuesta de Iveco Group fue Virtualis, un simulador de vehículos virtuales desarrollado en MATLAB® y Simulink®. Esta herramienta permite a Iveco Group ejecutar su software de producción real sobre un vehículo totalmente virtual, que incluye sistemas virtuales de batería, inversor y cargador, antes de incorporar hardware físico.
Escalabilidad de eVECOP para Virtualis
La plataforma eVECOP constituye el núcleo de los sistemas de control de vehículos eléctricos de Iveco Group, pues coordina decenas de funciones interconectadas en vehículos ligeros, camiones pesados y autobuses. Dichas funciones abarcan todo, desde el control de tracción y el frenado regenerativo, hasta la gestión térmica y la distribución de energía. Todas ellas se integran en una plataforma de software propia desarrollada casi en su totalidad en MATLAB y Simulink.
Antes, cada vez que se introducía un cambio, necesitaban recompilar el modelo íntegro, lo que llevaba unos 20 minutos. Actualmente, la compilación del modelo se completa en tan solo 4 o 5 minutos. Parte de esta mejora se debe a la adopción del modo Accelerator en Simulink.
Mantener la claridad y escalabilidad de eVECOP exige lo que Canepa denomina una arquitectura modular, en la que cada función de software reside en su propio módulo independiente con límites claramente definidos. Contar con un buen arquitecto, afirma, es de enorme importancia para un equipo de plataforma de software. Cuando la arquitectura se realiza bien, los ingenieros con menos experiencia pueden aportar valor a componentes individuales sin necesidad de comprender todo el sistema. Como resultado, la plataforma puede ampliarse para dar soporte a nuevos tipos de vehículos sin que los ingenieros tengan que empezar desde cero.
Iveco Group desarrolló Virtualis basándose en este mismo principio. Mediante el uso de modelos referenciados en Simulink, el simulador de vehículos virtuales mantiene cada módulo de software independiente. De este modo, cuando se realiza alguna modificación, solo se debe compilar el módulo en cuestión.
Antes, cada vez que se introducía un cambio, necesitaban recompilar el modelo íntegro, lo que llevaba unos 20 minutos. Actualmente, la compilación del modelo se completa en tan solo 4 o 5 minutos. Parte de esta mejora se debe a la adopción del modo Accelerator en Simulink. El modo Accelerator sacrifica una pequeña porción de flexibilidad de depuración a cambio de un incremento significativo en la velocidad de ejecución. La mayor ganancia se obtuvo de los propios modelos referenciados. Puesto que el motor de generación de código solo recompila los elementos modificados, la mayoría de los procesos de compilación omiten casi por completo la mayor parte del trabajo. Para un equipo que realiza actualizaciones incrementales constantes en numerosas funciones, el impacto positivo se nota de inmediato.
La velocidad cobra aún más importancia durante la simulación. Virtualis se ejecuta más rápido que en tiempo real, lo que permite crear varias instancias paralelas en la nube y ejecutar pruebas de manera simultánea. La inspiración, señala Canepa, surgió al observar cómo operan las empresas de software.
"Si desea diseñar su propia aplicación de Android®, puede utilizar un emulador y realizar pruebas integrales de extremo a extremo de forma autónoma", explica. "Gran parte de lo que estamos haciendo está inspirado en lo que vemos en el entorno de la nube y el desarrollo de aplicaciones".
La clave fundamental detrás de Virtualis reside en que esta agilidad en las pruebas solo es posible cuando el entorno es 100 % virtual. Incluso si solo es necesario realizar un 1 % de las pruebas en el hardware físico, se pierde la capacidad de ejecución en la nube, procesamiento en paralelo y simulación a velocidad superior al tiempo real. Este umbral es precisamente el que marca la diferencia sustancial entre Virtualis y lo que existía antes.
Pruebas sin límites
Las ventajas de un entorno totalmente virtual van más allá de la velocidad. Algunas pruebas no pueden realizarse en un banco de pruebas físico ni en un vehículo real. Tampoco es seguro ni viable probar los componentes eléctricos o el cableado de un automóvil mientras circula a 100 km/h. En Virtualis, este tipo de pruebas son habituales. "Con una plataforma virtual, las posibilidades son ilimitadas", afirma Canepa.
"Con una plataforma virtual, las posibilidades son ilimitadas".
Actualmente, Virtualis detecta cerca del 70% de los problemas de integración de software, incluso antes de que el software llegue al hardware. Canepa indica que es difícil medirlo de manera precisa, y que la diferencia residual no representa una limitación infranqueable, sino más bien el reflejo de aquello que el equipo aún desconoce. Cuando se produce un fallo en un vehículo físico luego de haber superado las pruebas en Virtualis, Iveco Group lo interpreta como una señal de que el entorno virtual debe actualizarse para que se aproxime aún más a la realidad. Con el tiempo, este protocolo permite ir reduciendo paulatinamente el margen.
La diferencia persistente responde a motivos estructurales y no a imprevistos. Virtualis realiza una virtualización de nivel 1, lo que implica que no simula la electrónica ni el firmware subyacente. Se trata de un compromiso asumido deliberadamente. Aumentar la profundidad aportaría mayor cobertura, pero los ingenieros perderían la capacidad de detener la simulación durante su ejecución, inspeccionar cada variable y comprender con exactitud el comportamiento del software en cada instante.
"Cuando algo falla en un sistema de hardware, los registros solo se pueden analizar con posterioridad", comenta Canepa. "En Virtualis, es posible detenerlo todo".
Este cambio ha transformado el enfoque de Iveco Group con respecto a su flujo de trabajo de pruebas. Iveco Group utiliza ahora pruebas hardware-in-the-loop específicamente para aquellos aspectos que escapan al alcance de Virtualis: el sistema operativo, los controladores de bajo nivel y el hardware físico suministrado por terceros (como los proveedores que fabrican las ECU con las que se comunica el software). Todo lo que se encuentra por encima de esa capa se resuelve antes, con mayor rapidez y a un menor coste.
Desarrollo a la velocidad del software
Llegar al punto donde se encuentra hoy Virtualis no ha sido una tarea sencilla. Escalar un entorno de MATLAB y Simulink para gestionar software con este nivel de complejidad, manteniendo tiempos de compilación reducidos y flexibilidad en la depuración, exigió abordar decisiones arquitectónicas que no tenían una única solución válida. Iveco Group colaboró estrechamente con los ingenieros de MathWorks para explorar los límites de lo posible.
"Lo que hemos desarrollado representa ya una forma de trabajar totalmente distinta. Cuanto más tiempo se ahorra en la fase de desarrollo, de más margen se dispone para crear un producto verdaderamente extraordinario".
"Nuestro objetivo es alcanzar la máxima calidad en un plazo de tiempo excepcionalmente reducido. Este ha sido el desafío más exigente al que nos hemos enfrentado de manera conjunta", asegura Canepa.
La colaboración se centró en optimizar la eficiencia de ejecución, estructurar los modelos para que distintos ingenieros pudieran enviar actualizaciones de forma simultánea y sin conflictos, y generar un flujo de integración continua y pruebas de extremo a extremo que se ejecutan automáticamente. Tan pronto como un desarrollador envía código nuevo, las pruebas se activan automáticamente en Virtualis. Los ingenieros reciben resultados en cuestión de horas. No es necesario acordarse de ejecutar pruebas porque el propio sistema lo hace automáticamente.
Iveco Group invierte el tiempo ahorrado directamente en el producto. En lugar de dedicar semanas a procesos formales de verificación, ahora los ingenieros de Iveco Group disponen de más ciclos para iterar sobre el propio vehículo, lo que para Canepa constituye el verdadero indicador de la calidad del software.
Asimismo, Virtualis ha transformado aspectos menos tangibles de la dinámica de trabajo del equipo. En el desarrollo tradicional de la automoción, es posible que un ingeniero que escribe una función concreta no llegue a ver nunca dónde se integra ni qué efecto produce sobre el vehículo. Virtualis sitúa a cada desarrollador dentro de un vehículo virtual completo, lo que permite observar de inmediato el impacto de cualquier modificación en contexto real. Esta visibilidad cambia la forma en la que los profesionales perciben su trabajo. Un ingeniero puede crear el prototipo de una nueva función, probar su impacto en el sistema global y tener la certeza de que funcionará durante una demostración.
"Nos encontramos en un momento en que capacitar a las personas es fundamental", afirma Canepa.
Para él, Virtualis trasciende la mera reducción de tiempos de compilación o la optimización del flujo de pruebas. Los fabricantes de automóviles se están convirtiendo en empresas de software, estén preparados para ello o no. Aquellas compañías que logren desarrollar y probar software siguiendo el modelo de las empresas tecnológicas, es decir, de manera rápida, iterativa y priorizando el entorno virtual, serán las que mantengan la competitividad. Iveco Group tiene la firme intención de ser una de ellas.
"Lo que hemos desarrollado representa ya una forma de trabajar totalmente distinta", concluye. "Cuanto más tiempo se ahorra en la fase de desarrollo, de más margen se dispone para crear un producto verdaderamente extraordinario".
Más casos prácticos
La nave espacial Orion se dirige a la Luna con la ayuda del cohete SLS
El programa Artemis de la NASA persigue presencia a largo plazo en la Luna
Diseño basado en modelos en arquitecturas orientadas a servicios de automoción
Renault avanza en la creación de prototipos de SAAC con ROS Toolbox y Simulink
Impulso a la robótica quirúrgica de próxima generación
Diseño basado en modelos permite el desarrollo de robots quirúrgicos adaptativos