Iveco Group accelera lo sviluppo software per veicoli elettrici con la simulazione di veicoli virtuali

I veicoli completamente virtuali consentono di testare il software per veicoli elettrici in modo più rapido e più scalabile


Nel settore automotive, lo sviluppo software procede tradizionalmente a rilento. Prima di poter validare una riga di codice, gli ingegneri hanno bisogno di hardware, test bench e veicoli fisici, nonché di tecnici che li eseguano. Si tratta di un processo lento e dispendioso in termini di risorse, che si adatta con difficoltà al ritmo dello sviluppo software moderno. Per Iveco Group, il produttore italiano di veicoli commerciali responsabile della realizzazione del furgone elettrico eDaily e di una flotta di autocarri e autobus, colmare questo divario rappresentava un’opportunità per sviluppare software con le stesse modalità adottate dalle migliori aziende tecnologiche.

“Nel mondo della tecnologia, un adolescente di 16 anni può cambiare il mondo dalla propria cameretta, perché ha accesso alla tecnologia e non deve chiedere nulla a nessuno”, dichiara Alessio Canepa, responsabile dello sviluppo di software di controllo e dinamica per i veicoli presso Iveco Group. “Nel settore automotive, spesso siamo nella situazione diametralmente opposta. Dobbiamo sempre aspettare qualcun altro.”

Canepa è a capo del team responsabile di eVECOP, il software di controllo veicoli in-house di Iveco Group. Con il crescere della sua complessità, anche il carico di lavoro dei test è aumentato. Più funzioni aggiungeva il team, più test era necessario ripetere ogni volta che veniva apportata una modifica. Svolgere queste operazioni manualmente su hardware fisico stava diventando impossibile.

Sette autocarri IVECO di varie dimensioni e colori.

L’intera gamma IVECO. (Crediti dell’immagine: Iveco Group)

La risposta di Iveco Group è stata Virtualis, un simulatore di veicoli virtuali sviluppato in MATLAB® e Simulink®. Consente a Iveco Group di eseguire il proprio software di produzione reale su un veicolo completamente virtuale, inclusi batteria, inverter e sistemi di ricarica virtuali, prima ancora che entri in gioco qualsiasi componente hardware.

Scalabilità di eVECOP per Virtualis

La piattaforma eVECOP si trova al centro dei sistemi di controllo per veicoli elettrici di Iveco Group, in quanto coordina decine di funzioni interconnesse per veicoli leggeri, autocarri pesanti e autobus. Tali funzioni spaziano dal controllo della trazione alla frenata rigenerativa, fino alla gestione termica e alla distribuzione della potenza, il tutto gestito attraverso un’unica piattaforma software in-house realizzata quasi interamente in MATLAB e Simulink.

In precedenza, ricostruire l’intero modello integrato richiedeva circa 20 minuti ogni volta che veniva apportata una modifica. Ora sono necessari 4-5 minuti per completare la compilazione del modello. Una parte di questo miglioramento è dovuta al passaggio alla modalità acceleratore in Simulink.

Mantenere eVECOP pulito e scalabile richiede quella che Canepa chiama architettura modulare, nella quale ogni funzione software risiede nel proprio modulo autonomo dai confini chiaramente definiti. Un buon architetto, afferma, è estremamente importante per un team responsabile della piattaforma software. Quando l’architettura è ben realizzata, gli ingegneri meno esperti possono contribuire ai singoli componenti senza dover comprendere l’intero sistema. Di conseguenza, la piattaforma può espandersi e includere nuovi tipi di veicoli senza che gli ingegneri debbano partire da zero.

Iveco Group ha costruito Virtualis basandosi sullo stesso principio. Utilizzando modelli di riferimento in Simulink, il simulatore di veicoli virtuali mantiene ciascun modulo software separato. Ciò significa che quando viene apportata una modifica, solo quel modulo viene ricompilato.

Diagramma che illustra la piattaforma eVECOP. Un’icona centrale che raffigura un cervello collega tipi di veicoli e componenti chiave, come le batterie, con delle frecce. Elenca funzioni come il controllo della trazione e vantaggi come l’indipendenza dall’hardware.

La piattaforma electrified Vehicle Control Platform (eVECOP)

