22
SIMULATORI PER UAV COME TESTBED PER AGENTI INTELLIGENTI Jessica Di Labbio Joint work with: Loris Pensierini - Informatica e Società Digitale (IES) Emanuele Tonucci – Informatica e Società Digitale (IES)

Simulatori per uav come testbed per agenti intelligenti › images › TTP › seminario jessica.pdf · 2017-09-08 · TESTBED PER AGENTI INTELLIGENTI Jessica Di Labbio Joint work

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Simulatori per uav come testbed per agenti intelligenti › images › TTP › seminario jessica.pdf · 2017-09-08 · TESTBED PER AGENTI INTELLIGENTI Jessica Di Labbio Joint work

SIMULATORI PER UAV COME TESTBED PER AGENTI

INTELLIGENTIJessica Di Labbio

Joint work with:Loris Pensierini - Informatica e Società Digitale (IES)

Emanuele Tonucci – Informatica e Società Digitale (IES)

Page 2: Simulatori per uav come testbed per agenti intelligenti › images › TTP › seminario jessica.pdf · 2017-09-08 · TESTBED PER AGENTI INTELLIGENTI Jessica Di Labbio Joint work

DRONE

Un drone e ̀ un particolare dispositivo, con limitate capacita ̀ decisionali, in grado di sollevarsi in aria, che può essere comandato a distanza in remoto da un computer e/o direttamente da radiocomando, con funzioni di autostabilizzazione in volo. In generale un drone viene indicato con il termine “multirotore” in base al numero di rotori di cui e ̀ equipaggiato: tricottero (3), quadricottero (4), esacottero (6), ottocottero (8), ognuno dei quali ha una differente capacita ̀ di carico che può portare in volo.

Inizialmente utilizzati in contesto hobbistico, sono diventati in brevissimo tempo un importante strumento di lavoro e supporto. Oggi vengono impiegati maggiormente nella fotografia aerea e del rendering 3d ma sono diversi i campi di applicazione nei quali vengono utilizzati (militare, archeologico, edilizio, nel campo della sicurezza, nell’agricoltura, hobbistica, ecc..).

Page 3: Simulatori per uav come testbed per agenti intelligenti › images › TTP › seminario jessica.pdf · 2017-09-08 · TESTBED PER AGENTI INTELLIGENTI Jessica Di Labbio Joint work

Principio di funzionamento

■ Bernoulli : la forma dell’elica costringe l’aria soprastante ad accelerare rispetto a quella sottostante riducendo creando una depressione al di sopra dell’ala ;

■ Effetto downwash : la spinta dell’aria verso il basso da parte di una superficie , elica, che le passa in mezzo con una certa angolazione ( pitch)

■ Effetto coanda : capacità dell’aria di aderire ad una superficie che passi in mezzo velocemente, o anche ad una superficie ferma se investita da un flusso d’aria che si muove velocemente rispetto ad essa.

Page 4: Simulatori per uav come testbed per agenti intelligenti › images › TTP › seminario jessica.pdf · 2017-09-08 · TESTBED PER AGENTI INTELLIGENTI Jessica Di Labbio Joint work

Gradi di libertà

■ Spostamento traslazionale lungo l’asse x

■ Spostamento traslazionale lungo l’asse y

■ Spostamento traslazionale lungo l’asse z

■ Rotazione intorno all’asse x (roll)

■ Rotazione intorno all’asse y (pitch)

■ Rotazione intorno all’asse z (yaw)

Page 5: Simulatori per uav come testbed per agenti intelligenti › images › TTP › seminario jessica.pdf · 2017-09-08 · TESTBED PER AGENTI INTELLIGENTI Jessica Di Labbio Joint work

Gradi di libertà

■ Traslazione lungo z : incremento di potenza su

tutti i rotori

■ Roll : aumento di potenza del rotore 1 rispetto al

rotore 3

■ Pitch : aumento di potenza del rotore 4 rispetto

al rotore 2

■ Yaw : incremento pari di potenza di due rotori

opposti e decremento pari dei restanti due

Page 6: Simulatori per uav come testbed per agenti intelligenti › images › TTP › seminario jessica.pdf · 2017-09-08 · TESTBED PER AGENTI INTELLIGENTI Jessica Di Labbio Joint work

Sistemi di riferimento

■ Sistema NED (North East Down): sistema

mobile definito in riferimento al piano

tangente alla superficie terreste in un

qualsiasi punto.

Asse N : diretto verso il Polo Nord geografico

Asse E : diretto verso Est

Asse D : perpendicolare agli altri due e rivolto

verso il basso , verso il centro della terra

■ Sistema Assi Corpo (Body): sistema di

riferimento solidale con il veivolo

Page 7: Simulatori per uav come testbed per agenti intelligenti › images › TTP › seminario jessica.pdf · 2017-09-08 · TESTBED PER AGENTI INTELLIGENTI Jessica Di Labbio Joint work

SISTEMA VOLANTE ( UAV )

Un Unmanned Aerial Vehicle (UAV)è un

velivolo caratterizzato dall’assenza del

pilota umano a bordo. Con questo termine

