Controllo di un braccio robotico mediante i movimenti della mano

22
Controllo di un braccio robotico mediante i movimenti della mano UNIVERSITÀ DEGLI STUDI DI TRIESTE Dipartimento di Ingegneria e Architettura Corso di Laurea in Ingegneria Informatica Tesi di Laurea in Sistemi operativi Relatore Chiar.mo Prof. Enzo Mumolo Correlatore Ph.D Livio Tenze Laureando Basilio Marco Matessi

Transcript of Controllo di un braccio robotico mediante i movimenti della mano

Controllo di un braccio robotico

mediante i movimenti della mano

UNIVERSITÀ DEGLI STUDI DI TRIESTEDipartimento di Ingegneria e Architettura

Corso di Laurea in Ingegneria InformaticaTesi di Laurea in Sistemi operativi

RelatoreChiar.mo Prof. Enzo Mumolo

CorrelatorePh.D Livio Tenze

LaureandoBasilio Marco Matessi

Basilio Marco Matessi RELAZIONE ATTIVITÀ TESI 2 / 23

Introduzione

Controllo del movimento di un braccio robotico

Interfaccia uomo-robot tramite movimenti della mano

Sistema iniziale: braccio robotico privo di controllo di movimento

Basilio Marco Matessi RELAZIONE ATTIVITÀ TESI 3 / 23

Motivazioni della tesi

Ricerca di soluzioni valide per tutti i bracci robotici

Controllo intuitivo da parte dell'operatore

Basilio Marco Matessi RELAZIONE ATTIVITÀ TESI 4 / 23

Bracci robotici

Sistemi meccanici costituiti da segmenti collegati con giunti

Giunti:

Il movimento dei giunti viene controllato da motori

Il punto finale del braccio è chiamato end-effector

L' end-effector viene controllato definendo posizione ed orientazione

Rotoidali Prismatici

Basilio Marco Matessi RELAZIONE ATTIVITÀ TESI 5 / 23

Problemi dei bracci robotici

Cinematica diretta

giunti→ end-effector

Facile, esiste sempre una sola soluzione Cinematica inversa

end-effector → giunti

Difficile, problema non lineare con più soluzioni

X EE=f (Q) Q(q1 , ... ,qn)→X EE ( posizione ,orientamento)

Q=f−1(XEE) X EE ( posizione ,orientamento)→Q(q1 , ... , qn)

Basilio Marco Matessi RELAZIONE ATTIVITÀ TESI 6 / 23

Metodi classici

Cinematica diretta:Denavit-Hartenberg: prodotto tra matrici

Cinematica inversa:Soluzioni chiuse (algebriche/geometriche)

Vantaggio: velocità elevata ed errore nullo

Svantaggio: non possibili in tutti i casi

Soluzioni iterativeVantaggio: sempre possibili

Svantaggio: richiede la conoscenza del modello matematico, lente, errore non nullo

Reti neurali

Ottimizzazioni euristiche

Basilio Marco Matessi RELAZIONE ATTIVITÀ TESI 7 / 23

Approccio adottato (1/2)

Rete Neurale Artificiale

Semplicità di apprendimentopunti generati con la cinematica diretta

non richiede conoscenza del modello matematico

Operazione in tempo reale

Vale per tutti i manipolatori

Problemi:Soluzione approssimata

Fornisce sempre solo un risultato

Basilio Marco Matessi RELAZIONE ATTIVITÀ TESI 8 / 23

Approccio adottato (2/2)

Utilizzo tradizionale

lievi movimenti dell'end-effector possono generare notevoli movimenti dei giunti

Approccio utilizzato

Rete NeuraleCinematica InversaPosizione ed Orientamento

End-EffectorPosizione dei giunti

Rete NeuraleCinematica Inversa

Posizione ed OrientamentoEnd-Effector

Posizione dei giunti

VelocitàEnd-Effector

Velocità dei giunti

Basilio Marco Matessi RELAZIONE ATTIVITÀ TESI 9 / 23

Problema della rilevazione movimenti della mano

Rilevazione a mano libera

Camera 2D e 3Drilevazione oggetti

Kinectpensato per la rilevazionedi persone

LeapMotionspecializzato nella rilevazione delle mani

La camera 3D stima la profondità con l'analisi delle immagini stereo, Kinect e LeapMotion stimano la profondità con sensori infrarossi

Basilio Marco Matessi RELAZIONE ATTIVITÀ TESI 10 / 23

Sistema LeapMotion

Rilevazione della mano tramiteinfrarossi

Coordinate Cartesiane di alcuni punti della mano

Ridotta area di funzionamento

LeapMotion

Basilio Marco Matessi RELAZIONE ATTIVITÀ TESI 11 / 23

Manipolatori utilizzati (1/3)

Denso Robotics VE026A

6 gradi di libertà

Peso 550 g

