Errata Corrige Robotica Legnani
Errata Corrige Robotica Legnani
Errata Corrige Robotica Legnani
G. Legnani
Robotica Industriale
Casa Ed. Ambrosiana - isbn 88-408-1262-8
http://bsing.ing.unibs.it/glegnani
http://robotics.ing.unibs.it
inviare commenti e suggerimenti a [email protected]
Errata Corrige ed Ampliamenti
29 ottobre 2009
pagina riferimento errata corrige
19-20
a cavallo delle pagine 19-20 aggiungere:
... consentono un movimento relativo di traslazione rettilineo mentre i secondi consentono un movimento...
46
Ellissi di manipolabilit`a: i diametri d
.
sono proporzionali allinverso dei valori singolari o
.
di J.
I valori singolari di J sono la radice quadrata degli autovalori di JJ
T
.
Larea dellellisse `e inversamente proporzionale al determinante di J.
Le ellissi do = /JJ
T
1
s
sono di cedevolezza (inverso di quelle di rigidezza).
52 ultima eq. . . . atan2(r, j) . . . . . . atan2(r
, j
) . . .
52 matrice J c
57 eq.(2.17) o = [r, j, .]
T
o = [r, j, ]
T
61 eq.(2.32) a = atan2(, n) . . . a = atan2(n, ) . . .
= atan2(rcos . . . , . ) . . . = atan2(. , rcos . . .) . . .
62 eq.(2.34) (J
T
`
Q) (J
T
`
J)
65 6
2
+
2
n
2
+
2
65 eq. (2.44) (2.45) . = |
3
cos() sin(a) . = (|
2
+|
3
cos()) sin(a)
66 eq. (2.47) t
t2
= . . . t
2
t
=
(r
2
+j
2
+.
2
(|
1
+|
2
+|
3
)
2
)t
2
b
+r
2
+j
2
+.
2
(|
1
+|
2
+|
3
)
2
(r
2
+j
2
+.
2
(|
1
|
2
+|
3
)
2
)t
2
b
+r
2
+j
2
+.
2
(|
1
+|
2
|
3
)
2
eq.(2.49) t
t
=
t
2
t
= 2 atan
(
t
2
t
)
singolare per t
t
= 0 = 0,
oppure pi` u semplicemente per sin(a) = 0 = acos ((|
2
sin(a) .) , (|
3
sin(a)))
66 eq. (2.50) e poco
dopo (3 volte)
n
2
+j
2
n
2
+
2
66 eq. (2.51) c = (rj, . . . c = atan2(r +jn, rn+j) singolare
per r +jn = rn +j = 0
67 eq. (2.53) |
2
+. . . 0 = |
2
+. . .
|
1
+. . . 0 = |
1
+. . .
71 eq.(2.60) . . . T
T
1
g
. . . . . . T
T
1
g
. . .
infatti se se sul robot agisce 1
g
sulla trasmissione agisce 1
g
. (Gli altri segni sono corretti)
2 G.Legnani, Robotica Industriale Ed. CEI. Correzioni e ampliamenti. 29 ottobre 2009
pagina riferimento errata corrige
91 nel riquadro =
1
T
10
1
T
01
96 1t:o:(. . . .) sin(0
) sin(0
:
)
99 ultima formula n
i
=
...7
:
...
n
i
=
...7
...
125 2
formula . . . [\
01(1)
+. . . . . . [\
01(0)
+. . .
135 aggiungere la didascalia alla tabella di inizio pagina: Descrizione dei termini della eq.(6.2)
136 `
34
elemento 1,3 o
4
o
4
aggiungere: ,
1
= ,
2
= ,
4
= ,
5
= 90
, ,
3
= ,
6
= 0
136 6.2.2 elenco (vedi gura 6.2.2) (vedi gura 6.5)
148 `
03
=
0
1
`
03
=
o
2
1
152 5
eq. :
6
= c
5
(...) +:
5
(...) c
6
= +c
5
(...) :
5
(...)
6
eq. c
6
= ...A
i
:
6
= ...A
:
ultima eq. c
2
= ...r :
3
... c
2
= ...r +:
3
...
153 g.6.14 0
2
`e indicato in maniera erronea (`e def. in g.6.13 ove tutti gli angoli valgono 0).
155 righe 5 e 7 `
45
`
34
161 `
b
(2 volte) (1 c) (1 c
3
)
175 3
eq. \
23(0)
= 1
23(0)
\
23(0)
= 1
23(0)
175 ne pagina `
0o
= . . . =
`
0o
= . . . =
176 7
riga
1 = \
03(o)
1
1 = \
03(0)
1
177 1
eq. . . . +1
23(0)
3
. . . 1
23(0)
3
178 prima formula H = 1 c +1
2
c
2
H = 1
.
+1
2
2
.
178 ultima formula H
03(0)
=
. . . +|
1
a cos c
0
0
H
03(0)
=
. . . +|
1
a sinc
0
0
= |
1
:
1
c
1
c
2
((|
1
:
1
+|
2
:
12
) c
1
+|
2
:
12
c
2
) c
3
207 eq. (7.8) 1
.
=
1
2
traccia(...) 1
.
= traccia(...)
215 riga 9, 11 25 90 25
90
i
,
C
:
:
. . .
G(:) =
C
:
:T
.
,/
. . .
285
0
0
0
= 1
(:) = . . .
{
. . .
1
:
0
0
0
= 1
(:) = . . .
{
. . .
/
:
286 .
2
=
.
2
2
=
.
|
2
.
2
=
.
|
2
=
.
|
2
288 sopra eq.(10.5) 1
(:) = /
(1 +T
J
:) 1
(:) = /
(1 +T
J
:)
288 eq.(10.5)(10.6) t
.
= 1,.
.
= 1,.
T
`e linverso della banda passante dellanello di velocit` a
288 dopo eq.(10.6) /
J
= /
T
J
/
J
= /
T
J
288 eq.(10.7) . . . 1 +/
T
J
) . . . 1 +/
T
J
)
288 eq.10.8
numeratore
0
0
0
=
1 +:
T
. . .
=
|
+
T
:
. . .
=
0
0
0
=
1 + :T
J
. . .
=
|
(1 +T
J
:)
. . .
=
296 ne prima eq.
C
0
= =
. . .
:(J
1
+J)
:
2
.
2
2
+
2
2
.
2
: + 1
C
0
= =
. . .
:(J
1
+J)
[
:
2
.
2
2
+
2
2
.
2
: + 1
]
309 gura 10.55 j .
317 g.11.4 scambiare i nomi pezzo 1 e pezzo 2
353 terzultima riga . . . del rotore. . . . dello statore.
366 J
2
= . . . = 4.4210
4
kgm
2
J
2
= . . . 4.4910
4
kgm
2
383 g.13.18 scambiare : e /
417 1
equazione
. . . 1
n1
. . .
n1
.=0
. . . 1
n
. . .
n
.=0
(j = n + 1)
425 eq.(14.15) :
2
p
2
a
2
1
c :
2
p
2
a
2
1
c
425 dopo eq.(14.15) sin a cos a sina
2
cos a
2
448 arresto, terzo ca-
so
categoria 1 categoria 2 (non ammessa per arresto
emergenza)
484 tab. A.5 `o
o
C
o
a +`o
o
C
o
C
o
a +o
o
o
o
485 tab. A.7 `o
o
C
o
`o
o
o
o
486 par. A.5 c = . . . angolo di precisione c = . . . angolo di precessione
487 elem.1,2 matrice . . . +:c c . . . :c c
488 elem.3,1 matrice cc :0 c +. . . cc :0 c +. . .
495 ultima riga . . . soluzione unica t = /,o. . . .soluzione t = /,o; laltra `e c =
+ 2/. Se o
2
+ /
2
= c
2
le 2 soluzioni
coincidono.
499 prima formula atan2(r, j) = atan. . . atan2(j, r) = atan. . .
509 prima formula )(
1
) +)
(
1
)(
1
) = 0 )(
.
) +)
(
.
)(
.
) = 0
509 ultima riga )
(
.
) = 0 )
(
.
) = 0
510 g. D.2 nellesempio centrale scambiare
1
con
2
1000 G.Legnani, Robotica Industriale Ed. CEI. Correzioni e ampliamenti. 29 ottobre 2009
Appendice H
Ampliamenti e chiarimenti
Questa sezione `e dedicata a piccole aggiunte che possono rendere pi` u comprensibile il testo
o completarlo.
I riferimenti a pagine, capitoli, gure, equazioni sono relative al libro.
H.1 Ellissi di Manipolabilit`a, Isotropia (Pagg.45-48)
Le ellissi di manipolabilit`a sono degli strumenti sintetici per rappresentare le prestazioni cinetostatiche
dei manipolatori nelle diverse zone dellarea di lavoro. Il loro signicato verr`a spiegato con lausilio di
esempi.
H.1.1 Ellissi di manipolabilit`a in velocit`a e in forza
Consideriamo un manipolatore cartesiano rj; ciascuno dei due assi avr`a una velocit`a massima ammissibi-
le
i,noi
e
,noi
. Le componenti della velocit`a del dispositivo destremit`a lungo gli assi r, j avranno
quindi modulo minore o uguale a quella del motore corrispondente. Tuttavia in direzioni diagonali esso
potr` a raggiungere velocit`a pi` u elevate ma mai superiori a \
noi
=
2
i,noi
+
2
,noi
. Il luogo descritto
dai vettori velocit`a massima nelle varie direzioni `e perci`o un rettangolo. Sei i due motori hanno pari
prestazioni il rettangolo diventa un quadrato. Il risultato esposto non cambia allinterno dellarea di
lavoro.
Un discorso analogo pu`o essere fatto qualora interessi studiare le forze massime esercitabili nelle diverse
direzioni.
Figura H.1: Manipolatore cartesiano: velocit`a
(o forze) massime ammissibili in funzione delle
direzioni.
Se si considera un manipolatore polare la velocit`a radiale massima `e limitata da quella del motore li-
neare \
:,noi
= j
noi
, mentre quella tangenziale `e limitata dal prodotto della velocit`a angolare massima
del motore rotativo per la distanza del dispositivo destremit`a dalla torretta \
|,noi
= j.
noi
. Inoltre in
direzioni diverse le due velocit`a si possono sommare e quindi, per particolari direzioni, la velocit`a pu` o
raggiungere il valore \
noi
=
( j
noi
)
2
+ (j.
noi
)
2
. Il luogo dei vettori velocit`a massime `e ancora un
rettangolo con lati paralleli alle direzioni radiale e tangenziale. Dato che il valore della distanza j varia
1001
1002 APPENDICE H. AMPLIAMENTI E CHIARIMENTI
max , r
V
max
w
Figura H.2: Manipolatore polare: velo-
cit`a massima ammissibile in funzione delle
direzione e della congurazione.
max
C
max , r
F
Figura H.3: Forze massime esercitabili da
un manipolatore polare in funzione della
direzione e della congurazione.
nellarea di lavoro, si deduce che la velocit`a massima tangenziale aumenta con la distanza e il rettangolo
delle velocit`a si deforma di conseguenza.
Analogamente per le forze possiamo dire che in direzione radiale il manipolatore potr`a esercitare una
forza massima costante limitata dalle prestazioni del motore lineare, mentre in direzione tangenziale il
modulo della forza massima esercitabile sar`a inversamente proporzionale alla distanza 1
|,noi
= C
noi
,j
essendo limitata dalla coppia massima del motore rotativo. Il luogo delle forze massime esercitabili `e un
rettangolo in cui il lato tangenziale decresce con la distanza.
a
b
P
x
y
O2
O1
Figura H.4: Composizione del-
le velocit`a in un manipolatore
SCARA.
P
x
y
O2
O1
Fmax
b2
b1
P
x
y
O2
O1
Figura H.5: Determinazione delle forze massime esercitabili
da un manipolatore SCARA.
Nel caso di un manipolatore SCARA la componente di velocit`a fornita da ciascun motore `e proporzionale
alla distanza 1 O
.
tra il dispositivo di estremit`a 1 e lasse del motore O
.
ed `e limitata dalla velocit` a
massima di questultimo. La componente di velocit`a fornita da ogni motore `e ortogonale al vettore 1 O
.
.
In generale, le due componenti di velocit`a non sono tra loro ortogonali. Il luogo delle velocit`a massime `e
quindi un parallelogramma i cui lati sono proporzionali alle quantit`a \
.,noi
= 1 O
.
.
.,noi
.
La forza massima esercitabile in una direzione dipende dai bracci /
.
della forza rispetto agli assi dei
motori oltre che dalla loro coppia massima C
.,noi
. Nessun motore deve essere sovraccaricato per cui:
1
noi
= min(C
1,noi
,/
1
, C
2,noi
,/
2
). Ovviamente il braccio dipende sia dalla posizione della pinza, sia
dalla direzione della forza. Il parallelogramma delle forze massime generabili in funzione della posizione si
ottiene dallintersezione di due corridoi di semi-larghezza )
.
= C
.,noi
,1 O
.
paralleli alla direzione
1 O
.
.
Nel caso di manipolatori a diversi gradi di libert`a, la determinazione delle velocit`a massime raggiungibili
e delle forze massime generabili pu`o essere molto complesso, ma segue i criteri generali qui descritti.
Nel caso di moto rj. (3D), i parallelogrammi sono sostituiti da parallelepipedi.
H.1. ELLISSI DI MANIPOLABILIT
`
A, ISOTROPIA (PAGG.45-48) 1003
Le ellissi di manipolabilit`a in velocit`a ed in forza danno un metodo standard, applicabile in modo automa-
tico anche a manipolatori complicati con diversi gradi di libert`a, per indicare in quali direzioni `e possibile
avere velocit`a elevate o esercitare forze pi` u o meno considerevoli. Le ellissi di manipolabilit`a sono delle
ellissi che approssimano il luogo dei punti di velocit`a o forza massime. Il disegno di una famiglia di ellissi
relative a diverse posizioni del manipolatore evidenzia il suo diverso comportamento nellarea di lavoro.
Nel caso di manipolatori piani si considera lellisse inscritta nei parallelogrammi descritti e tangenti ai
lati nelle loro mezzerie.
Nel caso di manipolatori che si muovono nelle tre direzioni rj., le ellissi sono sostituite da ellissoidi.
Queste ellissi (o gli ellissoidi) sono determinabili anche nel caso di manipolatori a pi` u gradi di libert`a.
La determinazione delle ellissi pu`o essere eettuata sulla base di procedure standard che fanno uso degli
autovettori ed ai valori singolari della matrice jacobiana o di matrici derivate da essa.
Quando i diversi motori di un manipolatore sono tutti dello stesso tipo (rotativo o lineare) spesso per
semplicit`a si assume che abbiano tutti le stesse prestazioni massime sia in termini di velocit`a che di coppia
(o forza) massima. Il calcolo delle ellissi si semplica dato che spesso `e suciente calcolarne la forma e
non la dimensione. In questo caso la scelta delle unit`a di misura non inuenza la forma dellellisse.
Nel caso in cui il manipolatore abbia attuatori dei due tipi, allora `e indispensabile tenere conto delle reali
prestazioni di ciascuno altrimenti si ottengono ellissi la cui eccentricit`a dipende dalle unit`a di misura
impiegate e non hanno quindi signicato sico.
Le ellissi di velocit`a e di forza non pesate sono associate alle seguenti equazioni
1 =
2
.
=
Q
T
Q
o
T
(
J
|
J
1
)
o = 1
1 =
)
2
g.
= 1
T
g
1
g
1
T
s
(
JJ
|
)
1
s
= 1
mentre quelle pesate sono associate alle seguenti equazioni
1 =
(
.
.,max
)
2
=
Q
T
1
T
u
1
u
Q
o
T
(
J
|
1
T
u
1
u
J
1
)
o = 1
1 =
(
)
g.
)
g.,max
)
2
= 1
T
g
1
T
}
1
}
1
g
1
T
s
(
J1
T
}
1
}
J
T
)
1
s
= 1
con
1
u
=
1
1,max
0 . . .
0
1
2,max
. . .
.
.
.
.
.
.
.
.
.
1
}
=
1
)
g1,max
0 . . .
0
1
)
g2,max
. . .
.
.
.
.
.
.
.
.
.
Q
ove `e stato usato il simbolo circa uguale perche vengono qui trascurati i termini quadratici nelle velocit` a,
cio`e il prodotto
J
Q, che `e trascurabile a basse velocit`a. Inoltre si considera il caso con forze esterne nulle.
Consideriamo ora il caso che i motori siano spenti in folle (coppia nulla) e ci chiediamo quali forze
applicate allestremit`a dal manipolatore avrebbero lo stesso eetto delle coppie motrici appena calcolate.
Dalla cinetostatica sappiamo trasferire forze ad accelerazioni dai giunti al dispositivo destremit`a con le
1004 APPENDICE H. AMPLIAMENTI E CHIARIMENTI
F
s
m
1
m
2
u
1
u
2
a
o
Figura H.6: Costruzione graca ellisse di
massa (inerzia).
Ellissi dinerzia: rappresentazione graca
Per visualizzare la forza 1
s
necessaria a produrre una
certa accelerazione
o si pu`o applicare la costruzione
seguente.
Si considera inizialmente unaccelerazione unitaria
diretta come
o = [o
1
o
2
]
T
e la si scompone nelle
direzioni dei due diametri. La componente parallela
a n
1
va moltiplicata per :
1
, quella parallela a n
2
va
moltiplicata per :
2
. Le due componenti vanno quindi
moltiplicate per il modulo dellaccelerazione
1
s
=
[
)
1
)
2
]
=
o
[
:
1
cos(c)
:
2
sin(c)
]
=
[
:
1
0
0 :
2
] [
o
1
o
2
]
relazioni
o J
Q e 1
g
= J
T
1
s
(il segno meno non compare perch`e le forze sono quelle equivalenti e non
quelle equilibranti). Si ottiene quindi
1
s
(
J
|
J
1
)
o
Questa relazione permette di calcolare quale forza deve essere applicata al dispositivo destremit`a del
manipolatore per generare unaccelerazione desiderata. Possiamo considerare questa relazione come una
generalizzazione della legge di Newton
) = :
o .
Alla matrice
s
=
(
J
|
J
1
)
pu`o essere associata una ellisse rappresentante linerzia (massa) equiva-
lente del manipolatore in una determinata direzione. Infatti consideriamo unaccelerazione
o di ampiezza
unitaria e di direzione generica e calcoliamo la forza necessaria a produrla; se facciamo ruotare in tutte
le direzioni questo vettore, il vettore della forza descriver`a un ellisse. Questo pu`o essere dimostrato os-
servando che la matrice
s
`e simmetrica denita positiva.
Si osserva che forza ed accelerazione sono tra loro parallele solo se la forza `e diretta lungo uno degli assi
dellellisse.
Le direzioni degli assi delellisse sono denite dagli autovettori di
s
e i raggi (semidiametri) dai
corrispondenti autovalori.
Ellissi di rigidezza ed elasticit`a
Lellisse di cedevolezza o quella di rigidezza permettono di indicare lo spostamento della pinza del mani-
polatore dovuto alla applicazione di una forza quando i giunti sono cedevoli.
Lellisse associata allequazione do = /JJ
T
1
s
denita al capitolo 2 `e di cedevolezza (inversa di quelle di
rigidezza). Lellisse di rigidezza sarebbe quindi associata a 1
s
=
1
/
(
JJ
T
)
1
do.
Si osserva che forza e spostamento sono tra loro paralleli solo se la forza `e diretta lungo uno degli assi
dellellisse. Per una visualizzazione graca di questo fenomeno si consideri per analogia il caso di ellisse
di inerzia (massa).
Consideriamo lellisse associata alla matrice JJ
T
. Il diametro in una direzione rappresenta la cedevolezza
equivalente in quella direzione ed `e quindi proporzionale allo spostamento dovuto allapplicazione di una
forza in quella direzione.
Le direzioni degli assi delellisse di cedevolezza (elasticit`a) sono denite dagli autovettori n
.
di J1
g
J
T
(o
/JJ
T
) e i raggi (semidiametri) dai corrispondenti autovalori `
.
. Per la rigidezza occorre fare riferimento
alla matrice inversa i cui autovettori sono i medesimi e i cui autovalori valgono 1,`
.
.
H.1.3 Forza, Velocit`a massima in una direzione.
La forza massima esercitabile in una direzione si pu`o facilmente determinare esprimendo la forza applicata
allend-eector come prodotto del modulo per un versore 1
s
= )n
s
, lellissi di forza `e cos` denita come
)n
T
n) = 1 = J1
T
}
1
}
J
T
H.1. ELLISSI DI MANIPOLABILIT
`
A, ISOTROPIA (PAGG.45-48) 1005
da cui
) =
1
n
T
n
in maniera analoga `e calcolabile la velocit`a massima.
H.1.4 Nota
Si osservi come nei diversi casi considerati le ellissi siano state denite in maniera dierente.
In alcuni casi (velocit`a, forze) si `e fatto riferimento a equazioni del tipo
T
T
= 1 e le direzioni degli
assi dellellisse corrispondono agli autovettori della matrice
T
mentre le lunghezze :
.
dei semidiametri
sono legate allinverso della radice quadrata dei corrispondenti autovalori :
.
=
1,`
.
(inverso dei valori
singolari di ).
In altri casi (massa, forza) la relazione di riferimento `e del tipo = 1n e le direzioni degli assi dellellisse
corrispondono agli autovettori della matrice 1 mentre le lunghezze :
.
dei semidiametri coincidono con il
valore dei corrispondenti autovalori :
.
= `
.
.
H.1.5 Esempi applicativi
a
b
P
x
y
l
1
l
2
A
( ) A P - b
&
( ) O P - a&
O
P
Figura H.7: Robot SCARA in congu-
razione isotropa (forza e velocit`a non
pesate).
Nel caso di motori identici o comunque nel caso non
pesato, il robot SCARA (2.9, pag. 51) pu`o esse-
re in congurazione isotropa solo se le componenti
delle velocit`a generate dai due motori sono di egual
modulo 1 O = 1 e tra loro ortogonali
1 O
(3,4) e |
1
=
2|
2
;
il valore di c `e indierente. In questo caso le ellis-
si di manipolabilit`a in forza e velocit`a diventano dei
cerchi.
Robot SCARA
Immaginiamo per semplicit`a che le uniche masse signicative possano essere considerate puntiformi e
localizzate al termine dei link: :
1
al termine del link 1 e :
2
al termine del link2.
Le coordinate necessarie allo studio dinamico sarebbero
o =
[
r
j
]
=
[
|
1
cos(c) +|
2
cos(c +a)
|
1
sin(c) +|
2
sin(c +a)
]
o
c
=
r
j
r
1
j
1
|
1
cos(c) +|
2
cos(c + a)
|
1
sin(c) +|
2
sin(c +a)
|
1
cos(c)
|
1
sin(c)
` = diag(:
2
, :
2
, :
1
, :
1
)
In questo caso le direzioni degli assi dellellisse (autovettori della matrice di massa) ed i relativi semidia-
metri (autovalori) risultano
n
1
=
[
cos(c +a)
sin(c +a)
]
n
2
=
[
sin(c +a)
cos(c +a)
]
`
1
= :
2
+
:
1
sin(a)
2
`
2
= :
2
Lasse n
1
`e parallelo al secondo link. Per spostamenti in direzione n
2
conta solo la massa :
2
, mentre in
direzione n
1
occorre sommare una quota derivante dalla massa :
1
. Qualora i baricentri non siano nelle
posizioni indicate o i momenti dinerzia non siano nulli le direzioni (autovettori) e le masse equivalenti
1006 APPENDICE H. AMPLIAMENTI E CHIARIMENTI
Figura H.8: Nel caso di motori identici
o comunque nel caso non pesato, il ro-
bot cartesiano `e isotropo in ogni punto
dello spazio di lavoro.
Figura H.9: Le ellissi di velocit`a del robot pola-
re (2.11, pag.58) si allungano in direzione tan-
genziale via via che il centro utensile si allonta-
na dallasse di rotazione. Corrispondentemente
le ellissi di forza (non mostrate in gura) si ri-
durranno. Lisotropia si potr`a avere solo per una
determinata distanza dallasse di rotazione.
x
y
u
1
u
2
m
1
m
2
Figura H.10: Robot cartesiano: ellissi di
massa o di elasticit`a.
Ellissi dinerzia (massa): robot cartesiano
Le ellissi di massa di un robot cartesiano sono estre-
mamente semplici da calcolare. Con riferimento
allesempio di gura, come `e intuitivo, lellisse `e pa-
rallela agli assi di scorrimento, la massa equivalente
(autovalori) in direzione r vale :
1
+ :
2
mentre quella
in direzione j vale :
2
.
Ellissi di elasticit`a: robot cartesiano
Le ellissi di elasticit`a hanno diametri paralleli agli
assi e lunghezza proporzionale alla elasticit`a dei giunti
corrispondenti. Nel caso di assi tra loro identici il
manipolatore `e isotropo. Ovviamente, come per tutti
i manipolatori, questo vale solo se si considera solo
lelasticit`a dei giunti e non quella essionale degli
elementi che compongono i link.
(autovalori) sarebbero dierenti.
Robot polare
Immaginiamo per semplicit`a che le uniche masse signicative possano essere rappresentate da due masse
puntiformi: :
1
sul link 1, :
2
al termine del link2, : la massa trasportata. Siano inoltre J
1
, J
2
, cJ i
momenti dinerzia baricentrali dei due link e della massa trasportata. Le coordinate necessarie allo studio
dinamico sarebbero
o =
[
r
j
]
=
[
j cos(c)
j sin(c)
]
o
c
=
r
j
r
1
j
1
c
j cos(c)
j sin(c)
p
1
cos(c)
p
1
sin(c)
c
` = diag(: +:
2
, :+:
2
, :
1
, :
1
, J
1
+J
2
+J)
H.2. ROBOT 3R (CAPITOLO 2.17) 1007
x
y
O2
O1
u
1
u
2
m
1
m
2
b
a
Figura H.11: Ellisse di massa di un robot SCARA
nel caso semplicato in cui J
1
= J
1
= 0, : = 0,
p
1
= |
1
, p
2
= |
2
(confronta 2.9.5 pag.55).
x
y
O1
u
1
u
2
m
1
m
2
r
a
J
g1
g
1
Figura H.12: Ellisse di massa di un robot polare
nel caso semplicato in cui la massa del secondo
link sia concentrata allestremo = 0 (confronta
2.11.3 pag.59).
0.6 0.4 0.2 0 0.2 0.4 0.6
0.4
0.2
0
0.2
0.4
0.6
x[m]
y
[
m
]
(a) o 0
0.6 0.4 0.2 0 0.2 0.4 0.6
0.4
0.2
0
0.2
0.4
0.6
x[m]
y
[
m
]
(b) o < 0
Figura H.13: Le ellissi di inerzia del robot ICOMATIC SCARA03.
In questo caso le direzioni degli assi dellellisse (autovettori della matrice di massa) ed i relativi semidia-
metri (autovalori) risultano
n
1
=
[
cos(c)
sin(c)
]
n
2
=
[
sin(c)
cos(c)
]
`
1
= :+:
2
`
2
= :+:
2
+:
1
p
2
1
j
2
+
J
1
+J
2
+J
j
2
Lasse n
1
`e parallelo ai link, n
2
ortogonale ad essi. Per spostamenti in direzione n
2
conta solo la massa
: + :
2
, mentre in direzione n
1
occorre sommare una quota derivante dalla massa :
1
e dai momenti
dinerzia.
A titolo desempio si riportano le ellissi dinerzia del robot Icamatic SCARA03 calcolate per le due con-
gurazioni (a sinistra
2
0, a destra
2
< 0). Esse sono tracciate solo per le congurazioni realmente
raggiungibili tenendo conto dei ne corsa reali. Nel caso specico di questo particolare modello di mani-
polatore (Icomatic SCARA03), le proporzioni e lorientamento delle ellissi di rigidezza sono molto simili a
quelle delle ellissi di inerzia; tuttavia questo non avviene in generale per altri modelli o altri manipolatori.
H.2 Robot 3R (capitolo 2.17)
Lequazione della cinematica inversa necessaria per calcolare c ammette una singolarit`a quando i due
argomenti della funzione atan2 sono contemporaneamente nulli (r +jn = rn+j = 0 n
2
+j
2
= 0)
c = atan2(r +jn, rn +j)
1008 APPENDICE H. AMPLIAMENTI E CHIARIMENTI
x
y
z
Rot(y)
Rot(y)
Rot(z)
Rot(z)
(a) Due diverse sequenze di rotazioni di un corpo rigido attorno agli assi e :.
In entrambi i casi si ha:
1ot(r) = 0; 1ot(j) =
dt = 90
1ot(.) =
.
:
dt = 90
t
t
w
y
w
z
(b) Caso 1: prima 1c|(:), poi 1c|()
t
t
w
y
w
z
(c) Caso 2: prima 1c|(), poi 1c|(:)
Figura H.14: Eetto di due dierenti sequenze di rotazione di 90
.
tuttavia questa condizione pu`o capitare solo per co:(a) = 1 se contemporaneamente co:() = 1 e solo
per particolari valori delle lunghezze per cui capita |
1
|
2
|
3
= 0. Quindi questo caso rientra nelle gi` a
citate congurazioni singolari.
H.3 coordinate angolari (capitolo 3.3)
La dicolt`a nello scegliere un gruppo di tre variabili angolari che descriva bene la posizione angolare di
un corpo deriva dal principio di non integrabilit`a della velocit`a angolare. Cio`e si dimostra che lintegrale
della velocit`a angolare non ho particolare signicato sico. Come conseguenza di ci`o non `e possibile
denire tre coordinate angolari la cui derivata rispetto al tempo coincida con il vettore velocit`a angolare.
Questo concetto `e illustrato dalla gura seguente ove si confrontano due situazioni. Nella prima un dado
`e inizialmente ruotato di 90
intorno a 7, poi di 90
0
J1
0
c
0
}
2 Avanti Fuori su 0 0 -1 0
o
0
b2
0
t1
0
0
J2
0
c
0
}
3 Avanti Dentro gi` u 0 1 1 0
o
0
b3
0
t2
0
0
J3
-0
c
0
}
4 Avanti Dentro su 0 1 -1 0
o
0
b4
0
t2
0
0
J4
-0
c
0
}
5 Dietro Fuori su 1 0 1 0
o
0
b2
0
t1
0
0
J2
0
c
0
}
6 Dietro Fuori gi` u 1 0 -1 0
o
0
b1
0
t1
0
0
J1
0
c
0
}
7 Dietro Dentro su 1 1 1 0
o
0
b4
0
t2
0
0
J4
+0
c
0
}
8 Dietro Dentro gi` u 1 1 -1 0
o
0
b3
0
t2
0
0
J3
+0
c
0
}
I valori di /
1
, /
2
, /
3
sono quelli utilizzati nella selezione delle soluzioni:
0
1
= atan2(T
, T
i
) +/
1
, /
1
= 0, 1 0
234
= atan2(7
:
, c
1
7
i
+:
1
7
) +/
2
, /
2
= 0, 10
3
= /
3
acos(..), /
3
= 1, 1
Considerate le dimensioni geometriche di uno specico manipolatore ed una posa da raggiungere non
`e detto che tutte le otto soluzioni elencate siano matematicamente ammissibili. Da un punto di vista
matematico la non raggiungibilt`a di un punto viene vericata se largomento dellarcocoseno ha modulo
maggiore di uno. Per questo tipo di manipolatore si possono avere nessuna, 4 o 8 soluzioni.
Una volta identicata una soluzione, allinterno del gruppo contenete le numero 1, 2, 5 e 6 (oppure del
gruppo 3, 4, 7 e 8), si pu`o aermare che anche le altre del gruppo sono ammissibili. Ci`o si verica imme-
diatamente in maniera geometrica osservando che per ogni soluzione con gomito alto esiste anche quella
corrispondente con gomito basso e viceversa (ad es. soluzioni 1 e 2); inoltre per ciascuna di esse una
volta considerata una soluzione, unaltra si ottiene ruotando la torretta (angolo 0
1
) di 180
e ribaltando
il braccio da davanti a dietro o viceversa (ad es. da soluzione 2 a 5). Non `e detto invece che se esiste
una soluzione con TCP in avanti esista quella in dietro o viceversa; infatti il polso non pu`o avvicinarsi
ne allontanarsi troppo dalla torretta. A questo proposito si osservi che per determinare quali punti siano
raggiungibili dal polso possiamo osservare che i link 2 e 3 movimentati da 0
2
e 0
3
deniscono una zona
di piano simile allo spazio di lavoro di un robot SCARA (vedi gura 1.21).
Ovviamente non `e detto che tutte le soluzioni matematicamente ammissibili siano poi raggiungibili
sicamente infatti ogni grado di libert`a avr`a in generale limitazioni di ne corsa.
H.6 Metodo del grafo di Paul; metodo scissione catena cinema-
tica (6.7.1 e 6.7.2 Pagg.154-155)
Come esempio si consideri la soluzione analitica del manipolatore Elbow (6.6 pagg.149-153).
Tutte le volte che una coppia di equazioni `e stata sommata dopo aver moltiplicata una di esse per il
seno di unangolo e laltra per il coseno dello stesso angolo si `e ottenuto lo stesso eetto che si sarebbe
ottenuto trasportando una delle matrici di posizione dal primo al secondo membro. Ad esempio, una volta
determinato langolo 0
1
, la matrice `
01
pu`o essere portata al secondo membro ottenendo la relazione
matriciale
`
12
...`
56
= `
1
01
`
06
= `
dalla quale `e pi` u facile determinare alcune relazioni tra le quali quelle dedotte dalle eq. 7/i: e 8/i: o quella
che porta alla determinazione di 0
234
ove compare c
1
7
i
+:
1
7
mentre c
1
T
i
+ :
1
T
deriva
dalla posizione (3,3).
H.7 Metodo dei vincoli equivalenti (6.7.1 e 6.7.3 Pagg.155)
Come esempio si consideri la soluzione analitica del manipolatore Elbow (6.6 pagg.149-153) dove per
determinare langolo 0
3
si `e fatto uso di alcune sostituzioni temporanee di variabili denominate r e j.
Si pu`o vericare che ci`o si otterrebbe sostituendo la parte di struttura che comprende i giunti 2, 3 e 4, e
quindi i link 2 e 3, con una struttura composta da due accoppiamenti prismatici con movimento pari a
r e j seguiti da un accoppiamento rotoidale che eettui la rotazione 0
234
. In altre parole si immagina
di sostituire la struttura di sinistra di gura 6.18 con quella di destra ponendo r = o
2
c
2
+ o
3
c
23
e
j = o
2
:
2
+ o
3
:
23
. Quindi i valori di 0
2
e 0
3
si ottengono osservando che il movimento dei link 2 e 3
nel piano verticale contenente lasse .
0
ed i link in oggetto ricordano la cinematica di un manipolatore
oC1. I termini c
234
o
4
e :
234
o
4
sono le proiezioni nel piano orizzontale e verticale dellultimo link.
H.8 Scelta coordinate, cinematica inversa numerica (Pag.170
6.9.7)
In pratica alla i-esima iterazione occorre risolvere il seguente sistema lineare
/
i1
/
i2
/
1
/
2
/
:1
/
:2
o
i1
o
i2
o
1
o
2
o
:1
o
:2
/
i
/
/
:
o
i
o
n
:
/
i
/
/
:
o
i
o
o
:
d
1
d
2
.
.
.
d
.
.
.
.
d
n
i
/
:
o
i
o
JQ
.
= do Q
.
= J
1
do
J =
J
1
J
2
. . . J
.
. . . J
n
J
.
=
/
i.
/
.
/
:.
o
i.
o
.
o
:.
= 1(1
.
) 1
.
=
0 o
:.
o
.
/
i.
o
:.
0 o
i.
/
.
o
.
o
i.
0 /
:.
0 0 0 0
ove la i-esima colonna della matrice Jacobiana `e ottenuta scegliendo ordinatamente i sei elementi non
nulli di 1
.
, mentre la colonna dei termini noti do `e ottenuta in maniera analoga da 1
.
La matrice inversa pu`o essere procuamente sostituita con la pseudoinversa per il caso di n = 6 o di
posizioni vicine a congurazioni singolari.
Step risolutivi della cinematica inversa
1. leggi `
on
% posa da raggiungere
2. poni Q = Q
0
% valore di primo tentativo
3. poni , = 0 % contatore iterazioni
4. iterazione:
5. poni ` =
6. per i = 1, 2, . . . , n % cinematica diretta (per ogni giunto)
7. calcola `
:
= `(
.
,
.
) % matrice di posa relativa del link i (`
.1,.
)
8. calcola 1 = 1(
.
) % matrice dellasse del giunto i in terna locale (1
.(.1)
)
9. calcola 1
0
= `1`
1
% matrice dellasse del giunto in terna 0 (1
.(0)
)
10. calcola ` = ``
:
% matrice di posa assoluta del link i (`
0,.
)
H.9. LEGGE DI MOTO AD ACCELERAZIONE COSTANTE (PAG.238 FIG.9.2, PAG.249 FIG.9.18) 1011
11. calcola J
.
= 1 (1
0
) % colonna dello jacobiano
12. ne ciclo i
13. calcola ` = `
on
` % errore di posa
14. se ` < - % convergenza raggiunta (ne algoritmo): Q calcolato correttamente
15. poni , = , + 1 % conta iterazioni
16. se , ,
noi
% il metodo non converge (ne algoritmo): Q non calcolato correttamente
17. calcola 1
= ``
1
18. calcola do = 1(1
) % termine noto
19. calcola Q = J
1
do % incremento variabili di giunto
20. calcola Q = Q + Q % valore di nuovo tentativo
21. ripeti da iterazione
La funzione 1(1) trasforma una matrice 1 in una matrice colonna scegliendo ordinatamente i 6 elementi
signicativi; con il simbolo
.
si `e indicato linsieme dei parametri geometrici del giunto i-esimo.
Si osserva che vale:
1
=
(
`
0n
`
)
`
1
= ``
1
= `
0n
`
1
n
velocit`a massima, quella cio`e nel secondo tratto.
Valgono i vincoli 0 < `
1
< 1, 0 < `
2
< 1, 0 < `
1
+`
2
1.
Si ottiene
\
n
=
:
T
(
1
`
1
+`
2
2
) =
n
`
1
T
=
:
T
2
1
`
1
(
1
`
1
+`
2
2
) 1 =
n
`
2
T
=
:
T
2
1
`
2
(
1
`
1
+`
2
2
)
quindi i coecienti di velocit`a nonche quelli di accelerazione positiva e negativa valgono
c
u
=
1
(
1
`
1
+`
2
2
) C
o+
=
1
`
1
(
1
`
1
+`
2
2
) C
o
=
1
`
2
(
1
`
1
+`
2
2
)
Nel caso di leggi di moto simmetriche si ha ovviamente ` = `
1
= `
2
, C
o
= C
o+
= C
o
.
Le denizioni date di accelerazione, 1 decelerazione, C
o+
e C
o
sono corrette nel caso di movimento
positivo (: 0); nel caso di movimento negativo (: < 0) le formule di e 1 si scambiano tra loro
come anche quelle di C
o+
e C
o
.
1012 APPENDICE H. AMPLIAMENTI E CHIARIMENTI
H.10 Traiettoria circolare per 3 punti (Pag. 264)
La rotazione `e sempre positiva e lasse di rotazione `e calcolato con la formula
. =
(1
2
1
1
) (1
0
1
1
)
(1
2
1
1
) (1
0
1
1
)
Lampiezza della rotazione da 1
0
a 1
2
passando per 1
1
si calcola in due passi. Innanzitutto, considerato
il triangolo 1
0
1
1
1
2
, si calcola langolo in 1
1
indicato in gura come c
= 2 2 acos
(
(1
2
1
1
) (1
0
1
1
)
(1
2
1
1
) (1
0
1
1
)
)
P0
P2
P1
f
2f
f=2p-2f
P0
P2
P1
f
2f
f=2p-2f
Pc
Figura H.15: Segmento circolare per 3 punti:
caso generale 3D. Lasse . `e entrante nel foglio
nellesempio di sinistra, uscente in quello di
destra.
P0
P2
P1
P0
P2
P1
a0
a2
a1
Da1
Da2
a0
a2
a1
Da1
Da2
x x
Pc Pc
Figura H.16: Segmento circolare per 3 punti:
caso piano rj. A sinistra rotazione antioraria,
a destra oraria.
Casi singolari
Larco da percorrere non `e denito e la procedura non `e applicabile se i tre punti risultano allineati o
se due di essi coincidono. In questo caso si pu` o generare un segmento rettilineo. Queste condizioni si
identicano osservando che in questi casi si verica almeno una delle due identit`a \
1
\
2
= 0, \
1
= \
2
.
Cerchio nel piano rj
Nel caso si debba generare un arco di cerchio nel piano rj non `e necessario utilizzare la procedura indicata,
ma si pu`o pi` u semplicemente implementare la procedura seguente. Innanzitutto si calcolano gli angoli c
.
che rappresentano linclinazione dei vettori 1
.
1
t
rispetto allasse delle r nonche la loro dierenza con
c
0
c
.
= atan2 (1
.
1
t
, 1
i.
1
it
) i = 0, 1, 2
c
.
= mod (c
.
c
0
, 2) i = 1, 2
dove loperatore mod (modulo) indica che langolo va espresso nellintervallo 02; quindi, ad esempio,
`e necessario aggiungergli 2 se `e negativo.
Langolo eettivo di rotazione c si calcola quindi con due diverse modalit`a assecondo che larco debba
essere percorso con verso orario (angolo positivo) o antiorario (negativo)
c =
c
2
c
2
c
1
orario
se
c
2
2 c
2
< c
1
antiorario
risulta
{
r = j cos(c +c
0
) 0 c c
j = j sin(c +c
0
) c = `,j
H.11. EFFETTO ELASTICIT
`
A NELLE TRASMISSIONI (PAG.294 10.5.5) 1013
0
0
0
1
0
2 0
1(:) 1
(:)
C C
:
+ +
:oto:c 1 1 1
2
2
J J
:, /
t
1,t
Figura H.17: Schema di un azionamento ad un grado di libert`a con riduttore di velocit`a ed elasticit` a
nella trasmissione e possibili schemi di retroazione.
1
0
+ +
0
0
0
1
0
1
0
0
1(:) 1
(:)
C C
:
:oto:c 1 1 1
2
J
1
J
:, /
Figura H.18: Schema equivalente di un azionamento ad un grado di libert`a senza riduttore di velocit` a
(t = 1) ed elasticit`a nella trasmissione e possibili schemi di retroazione.
H.11 eetto elasticit`a nelle trasmissioni (Pag.294 10.5.5)
H.11.1 Introduzione, misura diretta e indiretta di posizione
Si considera il caso in cui si voglia controllare il movimento di un organo meccanico che si trova al ter-
mine di una catena cinematica che include elementi elastici. In questo caso il movimento dellorgano
in questione pu`o essere signicativamente dierente da quello che si potrebbe dedurre immaginando la
trasmissione perfettamente rigida.
Consideriamo il caso in cui lelasticit`a si possa ritenere concentrata in un punto.
Facciamo riferimento alle gure H.17, H.18 e H.19
La retroazione di velocit`a `e sempre ottenuta misurando il movimento dellalbero motore, mentre quella
di posizione pu`o basarsi sulla misura del movimento del motore o su quella del carico. Nel primo caso
si parla di misura indiretta di posizione, nel secondo di misura diretta. In caso di trasmissione ideale
e rigida, con misura diretta o indiretta di posizione, si otterrebbero risultati identici tuttavia nei casi
pratici si possono ottenere risultati molto diversi.
La retroazione con misura diretta permette di avere maggiore precisione di movimento perche la retroazio-
ne tiene conto del movimento eettivo del carico compensando eventuali errori nella trasmissione dovuti
a imperfezione geometrica, giochi o deformazione dovute dai carichi. Tuttavia rischia di rendere instabile
il sistema nel caso in cui la trasmissione abbia cedevolezza signicativa o giochi e sia presente un elevato
attrito statico (o a basse velocit`a) che potrebbero determinare il fenomeno dello stick-slip.
Inoltre, nel caso di movimenti rotatori con misura tramite encoder, il posizionamento del trasduttore
sullalbero motore da una migliore risoluzione di misura a causa della riduzione e consente limpiego di
trasduttori con meno tacche al giro. Infatti un encoder con un numero
s
di passi al giro garantisce una
risoluzione angolare pari a 0 = 2,(4
s
). Il fattore 4 `e valido per i normali encoder incrementali con
canali in quadratura. Se tra encoder e carico `e presente un riduttore di velocit`a con riduzione pari a j
si ottiene una risuluzione pi` u elevata e pari a 0 = 2t,(4
s
) (generalmente t < 1). Quindi per avere
una pressata risoluzione occorre un numero di passi
s
2 ,(4t0).
Inne nel caso di moderni motori brushless con resolver, ladozione di una misura indiretta consente il
risparmio di un trasduttore in quando il resolver consente sia la misura della posizione che della velocit` a.
In ogni caso, per motivi costruttivi, nei manipolatori industriali non `e quasi mai possibile realizzare una
misura diretta di posizione, mentre lo `e quasi sempre negli assi a geometria cartesiana delle macchine
utensili ove una riga ottica (o altro dispositivo di misura) pu`o essere agevolmente accostato al carro
mobile (gura H.19).
La decisione sullutilizzo della misura diretta o indiretta di posizione va fatta di volta in volta.
1014 APPENDICE H. AMPLIAMENTI E CHIARIMENTI
E D
convertitore
(azionamento)
CNC o plc o
controllore
M
i,C
w
x=p a
a
w
o
riga(ottica)
indiretta
diretta
Figura H.19: Retroazione tramite misura diretta o indiretta di
posizione (schema di principio).
J
1
k
r
C
J J J
& & &
, ,
J
1 1 1
, , J J J
& & &
C
r
coppia
motrice
coppia
resistente
Figura H.20: Schema equivalente lineare di una
trasmissione con elastic`a.
H.11.2 Modello di controllo con trasmissione elastica
Lo schema di riferimento `e quello di gura H.17 che come vedremo pu`o essere trasformato in quello
equivalente di gura H.18. I simboli hanno il seguente signicato
0 posizione angolare del motore;
0
1
= 0
2
,t posizione angolare equivalente del carico per t = 1;
0
2
posizione angolare del carico;
=
0 velocit`a del motore;
1
=
0
1
velocit`a del carico dopo la connessione elastica equivalente;
2
=
0
2
velocit`a del carico;
t =
1
=
0
2
0
1
rapporto di trasmissione del riduttore di velocit`a (supposto idealmente rigido);
J momento di inerzia di motore e trasmissione;
J momento di inerzia del carico (braccio del robot) a valle del riduttore;
J
1
= t
2
J inerzia equivalente del carico per trasmissione unitaria;
/ rigidezza equivalente della trasmissione (albero + riduttore);
: costante di smorzamento;
C coppia motrice;
C
2:
coppia resistente;
C
:
= tC
2:
coppia resistente equivalente;
In assenza di elasticit`a (trasmissione rigida) si avrebbe 0 = 0
1
, =
1
,
2
= t.
Per semplicare i calcoli `e possibile eliminare il rapporto di trasmissione t pur di sostituire i valori di
coppia resistente, inerzia, posizione angolare, velocit`a e accelerazione con quelli equivalenti; si giunge cos`
allo schema equivalente di gura H.18. Nellesempio seguente viene trattato il caso di carico con moto
rotatorio, ma `e evidente lestensione al caso di moto traslatorio ove compaiono masse al posto di momenti
dinerzia, forze al posto di coppie, traslazioni al posto di rotazioni (gura H.20).
Con riferimento alle gure H.18 e H.20, lo sviluppo delle equazioni necessarie allo studio pu`o essere
ottenuto a partire dallequilibrio alla rotazione delle masse solidali al motore e quelle del carico i cui
movimenti sono tra loro accoppiati dalla trasmissione tramite la quale si scambiano coppie elastiche e
viscose
C = / (0
1
0) +:
(
0
1
0
)
+J
0 masse su albero motore
C
:
= / (0 0
1
) +:
(
0
0
1
)
+J
1
0
1
masse su asse del carico
Passando al dominio delle trasformate di Laplace, con semplici calcoli, si pu`o giungere allo schema a
blocchi ed alle funzioni di trasferimento di gura H.21. Si tratta di uno schema con due ingressi (la
coppia motrice C e quella resistente C
:
) e di due uscite (la posizione del motore 0 e quella equivalente del
carico 0
1
). Questo schema pu`o essere facilmente convertito in quello ad esso equivalente di gura H.22
nel quale sono state aggiunte linee tratteggiate che indicano un classico schema di controllo con anelli di
retroazione di velocit`a e posizione annidati. Viene considerato sia il caso di misura diretta che quello di
misura indiretta di posizione.
Le funzioni di trasferimento sulle quali `e necessario indagare sono quelle che legano il movimento del
carico 0
1
ai comandi 0
o
(posizione desiderata) ed alla coppia resistente C
:
.
H.11. EFFETTO ELASTICIT
`
A NELLE TRASMISSIONI (PAG.294 10.5.5) 1015
( ) ( )
1 1
2
1
2
1
J J k rs J J s JJ
k rs s J
+ + + +
+ +
( ) ( )
1 1
2
1
2
J J k rs J J s JJ
k rs Js
+ + + +
+ +
( ) ( )
1 1
2
1
J J k rs J J s JJ
k rs
+ + + +
+
( ) ( )
1 1
2
1
J J k rs J J s JJ
k rs
+ + + +
+
s
1
s
1
J
W = J
&
W =
& & &
J
+
s
1
s
1
1
J
1 1
W = J
&
1 1
W =
& & &
J
+
+
+
C
r
C
Figura H.21: Schema a blocchi e funzioni di trasferimento da coppia motrice C e coppia resistente C
:
a
posizioni angolari dellalbero motore 0 e del carico 0
1
.
selezione J, J
1
( ) ( )
1 1
2
1
2
1
J J k rs J J s JJ
k rs s J
+ + + +
+ +
( ) ( )
1 1
2
1
2
J J k rs J J s JJ
k rs Js
+ + + +
+ +
k rs s J
k rs
+ +
+
2
1
s
1
s
1
J
W = J
&
W =
& & &
J
+
s
1
s
1
1
J
1 1
W = J
&
1 1
W =
& & &
J
+
+
+
C
r
C
k rs s J
k rs
+ +
+
2
1
R
0
J J
E
w
E
0
J
&
R
Figura H.22: Schema a blocchi equivalente a quello di gura H.21; tratteggiato reatroazione (diretta) di
velocita e (in)diretta di posizione.
1016 APPENDICE H. AMPLIAMENTI E CHIARIMENTI
C
J
&
1
w
2
w
( )
1
1
J J s +
sJ
1
w
k
Figura H.23: La funzione di trasferimento da coppia
motrice a velocit`a del motore
0,C.
J
J
1
1
w
aumentando k
w
Figura H.24: La funzione di trasferimento da
movimento motore a movimento del carico.
H.11.3 Retroazione di velocit`a
Analizziamo innanzitutto la regolazione di velocit`a. Con riferimento allo schema di gura H.22 calcoliamo
la funzione di trasferimento danello 1 nel caso di regolatore proporzionale 1 = /
nonch`e la funzione
che lega tra loro le rotazioni di motore e carico (gure H.23 e H.24)
1 =
0
1
u
= /
0
C
= /
1
: (J +J
1
)
:
2
.
2
1
+
2
1
.
1
: + 1
:
2
.
2
2
+
2
2
.
2
: + 1
H(:) =
0
1
0
=
0
1
0
=
0
1
0
=
:: +/
J
1
:
2
+ :: +/
=
:
/
: + 1
:
2
.
2
1
+
2
1
.
1
: + 1
ove le pulsazioni . e i relativi smorzamenti valgono
.
1
=
/
J
1
1
=
:
2/J
1
.
2
=
/
J
2
=
:
2
/J
=
J J
1
J +J
1
si riconosce che .
1
`e la pulsazione propria di vibrazione del carico immaginando che lalbero motore sia
bloccato, mentre .
2
`e la pulsazione propria di vibrazione del sistema immaginando albero motore e carico
liberi (gli alberi vibrerebbero in controfase tra di loro).
Osserviamo le funzioni di trasferimento di gura H.23; notiamo una antirisonanza (modulo quasi nullo)
alla pulsazione .
1
ed un picco di risonanza (modulo molto elevato) alla pulsazione .
2
. Al crescere
della rigidezza / i due picchi si spostano verso destra. Per frequenze basse e inferiori alla pulsazione di
antirisonanza (. << .
1
) il sistema si comporta come se fosse rigido e quindi con inerzia totale pari alla
somma di quella dellalbero motore pi` u quella equivalente del carico
0,C
0
1
,C 1,(:(J + J
1
)). Per
pulsazioni elevate e superiori a quella di risonanza (. .
1
) il sistema si comporta come se motore e
carico fossero sconnessi. Il motore si muove secondo la funzione di trasferimento
0,C 1,(:J), ma il
carico rimane quasi fermo (vedi anche gura H.24).
La gura H.25 descrive lo schema retroazionato di regolazione della velocit`a. Utilizzando un regolatore
puramente proporzionale /
n
< 1
J
1
Numeratore e denominatore sono del secondo ordine con la stessa pulsazione .
}
; il numeratore ha smor-
zamento piccolo (< 1) mentre il denominatore ha smorzamento elevato ( 1). Si ottiene una funzione di
trasferimento quasi unitaria con una gola di antirisonanza che se opportunamente tarata in pulsazione e
smorzamento pu`o compensare la risonanza dellanello di velocit`a (gura H.29). Ci`o consente di chiudere
lanello di posizione sullalbero del carico, includendo al suo interno la trasmissione, e tenere una banda
passante pi` u elevata.
Le caratteristiche pi` u salienti dei due schemi illustrati sono evidenziate in tabella H.29.
H.11.5 Eetto delle coppie resistenti
???
???
H.12 Controllo centralizzato e decentralizzato (Pag.298 10.6.1)
Vengono illustrati meglio i concetti che stanno alla base di controlli centralizzati e brevemente presentati
degli esempi.
misura di posizione indiretta diretta
retroazione su prima massa seconda massa
realizzabilit`a sempre non sempre
trasmissione, elasticit`a, giochi fuori dallanello di retroazione allinterno dellanello di retroa-
zione
eetto dellattrito riduce la precisione pericolo di instabilit`a
banda passante limitata da pericolo di risonanza maggiore
limitazione rischio risonanza occorre ridurre banda passante eliminabile con notch lter o
regolatori evoluti
precisione di regolazione minore maggiore
sensibilit`a a coppie resistenti maggiore minore
Tabella H.1: Caratteristiche della regolazione di posizione con misura diretta ed indiretta di posizione.
1018 APPENDICE H. AMPLIAMENTI E CHIARIMENTI
C
J
&
w
0
J
J
&
&
t
w
C
J
&
w 0
J
J
&
&
t
w
1
w
J
J
&
&
1
1
w
J
J
&
&
1
k
p
basso
k
p
alto
2 massapu
andare in
risonanza
ilsistemasi
comporta
come rigido
su prima massa
bandaelevata
w
0
1
J
J
&
&
t
w
0
1
J
J
&
&
1
w
-1
-2
Figura H.28: Retroazione di velocit`a con 1 = /
. Dallalto: fun-
zione di trasferimento danello 1 = /
0,C e dei comandi
0,
0
o
(velocit`a motore); da velocit`a motore a velocit`a carico; da coman-
do a velocit`a carico. A sinistra guadagno basso, a destra guadagno
elevato.
0
1
J
J
&
&
1
w
f
w
N
0
1
J
J
&
&
N
1
w
1
w w =
f
Figura H.29: Retroazione di po-
sizione con misura diretta di po-
sizione. Il notch lter pu`o com-
pensare leetto della risonanza
presente Nellanello di velocit` a
a causa del guadagno e banda
elevati.
Nei controlli decentralizzati viene generato un movimento di riferimento per ogni giunto e ciascuno di essi
`e poi controllato in maniera indipendente dagli altri. In altre parole lazione di controllo su ogni motore
dipende solo dal suo errore di inseguimento e non da quello degli altri attuatori.
Nei controlli centralizzati invece gli anelli di retroazione di due o pi` u giunti interferiscono tra di loro.
Ad esempio in un sistema a 2 gradi di libert`a indichiamo con r
1
e r
2
le grandezze da controllare, con r
1o
e r
2o
i loro valori desiderati e con j
1
e j
2
le due azioni di controllo. Nel caso di controllore centralizzato
j
1
dipende solo da r
1
e r
1o
mentre in un controllo centralizzato esso pu`o dipendere anche da r
2
e r
2o
(ed analogamente per j
2
); cio`e
controllo decentralizzato controllo centralizzato
j
1
= )
1
(r
1
, r
1o
) j
1
= )
1
(r
1
, r
1o
, r
2
, r
2o
)
j
2
= )
2
(r
2
, r
2o
) j
2
= )
2
(r
1
, r
1o
, r
2
, r
2o
)
Esempi di controlli centralizzati sono
controlli a coppia precalcolata;
controlli a dinamica inversa;
controlli ad assi virtuali;
controlli nello spazio di lavoro.
Il controllo ad assi virtuali e nello spazio di lavoro posso essere sostanzialmente molto simili tra loro; la
loro diversa denominazione deriva da diversi ambiti applicativi in cui sono utilizzati.
Analizziamo ora brevemente i controlli dinamica inversa e quelli a coppia precalcolata. Con riferimento
al 2.8 pag. 48, si assume che il comportamento dinamico del robot sia descritto dallequazione
1
g
= `
Q+\
(
Q,
Q
)
ove la matrice delle masse ` dipende da Q ed il termine \ (.) che dipende da Q e da
Q congloba anche
gli eetti dovuti al peso ed agli attriti.
Si immagina di avere a disposizione delle stime del modello dinamico del manipolatore e cio`e delle matrici
` e
\ tali che
` `
\ (.) \ (.)
`e pertanto possibile stimare la coppia necessaria a fare avvenire un certo movimento
1
g
=
`
Q+
\
(
Q,
Q
)
H.12. CONTROLLO CENTRALIZZATO E DECENTRALIZZATO (PAG.298 10.6.1) 1019
( )
0 0 0
,
Q Q V Q M
& & &
+
robot
v p
sK K +
S
Q
Q
o +
+
+
-
E
Q
F
q
q
F
v p
sK K +
Q
Q
0
+
+
+
-
E
Q
0
Q M
& &
F
q
+
robot
Figura H.31: Dinamica inversa nello spazio dei
giunti (schema 2).
( )
0 0
,
Q Q V
&
v p
sK K +
S
Q
Q
0
+
-
E
Q
M
0
Q
& &
+
+
+ +
q
F
F
q
robot
Figura H.32: Controllo a coppia precalco-
lata nello spazio dei giunti (schema 1bis
perfettamente equivalente a schema 1).
( ) Q Q V
&
,
v p
sK K +
S
Q
Q
0
+
-
E
Q
M
0
Q
& &
+
+ +
F
q
robot
Figura H.33: Controllo a dinamica inver-
sa nello spazio dei giunti (schema 2bis
perfettamente equivalente a schema 2).
( )
0 0
,
Q Q V
&
v p
sK K +
S
Q
Q
0
+
-
E
Q
0
Q
& &
+
+
F
q +
M
+
robot
Figura H.34: Controllo a coppia precalcolata
nello spazio dei giunti a giunti disaccoppiati
(schema 1b).
( ) Q Q V
&
,
v p
sK K +
S
Q
+
-
E
Q
0
Q
& &
+
+
F
q +
M
+
robot
Figura H.35: Controllo a dinamica inversa
nello spazio dei giunti a giunti disaccoppiati
(schema 2b).
R
J
T
robot
S
( ) S S V
s
&
,
S
0
0
S
& &
E
s
+
-
+
+
F
s
F
q
' S
& &
'
s
F
+
+
s
M
Figura H.36: Controllo a dinamica inversa nello spazio operativo - teorico (schema 3a).
R robot
S
( ) Q Q V
&
,
S
0
0
S
& &
E
s +
+
+
F
q
' S
& &
+
+
M
J
-1
+
-
J
&
Q
-
cinematicadiretta
S
' Q
& &
Q
&
Figura H.37: Controllo a dinamica inversa nello spazio operativo - pratico (schema 3b).
1020 APPENDICE H. AMPLIAMENTI E CHIARIMENTI
Coppia precalcolata nello spazio dei giunti
Si potrebbe cos` ipotizzare di controllare il manipolatore in anello aperto chiedendo ai motori di generare
la coppia
1
g
. Se la stima dello stato iniziale del manipolatore (Q e
Q) fosse perfetta e se il modello
dinamico fosse perfetto il manipolatore si muoverebbe esattamente come previsto. Tuttavia `e inevitabile
la presenza di qualche imperfezione e quindi il manipolatore devier`a dalla traiettoria prevista. Sar`a quindi
necessario introdurre una retroazione di posizione e di velocit`a (vedi schema 1 gura H.30). Indichiamo
con 1
g
= Q
0
Q lerrore di posizione e con :1
g
la sua derivata che coincide con lerrore di velocit`a. Il
termine (1
+:1
u
) 1
g
costituisce quindi un regolatore di tipo PD che garantisce stabilit`a e limitato errore
di inseguimento. Se il modello dinamico `e buono, questo schema garantisce un errore di inseguimento
ridotto rispetto a quello che si potrebbe ottenere con un PD senza il termine di coppia precalcolata.
Lo schema pu`o anche essere ridisegnato in forma perfettamente equivalente come in schema 1bis (gura
H.32) che evidenzia come il termine non lineare di predizione di coppia possa essere visto come un termine
di compensazione in avanti (Feed Forward).
In queste condizioni lequazione dierenziale che descrive la dinamica del sistema si pu`o scrivere sommando
i termini di coppia calcolata ed eguagliandoli a quelli entranti nel manipolatore
`(Q
0
)
Q
0
+
\
(
Q
0
,
Q
0
)
+1
(Q
0
Q) +1
u
(
Q
0
Q
)
= `(Q)
Q+\
(
Q,
Q
)
nelle ipotesi che
`(Q
0
) `(Q) e
\
(
Q
0
,
Q
0
)
\
(
Q,
Q
)
giungiamo allequazione
`
(
Q
0
Q
)
+1
u
(
Q
0
Q
)
+1
(Q
0
Q) = 0
Questa `e unequazione dierenziale di ordine 2n ove n il numero dei gradi di libert`a del manipolatore.
Lequazione non `e lineare perche ` dipende da Q in maniera non lineare. Inoltre i movimenti dei vari
gradi di libert`a sono tra loro accoppiati perche la matrice ` non `e diagonale.
Dinamica inversa nello spazio dei giunti
Le ipotesi semplicative indicate nel regolatore a coppia precalcolata possono essere in parte rilassate
utilizzando lo schema a dinamica inversa (schemi 2 o equivalentemente 2bis gure H.31 e H.33) ove il
termine
\ `e calcolato utilizzando posizioni e velocit`a misurate e non quelle desiderate. In questo ca-
so la condizione su
\ `e meno stringente essendo suciente avere
\
(
Q,
Q
)
\
(
Q,
Q
)
e non anche
\ ,Q (QQ
0
)
< -
1
e
\ ,
Q (
Q
Q
0
)
< -
2
con -
1
e -
2
costanti piccole.
Disaccoppiamento dei giunti
Gli schemi precedenti possono essere migliorati spostando il blocco
` in posizione dierente in modo che
anche il termine del regolatore PD lo attraversi (vedi schemi 1b e 2b gure H.34 e H.35). In questo caso,
sotto le medesime ipotesi semplicative appena viste lequazione dierenziale diventa
`
(
Q
0
Q
)
+`1
u
(
Q
0
Q
)
+`1
(Q
0
Q) = 0
ricordando che la matrice delle masse `e sempre denita positiva, e quindi invertibile, la relazione appena
scritta pu`o essere semplicata moltiplicando a sinistra per `
1
ottenendo
(
Q
0
Q
)
+1
u
(
Q
0
Q
)
+1
(Q
0
Q) = 0
Questa relazione `e di tipo lineare, `e scomparsa la dipendenza dalla dinamica del manipolatore, e se
le matrici dei guadagni 1
e 1
u
sono diagonali, i vari giunti risultano tra loro disaccoppiati e quindi
facilmente regolabili agendo sulle matrici dei guadagni.
Indicando con /
e /
u
i guadagni di un asse, e ricordando che il denominatore di una funzione di trasfe-
rimento del secondo ordine `e esprimibile come :
2
+2.
n
: +.
2
n
, la pulsazione naturale e lo smorzamento
dellasse valgono
.
n
=
=
/
u
2
e sembrerebbe quindi possibile ssare arbitrariamente questi valori agendo sui guadagni. Il sistema
avrebbe funzione di trasferimento unitaria con errore di inseguimento tendente asintoticamente a zero
con transitorio del secondo ordine.
H.12. CONTROLLO CENTRALIZZATO E DECENTRALIZZATO (PAG.298 10.6.1) 1021
E questo un assunto teorico al quale ci si pu`o solo avvicinare qualora si disponga di un modello veramente
buono infatti saranno necessariamente presenti inevitabili errori di misura e approssimazioni di modelliz-
zazione. Inoltre il modello considera gli attuatori ideali con tempo di risposta nullo e senza limitazioni
di potenza.
Dinamica inversa nello spazio operativo
Gli schemi di controllo indicati possono anche essere realizzati nello spazio operativo per un controllo
pi` u diretto dellerrore dinseguimento (vedi ad es. schemi 3a, 3b gure H.36 e H.37) ove il regolatore
pu`o essere di tipo PI ponendo 1 = 1
+ :1
u
. Per fare ci`o `e necessario esprimere tutte le grandezze
dinamiche in funzione delle coordinate utensile utilizzando le relazioni cinetostatiche o = 1(Q),
o = J
Q,
o = J
Q+
J
Q, 1
g
= J
T
1
s
le quali permettono anche di trasformare la matrice delle masse
`
s
= J
T
`J
1
si noti a questo proposito lanalogia tra le relazione seguenti
1
g
= `
Q 1
s
= `
s
o
Convertendo lo schema 2b (gura H.35 dinamica inversa nello spazio dei giunti) si perviene cos` allo
schema 3a (H.36 dinamica inversa nello spazio di lavoro - schema teorico). Tuttavia la realizzazione
pratica di questo schema presenta diversi problemi:
1. normalmente non `e disponibile una misura della posa dellutensile ed `e necessario stimarla a partire
dalle coordinate ai giunti;
2. normalmente le relazioni dinamiche (jacobiano, matrice delle masse, termini
\ , . . .) sono pi` u fa-
cilmente esprimibili in funzione delle coordinate ai giunti Q piuttosto che in quelle nello spazio
operativo;
3. la sola conoscenza delle coordinate nello spazio operativo non d`a uninformazione completa sullo
stato del sistema (ad esempio la stessa posizione o pu`o essere raggiunta con diversi valori di Q).
Da un punto di vista pratico `e quindi inevitabile dover modicare lo schema ottenendo lo schema pratico
3b (gura H.37); il blocco tratteggiato `e quello che esegue loperazione
Q
= J
1
(
J
Q).
Anche in questo caso, con regolatore PI (1 = 1
+:1
u
), si perviene ad un sistema di equazioni dierenziali
lineari del secondo ordine in cui, se le matrici dei guadagni sono diagonali, le coordinate sono tra loro
disaccoppiate
(
o
0
o
)
+1
u
(
o
0
o
)
+1
(o
0
o) = 0
Assi virtuali Si consideri un sistema di movimentazione che deve movimentare unasta. Possono veri-
carsi due casi. Nel primo caso lasta deve semplicemente traslare e non ruotare (, = 0), ma essendo
molto sottile `e necessario utilizzare due motori che si devono muovere in maniera sincrona per evitare
che essa si inetta.
Alternativamente pu`o essere necessario spostare e ruotare lasta ottenendo quindi un sistema a due gradi
di libert`a.
Nel primo caso `e possibile utilizzare due motori retroazionati in posizione i quali ricevono lo stesso segnale
di posizione desiderata r
0
. Si ottiene un sistema decentralizzato ad assi indipendenti.
Qualora si intenda anche regolare lorientamento dellasta un primo schema risolutivo prevede di calcolare
il set point di posizione di ogni motore r
.
a partire dal valore desiderato di posizione r
0
ed orientamento
,
0
r
1
= r
0
|
2
,
0
r
2
= r
0
+
|
2
,
0
1022 APPENDICE H. AMPLIAMENTI E CHIARIMENTI
x
1
x
2
l
j
x
Sistema a 2 g.d.l. per la movimentazione di
unasta
PID
1
motore
1
x
1
PID
2
motore
2
x
2
e
2
e
1
0
x
u
2
u
1
+
+
-
-
Controllo decentralizzato a un grado di
libert`a.
PID
1
motore
1
x
1
PID
2
motore
2
x
2
e
2
e
1
0
x
u
2
u
1
+
+
-
-
0
j
2
l
1
x
2
x
-
+
+
+
Controllo decentralizzato a due gradi di
libert`a.
PID
x
motore
1
x
1
motore
2
x
2
e
j
e
x
2
1
+
+
+
-
j
0
j
+
+
+
-
PID
j
+
-
-
+
l
1
x
0
x
u
2
u
1
Controllo centralizzato a due gradi di libert` a
(assi virtuali).
I due motori sono poi controllati in maniera indipendente. Si ottiene cos` uno schema di controllo
decentralizzato a 2 gradi di libert`a.
Alternativamente si pu`o decidere di controllare direttamente la posizione e lorientamento dellasta. Si
procede quindi al calcolo della sua posizione ed orientamento
r =
r
1
+r
2
2
, =
r
2
r
1
|
questi valori vengono confrontati con quelli desiderati, gli errori di inseguimento vendono processati da
dei blocchi PID e le azioni dei due regolatori vengono ricombinate per essere inviate ai due motori. Gli
anelli di retroazione dei due gradi di libert`a interagiscono tra di loro: siamo in presenza di un controllore
centralizzato a due gradi di libert`a.
In pratica regoliamo due grandezze r e , alle quali non corrisponde direttamente un attuatore; r e ,
sono talvolta detti assi virtuali.
Questo schema pu`o anche essere considerato un controllo nello spazio operativo in cui o = [r ,]
T
e Q = [r
1
r
2
]
T
; questo sarebbe particolarmente interessante qualora o fosse misurabile direttamente
permettendo cos` di ottenere precisioni di controllo elevate.
Si osservi che nel caso decentralizzato i PID dei due assi saranno presumibilmente tarati in maniera
identica, mentre nel caso centralizzato i due PID devono controllare grandezze diverse con diverse inerzie
equivalenti e quindi andranno tarati in maniera dierente.
Inoltre il caso centralizzato, a fronte di una maggiore complessit`a, permette di gestire meglio alcune si-
tuazioni. Immaginiamo per esempio che linclinazione debba essere garantita in maniera precisa mentre
la regolazione di posizione possa essere regolata in maniera pi` u grossolana. In questo caso i parametri
del PID di posizione potranno avere guadagni inferiori rispetto a quelli di orientamento. Cos`, se ad
esempio, uno dei motori dovesse incontrare una coppia resistente molto alta ed imprevista, si otterrebbe
un rallentamento anche dellaltro motore mentre rimarrebbe sempre garantita la corretta inclinazione.
Viceversa se si fosse impiegato uno schema decentralizzato uno dei due motori avrebbe rallentato molto
pi` u dellaltro producendo unelevato errore di inclinazione.
La necessit`a di garantire una corretta inclinazione anche in presenza di disturbi asimmetrici potrebbe
H.13. TRASMISSIONI A CAVI 12.3.2 PAG.332 1023
motrice
(a) trasmissione monodirezionale a cavi tra due pulegge (b) ingranaggi equivalenti
(c) trasmissione bidirezionale a cavi tra due pulegge
(d) trasmissione bidirezionale con t = 1
(e) trasmissioni ad assi ortogonali e alberi coassiali
Figura H.38: Trasmissioni a cavi tra pulegge ad assi paralleli o concorrenti.
giusticare luso del sistema centralizzato anche nel caso ad un grado di libert`a ove si porrebbe sempre
,
0
= 0, cio`e inclinazione desiderata nulla.
H.13 trasmissioni a cavi 12.3.2 pag.332
La gura H.38 rappresenta luso di cavi per la trasmissione di moto tra pulegge ad assi paralleli o
ortogonali. Questo tipo di trasmissioni simula laccoppiamento tra ingranaggi (g. H.38(b)), ma permette
di eliminare giochi ed attriti. Per evitare slittamenti le estremit`a dei cavetti sono resi solidali alle pulegge.
Dato che i cavi possono trasmettere forze di trazione, ma non di compressione lutilizzo di un solo cavo (g.
H.38(a)) permette la trasmissione della coppia in un solo verso. Dato che le trasmissioni sono usualmente
bidirezionali occorre montare i cavetti in coppia (g. H.38(c)); nella gura uno dei cavetti della coppia `e
rappresentato tratteggiato. E anche possibile realizzare rapporti di trasmissione non unitari impiegando
ruote di diametro dierente (g. H.38(d)).
E possibile realizzare anche trasmissioni tra albero ad assi concorrenti anche tra pi` u alberi coassiali (g.
H.38(e)).
1024 APPENDICE H. AMPLIAMENTI E CHIARIMENTI
Figura H.39: Il polso del robot DOGHI con trasmissione ad alberi cavi, ingranaggio conici a denti
elicoidali.
Ripetibilit`a
Accuratezza
Buona
Buona
Scadente
Scadente
Figura H.40: Signicato di ripetibilit`a (errori casuali) ed accuratezza (errori ripetitivi) di un manipolatore.
Gli errori ripetitivi possono essere compensati tramite calibrazione.
H.14 Polso e trasmissioni ad alberi cavi (pag. 339, gura 12.14)
Una foto della trasmissione del moto nel polso del robot DOGHI `e riportata in gura H.39.
H.15 Calibrazione(14.1 Pag. 403 e seguenti)
H.15.1 Concetti generali
La gura H.40 richiama i concetti di ripetibilit`a ed accuratezza di un manipolatore (vedi anche capitoli
relativi alle misura delle prestazioni 17).
La calibrazione di un manipolatore richiede una strumentazione in grado di misurare la posa reale rag-
giunta da un manipolatore per calcolare poi lerrore per dierenza tra posa reale e teorica. La misura
assoluta di posa `e molto complessa e richiede strumentazione complessa e costosa. A puro esempio in-
dicativo in gura H.42 viene schematizzato un sistema di misura economico di posa di un manipolatore
tramite 6 rocchetti strumentati (gura H.43). La posa del manipolatore pu`o essere stimata conoscendo
la posizione dei rocchetti, la lunghezza dei sei li e utilizzando equazioni simili a quelle per la cinematica
diretta di manipolatori paralleli (vedi 8.15).
Quando non `e conveniente misurare la posa eettivamente raggiunta da un manipolatore si pu`o usare un
H.15. CALIBRAZIONE(14.1 PAG. 403 E SEGUENTI) 1025
3
c
1
c
2
c
3
o
Figura H.41: Calibrazione di una PKM: per migliorare le prestazioni, in aggiunta alle misure di errore di
posa, si possono utilizzare anche le misure dei movimenti dei giunti non motorizzati c
.
.
Figura H.42: Sistema di misura economico di
posa di un manipolatore tramite 6 rocchetti
strumentati. La posa del manipolatore pu`o
essere stimata conoscendo la lunghezza dei sei
li e la posizione dei rocchetti.
rocchetto
potenziometro o encoder
anello calibrato
c
|
Figura H.43: Rocchetto strumentato che
misura la quantit`a di lo estratto | = :c.
1
2
3
4
5
(a) Braccio di misura
1
3
4
5
2
(b) struttura cinematica
Figura H.44: Braccio seriale di misura a 5 gradi di libert`a.
1026 APPENDICE H. AMPLIAMENTI E CHIARIMENTI
Figura H.45: Dima per forzare il manipolatore
ad una posa nota; qui `e utilizzato per forzare
la posa del braccio di gura H.44(a).
c
a
d
c, a, d r, j, .
Figura H.46: Il laser tracker consente di
misurare la posizione assoluta del centro
di uno speciale specchio (corner cube).
Pr
Pa
gradiente termico
Figura H.47: A causa di un gradiente termico il raggio laser viene deviato. Il laser tracker crede che lo
specchio si trovi in 1
o
(posizione apparente) mentre in realt`a esso si trova in 1
:
(posizione reale).
metodo duale che prevede di forzare la posa a valori predeniti (esempio gura H.45). Poi si stima la
posa tramite la cinematica diretta utilizzando come movimento motori Q la lettura dei trasduttori dei
giunti. La dierenza tra posa imposta e posa stimata serve ad innescare il procedimento di calibrazione.
La gura H.46 rappresenta un laser tracker ovvero una strumentazione laser per la misura della posi-
zione di uno speciale specchio di tipo corner cube da porsi sul dispositivo destremit`a del robot. La
sorgente laser pu`o venire diretta in ogni direzione ruotando due specchi (interni allo strumento). Se il
raggio laser incontra lo speciale specchio esso viene riesso verso la sorgente. Opportuni sensori sono in
grado di misurare la distanza d tra strumento e specchio. Per la misura di distanze esistono metodolo-
gie interferometriche di tipo incrementali molto precise che consentono di arrivare a precisioni di alcuni
micron, mentre metologie di tipo assoluto arrivano a frazioni di decimo di millimetro. La conoscenza
delle rotazioni c e /cto degli specchi e della distanza d permette di determinare le coordinate r, j, . dello
specchio. Appositi sensori misurano la temperatura ambiente per compensare gli eetti sulla strumen-
tazione, tuttavia se la temperatura ambientale varia lungo il percorso del raggio laser, esso non viaggia
pi` u in linea retta e la strumentazione viene ingannata (gura H.47); occorre quindi eettuare le misure
in un ambiente adeguato. Per misurare lorientamento del dispositivo di estremit`a `e necessario misurare
la posizione di almeno tre diversi punti (specchi) posti sul dispositivo destremit`a.
La gura H.41 si riferisce a una possibile tecnica calibrazione di un manipolatore a struttura cinematica
parallela (PKM Parallel Kinematic Machine).
H.15.2 Calibrazione non parametrica (14.1.5 pag.407)
La calibrazione parametrica prevede che lerrore di posa di un manipolatore venga misurato in punti
appartenenti ad una griglia regolare (es. gura H.49). Normalmente lerrore varier`a gradualmente da
una posa allaltra e questo consentir`a di prevedere lerrore per ogni posa intermedia tramite interpolazione
dai valori adiacenti nella griglia.
Conoscendo lerrore di posa sar`a possibile compensarlo producendo uno spostamento uguale e contrario.
Tuttavia questo metodo non consente di capire quale sia la fonte dellerrore e quindi la calibrazione pu` o
H.16. CALIBRAZIONE: SCELTA DEI PARAMETRI: UN MODELLO COMPLETO, MINIMO, PROPORZIONALE(14.1.14
6
R
4
2
Figura H.48: Interpretazione geometrica della scelta dei parametri di calibrazione: un modello completo,
minimo, proporzionale.
essere applicata solo nei punti interni alla griglia mentre non si `e in grado di calibrare il manipolatore
quando si trova fuori da essa. Inoltre se il root deve essere calibrato per orientamento qualsiasi della pinza,
per ogni punto della griglia `e necessario misurare lerrore di posa per parecchi orientamenti del dispositivo
destremit`a. Questa operazione pu`o essere molto complessa e richiedere parecchi tempo tuttavia si `e
sgravati dallonere di sviluppare un modello sosticato del manipolatore.
H.16 Calibrazione: scelta dei parametri: un modello completo,
minimo, proporzionale (14.1.14 pag.416)
La natura dei parametri strutturali considerata in questo approccio `e descritta dalla gura H.48.
H.17 Modello dinamico con elasticit`a concentrate (pag. 425
14.2.4, 2.9 pag. 56 e 2.8.1 pag. 49)
Le equazioni del modello dinamico con elasticit` a concentrata si possono ottenere sostituendo nellequa-
zione della dinamica 1
g
=
Q+(Q,
Q) +
1
(Q, 1) il valore delle forze trasmesse dalla elasticit`a delle
trasmissioni. Risulta
1
g
(Q
n
Q) +1
:
(
Q
n
Q
)
=
Q+(Q,
Q) +
1
(Q, 1)
ove Q
n
rappresenta le rotazioni dei motori equivalenti (uscita riduttori supposti rigidi) e Q le rotazioni
dei link; le matrici diagonali 1
g
e 1
:
indicano la rigidezza e le perdite di deformazione viscosa delle
trasmissioni
1
g
= diag (/
1
, /
2
, . . .) 1
g
= diag (:
1
, :
2
, . . .)
nellesempio del manipolatore SCARA si ottiene
Q
n
=
[
c
1
c
2
]
Q =
[
a
1
a
2
]
1
g
=
[
/
1
0
0 /
2
]
1
:
=
[
:
1
0
0 :
2
]
Deniamo con Q la dierenza tra movimento dei motori e dei link e con o la dierenza tra posizione
teorica dellorgano terminale nel caso teorico rigido e quella del caso reale con elasticit`a
Q = (Q
n
Q) o = (o
n
o)
Si pu`o operare un cambio di coordinate dallo spazio dei giunti in quello di lavoro ponendo o = JQ
ottenendo
o +1
:s
o +1
s
o = J
T
(
Q+(Q,
Q) +
1
(Q, 1)
)
1028 APPENDICE H. AMPLIAMENTI E CHIARIMENTI
Figura H.49: Griglia di calibrazione (non parametrica). Lerrore di posa o viene misurato su una griglia
regolare di punti. Quando `e richiesto di raggiungere una posa o, in realt`a il manipolatore raggiunger`a la
posa o+o. Lerrore di posa pu`o venire annullato chiedendo al robot di raggiungere la posa oo. Per
i punti per i quali non `e disponibile un valore di errore di posa questo valore si stima per interpolazione
dai punti adiacenti.
con
s
= J
T
J
1
1
:s
= J
T
1
:
J
1
1
s
= J
T
1
g
J
1
Le equazioni scritte sono quelle tipiche di sistemi vibranti forzati. In questo caso la forzante `e il movi-
mento dei motori e lintegrazione della equazione consente di determinare il movimento del manipolatore
reale. Nel caso che i termini quadratici in
Q siano trascurabili e nellipotesi di piccole deformazioni si
ottiene unequazione dierenziale lineare; i modi principali di vibrare si possono dedurre dagli autovettori
di
1
s
1
s
o di
1
1
g
mentre le pulsazioni proprie si deducono dai corrispondenti autovalori.
H.18 Stima Parametri del modello dinamico (pag. 427 14.2.7,
2.9 pag. 56, 2.21 pag. 70 e pag. 50 2.8.3)
Nota La funzione segno dovrebbe essere indicata come sgn() ma altre volte compare erroneamente come
:ipn(); essa `e denita al B.3.1 come sgn(r) = 1 se r 0, 0 se r = 0, 1 se r < 0.
Consideriamo il modello a parametri dinamici minimi
C = 1
1
1 =
[
1
T
J
1
T
o
]
T
La simbologia usata nei due capitoli non `e omogenea. Inoltre nel paragrafo sulla calibrazione dinamica
non sono stati esplicitati la massa : ed il momento dinerzia J del corpo trasportato mentre sono stati
introdotti i momenti dinerzia dei motori e i rapprti di riduzione t
1
e t
2
. Le varie equazioni non sono cos`
direttamente confrontabili. Ci`o non inuenza la validit`a dei risultati sperimentali descritti perche, come
dichiarato, non ci interessa (ne `e completamente possibile) trovare il valore dei singoli parametri, ma solo
quello di parametri globali equivalenti in un modello rigido a parametri dinamici minimi.
Inoltre per omogeneit`a conviene eliminare il coeciente |
1
dalla matrice 1 ed inglobarlo nel vettore dei
termini dinamici.
E quindi possibile rinire il vettore dei parametri 1 e la matrice 1 nella seguente maniera:
1
J
=
j
1
j
2
j
3
j
4
j
5
1
1:
+ (:+:
2
)|
2
1
+J
n1
,t
2
1
|
1
(:|
2
+:
2
:
i
)
|
1
:
2
:
1
2:
J
n2
,t
2
2
1
o
=
o
01
o
11
o
21
o
02
o
12
o
22
(H.1)
H.18. STIMA PARAMETRI DEL MODELLO DINAMICO (PAG. 427 14.2.7, 2.9 PAG. 56, 2.21 PAG. 70 E PAG. 50 2.8.3)1029
1
T
=
t
1
1
0
t
1
(c
2
(2
1
+
2
) :
2
2
(2
1
+
2
)) t
2
(
c
2
1
+:
2
2
1
)
t
1
(:
2
(2
1
+
2
) c
2
2
(2
1
+
2
)) t
2
(
:
2
1
+c
2
2
1
)
t
1
(
1
+
2
) t
2
(
1
+
2
)
0 t
2
2
sgn (
1
) 0
1
0
sgn(
1
)
2
1
0
0 sgn(
2
)
0
2
0 sgn(
2
)
2
2
= 0
:
`e nullo perche si assume che il baricentro stia sulla mezzeria del link.
Avendo spostato il coeciente |
1
= 0.33 dalla matrice 1 al vettore 1 occorre moltiplicare i parametri
j
2
e j
3
per questo stesso valore ed aggiornare la sua unit`a di misura. Nellesempio sperimentale citato il
parametro j
3
vale esattamente zero perche la stima `e stata fatta con riferimento ad un modello ridotto
che assume :
= 0.
Risulta
cerchio OJD
1
1
16.3286514074 16.2606169659 /p:
2
1
2
-0.0550159053 0.837423654 /p:
2
1
3
0.0 0.0 /p:
2
1
4
-0.3813491029 0.6642731627 /p:
2
1
5
4.8753219665 4.2045177593 /p:
2
o
01
0.1846270328 0.2100604969 :
o
11
0.2945835590 0.0940617391 :,(:od,:)
o
21
-0.1448462244 -0.0168580957 :,(:od,:)
2
o
02
0.0841700456 0.0876724328 :
o
12
0.0251936773 0.0508717965 :,(:od,:)
o
22
0.0009255059 -0.0073197797 :,(:od,:)
2
Si osservi che il parametro j
5
non `e nullo evidenziando limportanza del riduttore sullinerzia vista dal
motore. A questo riguardo si richiamano i discorsi fatti al 12.6. Per comparare i valori numerici del
12.6 con quelli del 14.2 si osservi che in un caso linerzia `e valutata prima del riduttore, nellaltra dopo.
Inoltre si ricorda che nel caso in esame t = 1,100 da cui t
2
= 10
4
.
1030 APPENDICE H. AMPLIAMENTI E CHIARIMENTI
Appendice I
Ellissi: propriet`a e rappresentazioni
In questo paragrafo trattiamo alcuni argomenti relativi ad ellissi in un piano rj, ma tutti i risultati
generali basati sui concetti di autovalori ed autovettori sono validi anche per ellissoidi nello spazio rj.
(o a pi` u dimensioni), anche se alcune formule particolari vanno ovviamente adattate.
Unellisse con diametri paralleli agli assi coordinati r, j e con centro nellorigine pu`o essere espressa in
forma canonica come
r
2
:
2
1
+
j
2
:
2
2
= 1
ove :
1
e :
2
sono i raggi (semidiametri) dellellisse stessa. La stessa ellisse pu`o essere espressa in forma
matriciale come
T
=
[
r j
]
1
:
2
1
0
0
1
:
2
2
[
r
j
]
= 1 =
[
r
j
]
=
1
:
2
1
0
0
1
:
2
2
, j
= 1
[
r
]
=
[
cos(c
0
) sin(c
0
)
sin(c
0
) cos(c
0
)
] [
r
j
]
y
r
2
r
1
x
a
Figura I.1: Costruzione di unellisse ispi-
rata alla sua denizione tramite equazione
parametrica.
r
1
r
2
u
2
u
1
a
0
x
y
Figura I.2: Ellisse ruotata di un angolo c
0
.
1031
1032 APPENDICE I. ELLISSI: PROPRIET
`
A E RAPPRESENTAZIONI
1 = Bv v
t
1
1
=
-
v B v
t
Figura I.3: Ellissi associate ad una matrice 1 ed alla sua inversa 1
1
.
[
r
]
=
[
cos(c
0
) sin(c
0
)
sin(c
0
) cos(c
0
)
] [
:
1
cos(c)
:
2
sin(c)
]
ove le colonne della matrice ortogonale di rotazione 1 possono essere interpretate come i versori degli
assi originali r, j (su cui giacciono i diametri) visti da r
, j
1 =
[
cos(c
0
) sin(c
0
)
sin(c
0
) cos(c
0
)
]
=
n
1
n
2
1
T
= 1
1
ricordando la relazione inversa = 1
T
=
T
=
[
r
n
1
n
2
1
:
2
1
0
0
1
:
2
2
[
n
T
1
n
T
2
] [
r
]
con
=
(
11
T
)
=
n
1
n
2
1
:
2
1
0
0
1
:
2
2
[
n
T
1
n
T
2
]
ove n
.
sono gli autovettori di
= 1, gli autovettori n
.
della matrice
rappresentano le direzioni dei suoi assi, mentre linverso della radice quadrata dei corrispondenti
autovalori `
.
rappresentano i corrispondenti semidiametri :
.
=
1
`
.
.
Inoltre dato che il determinate di una matrice `e pari al prodotto degli autovalori, si deduce che larea
dellellisse `e proporzionale allinverso della radice quadrata del suo determinante
o = :
1
:
2
=
`
1
`
2
=
det(
)
Talvolta la matrice
(che risulta simmetrica e denita positiva) `e ottenuta dal prodotto di una matrice
1 per la sua trasposta:
= 1
T
1. In questo caso si deniscono valori singolari o
.
di 1 la radice
quadrata degli autovalori di
o
.
=
`
.
det(
) = det(1)
2
per cui si pu`o aermare che i semidiametri sono linverso dei valori singolari di 1, larea dellellisse `e
inversamente proporzionale al determinante di 1. La matrice
o
1
o
2
=
det(1)
Comparando una matrice 1 con la sua inversa 1
1
si osserva che i loro determinanti (come pure i loro
autovalori) sono uno linverso dellaltro mentre gli autovettori coincidono
det (1) =
1
det (1
1
)
`
.
(1) =
1
`
.
(1
1
)
n
.
(1) = n
.
(
1
1
)
1033
quindi lasse maggiore e quello minore delle ellissi si scambiano di posto ed ad unellisse di area piccola
(minore di 1) corrisponde una di area grande (maggiore di 1) o viceversa.
Nel caso di ellissoidi nello spazio rj. in luogo di area occorre parlare di volume calcolabile dal prodotto
dei tre semidiametri Vol = 4,3:
1
:
2
:
3
.
In generale si pu`o vericare che unellisse con generico orientamento e centro nellorigine degli assi pu` o
essere scritta come
or
2
+/rj +cj
2
= [r j]
[
o /,2
/,2 c
] [
r
j
]
=
T
= 1
con o, c 0 e det 0.
Dimetro in una direzione.
Consideriamo un ellisse associata alla matrice . Il diametro in una direzione n si pu`o facilmente deter-
minare rappresentandolo con un vettore di modulo d moltiplicato per il versore associato alla direzione
( = nd), lellisse `e cos` denita come
d
T
n
T
nd = 1
da cui
d =
1
n
T
n