Università degli Studi di Pisa
Università degli Studi di Pisa
Dipartimento di Sistemi Elettrici e Automazione
Dipartimento di Sistemi Elettrici e Automazione
University of Illinois at Urbana-Champaign
University of Illinois at Urbana-Champaign
Department of Aeronautical and Astronautical Engineering
Department of Aeronautical and Astronautical Engineering
Coordinated Science Laboratory
Coordinated Science Laboratory
COSTRUZIONE DI UNA PIATTAFORMA
COSTRUZIONE DI UNA PIATTAFORMA
PER VEICOLI AEREI AUTONOMI
PER VEICOLI AEREI AUTONOMI
di Paolo Messina di Paolo Messina
Tesi di Laurea in Ingegneria Informatica
Tesi di Laurea in Ingegneria Informatica
Indirizzo Automazione Indirizzo Automazione A.A. 2003/04 A.A. 2003/04 Pisa, 18 Dicembre 2003 Pisa, 18 Dicembre 2003
Costruzione di un veicolo aereo autonomo Identificazione del modello dinamico
Stima dello stato e controllo
Cooperazione e coordinazione con altri veicoli
Sviluppo software di bordo
Comunicazione “wireless” con stazione di terra Stima e controllo basati su visione
Installazione e configurazione del sistema operativo QNX Neutrino sul computer di bordo
Progettazione e sviluppo di un'applicazione per la raccolta di dati, stima dello stato e controllo
Avvio del sistema su disco a stato solido
Comunicazione seriale con sensori e attuatori
Rete Ethernet e Wireless per la verifica del software e per la stazione di terra
Applicazione software di bordo
File di Log IMU GPS Comandi Stazione di terraArchitettura software (1)
Caratteristiche
Thread multipli, uno per ogni task fondamentale
(comunicazione con sensori e attuatori, ricezione da rete wireless, calcoli per stima e controllo, watchdog) Oggetti C++ per la gestione e la verifica dei thread e per la comunicazione e la sincronizzazione fra thread Interfaccia standard POSIX verso il sistema
Esempio di schedulazione
Architettura software (2)
Servo Network Control Estimator IMU GPS Watchdog 0 10 20 30 100 110 120 P (20ms) A (sporadico) A (10ms) A (10ms) P (10ms) P (100ms) A (background)Rete wireless
Stazione di terra Team di veicoli Broadcast per l'invio di
messaggi di stato Point-to-point per l'invio di comandi
Brusche variazioni nelle misure di posizione del GPS, in particolare salti improvvisi di altitudine
Problemi di misura (1)
180 190 200 210 220 230 240 250 260 270 280 10 20 30 40 50 60 70 80 90 GPS Local Posi ti on T i me (s) G P S A lt it u d e ( m )Errori costanti nelle misure di velocità angolare della IMU, che causano drift nella misura degli angoli
Problemi di misura (2)
0 20 40 60 80 100 120 140 160 -20 -15 -10 -5 0 5 10 15 20IMU Angul ar Rates
T i me ( s ) R P Y a n g u la r ra te ( d e g /s ) Rol l rate Pi tch rate Yaw rate 0 50 100 150 200 250 300 350 -300 -200 -100 0 100 200 300 IMU Angl es T i me ( s ) R P Y a n g le s ( d e g )
Integrated Rol l rate Integrated Pitch rate Integrated Yaw rate
La stima della posizione dell'aereo dipende dalle
coordinate GPS e dall'integrazione delle accelerazioni della IMU nel modello dinamico dell'aereo
Gravità e portanza sono due forze che influenzano la dinamica del velivolo in base all'assetto
L'assetto soffre di errori dovuti all'integrazione delle velocità angolari della IMU
Serve una misura diretta dell'assetto per migliorare la stima dello stato
La linea dell'orizzonte ricavata dalle immagini di una mini-camera montata sull'aereo può fornire:
Una misura diretta dell'angolo di rollio, opposto all'inclinazione dell'orizzonte
Una misura dell'angolo di beccheggio, ottenuta dalla distanza dell'orizzonte dall'asse ottico, allineato con l'asse del velivolo, conoscendo l'apertura della lente della telecamera
Edge Detection
Riconoscimento dell'orizzonte (1)
Immagine
Immagine GradienteGradiente Edge MapEdge Map
Convoluzione con
Distortion Correction
Riconoscimento dell'orizzonte (2)
Distorsione radiale: R = r + k1 r 3 + k 2 r 5 Edge MapEdge Map CorrectedCorrected
Edge Map
Line Recognition
Riconoscimento dell'orizzonte (3)
Trasformata di Hough: ρ = y cos(θ) – x sin(θ) -90 -75 -60 -45 -30 -15 0 15 30 45 60 75 90 -200 -150 -100 -50 0 50 100 150200 Line Parameters Space
Theta (deg) R h o ( p ix e ls ) Cerca massimo: (23, -43) Corrected Corrected Edge Map Edge Map
Risultato dell'algoritmo
Riconoscimento dell'orizzonte (4)
θ = 23° ρ = - 43
Parametri della retta: y=x tan(θ)+ρ/cos(θ)
Visualizzazione
L'angolo di rollio misurato dall'algoritmo e filtrato con un rate-limiter (45°/s), contro l'integrale della velocità angolare misurata dalla IMU
Misure a confronto
160 180 200 220 240 260 280 300 320 340 -50 0 50 100 150Rol l Angl e Comparison
T i me (s) R o ll a n g le ( d e g )
Integrated IMU angul ar rate Fil tered al gorithm output
Pro
Semplicità, adattabile in velocità e precisione Accuratezza elevata in assenza di disturbo Correzione della distorsione efficiente
Contro
Sensibilità al rumore di trasmissione
Limitato nella determinazione dell'orizzonte
(non sempre è la linea più lunga nell'immagine)
Piattaforma UAV
Watchdog ad eventi, con diverse strategie di recupero Radio-modem per una migliore comunicazione wireless
Algoritmo di visione
Operatori di soglia più complessi, per migliorare la identificazione dei bordi, o soglia adattiva
Ricerca di più massimi locali nella matrice di Hough e selezione della retta più adatta a rappresentare
l'orizzonte con tecniche statistiche