Obiettivo
L’obiettivo di questo progetto è l’implementazione con tool Matlab/simulink di un veicolo 4WD autoguidato all’interno di un labirinto rappresentato con una mappa con le seguenti caratteristiche:
- Sviluppata con una matrice 5×5
- Senza loop chiusi
- Con possibilità di vicoli ciechi
- Identificazione dei percorsi già attraversati
Il veicolo dovrà essere capace di analizzare i propri dintorni attraverso 3 scansioni SONAR a sinistra, davanti e a destra rispetto all’attuale direzione del veicolo e di raggiungere una destinazione target in 2 scenari distinti:
- Con una mappa nota a priori
- Con una mappa inizialmente vuota e aggiornata ad ogni step di movimento
Inoltre, è prevista la capacità del veicolo di comunicare la mappa via UART a terminale su PC ad ogni step di movimento in modo da verificare il percorso seguito nello scenario operativo 1 ma anche ricevere gli update degli ostacoli effettuati nello scenario operativo 2.
Gestione della navigazione
Per semplicità di progettazione il movimento è previsto all’interno di una mappa realizzata con una griglia 5×5, considerando ogni cella con un lato di 50 cm. Ad ogni cella della griglia viene associato un carattere per identificare la tipologia di elemento del percorso:
- w → Ostacolo
- p → Percorso possibile
- t → Percorso già attraversato
- b → Percorso bloccato
- d → Destinazione
- * → Posizione attuale
L’immagine seguente indica un esempio di funzionamento in una mappa preimpostata comunicata tramite UART a terminale su PC ad ogni ciclo:

Implementazione
L’intero progetto è stato realizzato come modello SIMULINK e implementato principalmente attraverso una macchina a stati e il lancio di trigger delle funzioni di gestione delle varie periferiche.
Verifica
La verifica funzionale del progetto è stata eseguita in ambiente controllato con il veicolo a ruote sollevate per problemi di cablaggio riguardanti la comunicazione e alimentazione della scheda e delle periferiche. È stata eseguita una verifica funzionale dei singoli step operativi e successivamente degli scenari operativi completi 1 e 2.
Viene simulato il funzionamento in modalità 1 con quindi una mappa preimpostata. Dal video si può vedere il veicolo compiere le giuste azioni in riferimento alla mappa in termini di rotazione e movimento, inoltre la mappa viene correttamente aggiornata al passaggio del veicolo. Il sistema raggiunge la destinazione seguendo le modalità previste. Il log di evoluzione della mappa è il seguente:


