robolab @ unipv
Volo autonomo di un quadricottero in ambiente non infrastrutturato
Denis Ciocca
2012
Quadricottero in plastica PA66 e fibra di carbonio
- Collegamento tramite WLAN Indipendent Basic Service Set
- Telecamera frontale ed inferiore a bassa risoluzione (QCIF e QVGA)
- Dotato di processore arm9 e kernel linux 2.6
- Giroscopio a 3 assi, accelerometro a 3 assi ed 1 sensore ad infrarossi
- Compatibilità con S.O. linux, windows, iOS, Android:
- ARDroneLIB: API necessarie per comunicare e configurare l’A.R. Drone
- ARDroneTool: supporto agli sviluppatori in modo tale che possano inserire codice specifico nelle loro applicazioni
- iPhone Control Engine: serie di strumenti e librerie che permettono di controllare il dispositivo da S.O. iOS
Obiettivi della tesi
- Studiare e realizzare un sistema per il volo autonomo di un elicottero quadrimotore
- Progettare e realizzare il software per il monitoraggio e il pilotaggio del velivolo.
- Eseguire una serie di test per verificare le prestazioni della soluzione sviluppata.
Problema da risolvere
La maggior parte degli algoritmi di navigazione prevede un meccanismo di rilevamento degli ostacoli tramite sensori di prossimità,
il velivolo ne è sprovvisto in ogni direzione tranne che verso il basso.
Soluzioni
- sensori induttivi
- sensori capacitivi
- sensori magnetici
- sensori ad ultrasuoni
- sensori ottici
Software
- software multithread per sistemi operativi linux
- interfaccia grafica realizzata tramite librerie GTK+
Test
- Prova di inseguimento di un target predefinito
- Prove di misura raccolte dal sensore ad ultrasuoni aggiunto
- Prove di navigazione autonoma attraverso algoritmi bug1 e bug2
- Ricostruzione mappa ambientale
Conclusioni
- Tutti i test hanno dimostrato la validità del protocollo di comunicazione tra sensori e PC
- Realizzazione di un bus di comunicazione per ulteriori aggiunte di sensori
- Software portabile a più sistemi operativi
Sviluppi futuri
- Inserimento di nuovi sensori
- Algoritmi di navigazione più robusti
- Centro di ricarica