Rivoluzionare il test dei sistemi di guida automatizzati
OpenSBT offre un framework flessibile per il test efficiente dei sistemi di guida automatizzata.
― 6 leggere min
Indice
Testare i sistemi di guida automatica (ADS) è una vera sfida. Questi sistemi devono essere sicuri e affidabili per funzionare bene nella vita reale. I metodi tradizionali di test spesso richiedono di guidare realmente, il che può essere lungo e costoso. Un approccio migliore è usare il testing software basato su ricerca (SBST). Questo metodo permette di creare scenari virtuali che simulano situazioni reali, aiutando a individuare problemi prima che accadano sulla strada.
Le Sfide del Testare gli ADS
Testare gli ADS implica molte componenti complesse. Simulatori, protocolli di comunicazione e algoritmi devono lavorare insieme senza intoppi. Questa complessità può rendere difficile per le aziende adottare ampiamente l'SBST. Molte soluzioni di test esistenti non sono abbastanza flessibili da adattarsi a diversi simulatori o Algoritmi di ricerca. Inoltre, a volte non possono essere facilmente condivise o modificate, il che ostacola collaborazione e innovazione nel campo.
OpenSBT: Un Nuovo Framework per il Test
Per affrontare queste sfide, è stato sviluppato un nuovo framework chiamato OpenSBT. OpenSBT è uno strumento Open-source che permette agli utenti di integrare vari simulatori, algoritmi e funzioni di test in una sola piattaforma. Questo framework è modulare, il che significa che è possibile aggiungere o rimuovere parti, rendendolo adattabile a diverse esigenze di test.
Caratteristiche di OpenSBT
OpenSBT ha diverse caratteristiche importanti:
Integrazione con Diversi Simulatori: Gli utenti possono connettere vari simulatori al framework di test senza dover modificare altre parti del sistema.
Algoritmi di Ricerca Personalizzabili: Gli utenti possono applicare algoritmi già esistenti e crearne di propri per scopi di test.
Visualizzazione dei Risultati: Il framework offre strumenti per analizzare i risultati dei test, facilitando la comprensione delle prestazioni degli ADS in diverse condizioni.
Open Source: OpenSBT è liberamente disponibile per uso sia accademico che commerciale, incoraggiando sviluppatori e ricercatori a contribuire al suo miglioramento.
L'Architettura di OpenSBT
OpenSBT è costruito con un'architettura flessibile che consente facili personalizzazioni. Usa un framework di ottimizzazione multi-obiettivo chiamato pymoo, implementato in Python. Il framework consiste in diversi componenti chiave:
Ambiente di Simulazione: Questo connette gli ADS agli strumenti di simulazione. Ogni simulatore è rappresentato da una classe che definisce come eseguire gli scenari.
Funzioni di Fitness: Queste funzioni valutano come bene gli ADS performano in un dato scenario. Guidano la ricerca verso casi di test critici che potrebbero rivelare problemi con il sistema.
Algoritmi di Ricerca: OpenSBT permette agli utenti di scegliere fra algoritmi esistenti o crearne di nuovi. Questa flessibilità aiuta a garantire che i migliori metodi di ricerca possibili possano essere applicati al processo di test.
Definizioni di Scenario: Ogni scenario di test definisce le condizioni sotto le quali gli ADS saranno valutati. Gli utenti possono creare scenari manualmente o attraverso clustering di dati.
Usare OpenSBT
Per dare un'idea migliore di come funziona OpenSBT, consideriamo due esempi di utilizzo.
Scenario 1: Testare con CARLA
Nel primo esempio, OpenSBT viene utilizzato per testare un ADS usando il simulatore CARLA. CARLA è un simulatore open-source per la ricerca nella guida autonoma. Lo scenario di test coinvolge un sistema di frenata di emergenza automatica (AEB). L’obiettivo è identificare i casi in cui l'AEB non riesce a fermare il veicolo in tempo per evitare una collisione con un pedone.
Il processo inizia integrando CARLA con OpenSBT. Il comportamento specifico del pedone e altri fattori ambientali sono definiti all'interno del simulatore. Poi, si impostano le funzioni di fitness per misurare come funziona l'AEB durante la simulazione.
Dopo aver configurato tutto, inizia la ricerca di scenari critici. Vengono eseguiti vari casi di test e i risultati vengono raccolti per analisi. Le visualizzazioni create durante questo processo aiutano a evidenziare eventuali fallimenti nel sistema.
Scenario 2: Testare con Prescan
Nel secondo esempio, OpenSBT viene utilizzato con un altro simulatore chiamato Prescan. Questa volta si testa un AEB basato su Simulink. Lo scenario è simile, con un veicolo che si avvicina a un attraversamento pedonale.
Integrare Prescan implica connettere OpenSBT al software di simulazione necessario e specificare come dovrebbe essere valutato l'AEB. Anche qui, si definiscono le funzioni di fitness per misurare le prestazioni. Una volta impostato, l'algoritmo di ricerca si attiva, cercando situazioni in cui l'AEB potrebbe fallire.
I risultati vengono memorizzati e visualizzati, fornendo informazioni su come il sistema opera in diverse condizioni. Questo secondo esempio dimostra che OpenSBT può adattarsi a vari scenari di test e simulatori.
Importanza della Visualizzazione dei Risultati
Uno dei principali vantaggi di usare OpenSBT è il modo in cui i risultati vengono visualizzati. Dopo ogni esecuzione del test, gli utenti ricevono feedback dettagliato sulle prestazioni degli ADS. Strumenti visivi aiutano a dare senso a dati complessi, permettendo agli ingegneri di vedere dove si possono fare miglioramenti. Questo aspetto è fondamentale per assicurare che gli ADS possano diventare più sicuri nel tempo.
Feedback degli Utenti e Studi
Il feedback iniziale degli utenti, inclusi i partner industriali, è stato positivo. Le aziende hanno scoperto che OpenSBT semplifica l'integrazione di diversi approcci di test e la comparazione dei risultati tra vari metodi. Questo feedback ha portato a piani per ulteriori studi per valutare quanto efficacemente OpenSBT possa essere utilizzato per diversi compiti di test.
Si sta pianificando uno studio utente completo, che valuterà l'usabilità e la flessibilità di OpenSBT. I partecipanti saranno incaricati di testare lo stesso ADS utilizzando sia metodi tradizionali che OpenSBT. Confrontando i risultati dei due gruppi, i ricercatori sperano di quantificare i benefici dell'utilizzo del framework in applicazioni reali.
Sviluppi Futuri
OpenSBT è in continua evoluzione. I piani futuri includono il potenziamento delle sue capacità per facilitare l'integrazione con altri framework di ottimizzazione e, potenzialmente, l'aggiunta di un'interfaccia utente grafica. Questo permetterebbe agli utenti di creare e modificare scenari di test più facilmente, oltre a visualizzare i risultati in un formato più user-friendly.
In generale, OpenSBT è posizionato per avere un impatto significativo su come vengono testati i sistemi di guida automatica. Semplificando il processo e offrendo un framework flessibile, mira a supportare lo sviluppo di ADS più sicuri e affidabili.
Conclusione
Testare gli ADS è un compito complesso che richiede pianificazione e esecuzione accurata. I metodi tradizionali possono essere limitanti, ma strumenti come OpenSBT forniscono un approccio moderno per affrontare queste sfide. Con il suo framework flessibile, funzioni estese e natura open-source, OpenSBT è pronto a migliorare l'efficienza e l'efficacia del testing. La sua adozione può portare a sistemi di guida automatica più sicuri, beneficiando alla fine sia i produttori che gli utenti.
Titolo: OpenSBT: A Modular Framework for Search-based Testing of Automated Driving Systems
Estratto: Search-based software testing (SBT) is an effective and efficient approach for testing automated driving systems (ADS). However, testing pipelines for ADS testing are particularly challenging as they involve integrating complex driving simulation platforms and establishing communication protocols and APIs with the desired search algorithm. This complexity prevents a wide adoption of SBT and thorough empirical comparative experiments with different simulators and search approaches. We present OpenSBT, an open-source, modular and extensible framework to facilitate the SBT of ADS. With OpenSBT, it is possible to integrate simulators with an embedded system under test, search algorithms and fitness functions for testing. We describe the architecture and show the usage of our framework by applying different search algorithms for testing Automated Emergency Braking Systems in CARLA as well in the high-fidelity Prescan simulator in collaboration with our industrial partner DENSO. OpenSBT is available at https://git.fortiss.org/opensbt. A demo video is provided here: https://youtu.be/6csl\_UAOD\_4.
Autori: Lev Sorokin, Tiziano Munaro, Damir Safin, Brian Hsuan-Cheng Liao, Adam Molin
Ultimo aggiornamento: 2023-11-02 00:00:00
Lingua: English
URL di origine: https://arxiv.org/abs/2306.10296
Fonte PDF: https://arxiv.org/pdf/2306.10296
Licenza: https://creativecommons.org/licenses/by/4.0/
Modifiche: Questa sintesi è stata creata con l'assistenza di AI e potrebbe presentare delle imprecisioni. Per informazioni accurate, consultare i documenti originali collegati qui.
Si ringrazia arxiv per l'utilizzo della sua interoperabilità ad accesso aperto.
Link di riferimento
- https://arxiv.org/pdf/2206.07813.pdf
- https://git.fortiss.org/opensbt
- https://youtu.be/6csl
- https://www.asam.net/standards/detail/openscenario
- https://chentaolue.github.io/pub-papers/ase22-adept.pdf
- https://openpass.eclipse.org/architecture/#platform-concept
- https://people.eecs.berkeley.edu/~sseshia/pubdir/verifai-cav19.pdf
- https://git.fortiss.org/opensbt/opensbt-core/-/tree/main/doc/jupyter
- https://www.fortiss.org/en/research/fortiss-labs/detail/mobility-lab
- https://www.youtube.de/TODO
- https://git.fortiss.org/opensbt/carla
- https://fmi-standard.org/tools/
- https://github.com/ApolloAuto/apollo/
- https://git.fortiss.org/opensbt/opensbt-core/-/blob/update-readme/doc/jupyter/06
- https://git.fortiss.org/opensbt/prescan