La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

CONTROLLO DI UN ROBOT IN REMOTO MEDIANTE SISTEMA DI ACQUISIZIONE AD INFRAROSSI Relatore: Daniele Carnevale Tesista: Giuseppe Ferrò 18/09/2018.

Presentazioni simili


Presentazione sul tema: "CONTROLLO DI UN ROBOT IN REMOTO MEDIANTE SISTEMA DI ACQUISIZIONE AD INFRAROSSI Relatore: Daniele Carnevale Tesista: Giuseppe Ferrò 18/09/2018."— Transcript della presentazione:

1 CONTROLLO DI UN ROBOT IN REMOTO MEDIANTE SISTEMA DI ACQUISIZIONE AD INFRAROSSI
Relatore: Daniele Carnevale Tesista: Giuseppe Ferrò 18/09/2018

2 Struttura della presentazione
Obiettivo: far replicare ad un manipolatore robotico i movimenti del braccio umano. Descrizione dell'hardware e del software utilizzato. Struttura stereoscopica. Filtro di Kalman. Controllo del robot. Interfaccia (in Processing). Conclusioni. 18/09/2018

3 Dotati di una camera a infrarossi.
Descrizione dell'hardware e del software utilizzato I controller della wii Dotati di una camera a infrarossi. Individuano fino ad un massimo di 4 led IR in movimento. Risoluzione di 1024x768 pixel. Frequenza di campionamento di circa 100Hz. Collegamento via bluetooth. 18/09/2018

4 Descrizione dell'hardware e del software utilizzato Led a infrarosso
Collegati in parallelo ad una tensione di circa 3V. Vengono posizionati in prossimità di: spalla, gomito, polso, polpastrello. 18/09/2018

5 Descrizione dell'hardware e del software utilizzato Scorbot
Manipolatore a 5 gradi di libertà. Encoders montati sui motori per misurare la posizione angolare dei giunti (posizione relativa). Controllo proporzionale dei motori DC. Posizione di HOME (riferimento assoluto). 18/09/2018

6 Descrizione dell'hardware e del software utilizzato WMGUI
E’ stato utilizzato un programma predisposto per: Collegare i due controller wii tramite bluetooth al computer. Effettuare la stereocalibrazione. Rilevare e salvare in array le coordinate 2D di 4 led sui piani immagine dei controller. Il sistema operativo utilizzato è stato Ubuntu 18/09/2018

7 Struttura Stereoscopica Calibrazione
La calibrazione permette di ricavare i parametri necessari a ricostruire le coordinate dei 4 led in un sistema di riferimento inerziale 3D, a partire dalle coordinate 2D dei led sui piani immagine dei controller. Parametri Intrinseci: dipendono dai controller stessi. Comprendono distanza focale, distorsione delle lenti ecc. Parametri Estrinseci: vengono calcolati tramite la calibrazione e comprendono le coordinate delle telecamere in un sistema di riferimento noto. 18/09/2018

8 Struttura Stereoscopica Calibrazione
Vengono disposti i led su un pattern a forma di quadrato di lato 180mm. Vengono salvate le coordinate (sui piani immagine 2D dei controller) dei led in posizioni e orientamenti diversi del pattern. Viene utilizzato il camera calibration toolbox in Matlab per creare il file di stereocalibrazione. 18/09/2018

9 Struttura Stereoscopica Algoritmo di mappatura
Necessario per: Ordinare i led su entrambi i piani immagine delle telecamere. Individuare la posizione di spalla, gomito, polso e dito individuati tramite led IR. L'assenza o il malfunzionamento di tale algoritmo porta ad una triangolazione errata dei led nel sistema di riferimento 3D. 18/09/2018

10 Struttura Stereoscopica Algoritmo di mappatura
Poiché i led sono direzionali se sono inclinati rispetto ai controller non vengono ben rilevati. E’ quindi necessario durante i movimenti del braccio che i led si trovino su un piano il più possibile parallelo al piano di visione delle telecamere. 18/09/2018