In precedenza, ricostruire l’intero modello integrato richiedeva circa 20 minuti ogni volta che veniva apportata una modifica. Ora sono necessari 4-5 minuti per completare la compilazione del modello. Una parte di questo miglioramento è dovuta al passaggio alla modalità acceleratore in Simulink. La modalità acceleratore sacrifica una piccola parte della flessibilità di debugging a vantaggio di un’esecuzione significativamente più rapida. Il beneficio più significativo deriva dai modelli di riferimento stessi. Poiché il motore di generazione di codice ricompila solo le modifiche apportate, la maggior parte delle build evita completamente di ripetere la maggior parte del lavoro. Per un team che effettua aggiornamenti incrementali costanti su molte diverse funzioni, la differenza si amplifica rapidamente.

La velocità è ancora più importante in fase di simulazione. Virtualis funziona a una velocità superiore a quella reale, il che significa che il team può creare più istanze parallele nel Cloud ed eseguire test simultaneamente. L’ispirazione, afferma Canepa, è nata dall’osservazione di come funzionano le aziende software.

Schermata di un’interfaccia Simulink con diversi controlli per veicoli virtuali.

Modello di un veicolo virtuale in Simulink. (Crediti dell’immagine: Iveco Group)

“Se vuoi progettare una tua app per Android®, si usa un emulatore. Puoi testare da solo tutto il processo end-to-end, autonomamente”, aggiunge. “Gran parte di quello che stiamo facendo è ispirato da ciò che osserviamo nel mondo del Cloud e delle app”.

L’intuizione chiave alla base di Virtualis è che il testing rapido funziona solo quando l’ambiente è al 100 per cento virtuale. Se anche solo l’uno per cento del testing richiede hardware fisico, si perde la possibilità di sfruttare esecuzioni nel Cloud, esecuzioni in parallelo ed esecuzioni a una velocità superiore a quella reale. Questa soglia è ciò che rende Virtualis profondamente diversa dai suoi predecessori.

Testing senza limiti

I vantaggi di un ambiente completamente virtuale vanno oltre la velocità. Alcuni test non possono essere eseguiti su un test bench fisico o su un veicolo reale; non è né sicuro né ragionevole testare i componenti elettrici o il cablaggio di un’auto mentre è in movimento a 100 chilometri orari. In Virtualis, questi test sono di routine. “Con una piattaforma virtuale, hai possibilità illimitate”, afferma Canepa.

“Con una piattaforma virtuale, hai possibilità illimitate.”

Attualmente, Virtualis rileva circa il 70 per cento dei problemi di integrazione software prima ancora che il software raggiunga l’hardware. Secondo Canepa è difficile misurare precisamente questo dato e il divario residuo non è un limite fisso, quanto piuttosto un riflesso di ciò che il team non conosce ancora. Quando si verifica un guasto su un veicolo fisico che ha superato i test in Virtualis, Iveco Group lo considera un segnale che l’ambiente virtuale deve essere aggiornato per rispecchiare più fedelmente la realtà. Nel tempo, è proprio questo processo che permette di colmare il divario.

Il divario rimanente è di natura strutturale piuttosto che accidentale. Virtualis esegue una virtualizzazione di livello 1, ovvero non simula il firmware o l’elettronica sottostanti. Si tratta di un tradeoff deliberato. Andare più a fondo significherebbe una maggiore copertura, ma gli ingegneri perderebbero la possibilità di arrestare la simulazione durante l’esecuzione, ispezionare ogni variabile e capire esattamente cosa sta facendo il software in qualunque momento.

“Quando qualcosa va storto su un sistema hardware, si guardano i registri a posteriori”, spiega Canepa. “In Virtualis puoi fermare il mondo.”

Questo cambiamento ha modificato il modo in cui Iveco Group concepisce la propria pipeline di testing. Ora Iveco Group utilizza test Hardware-In-the-Loop appositamente per quello che Virtualis non può raggiungere: il sistema operativo, i driver di basso livello e l’hardware fisico proveniente dall’esterno di Iveco Group (ad esempio, dai fornitori che costruiscono le ECU con cui comunica il software). Tutto ciò che si trova al di sopra di tale livello viene risolto prima, più rapidamente e in modo più economico.

