Sebbene risulti quasi impossibile programmare un computer in grado di gestire qualsiasi scenario di guida, gli attuali sistemi autonomi dispongono di programmi che imparano e pensano proprio come esseri umani consentendo di prendere la decisione giusta in quasi tutte le situazioni. Ma come può essere verificata la sicurezza di questi programmi? Progettando attentamente un’architettura software integrata che massimizzi la sicurezza e una piattaforma di simulazione che “bombardi” letteralmente il software con miliardi di casi di guida complessi, per identificarne rapidamente i punti deboli.
Fornire un sistema di guida autonoma capace di comprendere ogni possibile situazione e formulare giudizi che garantiscano la sicurezza di automobilisti e pedoni è un compito assai difficile e impegnativo. Si pensi ad esempio alla sfida di sviluppare regole utili ad identificare qualsiasi pedone, veicolo o altro elemento che possa palesarsi su una strada cittadina. I convenzionali metodi di programmazione - basati sui requisiti - non sono in grado di gestire l’enorme numero di situazioni che potrebbero verificarsi su strade e autostrade di oggi. I sistemi di guida autonoma hands-off si basano su algoritmi di deep learning che possono essere “addestrati” a sviluppare capacità simili a quelle umane per riconoscere i vari schemi senza dover essere esposti a tutte le situazioni che potrebbero verificarsi – ad esempio – durante un giro al supermercato. Questi sistemi non dispongono dei requisiti dettagliati e definiti - né dell’architettura - utilizzati per validare il classico software safety-critical. E i test su strada non rappresentano un metodo pratico di verifica perché occorrerebbero miliardi di miglia percorse per avvalorarne sicurezza e affidabilità. La piattaforma di simulazione aperta ANSYS ADAS/veicolo autonomo integra la fisica, l’elettronica, i sistemi embedded e il software per simulare accuratamente sistemi di guida autonoma completi. Collegando la piattaforma di simulazione ANSYS e gli strumenti di sviluppo model-based ANSYS SCADE con la tecnologia di testing automatizzata Switchboard™ di Edge Case Research (ECR) - insieme all’analisi di sicurezza funzionale di ANSYS
medini - è possibile ottenere una sicurezza end-to-end nei sistemi di guida autonoma, compresi quelli che si avvalgono di deep learning.
Da ADAS alla guida autonoma
Advanced driver assistance systems (ADAS) - ovvero i sistemi avanzati di assistenza alla guida - sono sempre più utilizzati nelle automobili di oggi per allertare i conducenti sui potenziali problemi o addirittura per prendere il controllo del veicolo in caso di possibile collisione. Questi sistemi di sicurezza vengono normalmente validati grazie al sistema e al ciclo di vita del software embedded V-model definito nella normativa ISO 26262. Utilizzando il V-model, gli sviluppatori sono in grado di definire dettagliatamente requisiti e architettura di sistema e quindi verificare metodicamente la capacità di quest’ultimo di soddisfare ciascuno dei requisiti. La soluzione model-based system engineering (MBSE) ANSYS SCADE Suite viene utilizzata nello sviluppo di sistemi di sicurezza per le principali case automobilistiche. Lo sviluppo di un sistema di guida completamente autonomo è molto più sofisticato e deve essere basato su una combinazione di machine/deep learning e logica di controllo, per implementare il loop di controllo completo del veicolo. Il loop di controllo è composto da percezione (ciò che l’auto osserva), pianificazione del movimento (quale comportamento stia pianificando l’auto) ed esecuzione del movimento (come completerà ciò che ha pianificato). Questo loop viene eseguito in maniera ciclica in modo che il veicolo possa rispondere ai continui cambiamenti dell’ambiente. Tuttavia, i sistemi di guida autonoma basati su machine learning possono essere rilasciati al pubblico solo dopo che gli sviluppatori hanno dimostrato la loro capacità di raggiungere livelli estremamente elevati di sicurezza. I test su strada rappresentano chiaramente una parte essenziale del processo di sviluppo del veicolo, ma non ne garantiscono la sicurezza. Il problema è che i test su strada consistono principalmente in eventi di routine, di solito non particolarmente impegnativi per conducenti umani o autonomi. Occorrerebbero miliardi di chilometri di test su strada per validarne la sicurezza e ciò nonostante, un guasto o un cambio di codice potrebbero costringere a ricominciare da zero.
Superare la sfida di verifica della sicurezza
La piattaforma di simulazione aperta ANSYS ADAS per veicoli autonomi può testare molti più scenari in una frazione del tempo e dei costi richiesti per i test su strada, integrando inoltre:
- Simulazione di scenari di guida, compresa la modellazione sia del mondo virtuale in cui opera il veicolo autonomo sia del veicolo virtuale stesso, con accurata simulazione del sensore (radar, lidar, telecamere, GPS, ecc.) e dinamiche.
- Strumenti di sviluppo qualificati model-based ISO 26262 per il software di controllo e interfaccia uomo-macchina (HMI).
- Ottimizzazione dell’integrità del segnale, nonché dell’affidabilità termica, strutturale ed elettromagnetica dei semiconduttori e dei sistemi elettronici.
L’integrazione completa di fisica, sistemi embedded, software di simulazione e generazione di codice consente agli sviluppatori di sistemi autonomi di simulare accuratamente l’intero ciclo di controllo di guida automatizzato su un’unica piattaforma. Il modello dello scenario di guida “anima” il movimento del veicolo di prova e di altri veicoli e oggetti in un test drive. I modelli dei sensori osservano l’ambiente circostante nel mondo virtuale ed emettono dei segnali. I modelli di elaborazione del segnale e il deep learning identificano oggetti e condizioni di guida dai dati dei sensori. Gli algoritmi di controllo prendono decisioni, generano input per gli attuatori e mostrano informazioni e decisioni al passeggero/operatore. I modelli dei componenti del veicolo utilizzano gli input degli attuatori e calcolano la risposta dei sottosistemi quali sterzo e freni. Il modello dinamico del veicolo calcola posizione, velocità e orientamento del veicolo di prova.
Architettura sicura per veicoli sicuri
Sebbene la simulazione sia molto più rapida ed efficiente dei test su strada, da sola non consente di verificare la sicurezza dei complessi algoritmi di autonomia utilizzati per le funzioni di percezione, movimento ed esecuzione. Per fare questo, gli ingegneri devono innanzitutto scomporre l’architettura del software del veicolo autonomo in un insieme significativo di componenti basati su percezione, pianificazione ed esecuzione. Successivamente, devono progettare un’architettura che garantisca la sicurezza per ciascuno di essi. Questa architettura si basa sul principio DOER-CHECKER. L’architettura dettagliata è composta da un algoritmo primario (DOER) che può essere estremamente complesso, sottoposto a frequenti aggiornamenti e difficile da verificare, ed è associato a una porta di sicurezza corrispondente (CHECKER) che verifica che le uscite siano corrette. Se il safing gate rileva un problema, un algoritmo di canale ne prende il controllo. Questo modello rappresenta la base dell’architettura a due canali sviluppata dai membri del team ECR presso la Carnegie Mellon University (vedi diagramma) e comprende un canale primario che produce una missione di lunga durata e uno di sicurezza che ne produce una di breve durata come - ad esempio - accostare l’auto al ciglio della strada. Utilizzando questa architettura, il piano può essere controllato dal punto di vista della sicurezza durante la fase di pianificazione. L’algoritmo primario non deve necessariamente soddisfare gli obiettivi di sicurezza al più alto livello (ASIL D in ISO 26262); piuttosto, questa responsabilità viene assegnata al safing gate. Ciò che rende possibile questo processo è che i requisiti di sicurezza dettagliati delle porte possono essere stabiliti in modo che la loro implementazione soddisfi gli obiettivi della ISO 26262 di ASIL D, come illustrato dall’esempio mostrato, in cui la macchina si fermerà perché è stato rilevato un veicolo parcheggiato in doppia fila.
Il testing automatizzato di robustezza identifica e diagnostica i guasti di percezione
Garantire la sicurezza della percezione è più complesso; non è possibile creare un safing gate per verificare che gli output di percezione siano corrette e sicure. Pertanto, la sicurezza della percezione deve essere validata utilizzando tecniche differenti. ECR Switchboard risponde a questa sfida (e ad alcune altre) fornendo test automatizzati di robustezza per individuare i guasti. Ciò che è necessario per dimostrare la sicurezza della percezione è un’esposizione su larga scala a casi difficili che possono mettere alla prova sistemi di guida autonomi (e spesso anche conducenti in carne ed ossa). ECR Switchboard utilizza un nuovo algoritmo per ridurre drasticamente il numero potenzialmente infinito di test necessari al fine di individuare rapidamente i casi che fanno fallire il software e capire perché si sia verificato l’errore. Inoltre, analizza lo spazio di input ad elevate dimensioni per identificare query particolari, utili per testare il modello, e bombarda il sistema di guida automatizzata con un flusso misto di input standard ed eccezionali fino a quando si verifica un problema. I guasti vengono quindi diagnosticati generalizzando un singolo input di fault-triggering per produrre un insieme di input che fungono da suggerimenti nel sottintendere assegnazioni field-value innescanti l’errore. Questo approccio è molto efficace per scovare casi limite che causano errori di sistema. Forse la sfida tutt’ora più significativa nell’implementazione su larga scala di sistemi di guida autonoma è rappresentata da sperimentazione e debug di algoritmi di machine learning e deep learning, che funzionano senza requisiti e design definiti che ne garantiscano robustezza e sicurezza. ANSYS ha sfruttato la sua vasta esperienza nella simulazione di diverse fisiche e di software embedded safety-critical per offrire una piattaforma di simulazione di guida automatica completa, che include l’unico generatore di codice al mondo conforme a ISO 26262. Questa piattaforma è ora integrata con la piattaforma di test di robustezza di ECR Switchboard, che esegue un numero enorme di scenari di simulazione, prediligendo quelli più complessi, con l’obiettivo di mitigare il rischio residuo di validazione della sicurezza. Questa partnership può offrire una soluzione completa, utile a verificare e convalidare la sicurezza dei sistemi di guida autonoma più avanzati.