11 Struttura Stereoscopica Algoritmo di mappatura
E' necessaria una posizione iniziale in cui il led sulla spalla si trovi sulla sinistra rispetto agli altri. La nuova spalla viene calcolata come la più vicina alla spalla dell'iterazione precedente. Poichè l'avambraccio e la mano sono più corti del braccio, l'algoritmo riesce ad associare ai 3 led rimasti le posizioni di gomito, polso e dito. 18/09/2018

12 Struttura Stereoscopica Triangolazione
Viene incluso nel sorgente di wmgui l’header file “engine.h” che permette di utilizzare funzioni matlab all’interno del codice in C. La funzione “mlfStereo_triangulation” riceve in ingresso le coordinate 2D dei led su entrambi i piani immagine dei controller e restituisce un array con le coordinate dei led all’interno di un sistema di riferimento inerziale 3D. Le coordinate 3D dei led sono affette da disturbi di misura e vengono quindi filtrate utilizzando il filtro Kalman. 18/09/2018

13 Filtro di Kalman Modello Dinamico
Il filtro di Kalman fornisce una stima ottimale (secondo un indice di costo quadratico) dello stato di un sistema dinamico lineare. Per calcolare lo stato stimato è necessario definire il modello dinamico del sistema considerato. Si può quindi calcolare di volta in volta lo stato stimato del led i- esimo xi(k+1) conoscendo lo stato attuale e lo stato precedente. Lo stato xi(k) rappresenta le coordinate (xi,yi,zi) al tempo k del led i-esimo. Dinamica dello stato: 18/09/2018

14 Filtro di Kalman Modello Dinamico
Il sistema si può ricondurre alla forma classica di un sistema lineare stazionario: Definendo A, C e x(k) nel seguente modo: 18/09/2018

15 Filtro di Kalman Implementazione
Una volta definite la matrice di covarianza dell'errore sullo stato Q e la matrice di covarianza dell'errore sull'uscita R, è possibile applicare i 5 passi che implementano il filtro di Kalman: 18/09/2018

16 Calcolo Angoli Utilizzo della funzione atan2 (arcotangente a 4 quadranti) che restituisce l’angolo a partire dal suo seno e coseno. 18/09/2018

17 Controllo del robot Connessione LAN
Server: computer collegato allo scorbot. Client: computer collegato alla struttura stereoscopica. Connessione di tipo TCP/IP: ad ogni iterazione il client invia al server i quattro angoli di giunto calcolati dalle posizioni dei led nello spazio. 18/09/2018

18 Controllo del robot Posizionamento dei giunti
Per posizionare lo scorbot con gli angoli di giunto ricevuti è necessario trasformare ogni angolo nella rispettiva misura in passi encoder rispetto alla posizione di Home. L’unità di potenza si occupa poi di posizionare i giunti correttamente utilizzando le posizioni in encoder calcolate a partire dagli angoli di giunto. 18/09/2018

19 Interfacciamento con Processing Processing
Linguaggio basato su Java che consente di sviluppare applicazioni grafiche. Comunica con wmgui in locale attraverso una socket. Riceve ad ogni iterazione gli angoli di giunto e disegna uno scorbot virtuale in 3D. 18/09/2018

20 Filmato 18/09/2018

21 Conclusioni E’ stato realizzato un sistema in grado di far replicare ad un manipolatore robotico i movimenti di un braccio umano, utilizzando hardware a basso costo e garantendo buona velocità di risposta. E’ stato necessario: Effettuare la stereocalibrazione del sistema stereoscopico. Mappare i led sui piani immagine dei controller. Triangolare le coordinate dei led in un sistema di riferimento 3D inerziale. Filtrare le coordinate tramite Filtro di Kalman e calcolare gli angoli di giunto. Implementare una connessione Lan per far comunicare il programma di stereovisione (wmgui) sia con il programma di controllo dello scorbot che con il programma in Processing. Trasformare gli angoli di giunto in passi encoder per posizionare lo scorbot in modo corretto. 18/09/2018

22 GRAZIE PER L'ATTENZIONE
18/09/2018


Scaricare ppt "CONTROLLO DI UN ROBOT IN REMOTO MEDIANTE SISTEMA DI ACQUISIZIONE AD INFRAROSSI Relatore: Daniele Carnevale Tesista: Giuseppe Ferrò 18/09/2018."

Presentazioni simili


Annunci Google