Che cos’è l’ADAS?
3 cose da sapere
I sistemi avanzati di assistenza alla guida (ADAS) sono i componenti hardware e software che automatizzano le responsabilità del conducente. Esempi di ADAS nei veicoli attuali includono il cruise control adattivo, il rilevamento dell'angolo cieco, il rilevamento del cambio di corsia, il mantenimento automatico della corsia e la frenata automatica di emergenza.
Gli ADAS possono rendere le strade più sicure minimizzando l'errore umano. Alcuni sistemi ADAS rendono la guida più sicura avvisando i conducenti di scenari stradali non sicuri, come la presenza di un'auto nell'angolo cieco del conducente che renderebbe pericoloso il cambio di corsia. Altri sistemi ADAS automatizzano i comportamenti di guida, come la prevenzione delle collisioni con la frenata di emergenza autonoma.
Secondo uno studio di Boston Consulting Group, l’ADAS previene infatti il 28% di tutti gli incidenti e 9.900 morti all’anno negli Stati Uniti.
Livelli di ADAS
La Society of Automotive Engineers prevede 5 livelli di automazione della guida. La maggior parte delle auto attualmente in circolazione hanno caratteristiche ADAS tra il livello 0 e 3. Le aziende all'avanguardia nella guida automatizzata raggiungono i livelli 4 e 5.
I veicoli completamente autonomi possono diventare una realtà man mano che le questioni politiche, di sicurezza e cybersicurezza vengono affrontate.
Per capire come sono progettate le funzioni ADAS, usiamo il cruise control adattivo come esempio. Quando si utilizza questa funzione ADAS, l'auto rallenta quando si avvicina a un veicolo che precede e accelera alla velocità di crociera se tale veicolo si allontana a una distanza di sicurezza.
Il primo passo nella progettazione del cruise control adattivo (ACC) è raccogliere i dati dai sensori montati sull'auto. Per il cruise control adattivo servono una fotocamera e un sensore radar. La fotocamera rileva gli altri oggetti nell'inquadratura (veicolo, pedone, albero, ecc.) e il radar calcola la distanza tra la nostra auto l'oggetto.
Dopo aver raccolto i dati dai nostri sensori, ci concentriamo sullo sviluppo di algoritmi ADAS. Il cruise control adattivo può essere suddiviso in tre fasi:
Le fasi 1, 2 e 3 sono le seguenti:
- Un algoritmo di percezione rileva se c'è un veicolo che precede
- Un algoritmo radar calcola la nostra distanza dal veicolo
- Un algoritmo di controllo regola la velocità della nostra auto in base alla distanza
Abbiamo usato l'ACC come esempio di ADAS, ma la metodologia generale di scegliere i sensori adatti e progettare algoritmi basati sui dati dei sensori si applica a tutte le funzioni ADAS.
L'importanza dei sensori
I tre tipi di sensori più popolari utilizzati per le funzioni ADAS sono la fotocamera, il radar e il LIDAR.
Fotocamere
Le fotocamere sono utilizzate per attività ADAS legate al rilevamento. Le fotocamere sul lato di un veicolo rilevano gli angoli ciechi. Le fotocamere nella parte anteriore rilevano corsie, veicoli, segnali, pedoni e ciclisti. Gli algoritmi di rilevamento ADAS associati sono generalmente costruiti utilizzando algoritmi convenzionali di visione artificiale e Deep Learning. Le fotocamere hanno diversi vantaggi:
- Forniscono dati eccellenti per il rilevamento di oggetti
- Sono relativamente poco costose - il prezzo basso significa che testare molti tipi di fotocamere è meno costoso per i produttori
- Ne esistono molte varietà - è possibile testare e scegliere tra molti tipi di telecamere come fisheye, monoculari e pinhole
- Sono tra gli strumenti più studiati - la fotocamera è il più vecchio dei tre tipi di sensore ed è stata oggetto di molti studi
Lo svantaggio dei dati delle fotocamere è che sono meno adatti a rilevare la distanza da un oggetto rispetto ai dati di altri tipi di sensori. Per questo motivo, gli sviluppatori di ADAS spesso usano le fotocamere insieme al radar.
Radar
I sensori radar emettono onde ad alta frequenza e registrano quando queste rimbalzano indietro da oggetti presenti nell'ambiente. Questi dati possono essere utilizzati per calcolare la distanza di un oggetto. Negli ADAS, i sensori radar sono di solito sulla parte anteriore del veicolo.
Il radar funziona in diverse condizioni atmosferiche, il che lo rende una scelta pratica di sensori per le funzioni ADAS come la frenata automatica di emergenza e il cruise control adattivo.
Anche se i dati dei sensori radar sono adatti agli algoritmi di rilevamento della distanza, questi dati sono meno utili negli algoritmi di classificazione degli oggetti rilevati. Per questo motivo, gli sviluppatori di ADAS usano spesso il radar insieme alle fotocamere.
LIDAR
I sensori LIDAR (Light Detection And Ranging) emettono un laser nell'ambiente e registrano quando il segnale torna indietro. I segnali restituiti vengono ricostruiti per creare una nuvola di punti 3D che mostra l'ambiente circostante al LIDAR. I dati LIDAR possono essere utilizzati per calcolare la distanza del sensore dagli oggetti nella nuvola di punti 3D.
Ci sono due tipi di sensori LIDAR utilizzati per le applicazioni ADAS:
- LIDAR elettromeccanico (rotante) - Il LIDAR elettromeccanico è montato sulla parte superiore di un'auto e ruota mentre raccoglie dati per produrre una mappa di nuvole di punti 3D dell'ambiente.
- LIDAR allo stato solido - Questo è un tipo più recente di LIDAR che non ha parti mobili. Nel lungo termine, il LIDAR allo stato solido è più veloce, più economico e più preciso del LIDAR elettromeccanico. Tuttavia, la progettazione di un sensore commercialmente praticabile pone problemi ingegneristici relativi alla sicurezza e alla portata del sensore.
È possibile utilizzare i dati LIDAR per eseguire entrambe le funzioni di rilevamento della distanza e di classificazione degli oggetti in ADAS. Tuttavia, l'elaborazione dei dati LIDAR richiede una maggiore potenza di calcolo rispetto ai dati di fotocamere e radar e pone alcuni problemi di difficile risoluzione per gli sviluppatori di algoritmi ADAS.
Sviluppo di algoritmi ADAS con la simulazione
I test sull'hardware sono costosi quindi gli ingegneri testano prima le loro soluzioni ADAS tramite simulazione virtuale. Gli ambienti di simulazione possono essere 2D o 3D.
È possibile utilizzare la simulazione 2D per sviluppare e testare algoritmi ADAS per fotocamere e radar. Si inizia creando scene virtuali con strade, pedoni, ciclisti e altri veicoli. Quindi si mette il nostro veicolo nella scena e si montano su di esso fotocamere e sensori radar virtuali. Possiamo quindi programmare il movimento dell'auto in modo da generare dati sintetici dei sensori per lo sviluppo e il test di algoritmi ADAS.
La simulazione 3D si basa sulla simulazione 2D e consente di testare il LIDAR oltre alle fotocamere e al radar. Gli ambienti 3D richiedono più potenza di calcolo a causa della loro relativa complessità.
Una volta sviluppati gli algoritmi ADAS in ambienti di simulazione, la fase di sviluppo successiva è il test Hardware-In-the-Loop (HIL) che consiste nel testare gli algoritmi ADAS con l'hardware reale di auto, come un vero sistema di frenata, collegandole a un ambiente di simulazione. Il test HIL illustra bene il funzionamento di un componente ADAS di un'auto nel mondo reale.
Ci sono altri test ADAS come il Driver-in-the-Loop, ma tutti rimandano a test su veicolo per capire come il veicolo si comporterà quando tutte le parti vengono assemblate. Questo è il test ADAS più costoso ma anche il più accurato ed è obbligatorio prima di passare un veicolo alla produzione.
MATLAB® e Simulink® supportano lo sviluppo ADAS per ogni fase del workflow:
- Analisi dei dati
- Sintesi degli scenari di guida
- Progettazione di algoritmi di pianificazione e controllo ADAS
- Progettazione di algoritmi di percezione
- Distribuzione degli algoritmi
- Integrazione e test
Analisi dei dati
MATLAB consente di accedere, visualizzare ed etichettare i dati di guida dal vivo e registrati per lo sviluppo ADAS. MATLAB supporta anche i dati delle mappe geografiche tramite HERE HD Live Maps, OpenStreetMap e Zenrin Japan Maps. Questi dati sono spesso utilizzati per lo sviluppo e la verifica di algoritmi ADAS.
Sintesi degli scenari di guida
MATLAB consente di sviluppare e testare algoritmi ADAS in scenari virtuali utilizzando l'ambiente di simulazione con cuboidi per i controlli, la fusione di sensori e la pianificazione del movimento, così come l'ambiente Unreal Engine per la percezione. È anche possibile progettare scene 3D realistiche con RoadRunner.
Progettazione di algoritmi di pianificazione e controllo ADAS
MATLAB contiene molte applicazioni di riferimento per la guida automatizzata, che possono servire come punti di partenza per progettare i propri algoritmi di pianificazione e controllo ADAS.
Progettazione di algoritmi di percezione
MATLAB fornisce strumenti per sviluppare algoritmi di percezione da dati di fotocamera, radar e LIDAR. È possibile sviluppare algoritmi usando la visione artificiale, il Deep Learning, l'elaborazione di radar e LIDAR e la fusione di sensori.
Distribuzione degli algoritmi ADAS
Toolbox come MATLAB Coder™, Embedded Coder® e GPU Coder™ consentono di generare automaticamente il codice per distribuire i vostri algoritmi ADAS su dispositivi embedded e architetture orientate ai servizi come ROS e AUTOSAR.
Integrazione e test
È possibile integrare e testare i sistemi di percezione, pianificazione e controllo con gli strumenti Simulink. Con Requirements Toolbox™ è possibile acquisire e gestire i requisiti ADAS. Simulink Test™ consente inoltre di eseguire e automatizzare i casi di test in parallelo.
Prodotti complementari: Automated Driving Toolbox™, Computer Vision Toolbox™, Lidar Toolbox™, Radar Toolbox, RoadRunner, RoadRunner Asset Library, RoadRunner Scene Builder