Tesi etd-06122021-101430 |
Link copiato negli appunti
Tipo di tesi
Tesi di laurea magistrale
Autore
PAPALLO, ELISABETTA
URN
etd-06122021-101430
Titolo
Sviluppo di un drone multirotore dotato di un sistema di obstacle sensing e collision avoidance
Dipartimento
INGEGNERIA DELL'INFORMAZIONE
Corso di studi
INGEGNERIA ROBOTICA E DELL'AUTOMAZIONE
Relatori
relatore Prof.ssa Pallottino, Lucia
relatore Ing. Pacini, Matteo
relatore Ing. Pacini, Matteo
Parole chiave
- apr
- collision avoidance
- drone
- obstacle detection
- obstacle sensing
- point cloud
Data inizio appello
08/07/2021
Consultabilità
Non consultabile
Data di rilascio
08/07/2091
Riassunto
Il presente lavoro di tesi ha come scopo la realizzazione di un drone multirotore dotato di un sistema di obstacle sensing e collision avoidance, in grado di esplorare ambienti non noti a priori, seguendo in totale autonomia una missione preimpostata. Tale attività è stata svolta nell’ambito di un tirocinio presso la ditta Sigma Ingegneria S.r.l. di Lucca.
Il lavoro ha visto prima di tutto uno studio delle tecnologie esistenti dedicate all’implementazione di algoritmi anticollisione, alla fine del quale sono state selezionate una stereo-camera per la detection degli ostacoli ed una Companion Board dedicata all’elaborazione dei dati del sensore.
Prima di procedere allo sviluppo del nuovo Drone Sigma, sul quale sono stati integrati sensore e Companion Board tramite appositi supporti disegnati ad hoc e stampati in 3D, è stata fatta un’analisi delle prestazioni del velivolo, sulla base di una stima preliminare delle masse.
L’ambiente scelto per lo sviluppo dell’applicazione è il framework ROS e l’algoritmo sviluppato per la detection degli ostacoli si basa sull’analisi della Point Cloud ottenuta dalla stereo-camera, dalla quale vengono estratte le informazioni sulle dimensioni degli oggetti presenti nell’ambiente di lavoro e le loro distanze dal drone.
La Point Cloud viene quindi elaborata e filtrata grazie alla Libreria PCL (Point Cloud Library), che permette di processare un insieme di punti dello spazio con lo scopo di utilizzare le informazioni ottenute dall'elaborazione per vari scopi. Al termine di tali calcoli vengono estratti i cluster dall’immagine, ovvero un set di nuvole di punti, ciascuna appartenente ad un singolo ostacolo. I Cluster sono poi boxati e le informazioni sulle loro dimensioni utilizzate per modificare la traiettoria del velivolo.
È stata utilizzata l’interfaccia grafica QGroundControl che impostare le missioni da far eseguire al Drone, le quali consistono in una lista di waypoint che il velivolo deve raggiungere. Successivamente alla detection degli ostacoli è stato sviluppato l’algoritmo di avoidance che, in caso di ostacolo presente sulla traiettoria, interviene modificando la missione del Drone, in particolare aggiungendo un nuovo waypoint, che permette di evitare la collisione e proseguire il volo in sicurezza.
L’intero algoritmo si basa sullo studio di un corridoio virtuale di sicurezza, all’interno del quale il drone si deve muovere, e in cui non devono essere presenti ostacoli.
Una volta che la Companion board, elaborando i dati della PointCloud, identifica un ostacolo nel corridoio virtuale, vengono calcolate le coordinate, nel frame drone, del waypoint ausiliario necessario all’avoidance e dopo essere state convertite in coordinate GPS, latitudine, longitudine e altitudine, vengono comunicate tramite protocollo Mavlink alla Flight controller board del drone.
Per validare la strategia di controllo per Obstacle Avoidance ed eseguire una verifica funzionale del sistema prima di effettuare le prove in volo, è stata realizzata una simulazione Matlab. Questa consiste in una rappresentazione 2D dello scenario di lavoro; in particolare, è stata usata una griglia di occupazione binaria per la rappresentazione della mappa in cui il robot, visto come un punto materiale, si muove. Per raccogliere le informazioni sulle dimensioni degli ostacoli nella mappa è stato utilizzato un tool che permette di simulare un Lidar2D, grazie al quale è stato possibile implementare la strategia di avoidance. Ciò ha permesso infatti l’elaborazione che nella realtà è effettuata con l’elaborazione della PointCloud ottenuta dalla stereo-camera, poiché entrambi i sensori sono in grado di fornire in uscita le distanze dagli ostacoli, anche se tramite output differenti.
In conclusione, i test effettuati in campo con il Drone multirotore hanno evidenziato un successo della strategia implementata consentendo l’avoidance degli ostacoli percepiti dalla telecamera in tempo reale, quindi le basi per l’integrazione di un sistema tale da garantire sicurezza in volo e ottime performance operative.
Il lavoro ha visto prima di tutto uno studio delle tecnologie esistenti dedicate all’implementazione di algoritmi anticollisione, alla fine del quale sono state selezionate una stereo-camera per la detection degli ostacoli ed una Companion Board dedicata all’elaborazione dei dati del sensore.
Prima di procedere allo sviluppo del nuovo Drone Sigma, sul quale sono stati integrati sensore e Companion Board tramite appositi supporti disegnati ad hoc e stampati in 3D, è stata fatta un’analisi delle prestazioni del velivolo, sulla base di una stima preliminare delle masse.
L’ambiente scelto per lo sviluppo dell’applicazione è il framework ROS e l’algoritmo sviluppato per la detection degli ostacoli si basa sull’analisi della Point Cloud ottenuta dalla stereo-camera, dalla quale vengono estratte le informazioni sulle dimensioni degli oggetti presenti nell’ambiente di lavoro e le loro distanze dal drone.
La Point Cloud viene quindi elaborata e filtrata grazie alla Libreria PCL (Point Cloud Library), che permette di processare un insieme di punti dello spazio con lo scopo di utilizzare le informazioni ottenute dall'elaborazione per vari scopi. Al termine di tali calcoli vengono estratti i cluster dall’immagine, ovvero un set di nuvole di punti, ciascuna appartenente ad un singolo ostacolo. I Cluster sono poi boxati e le informazioni sulle loro dimensioni utilizzate per modificare la traiettoria del velivolo.
È stata utilizzata l’interfaccia grafica QGroundControl che impostare le missioni da far eseguire al Drone, le quali consistono in una lista di waypoint che il velivolo deve raggiungere. Successivamente alla detection degli ostacoli è stato sviluppato l’algoritmo di avoidance che, in caso di ostacolo presente sulla traiettoria, interviene modificando la missione del Drone, in particolare aggiungendo un nuovo waypoint, che permette di evitare la collisione e proseguire il volo in sicurezza.
L’intero algoritmo si basa sullo studio di un corridoio virtuale di sicurezza, all’interno del quale il drone si deve muovere, e in cui non devono essere presenti ostacoli.
Una volta che la Companion board, elaborando i dati della PointCloud, identifica un ostacolo nel corridoio virtuale, vengono calcolate le coordinate, nel frame drone, del waypoint ausiliario necessario all’avoidance e dopo essere state convertite in coordinate GPS, latitudine, longitudine e altitudine, vengono comunicate tramite protocollo Mavlink alla Flight controller board del drone.
Per validare la strategia di controllo per Obstacle Avoidance ed eseguire una verifica funzionale del sistema prima di effettuare le prove in volo, è stata realizzata una simulazione Matlab. Questa consiste in una rappresentazione 2D dello scenario di lavoro; in particolare, è stata usata una griglia di occupazione binaria per la rappresentazione della mappa in cui il robot, visto come un punto materiale, si muove. Per raccogliere le informazioni sulle dimensioni degli ostacoli nella mappa è stato utilizzato un tool che permette di simulare un Lidar2D, grazie al quale è stato possibile implementare la strategia di avoidance. Ciò ha permesso infatti l’elaborazione che nella realtà è effettuata con l’elaborazione della PointCloud ottenuta dalla stereo-camera, poiché entrambi i sensori sono in grado di fornire in uscita le distanze dagli ostacoli, anche se tramite output differenti.
In conclusione, i test effettuati in campo con il Drone multirotore hanno evidenziato un successo della strategia implementata consentendo l’avoidance degli ostacoli percepiti dalla telecamera in tempo reale, quindi le basi per l’integrazione di un sistema tale da garantire sicurezza in volo e ottime performance operative.
File
Nome file | Dimensione |
---|---|
La tesi non è consultabile. |