Guida autonoma

 

Guida autonoma in MATLAB e Simulink

MATLAB®, Simulink® e RoadRunner supportano la progettazione di sistemi di percezione, pianificazione e controllo per la guida autonoma consentendo agli ingegneri di ottenere informazioni sui comportamenti del mondo reale, ridurre i test sui veicoli e verificare la funzionalità del software embedded. Con MATLAB e Simulink, è possibile:

  • Accedere ai dati, visualizzarli ed etichettarli
  • Simulare scenari di guida
  • Progettare algoritmi di pianificazione e controllo
  • Progettare algoritmi di percezione
  • Distribuire algoritmi mediante la generazione di codice
  • Eseguire test e integrazioni

Guarda come gli altri utenti usano MATLAB e Simulink per la guida autonoma

Accesso, visualizzazione ed etichettatura dei dati

È possibile accedere ai dati di guida registrati e in tempo reale utilizzando le interfacce MATLAB per CAN e ROS. Grazie agli strumenti integrati è inoltre possibile visualizzare ed etichettare i dati importati. Ad esempio, l’applicazione Ground Truth Labeler fornisce un’interfaccia per la visualizzazione e l’etichettatura interattiva di più segnali. In alternativa, è possibile etichettare automaticamente questi segnali ed esportare i dati etichettati nella propria area di lavoro.

Per accedere e visualizzare i dati di mappe geografiche, è possibile utilizzare HERE HD Live Maps e OpenStreetMap®.


Simulazione di scenari di guida

È possibile utilizzare gli ambienti di simulazione con cuboidi o Unreal Engine® con MATLAB per sviluppare e testare algoritmi in scenari virtuali.

L’ambiente con cuboidi rappresenta gli attori come elementi grafici semplici e utilizza modelli probabilistici dei sensori. È possibile impiegare questo ambiente per i controlli, la fusione dei sensori e la pianificazione del movimento.

Con l’ambiente Unreal Engine è possibile sviluppare algoritmi per la percezione e casi d’uso in ambienti con cuboidi. RoadRunner consente di progettare scene da utilizzare con i simulatori, tra cui CARLA, Vires VTD e NVIDIA Drive Sim®, così come MATLAB e Simulink. RoadRunner supporta inoltre l’esportazione in formati file standard del settore come FBX® and OpenDRIVE®.


Progettazione di algoritmi di pianificazione e controllo

Con MATLAB e Simulink è possibile sviluppare algoritmi di controllo e pianificazione del percorso. È possibile progettare sistemi di controllo dei veicoli utilizzando controller laterali e longitudinali che consentono ai veicoli autonomi di seguire una traiettoria pianificata.

Inoltre, è possibile testare gli algoritmi sinteticamente mediante modelli di sensori e modelli di dinamica del veicolo, insieme ad ambienti di simulazione 2D e 3D.


Progettazione di algoritmi di percezione

È possibile sviluppare algoritmi di percezione, utilizzando i dati provenienti da fotocamere, LIDAR e radar. Gli algoritmi di percezione includono il rilevamento, il tracking e la localizzazione, da poter utilizzare per applicazioni come la frenata automatica, lo sterzo, la costruzione di mappe e l’odometria. 

È possibile implementare questi algoritmi come parte di applicazioni ADAS come la sterzata e la frenata di emergenza.

Con MATLAB è possibile sviluppare algoritmi per la fusione dei sensori, la localizzazione e la mappatura simultanea (SLAM), la costruzione di mappe e l’odometria.


Distribuzione degli algoritmi

È possibile distribuire algoritmi di percezione, pianificazione e controllo su hardware mediante workflow di generazione di codice. I linguaggi di generazione di codice supportati includono C, C++, CUDA®, Verilog® e VHDL®.

È inoltre possibile distribuire gli algoritmi ad architetture orientate ai servizi come ROS e AUTOSAR.

Mediante l’uso del codice autogenerato è possibile collegare i sensori con altri componenti ECU. Sono supportati vari target di distribuzione, tra cui hardware da NVIDIA, Intel® e ARM®.


Integrazione e test

È possibile integrare e testare i sistemi di percezione, pianificazione e controllo. Con Simulink Requirements™ è possibile acquisire e gestire i requisiti. Simulink Test™ consente inoltre di eseguire e automatizzare i casi di test in parallelo.