ci si riferisce a componenti hardware e

software in grado di essere pilotati in

remoto tramite supporti telemetrici e ,allo

stesso tempo, di autopilotarsi grazie a leggi

di controllo codificate all’interno del

software. Il sistema volante è caratterizzato

dai servizi di bordo e dai carichi paganti.

Page 8: Simulatori per uav come testbed per agenti intelligenti › images › TTP › seminario jessica.pdf · 2017-09-08 · TESTBED PER AGENTI INTELLIGENTI Jessica Di Labbio Joint work

Servizi di bordo

I servizi di bordo sono costituiti da tutti quei componenti che consentono al mezzo di volare:

■ Frame: scheletro del multirotore su cui verranno collocati i componenti;

■ Esc: regolatori di velocità interposti tra la batteria ed i motori;

■ Motori : vengono scelti in base al carico che si vuole sollevare . La scelta , comunque , è orientata sui brushless per massimizzare le prestazioni;

■ Eliche: scelte in funzione delle caratteristiche del motore;

■ Flight Controller : autopilota open-source;

■ Batteria: in funzione dell’autonomia necessaria all’esecuzione dell’attività;

■ Telemetria: permette di ricevere ed inviare dei dati al multicoptero;

■ Gps: basandosi sulla latitudine e longitudine permette modalità di volo fluide e semplici.

Page 9: Simulatori per uav come testbed per agenti intelligenti › images › TTP › seminario jessica.pdf · 2017-09-08 · TESTBED PER AGENTI INTELLIGENTI Jessica Di Labbio Joint work

Carichi paganti

I carichi paganti (payload) sono tutti gli strumenti che non servono direttamente a far

volare il drone ma sono utilizzati per compiere dei task per missioni specifiche:

■ Videocamera: utilizzata ,principalmente, per fotogrammetria e rendering 3d;

■ Camera termica: impiegata in individuazione di guasti , videosorveglianza ed

operazioni di soccorso ;

■ Sensori ambientali: adoperati , soprattutto , in casi di monitoraggio ambientale.

Page 10: Simulatori per uav come testbed per agenti intelligenti › images › TTP › seminario jessica.pdf · 2017-09-08 · TESTBED PER AGENTI INTELLIGENTI Jessica Di Labbio Joint work

SISTEMA DI TERRA ( GCS )

Il sistema di terra è formato da sottosistemi di controllo (joypad,tastiera..) e di lettura e rappresentazioni dati .

Il termine Ground Control Station (GCS) indica una struttura hardware/software in grado di controllare gli UAV a distanza .

Con la stazione di terra è possibile configurare parametri di volo , pianificare missioni autonome , visualizzare in tempo reale i dati di volo ,pilotare droni da computer, tablet, smartphone , controllare i movimenti dei carichi paganti e registrare missioni. Tra i software forniti per questi supporti abbiamo MissionPlanner , APM planner e QGroundControl. Quest’ultimi , tra le varie funzionalità , permettono di effettuare la calibrazione iniziale e di caricare il firmware specifico all’interno del multicopter che stiamo utilizzando.

Page 11: Simulatori per uav come testbed per agenti intelligenti › images › TTP › seminario jessica.pdf · 2017-09-08 · TESTBED PER AGENTI INTELLIGENTI Jessica Di Labbio Joint work

PROTOCOLLO DI COMUNICAZIONE

MAVLINK (Micro Air Vehicle Link) è un

protocollo di comunicazione,

caratterizzato da strutture in linguaggio

C, che permette tramite lo scambio di

pacchetti, l’interazione tra GCS e UAV .

Oltre ad essere opensource questo

protocollo consente la definizione di

nuovi messaggi attraverso file XML che

vengono convertiti in codice sorgente in

diversi linguaggi in base alle esigenze.

Page 12: Simulatori per uav come testbed per agenti intelligenti › images › TTP › seminario jessica.pdf · 2017-09-08 · TESTBED PER AGENTI INTELLIGENTI Jessica Di Labbio Joint work

PROTOCOLLO DI COMUNICAZIONE

■ Lunghezza minima : 8 bytes

■ Lunghezza massima: 263 bytes

■ Tipologie di messaggi supportati : 256

I messaggi di maggior interesse :

■ Mavlink msg id heartbeat : sempre richiesto ed utilizzato per indicare che il sistema è presente ed

attivo. Il sistema, in caso di mancata ricezione d questo pacchetto , potrebbe ricevere un comando

di failsafe;

■ Mavlink msg id sys status : indica lo stato del sistema (locked, manual, guided…);

■ Set mode : specifica la modalità di volo da utilizzare ;

■ Mavlink msg id mission request list : comunica una serie di posizioni da raggiungere;

■ Mavlink msg id mission request: indica un’unica posizione da raggiungere;

■ Mavlink msg id param request read : richiesta inviata per ottenere la lettura di alcuni parametri

(altitudine, coordinate GPS, stato della batteria...);

■ Mavlink msg id param request list : richiesta inviata per ottenere indicazioni su tutti i parametri;

