Controllo di un braccio robotico mediante i movimenti della mano
-
Upload
basix86 -
Category
Engineering
-
view
64 -
download
3
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