ADAS

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.

Perché l’ADAS è importante?

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.

Livelli SAE J3016 di automazione della guida

Livelli SAE J3016 di automazione della guida

I veicoli completamente autonomi possono diventare una realtà man mano che le questioni politiche, di sicurezza e cybersicurezza vengono affrontate.

Come vengono progettate le funzioni ADAS?

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:

Un algoritmo di percezione rileva se c'è un veicolo che precede

Le fasi 1, 2 e 3 sono le seguenti:

  1. Un algoritmo di percezione rileva se c'è un veicolo che precede
  2. Un algoritmo radar calcola la nostra distanza dal veicolo
  3. 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:

  1. 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.
  2. 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.

Creazione di funzioni ADAS con MATLAB e Simulink

MATLAB® e Simulink® supportano lo sviluppo ADAS per ogni fase del workflow:

  1. Analisi dei dati
  2. Sintesi degli scenari di guida
  3. Progettazione di algoritmi di pianificazione e controllo ADAS
  4. Progettazione di algoritmi di percezione
  5. Distribuzione degli algoritmi
  6. 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.

L'applicazione mostra un video a sinistra con un'auto etichettata con un rettangolo blu e la parola "auto" e una sequenza LIDAR a destra con un'auto etichettata in un rettangolo blu 3D.

L’app Ground Truth Labeler per etichettare interattivamente i dati di verità di base (ground truth) in un video, una sequenza di immagini o una nuvola di punti LIDAR.

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.

L'applicazione mostra un canvas a sinistra e una vista aerea della scena a destra. A sinistra viene mostrato un incrocio con più auto, tra cui un veicolo ego blu che procede verso nord. A destra viene mostra lo stesso incrocio da una prospettiva aerea con le rilevazioni del sensore della fotocamera e del sensore radar del veicolo ego.

L’app Driving Scenario Designer per progettare scenari, configurare sensori e generare dati sintetici per applicazioni ADAS.

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.

Strada con veicolo ego in cui diverse curve mostrano le traiettorie, con vista in modalità "inseguimento" a sinistra e vista dall'alto a destra. In base al colore i percorsi sono definiti: ottimale, collisione, non fattibile e non valutato.

Visualizzazione della valutazione delle traiettorie possibili in una situazione di guida in autostrada nel grafico dall’alto.

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.

Vista dal conducente di un segnale di stop in un riquadro giallo e con un'etichetta con scritto "stopSign": (Confidenza = 0,995492).

Rilevamento di un segnale di stop utilizzando una R-CNN pre-addestrata con MATLAB.

Distribuzione degli algoritmi ADAS

Toolbox come MATLAB Coder™, Embedded Coder®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.

Scheda NVIDIA Jetson TX2.

NVIDIA Jetson TX2. È possibile generare codice CUDA con GPU Coder

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.

Requirements Editor con un visualizzatore di file a sinistra e proprietà a destra. Il pannello delle proprietà mostra una tabella per i test stop-and-go su una strada curva. La tabella descrive i veicoli target e i requisiti per il veicolo ego.

Test dei requisiti per l'applicazione di riferimento per il mantenimento della corsia in autostrada.

Applicazioni ADAS degli utenti di MATLAB e Simulink