Carico max 50 g

Sistema di controllo dei motori non disponibile

Soluzione in forma chiusa nota

Polso sferico

Basilio Marco Matessi RELAZIONE ATTIVITÀ TESI 12 / 23

Manipolatori utilizzati (2/3)

Denso Robotics VE026A

Gli assi di rotazionedegli ultimi tre giuntisi intersecano in un punto

Basilio Marco Matessi RELAZIONE ATTIVITÀ TESI 13 / 23

Manipolatori utilizzati (3/3)

CrustCrawler AX-18A

Modulare fino a 6 gradi di libertà

Peso 1180 g

Carico max 2 kg

Sistema di controllo motori disponibile

Alcuni giunti con doppio motore

Soluzione in forma chiusa non nota

Basilio Marco Matessi RELAZIONE ATTIVITÀ TESI 14 / 23

Software utilizzato

Software di sviluppo

Netbeans C++

Simulatore ambiente robotico

OpenRAVE

Libreria reti neurali

FANN

API

LeapMotion

Servomotori

Basilio Marco Matessi RELAZIONE ATTIVITÀ TESI 15 / 23

Simulatore OpenRAVE (1/2)

Caratteristiche offerte:

Cinematica diretta

Cinematica inversa con soluzione chiusa

Controllo collisioni

Controllo tramite linguaggi C++ e Python

Richiede il modello del manipolatore

Compatibilità modelli di manipolatori in formato:

XML proprietario

Semplice realizzazione

Collada

Standard compatibile con ROS ed altri applicativi

Basilio Marco Matessi RELAZIONE ATTIVITÀ TESI 16 / 23

Simulatore OpenRAVE (2/2)

Denso Robotics VE026A

CrustCrawlerAX-18A

Basilio Marco Matessi RELAZIONE ATTIVITÀ TESI 18 / 23

AddestramentoRete Neurale

Generazioneposizione

random dei giunti

Calcolotraiettoria

Cinematica diretta usando il modellodel manipolatore

QConfigurazione

dei giunti

Salvataggiocoordinate

Q(t) e XEE(t) XEE(t)COLLISIONE

?Coordinateend-effector

Blocchi realizzati nell'ambiente simulato OpenRAVE usando il modello del manipolatore

La rete neurale viene addestrata con la coppia Q(t), XEE(t)

Q(t)

NO

SI

Basilio Marco Matessi RELAZIONE ATTIVITÀ TESI 19 / 23

Prestazionirete neurale

Verifica del comportamento con valori non noti durante l'addestramento

Vengono messe a confronto le prestazioni della rete neurale con l'insieme dei valori utilizzati per l'addestramento (Training) ed un secondo insieme (Testing)

Sca

rto

quad

ratic

o m

edio

0,020

0,025

0,030

0,035

0,040

0,045

Epoche d'addestramento

Errore insieme di Training

Errore insieme di

Testing

Basilio Marco Matessi RELAZIONE ATTIVITÀ TESI 20 / 23

LEAPMOTION

Sistema realizzato

RETENEURALE

SIMULATOREOPENRAVE

COLLISIONE?

ControlloMOTORIbraccio

Configurazionedei giunti

CoordinateCartesiane della mano

NO SIIGNORA

MOVIMENTOMovimentobraccio

Basilio Marco Matessi RELAZIONE ATTIVITÀ TESI 21 / 23

Confronto erroritra rete neurale

e risolutore in forma chiusa

L'errore del risolutore in forma chiusa è sempre nullo

La rete neurale fornisce sempre un risultato approssimato

La rete neurale non rileva il caso in cui una soluzione non esista

Err

ore

posi

zion

amen

tore

te n

eura

le [m

m]

Evoluzione temporale [s]

Valori per cui non esiste una soluzione

Basilio Marco Matessi RELAZIONE ATTIVITÀ TESI 22 / 23

Tempi di calcolorete neurale

e risolutore in forma chiusa

Il tempo di calcolo con la rete neurale è inferiore

Tem

po d

i cal

colo

so

luzi

one

chiu

sa [μ

s]

500

Tem

po d

i cal

colo

re

te n

eura

le [μ

s]

25

Evoluzione temporale [s]

Basilio Marco Matessi RELAZIONE ATTIVITÀ TESI 23 / 23

Conclusioni

Dal punto di vista operativoÈ stato realizzato il controllo dei manipolatori con Arduino

Sono stati creati i modelli virtuali dei manipolatori

Dal punto di vista teoricoÈ stato risolto il problema della cinematica inversa con le reti neurali

La soluzione è valida anche quando la soluzione in forma chiusa non è nota

Tuttavia la soluzione è approssimata

Il controllo del braccio avviene in modo intuitivo attraverso i movimenti della mano

Sviluppi futuri riguarderanno il miglioramento dell'approssimazione mediante altri approcci