Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Docente
Ch.mo Prof. Bruno Siciliano
Candidati
Mario Armano P38000009
Simone Contento P3800024
Indice
Introduzione ii
1 Modellistica 1
1.1 Modello Cinematico . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Cinematica Differenziale . . . . . . . . . . . . . . . . . . . . 3
1.3 Modello Dinamico . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Ellissoidi di Manipolabilità . . . . . . . . . . . . . . . . . . . 8
3 Controllo 31
3.1 Controllo a Dinamica Inversa . . . . . . . . . . . . . . . . . . 31
3.2 Controllo Robusto . . . . . . . . . . . . . . . . . . . . . . . . 33
3.3 Controllo Adattativo . . . . . . . . . . . . . . . . . . . . . . 40
i
Introduzione
Il manipolatore SCARA, acronimo di “Selective Compliance Assembly Ro-
bot Arm”, è molto diffuso in ambito industriale, ed adottato generalmente
per l’ultima fase del processo di assemblaggio (montaggio verticale).
Nel seguente elaborato saranno analizzate e verificate le sue caratteristi-
che, mettendo in pratica i principali argomenti teorici trattati nel corso di
Fondamenti di Robotica.
Nel primo capitolo è stata modellata la geometria del robot, partendo
dai dati forniti dalla traccia dell’elaborato. E’ stata ricavata la cinematica
diretta, dalla quale si evince la caratteristica dello SCARA di permettere il
movimento nello spazio X-Y-Z e la rotazione intorno al solo asse Z.
Tramite lo strumento algebrico degli ellissoidi di manipolabilità è stata inol-
tre analizzata la destrezza in corrispondenza di posizioni significative.
Il secondo capitolo è dedicato alla pianificazione di una traiettoria lungo
un percorso caratterizzato da almeno 10 punti all’interno dello spazio di la-
voro, scelti pensando di voler assegnare un task di scrittura al manipolatore.
La traiettoria ottenuta è stata successivamente riportata nello spazio dei
giunti tramite differenti versioni dell’algoritmo di inversione cinematica a
ciclo chiuso CLIK, confrontandone i risultati in termini di efficienza e com-
plessità computazionale.
Nell’ultimo capitolo sono stati utilizzati i riferimenti ottenuti dal capito-
lo precedente per implementare due algoritmi di controllo del manipolatore:
un algoritmo di controllo robusto, supponendo di non conoscere esattamen-
te il modello dinamico del manipolatore o di volerne utilizzare una versione
semplificata, ed un algoritmo di controllo adattativo supponendo possano es-
ii
Elaborato Fondamenti di Robotica
iii
Capitolo 1
Modellistica
1.1 Modello Cinematico
Il manipolatore SCARA è dotato di quattro gradi di libertà, forniti da tre
giunti rotoidali ed uno prismatico.
Questi sono stati modellati in Matlab attraverso l’utilizzo del “Robotic tool-
box” sviluppato da Peter Corke, specificando per ogni Link i rispettivi pa-
rametri di D-H.
L’origine della terna 0 è stata posta in quota per comodità e non coincide con
la terna di base. Di conseguenza si può definire la matrice di trasformazione
omogenea T0b costituita dalla semplice traslazione d0 = 1 lungo l’asse z0 . La
terna relativa all’end-effector è invece stata scelta coincidente con la terna 4.
Seguendo la procedura di Denavit-Hartemberg sono state disposte le
terne di riferimento solidali ai singoli link:
1
Elaborato Fondamenti di Robotica
j θ d a α
1 q1 0 0.5 0
2 q2 0 0.5 π
3 0 q3 0 0
4 q4 0 0 0
2
Elaborato Fondamenti di Robotica
−sin(q1 + q2 )/2 − sin(q1 )/2 −sin(q1 + q2 )/2 0 0
cos(q1 + q2 )/2 + cos(q1 )/2 cos(q 1 + q 2 )/2 0 0
0 0 −1 0
J =
0 0 0 0
0 0 0 0
1 1 0 −1
3
Elaborato Fondamenti di Robotica
−sin(q1 + q2 )/2 − sin(q1 )/2 −sin(q1 + q2 )/2 0 0
cos(q1 + q2 )/2 + cos(q1 )/2 cos(q 1 + q 2 )/2 0 0
J =
0 0 −1 0
1 1 0 −1
4
Elaborato Fondamenti di Robotica
n
(l )T (l ) (l )T (l )
X
B(q) = (mli JP i JP i + JO i Ri Ilii RiT JO i +
k=1
(mi)T (mi) (mi)T mi T (mi)
+ mmi JP JP + JO Rmi Imi Rmi JO ) (1.1)
b11 = Il1 + Il2 + Il4 + Im1 + Im2 + Im3 + Im4 + ml1 /16+
+ 5ml2 /16 + ml4 /2 + ml2 cos(q2 )/4 + ml4 cos(q2 )/2 (1.2)
5
Elaborato Fondamenti di Robotica
b12 = Il2 +Il4 +Im2 +Im3 +Im4 +ml2 /16+ml4 /4+ml2 cos(q2 )/8+ml4 cos(q2 )/4
b13 = 50Im3
b21 = Il2 +Il4 +Im2 +Im3 +Im4 +ml2 /16+ml4 /4+ml2 cos(q2 )/8+ml4 cos(q2 )/4
b23 = 50Im3
b34 = 0
b43 = 0
Si può notare che nella matrice d’inerzia solo i termini b11 ,b12 ,b21 dipendo-
no dalla configurazione (dipendenza dalla variabile di giunto q2 ), ne consegue
che solo tre elementi della matrice C saranno diversi da 0:
c122 = k
c211 = −k
ottenendo:
k θ˙2 k(θ˙1 + θ˙2 ) 0 0
−k θ˙1
0 0 0
C(q, q̇) =
0
0 0 0
0 0 0 0
6
Elaborato Fondamenti di Robotica
g3 = (ml3 + ml4 )g
7
Elaborato Fondamenti di Robotica
a disposizione:
π = (ml1 Il1 Im1 Fm1 ml2 Il2 Im2 Fm2 ml3 Il3 Im3 Fm3 ml4 Il4 Im4 Fm4 )T
q2 = [0, 1, 0.7, 0]
8
Elaborato Fondamenti di Robotica
9
Elaborato Fondamenti di Robotica
10
Elaborato Fondamenti di Robotica
11
Elaborato Fondamenti di Robotica
12
Capitolo 2
Pianificazione della
Traiettoria
La traiettoria è stata pianificata lungo un percorso composto da 10 punti, in
modo da controllare successivamente il robot manipolatore.
In primo luogo è stato assegnato il task, che consiste in un’operazione di
scrittura. In particolare si è disegnato il percorso geometrico che permette
di tracciare sul piano le lettere M e S, iniziali dei nomi Mario e Simone, all’in-
terno dello spazio di lavoro. Quest’ultimo è costituito dal cilindro di raggio
1 metro ma, volendo evitare le singolarità, si è racchiuso l’intero percorso
all’interno di un cilindro con raggio interno di 0, 1 ed esterno di 0, 8.
La traiettoria parte con il manipolatore in una configurazione di riposo
e con l’end effector sollevato rispetto al piano di scrittura.
Successivamente tramite un tratto lineare si porta l’organo terminale sul
piano di scrittura (z = 0, 5)per tracciare la M tramite 4 tratti lineari che
prevedono il passaggio per 3 punti di via.
Per scrivere la seconda lettera la traiettoria prevede di alzare l’organo termi-
nale dal piano e riportarlo su quest’ultimo attraversando un ulteriore punto
di via.
A questo punto l’end effector traccia la S percorrendo due tratti di circonfe-
renza. Infine si riporta il manipolatore nella configurazione di partenza con
13
Elaborato Fondamenti di Robotica
14
Elaborato Fondamenti di Robotica
15
Elaborato Fondamenti di Robotica
16
Elaborato Fondamenti di Robotica
17
Elaborato Fondamenti di Robotica
18
Elaborato Fondamenti di Robotica
19
Elaborato Fondamenti di Robotica
20
Elaborato Fondamenti di Robotica
21
Elaborato Fondamenti di Robotica
lungo l’asse x.
Lo Jacobiano cui fare riferimento sarà quindi una matrice rettangolare bas-
sa (m = 3 righe e n = 4 colonne) ottenuto eliminando la prima riga dallo
Jacobiano precedente.
cos(q1 + q2 )/2 + cos(q1 )/2 cos(q1 + q2 )/2 0 0
J = 0 0 −1 0
1 1 0 −1
22
Elaborato Fondamenti di Robotica
23
Elaborato Fondamenti di Robotica
L’errore relativo alle tre componenti dello spazio operativo risulta para-
gonabile a quello ottenuto con l’inversa dello Jacobiano, sintomo del fatto che
il moto aggiuntivo mappato nel nullo dello Jacobiano non influisce sul task
principale. La norma dell’errore, riportata nel secondo grafico, si mantiene
nell’ordine di 10−5 .
24
Elaborato Fondamenti di Robotica
25
Elaborato Fondamenti di Robotica
26
Elaborato Fondamenti di Robotica
27
Elaborato Fondamenti di Robotica
28
Elaborato Fondamenti di Robotica
29
Elaborato Fondamenti di Robotica
30
Capitolo 3
Controllo
L’obiettivo del capitolo precedente era quello di riuscire ad ottenere i riferi-
menti da utilizzare nelle tecniche di controllo implementate sul modello del
robot SCARA. Nell’ipotesi di un carico concentrato in punta di massa pari
a 5 kg, bisogna progettare un controllo di tipo robusto e successivamente di
tipo adattativo.
31
Elaborato Fondamenti di Robotica
32
Elaborato Fondamenti di Robotica
33
Elaborato Fondamenti di Robotica
B̂ = diag(B), n̂ = 0
34
Elaborato Fondamenti di Robotica
35
Elaborato Fondamenti di Robotica
36
Elaborato Fondamenti di Robotica
B̂ = diag(B), n̂ = g
37
Elaborato Fondamenti di Robotica
38
Elaborato Fondamenti di Robotica
39
Elaborato Fondamenti di Robotica
Kπ = diag(800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 0.2, 800, 800, 800)
40
Elaborato Fondamenti di Robotica
carico ml4.
41
Elaborato Fondamenti di Robotica
42
Elaborato Fondamenti di Robotica
sultato non è scontato nel caso in cui si abbia un vettore di parametri incerti
da identificare.
43