Giornata Tecnica da Piave Servizi, 11 aprile 2024 | DISCIPIO Antonio
Sviluppo di un software in java per il controllo di un braccio robotico tramite un dispositivo per il rilevamento della gestualità
1. Sviluppo di un software in Java per il controllo
di un braccio robotico tramite un dispositivo
per il rilevamento della gestualità
Tesi di Laurea Triennale
_____________________________________
Anno Accademico 2016/2017
Candidato:
Glauco LORENZUT
Relatore:
Prof. Stefano MARSI
UNIVERSITÀ DEGLI STUDI DI TRIESTE
_____________________________________
Dipartimento di Ingegneria e Architettura
Corso di Studi in Ingegneria Elettronica e Informatica
2. Obiettivo
Dotare un braccio robotico di un movimento quanto più simile a quello
di un braccio umano:
• fluido
• articolato
per riuscire a clonare in tempo reale il movimento della mano dell’utente
attraverso un controller Leap Motion.
4. Il braccio
robotico
• Modello AL5D a 4 gradi di
libertà
• Upgrade a 5 gradi di libertà
grazie al polso rotante
• Pinza prensile per afferrare gli
oggetti
End effector (pinza)
Base
GomitoPolso rotante
Spalla
5. Servo controller
SSC-32U
• Scheda elettronica già programmata
• Riceve comandi sotto forma di stringhe
ASCII e li invia ai servomotori sotto forma di
segnali PWM
• Può controllare fino a 32 servomotori
• Range da 0.50 𝑚𝑠 a 2.50 𝑚𝑠 per far coprire
ai servomotori un angolo di 180°
• Alta precisione (1 𝜇𝑠)
• Protocollo di comunicazione semplice e
intuitivo
6. Leap Motion
Controller infrarossi per tracciare i movimenti
delle mani:
• Corto raggio
• Ottima precisione
• Elevata frequenza di monitoraggio
• Elaborazione di più tipologie di dato
• Monitoraggio predittivo
7. Modello delle mani
Vettori perpendicolare e concorde alla
direzione del palmo
Vettori di direzione delle dita
9. Cinematica: logica di controllo del
braccio robotico
Angoli di Eulero
Rappresentazione minima per
determinare un corpo solido nello
spazio, ruotandolo attorno a 3 assi.
La terna di angoli di Eulero più
usata è quella ZYX che determina
le rotazioni di Rollio, Beccheggio e
Imbardata.
Cinematica inversa
Affronta la determinazione delle
variabili di giunto che un
manipolatore deve assumere una
volta assegnata la posa dell’end
effector.
Non esiste alcuna tecnica di tipo
generale che applicata
sistematicamente dia una
soluzione.
10. Applicazione pratica della cinematica
al braccio robotico
Angoli di Eulero Cinematica Inversa Angolo tra pollice e
direzione palmo
11. Conclusioni
Una volta sviluppata la logica di controllo, è stata migliorata la
performance del movimento attraverso:
• Compensazione beccheggio
• Filtro digitale
I movimenti del braccio robotico risultano sufficientemente fluidi e
articolati, si è giunti ad un buon controllo attraverso i movimenti della
mano umana.
12. Criticità ed errori
Il controllo risente di problemi di precisione nell’acquisizione dei dati del
rollio del polso e dell’apertura della pinza quando si pone la mano a
±90°:
• Il pollice viene nascosto dalla mano.
• Il controller Leap Motion non determina più dov’è orientata la mano.
13. Sviluppi futuri
Acquisire più parametri dal controller Leap Motion (velocità) per
determinare più accuratamente l’orientamento del polso dell’utente
durante il rollio a ±90°.
Imporre dei blocchi all’apertura della pinza nei momenti di
indeterminazione della direzione del pollice.
16. Extra: linguaggio SSC-32U
#<𝐜𝐚𝐧𝐚𝐥𝐞> 𝐏<𝐩𝐨𝐬> 𝐒<𝐯𝐞𝐥> 𝐓<𝐭𝐦𝐩> <𝐜𝐫>
#<𝐜𝐚𝐧𝐚𝐥𝐞> : il numero del servomotore da muovere
𝐏<𝐩𝐨𝐬> : la posizione da far raggiungere al servomotore
𝐕<𝐯𝐞𝐥> : velocità di movimento del servomotore espressa in 𝜇𝑠/𝑠
𝐓<𝐭𝐦𝐩> : tempo espresso in 𝑚𝑠 per spostare tutti i servomotori
<𝐜𝐫> : il tredicesimo carattere ASCII di ritorno a capo