Sviluppo alla velocità del software

Portare Virtualis a questo punto non è stato semplice. Per scalare un ambiente MATLAB e Simulink affinché gestisse software di tale complessità, mantenendo al contempo tempi di compilazione ridotti e un debugging flessibile, è stato necessario affrontare scelte architetturali per le quali non esiste un’unica risposta corretta. Iveco Group ha collaborato a stretto contatto con gli ingegneri MathWorks per individuare i limiti di ciò che era possibile realizzare.

“Quello che abbiamo costruito è già un modo completamente diverso di lavorare. Più tempo risparmi nello sviluppo, più tempo hai a disposizione per realizzare qualcosa di veramente eccellente.”

“Vogliamo raggiungere la massima qualità in un lasso di tempo eccezionalmente breve. Questa è stata la sfida più difficile che abbiamo dovuto affrontare insieme”, dichiara Canepa.

La collaborazione si è concentrata sul miglioramento dell’efficienza di esecuzione, sulla strutturazione dei modelli in modo da consentire a più ingegneri di apportare aggiornamenti contemporaneamente senza conflitti e sulla creazione di una pipeline end-to-end di integrazione continua e test eseguita automaticamente. Non appena uno sviluppatore esegue un commit di nuovo codice, il codice attiva i test in Virtualis. Gli ingegneri possono ottenere i risultati nel giro di poche ore. Nessuno deve ricordarsi di eseguire i test perché il sistema non consente di dimenticarsene.

Diagramma che illustra la configurazione di test per un dispositivo VMU emulato che esegue eVECOP interagendo con il test bench Virtualis. La configurazione include un’interfaccia dettagliata del pannello di controllo.

Diagramma di un veicolo virtuale in Virtualis.

Iveco Group reinveste nel prodotto il tempo risparmiato. Anziché dedicare settimane ai processi di verifica formali, gli ingegneri di Iveco Group ora dispongono di più cicli per svolgere iterazioni direttamente sul veicolo, cosa che Canepa considera il vero indicatore della qualità del software.

Virtualis ha cambiato anche qualcosa di meno tangibile nelle modalità di lavoro del team. Nello sviluppo automotive tradizionale, un ingegnere che scrive un’unica funzione potrebbe non vedere mai dove viene utilizzata né quale effetto ha sul veicolo. Virtualis mette ogni sviluppatore all’interno di un veicolo virtuale completo, in modo che l’effetto di ogni modifica sia immediatamente visibile nel suo contesto. Questa visibilità cambia il modo in cui le persone percepiscono il proprio lavoro. Un ingegnere può prototipare una nuova funzionalità, testarne l’effetto sull’intero sistema e sapere che funzionerà quando la dimostrerà.

“Siamo in un anno nel quale fornire alle persone gli strumenti giusti è di fondamentale importanza”, afferma Canepa.

Vede Virtualis come parte di qualcosa che va oltre i tempi di compilazione più rapidi o una pipeline di test più efficiente. Le case automobilistiche stanno diventando aziende software, che siano pronte o meno. Quelle che capiranno come realizzare e testare il software nello stesso modo in cui lo fanno le aziende tecnologiche (in modo rapido, iterativo e innanzitutto virtuale) riusciranno a tenere il passo. Iveco Group vuole essere una di quelle aziende.

“Quello che abbiamo costruito è già un modo completamente diverso di lavorare”, afferma. “Più tempo risparmi nello sviluppo, più tempo hai a disposizione per realizzare qualcosa di veramente eccellente.”


Altri casi

Navigazione nel pannello

La navicella spaziale Orion si dirige verso la Luna, con l’aiuto del razzo SLS

Il programma Artemis della NASA punta alla presenza a lungo termine sulla Luna

Navigazione nel pannello

Applicazione della progettazione Model-Based per architetture orientate ai servizi nel settore automotive

Renault fa progredire la prototipazione ADAS con ROS Toolbox e l'integrazione Simulink

Navigazione nel pannello

Alimentazione della robotica chirurgica di nuova generazione

La progettazione Model-Based consente lo sviluppo di robot chirurgici adattivi