In questo post del blog, esamineremo come le automobili, un tempo dispositivi puramente meccanici, siano diventate elettroniche e intelligenti grazie all'integrazione di sistemi embedded e software, e come si stiano evolvendo in veicoli definiti dal software entro il 2026.
Le funzioni di base di un'auto sono muoversi in avanti quando si preme il pedale dell'acceleratore, cambiare direzione quando si gira il volante e fermarsi quando si aziona il freno. Osservando le auto del passato, la maggior parte delle funzioni era svolta da dispositivi meccanici: premendo il pedale si avviava il motore, girando il volante si cambiava la direzione delle ruote e azionando il freno si arrestavano le ruote per attrito. Tuttavia, le auto si stanno evolvendo da semplici dispositivi meccanici a macchine che combinano complessi sistemi elettronici e software. Le auto moderne aiutano a mantenere una distanza costante dal veicolo che precede durante la guida, assistono nelle manovre di parcheggio e utilizzano vari sensori per monitorare l'ambiente circostante e lo stato del veicolo, fornendo informazioni al conducente o controllandone il movimento. Uno degli elementi chiave che rende possibili queste funzioni è il sistema integrato installato nell'auto.
Un sistema embedded si riferisce a un sistema informatico progettato per svolgere funzioni limitate per uno scopo specifico. Un tipico personal computer (PC) può svolgere diverse funzioni installando programmi differenti. Installando un programma di elaborazione testi, lo si può utilizzare per creare documenti; installando un gioco, lo si può usare come console. Al contrario, il computer integrato in un sistema embedded è focalizzato sull'esecuzione delle funzioni richieste da uno specifico dispositivo o sistema. Si potrebbe pensare che più funzioni ha un computer, meglio è, ma prendiamo come esempio un frigorifero. Sebbene i frigoriferi moderni utilizzino computer, non c'è bisogno di eseguire un programma di elaborazione testi o di giocare a videogiochi ad alte prestazioni sul computer integrato nel frigorifero. Riducendo le funzioni superflue e concentrandosi su quelle necessarie, è possibile minimizzare le dimensioni e il consumo energetico del dispositivo, che può così svolgere le sue funzioni designate in modo affidabile ed efficiente. I componenti elettronici, come i chip per computer embedded, costituiscono l'hardware di un sistema embedded, mentre i vari programmi in esecuzione su di essi costituiscono il software.
Perché dunque le auto hanno iniziato a essere equipaggiate con computer? Perché le auto vengono dotate di un numero sempre maggiore di dispositivi elettronici e, allo stesso tempo, si è resa necessaria la creazione di sistemi di controllo più sofisticati e intelligenti. I computer utilizzati nelle auto richiedono inoltre sistemi specializzati per ruoli specifici, a differenza dei computer personali generici. Questo perché le funzioni che un'auto deve svolgere non sono espandibili all'infinito come quelle di un elaboratore di testi o di un videogioco; piuttosto, sono definite principalmente in base a caratteristiche di guida, sicurezza e comfort. In un'auto, è fondamentale misurare con precisione informazioni come la velocità del veicolo, le condizioni del motore, i livelli di batteria e carburante e l'ambiente circostante, e controllare il veicolo in modo appropriato in base a tali informazioni. Pertanto, è vantaggioso utilizzare sistemi embedded progettati specificamente per lo scopo e l'ambiente di un'auto piuttosto che computer generici.
I sistemi embedded per autoveicoli possono essere suddivisi in diverse aree in base alle loro funzioni, tra cui telaio, propulsione, carrozzeria e multimedia. Nell'area del telaio, le funzioni relative al movimento del veicolo, come frenata, sterzo e sospensioni, sono controllate in base a vari dati, tra cui la velocità del veicolo e la distanza dai veicoli circostanti. Nell'area della propulsione, queste funzioni controllano la generazione e la trasmissione di potenza, tenendo conto di queste informazioni, nonché dello stato del motore, della trasmissione e della batteria. L'area della carrozzeria gestisce le funzioni relative al comfort e alla sicurezza del conducente e dei passeggeri, come sedili, cruscotto, illuminazione e portiere, mentre l'area multimediale si occupa di navigazione, telematica, audio e video e varie funzioni di informazione e comunicazione a bordo del veicolo. Oggi, le funzioni incentrate sul software, come i sistemi di assistenza alla guida, l'automazione della guida, le reti di veicoli e la connettività, stanno acquisendo sempre maggiore importanza.
Ciascuno di questi sistemi raccoglie le informazioni necessarie da sensori e altre centraline elettroniche (ECU), le elabora e risponde in modo appropriato alla situazione. Mentre le auto del passato erano più simili a macchine che si muovevano in base all'input diretto dell'utente, le auto dotate di sistemi embedded si sono evolute in sistemi attivi in grado di svolgere funzioni specifiche in base allo stato del veicolo e all'ambiente circostante, anche senza che l'utente esprima giudizi diretti o le azioni. Naturalmente, non sarebbe del tutto corretto definire immediatamente tali veicoli sistemi di intelligenza artificiale nello stesso senso dell'intelligenza umana; tuttavia, essi possiedono chiaramente caratteristiche distinte dai veicoli meccanici del passato, in quanto utilizzano sensori e computer per valutare le situazioni e controllare le funzioni del veicolo in base a tali valutazioni.
Affinché un'auto funzioni in modo "intelligente", il software del sistema embedded deve essere implementato in modo stabile e sofisticato. Il software automobilistico non è semplicemente un singolo programma; è piuttosto strutturato su più livelli in modo da poter controllare l'hardware, consentire ai vari componenti software di comunicare tra loro ed eseguire funzioni applicative. In passato, questo poteva essere spiegato in termini di sistemi operativi embedded, middleware embedded e software applicativo embedded. Il sistema operativo fornisce un ambiente di esecuzione di base che consente alle applicazioni di funzionare sull'hardware; il middleware astrae le differenze tra applicazioni, sistema operativo e hardware o fornisce i servizi necessari; e il software applicativo esegue le funzioni richieste nel veicolo vero e proprio. AUTOSAR, uno dei principali standard software per il settore automobilistico odierno, si è evoluto anch'esso suddividendo il software in più livelli e componenti per ridurre le dipendenze tra hardware e software applicativo e per migliorare il riutilizzo e l'interoperabilità del software.
Tra questi, il sistema operativo integrato e l'ambiente di esecuzione costituiscono un fondamento critico per il funzionamento stabile del software automobilistico. Un sistema operativo può essere descritto come un ambiente di runtime che gestisce le risorse necessarie al funzionamento dei programmi eseguiti direttamente dall'utente o dai vari software di controllo del veicolo. Questo concetto è facile da comprendere se si pensa a un campo sportivo. Se il campo è diviso in sezioni per diverse attività, come basket, calcio e corsa, e gestito in modo che più persone possano utilizzare il tempo e lo spazio necessari per allenarsi contemporaneamente, ogni attività può procedere in modo efficiente senza interferire con le altre. Allo stesso modo, un tipico sistema operativo gestisce più programmi in modo che non entrino in conflitto tra loro, utilizzino le risorse di sistema in modo efficiente e funzionino in modo stabile.
Il software per i sistemi embedded utilizzati nelle automobili richiede caratteristiche diverse da quelle dei programmi eseguiti su PC generici. In particolare, durante la marcia di un veicolo, si verificano spesso situazioni in cui è necessario elaborare informazioni urgenti o critiche entro un intervallo di tempo specificato. Pertanto, nei sistemi automobilistici, le caratteristiche di un sistema operativo in tempo reale (RTOS), in grado di elaborare attività specifiche entro un tempo limitato, sono cruciali e il sistema deve essere in grado di gestire correttamente gli input provenienti da vari sensori e dispositivi di controllo. Questo perché, se le informazioni relative a velocità, sterzo, frenata e stato del veicolo non vengono elaborate al momento opportuno, le conseguenze possono andare oltre i semplici errori di programmazione e avere un impatto diretto sulla sicurezza del veicolo. AUTOSAR, lo standard software per il settore automobilistico, fornisce un'architettura software che tiene conto delle prestazioni in tempo reale e della sicurezza in base alle funzioni e ai requisiti del veicolo; la Classic Platform, in particolare, viene utilizzata per i sistemi embedded con rigidi vincoli di tempo reale e sicurezza.
Sfruttando queste caratteristiche, lo sviluppo di sistemi operativi e software embedded per autoveicoli è diventato un settore cruciale che incide direttamente sulle prestazioni e sulla sicurezza dei veicoli. Mentre in passato la competitività di un veicolo era in gran parte determinata dalle prestazioni meccaniche, come motore, trasmissione e carrozzeria, oggi le centraline elettroniche, il software, le reti di bordo, i sensori e le piattaforme di calcolo si sono affermati come fattori competitivi chiave. AUTOSAR, lo standard leader per il software automobilistico, è stato sviluppato a partire dal 2003 da importanti aziende del settore automobilistico e del software per definire uno standard aperto per le architetture elettriche ed elettroniche (E/E) del settore automobilistico. Attualmente offre non solo la Classic Platform, progettata per il controllo in tempo reale basato su microcontrollori e per i requisiti di sicurezza, ma anche la Adaptive Platform per applicazioni come le centraline elettroniche ad alte prestazioni e la guida autonoma.
In particolare, con la crescente diffusione del software nell'industria automobilistica, il ruolo di quest'ultimo è diventato significativamente più importante rispetto al passato. Mentre in passato la struttura tipica prevedeva diverse centraline elettroniche (ECU) responsabili di funzioni specifiche e operanti in modo relativamente indipendente, le architetture elettriche ed elettroniche del settore automobilistico si stanno ora evolvendo verso l'integrazione di molteplici funzioni e lo sfruttamento di risorse di calcolo ad alte prestazioni. Di conseguenza, il software automobilistico si sta evolvendo oltre la semplice esistenza di programmi di controllo legati a specifici hardware; sta diventando sempre più importante disporre di una struttura in cui i vari componenti software comunichino tra loro e possano espandersi e gestire continuamente le funzioni del veicolo. AUTOSAR sta inoltre sviluppando la Piattaforma Adattiva per centraline elettroniche ad alte prestazioni, oltre alla Piattaforma Classica, e ha recentemente promosso piattaforme eseguibili e tecnologie correlate a supporto dei Veicoli Definiti dal Software (SDV).
Così come Android di Google e iOS di Apple hanno gareggiato nel mercato degli smartphone incentrandosi sui sistemi operativi, anche nell'industria automobilistica l'importanza del software e delle piattaforme operative sta crescendo. Tuttavia, a differenza degli smartphone, le automobili non sono prodotti composti esclusivamente da software. Nei veicoli, il software deve operare in sinergia con vari sensori, attuatori, centraline elettroniche (ECU), reti di bordo e componenti hardware elettrici ed elettronici, e i requisiti di sicurezza e affidabilità sono estremamente elevati. Pertanto, la capacità di progettare e integrare hardware e software è fondamentale nell'industria automobilistica. Lo sviluppo di AUTOSAR, un'interfaccia standardizzata che riduce le dipendenze tra applicazioni, hardware ed ECU, aumentando al contempo la riutilizzabilità del software, è direttamente correlato a questi requisiti.
Considerato che i settori automobilistico ed elettronico/IT della Corea del Sud si sono sviluppati in parallelo, è molto probabile che il Paese si assicuri un significativo vantaggio competitivo nel campo dei sistemi embedded per autoveicoli. Con l'evoluzione delle automobili da semplici macchine a sistemi che combinano dispositivi elettronici e software, la convergenza di diverse tecnologie – tra cui non solo la produzione automobilistica, ma anche i semiconduttori, i sensori, le comunicazioni, i sistemi operativi, le piattaforme software e l'intelligenza artificiale – assume un'importanza sempre maggiore. In particolare, con l'evoluzione delle automobili verso veicoli definiti via software, la capacità di implementare e gestire le funzioni del veicolo tramite software sta diventando uno dei fattori chiave per la competitività nel settore automobilistico. Pertanto, se le aziende automobilistiche e le imprese elettroniche e IT sudcoreane continueranno a sviluppare competenze tecniche nei settori del software automobilistico e dei sistemi embedded, saranno in grado di dimostrare nuovi vantaggi competitivi nel mercato automobilistico globale.
Mentre in passato un'automobile era una macchina complessa azionata principalmente da un motore e da componenti meccanici, oggi sta diventando sempre più simile a un enorme sistema informatico in cui numerosi sensori, centraline elettroniche, sistemi di comunicazione, dispositivi di elaborazione e software sono interconnessi e operano in sinergia. Infatti, AUTOSAR sta attualmente standardizzando diverse aree del software automobilistico, tra cui la comunicazione, gli ambienti di esecuzione, la diagnostica, il supporto hardware, gli aggiornamenti software, la sicurezza e le funzioni di archiviazione, mentre la Piattaforma Adattiva si sta evolvendo per affrontare settori che richiedono un'elevata potenza di calcolo, come la guida autonoma.
In definitiva, l'affermazione che "l'auto è diventata un computer" non significa semplicemente che un singolo computer sia stato installato all'interno del veicolo. Il suo significato è più vicino all'idea che, con la crescente importanza del software – che controlla le diverse funzioni del veicolo ed elabora le informazioni – l'auto stessa si stia trasformando in un enorme sistema elettronico e software. Per comprendere la futura evoluzione dell'automobile, è necessario esaminare non solo le tecnologie meccaniche come motori e carrozzerie, ma anche tecnologie come sistemi embedded, sistemi operativi, piattaforme software, sensori, reti di veicoli e intelligenza artificiale. Le auto non sono più semplici macchine che trasportano persone a destinazione; si stanno evolvendo in sistemi di mobilità intelligenti che percepiscono l'ambiente circostante, elaborano dati e implementano diverse funzioni tramite software.