Giornata Tecnica da Piave Servizi, 11 aprile 2024 | CADEI Giovanni
Controllo di un braccio robotico mediante i movimenti della mano
1. 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
2. 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
3. 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
4. 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
5. 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
XEE=f (Q) Q(q1 ,...,qn)→ XEE ( posizione ,orientamento)
Q=f
−1
(XEE) XEE ( posizione ,orientamento)→Q(q1 ,...,qn)
6. 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 iterative
Vantaggio: sempre possibili
Svantaggio: richiede la conoscenza del modello matematico,
lente, errore non nullo
Reti neurali
Ottimizzazioni euristiche
7. Basilio Marco Matessi RELAZIONE ATTIVITÀ TESI 7 / 23
Approccio adottato (1/2)
Rete Neurale Artificiale
Semplicità di apprendimento
punti 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
8. 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 Neurale
Cinematica InversaPosizione ed Orientamento
End-Effector
Posizione dei giunti
Rete Neurale
Cinematica Inversa
Posizione ed Orientamento
End-Effector
Posizione dei giunti
Velocità
End-Effector
Velocità dei giunti
9. Basilio Marco Matessi RELAZIONE ATTIVITÀ TESI 9 / 23
Problema della rilevazione
movimenti della mano
Rilevazione a mano libera
Camera 2D e 3D
rilevazione oggetti
Kinect
pensato per la rilevazione
di persone
LeapMotion
specializzato 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
10. Basilio Marco Matessi RELAZIONE ATTIVITÀ TESI 10 / 23
Sistema LeapMotion
Rilevazione della mano tramite
infrarossi
Coordinate Cartesiane di
alcuni punti della mano
Ridotta area di funzionamento
LeapMotion
11. 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
12. Basilio Marco Matessi RELAZIONE ATTIVITÀ TESI 12 / 23
Manipolatori utilizzati (2/3)
Denso Robotics VE026A
Gli assi di rotazione
degli ultimi tre giunti
si intersecano in un punto
13. 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
14. 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
15. 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
16. Basilio Marco Matessi RELAZIONE ATTIVITÀ TESI 16 / 23
Simulatore OpenRAVE (2/2)
Denso Robotics
VE026A
CrustCrawler
AX-18A
17. Basilio Marco Matessi RELAZIONE ATTIVITÀ TESI 18 / 23
Addestramento
Rete Neurale
Generazione
posizione
random dei giunti
Calcolo
traiettoria
Cinematica diretta
usando il modello
del manipolatore
Q
Configurazione
dei giunti
Salvataggio
coordinate
Q(t) e XEE(t) XEE(t)
COLLISIONE
?
Coordinate
end-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
18. Basilio Marco Matessi RELAZIONE ATTIVITÀ TESI 19 / 23
Prestazioni
rete 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)
Scarto
quadraticomedio
0,020
0,025
0,030
0,035
0,040
0,045
Epoche d'addestramento
Errore
insieme di
Training
Errore
insieme di
Testing
19. Basilio Marco Matessi RELAZIONE ATTIVITÀ TESI 20 / 23
LEAPMOTION
Sistema realizzato
RETE
NEURALE
SIMULATORE
OPENRAVE
COLLISIONE
?
Controllo
MOTORI
braccio
Configurazione
dei giunti
Coordinate
Cartesiane
della mano
NO SI
IGNORA
MOVIMENTOMovimento
braccio
20. Basilio Marco Matessi RELAZIONE ATTIVITÀ TESI 21 / 23
Confronto errori
tra 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
Erroreposizionamento
reteneurale[mm]
Evoluzione temporale [s]
Valori per cui non
esiste una soluzione
21. Basilio Marco Matessi RELAZIONE ATTIVITÀ TESI 22 / 23
Tempi di calcolo
rete neurale
e risolutore in forma chiusa
Il tempo di calcolo con la rete neurale è inferiore
Tempodicalcolo
soluzionechiusa[μs]
500
Tempodicalcolo
reteneurale[μs]
25
Evoluzione temporale [s]
22. 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