Page 13: Simulatori per uav come testbed per agenti intelligenti › images › TTP › seminario jessica.pdf · 2017-09-08 · TESTBED PER AGENTI INTELLIGENTI Jessica Di Labbio Joint work

SITL

Il SITL (software in the Loop) è una build del codice di Ardupilot che permette di simulare un aereo , un drone o un rover senza alcun hardware. SITL è stato originariamente sviluppato su Linux ma può essere anche eseguito su Windows, Mac OSX e macchina virtuale.

Al fine di utilizzare questa tecnica sarà necessario installare ed eseguire tre componenti:

■ MAVProxy : console basata su GCS, viene comunemente utilizzata per il test e lo

sviluppo di Ardupilot

■ Cygwin : fornisce gli strumenti e le librerie che permettono di ricostruire Ardupilot su diverse piattaforme

■ Ardupilot : codice di sviluppo open-source .

Page 14: Simulatori per uav come testbed per agenti intelligenti › images › TTP › seminario jessica.pdf · 2017-09-08 · TESTBED PER AGENTI INTELLIGENTI Jessica Di Labbio Joint work

SITL

Avviando il SITL si avrà:

■ un terminale dove digitare i comandi;

■ una console che mostrerà lo stato corrente del veicolo e i messaggi;

■ una mappa che indicherà la posizione corrente del veicolo e che potrà essere utilizzata per controllare i movimenti del veicolo e le missioni.

Page 15: Simulatori per uav come testbed per agenti intelligenti › images › TTP › seminario jessica.pdf · 2017-09-08 · TESTBED PER AGENTI INTELLIGENTI Jessica Di Labbio Joint work

SITL

■ passare alla modalità guidata , armare i motori e decollare :

mode guided

arm throttle

takeoff 40

■ passare alla modalità CIRCLE (cerchio) impostando il raggio a 2000 cm

mode circle

param set circle_radius 2000

■ atterrare

mode rtl

Page 16: Simulatori per uav come testbed per agenti intelligenti › images › TTP › seminario jessica.pdf · 2017-09-08 · TESTBED PER AGENTI INTELLIGENTI Jessica Di Labbio Joint work

TESTBED

Il sistema di simulazione progettato consente associare un agente intelligente ad un

UAV , utilizzando il mavlink , ed attivare delle specifiche capability per controllare i

dispositivi hardware del drone e, quindi, modificare il piano di volo in tempo reale.

Per ottenere questo risultato sono stati utilizzati:

■ Eclipse: ambiente di sviluppo multipiattaforma

■ APM Planner: software open-source con funzione di GCS;

■ Mavlink-master: codice di sviluppo open-source;

Page 17: Simulatori per uav come testbed per agenti intelligenti › images › TTP › seminario jessica.pdf · 2017-09-08 · TESTBED PER AGENTI INTELLIGENTI Jessica Di Labbio Joint work

Mavlink-master

main.c

common

common.h mavlink_msg_heartbeat.h mavlink_msg_setmode.h ..... mavlink.h

.... ... test

Overview del codice

Page 18: Simulatori per uav come testbed per agenti intelligenti › images › TTP › seminario jessica.pdf · 2017-09-08 · TESTBED PER AGENTI INTELLIGENTI Jessica Di Labbio Joint work

Mavlink-master

Page 19: Simulatori per uav come testbed per agenti intelligenti › images › TTP › seminario jessica.pdf · 2017-09-08 · TESTBED PER AGENTI INTELLIGENTI Jessica Di Labbio Joint work

Mavlink-master

Nel header common.h vengono enumerati:

■ Le tipologie del mezzo ;

■ Gli stati ;

■ Gli id dei componenti ;

■ Le tipologie di comandi ;

■ I risultati delle missioni ;

■ ….

Permettendoci di :

■ definire in maniera univoca il messaggio da inviare ;

■ Comunicare con uno specifico sistema o componente hardware ;

■ Verificare il risultato dei comandi inviati ;

Page 20: Simulatori per uav come testbed per agenti intelligenti › images › TTP › seminario jessica.pdf · 2017-09-08 · TESTBED PER AGENTI INTELLIGENTI Jessica Di Labbio Joint work

Mavlink-master Gli headers mavlink_msg_.h definiscono le strutture e le funzioni che possono essere utilizzate per il controllo e l’acquisizione di parametri.

Queste funzioni permettono di :

■ Settare lo stato del drone

■ Impostare la modalità di volo

■ Variare i parametri di volo

■ Pianificare e avviare delle missioni

■ ….

Utilizzando questi headers è,quindi, possibile interagire con il sistema di volo.

Page 21: Simulatori per uav come testbed per agenti intelligenti › images › TTP › seminario jessica.pdf · 2017-09-08 · TESTBED PER AGENTI INTELLIGENTI Jessica Di Labbio Joint work

Test

Page 22: Simulatori per uav come testbed per agenti intelligenti › images › TTP › seminario jessica.pdf · 2017-09-08 · TESTBED PER AGENTI INTELLIGENTI Jessica Di Labbio Joint work

SIMULATORI PER UAV COME TESTBED PER AGENTI

INTELLIGENTI

GRAZIE PER L’ASCOLTO