Jose Luis Huayanay - Robotica
Jose Luis Huayanay - Robotica
Jose Luis Huayanay - Robotica
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 giovanni.legnani@ing.unibs.it
√ √
66 eq. (2.49) γ = 2 atan tc2 + kπ γ = 2 atan ± tc2
67 eq. (2.53) l2 + . . . 0 = l2 + . . .
l1 + . . . 0 = l1 + . . .
T
71 eq.(2.60) . . . − T Fq . . . . . . T T Fq . . .
infatti se se sul robot agisce Fq sulla trasmissione agisce −Fq . (Gli altri segni sono corretti)
91 nel riquadro = T
R10 = T
R01
288 eq.(10.5)(10.6) τω = 1/ωω = 1/ωT è l’inverso della banda passante dell’anello di velocità
288 dopo eq.(10.6) kd = kp Td kd = kp′ Td
288 eq.(10.7) . . . 1 + kp Td ) . . . 1 + kp′ Td )
′
T′ kp Td′ ′
kp
ϑ 1 + s k′d J + ′ s
kp ϑ 1 + sTd′ (1 + Td′ s)
p J
288 eq.10.8 = = = = = =
ϑ0 ... ... ϑ0 ... ...
numeratore
1 1
296 inizio prima eq. (s non è un pedice)
Js Js
296 prima eq. J2 Js (s poi si semplifica con quello
che compare nel termine J1 s)
Ω ... Ω ...
296 fine prima eq. = ··· = = ··· = " #
C0 s2 2ξ2 C0 s2 2ξ2
s(J1 + J) 2 + s+1 s(J1 + J) + s+1
ω2 ω2 ω22 ω2
309 figura 10.55 y z
317 fig.11.4 scambiare i nomi “pezzo 1” e “pezzo 2”
353 terzultima riga . . . del rotore. . . . dello statore.
366 J2 = . . . = 4.4210−4 kgm2 J2 = . . . 4.4910−4 kgm2
383 fig.13.18 scambiare r e k
. . . En−1 . . . . . . En . . .
417 1◦ equazione Q Qn (p = n + 1)
n−1
i=0 i=0
Bibliografia
Riguardo al metodo matriciale basato su matrici 4 × 4 ci si può anche riferire a
[2] A homogeneous matrix approach to 3D kinematics and dynamics - II. Applications to chains of
rigid bodies and serial manipulators
Mechanism and Machine Theory, Volume 31, Issue 5, July 1996, Pages 589-605
Giovanni Legnani, Federico Casolo, Paolo Righettini, Bruno Zappa
1000 G.Legnani, Robotica Industriale Ed. CEI. Correzioni e ampliamenti. 2 maggio 2016
Appendice H
Ampliamenti e chiarimenti
Questa sezione è dedicata a piccole aggiunte che possono rendere più comprensibile il testo
o completarlo.
I riferimenti a pagine, capitoli, figure, equazioni sono relative al libro.
Se si considera un manipolatore polare la velocità “radiale” massima è limitata da quella del motore li-
neare Vr,max = ρ̇max , mentre quella “tangenziale” è limitata dal prodotto della velocità angolare massima
del motore rotativo per la distanza del dispositivo d’estremità dalla torretta Vt,max = ρωmax . Inoltre in
direzioni diverse le due velocità
p si possono sommare e quindi, per particolari direzioni, la velocità può
raggiungere il valore Vmax = (ρ̇max )2 + (ρωmax )2 . Il luogo dei vettori velocità massime è ancora un
rettangolo con lati paralleli alle direzioni radiale e tangenziale. Dato che il valore della distanza ρ varia
1001
1002 APPENDICE H. AMPLIAMENTI E CHIARIMENTI
Vr , max
Fr , max
wmax
Cmax
Figura H.2: Manipolatore polare: velo- Figura H.3: Forze massime esercitabili da
cità massima ammissibile in funzione delle un manipolatore polare in funzione della
direzione e della configurazione. direzione e della configurazione.
nell’area di lavoro, si deduce che la velocità massima tangenziale aumenta con la distanza e il rettangolo
delle velocità si deforma di conseguenza.
Analogamente per le forze possiamo dire che in direzione radiale il manipolatore potrà esercitare una
forza massima costante limitata dalle prestazioni del motore lineare, mentre in direzione tangenziale il
modulo della forza massima esercitabile sarà inversamente proporzionale alla distanza Ft,max = Cmax /ρ
essendo limitata dalla coppia massima del motore rotativo. Il luogo delle forze massime esercitabili è un
rettangolo in cui il lato “tangenziale” decresce con la distanza.
y Fmax y
y
P P
P
b b2
O2 O2
O1 a O2 x O1 x O1 x
b1
Nel caso di un manipolatore SCARA la componente di velocità fornita da ciascun motore è proporzionale
alla distanza P − Oi tra il dispositivo di estremità P e l’asse del motore Oi ed è limitata dalla velocità
massima di quest’ultimo. La componente di velocità fornita da ogni motore è ortogonale al vettore P −Oi .
In generale, le due componenti di velocità non sono tra loro ortogonali. Il luogo delle velocità massime è
quindi un parallelogramma i cui lati sono proporzionali alle quantità Vi,max = |P − Oi |ωi,max .
La forza massima esercitabile in una direzione dipende dai bracci bi della forza rispetto agli assi dei
motori oltre che dalla loro coppia massima Ci,max . Nessun motore deve essere sovraccaricato per cui:
Fmax = min(C1,max /b1 , C2,max /b2 ). 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 dall’intersezione di due “corridoi” di semi-larghezza fi = Ci,max /||P − Oi || paralleli alla direzione
P − Oi .
Nel caso di manipolatori a diversi gradi di libertà, la determinazione delle velocità massime raggiungibili
e delle forze massime generabili può essere molto complesso, ma segue i criteri generali qui descritti.
Nel caso di moto xyz (3D), i parallelogrammi sono sostituiti da parallelepipedi.
H.1. ELLISSI DI MANIPOLABILITÀ, ISOTROPIA (PAGG.45-48) 1003
Le ellissi di manipolabilità in velocità ed in forza danno un metodo standard, applicabile in modo automa-
tico anche a manipolatori complicati con diversi gradi di libertà, per indicare in quali direzioni è possibile
avere velocità elevate o esercitare forze più o meno considerevoli. Le ellissi di manipolabilità sono delle
ellissi che approssimano il luogo dei punti di velocità o forza massime. Il disegno di una famiglia di ellissi
relative a diverse posizioni del manipolatore evidenzia il suo diverso comportamento nell’area di lavoro.
Nel caso di manipolatori piani si considera l’ellisse inscritta nei parallelogrammi descritti e tangenti ai
lati nelle loro mezzerie.
Nel caso di manipolatori che si muovono nelle tre direzioni xyz, le ellissi sono sostituite da ellissoidi.
Queste ellissi (o gli ellissoidi) sono determinabili anche nel caso di manipolatori a più gradi di libertà.
La determinazione delle ellissi può essere effettuata 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à si assume che abbiano tutti le stesse prestazioni massime sia in termini di velocità che di coppia
(o forza) massima. Il calcolo delle ellissi si semplifica dato che spesso è sufficiente calcolarne la forma e
non la dimensione. In questo caso la scelta delle unità di misura non influenza la forma dell’ellisse.
Nel caso in cui il manipolatore abbia attuatori dei due tipi, allora è indispensabile tenere conto delle reali
prestazioni di ciascuno altrimenti si ottengono ellissi la cui eccentricità dipende dalle unità di misura
impiegate e non hanno quindi significato fisico.
Le ellissi di velocità e di forza non pesate sono associate alle seguenti equazioni
X
1= q̇i2 = Q̇T Q̇ ⇒ Ṡ T J −t J −1 Ṡ = 1
X
2
1= fqi = FqT Fq ⇒ FsT JJ t Fs = 1
mentre quelle pesate sono associate alle seguenti equazioni
!2
X q̇i
1= = Q̇T DvT Dv Q̇ ⇒ Ṡ T J −t DvT Dv J −1 Ṡ = 1
q̇i,max
!2
X fqi
1= = FqT DfT Df Fq ⇒ FsT JDfT Df J T Fs = 1
fqi,max
con
1 1
q̇1,max 0 ... fq1,max 0 ...
1 1
Dv = 0 ... Df = 0 ...
q̇2,max fq2,max
.. .. .. .. .. ..
. . . . . .
y
Ellissi d’inerzia: rappresentazione grafica
S̈
Per visualizzare la forza Fs necessaria a produrre una
m2 α certa accelerazione S̈ si può applicare la costruzione
seguente.
Fs x Si considera inizialmente un’accelerazione unitaria
diretta come S̈ = [a1 a2 ]T e la si scompone nelle
m1 direzioni dei due diametri. La componente parallela
a u1 va moltiplicata per m1 , quella parallela a u2 va
moltiplicata per m2 . Le due componenti vanno quindi
moltiplicate per il modulo dell’accelerazione
f1 m1 cos(α)
Fs = = |S̈| =
f m2 sin(α)
2
m1 0 a1
0 m2 a2
Figura H.6: Costruzione grafica ellisse di
massa (inerzia).
relazioni S̈ ≃ J Q̈ e Fq = J T Fs (il segno meno non compare perchè le forze sono quelle equivalenti e non
quelle equilibranti). Si ottiene quindi
Fs ≃ J −t MJ −1 S̈
Questa relazione permette di calcolare quale forza deve essere applicata al dispositivo d’estremità del
manipolatore per generare un’accelerazione desiderata. Possiamo considerare questa relazione come una
→
−
generalizzazione della legge di Newton
f = m− →a.
Alla matrice Ms = J −t MJ −1 può essere associata una ellisse rappresentante l’inerzia (massa) equiva-
lente del manipolatore in una determinata direzione. Infatti consideriamo un’accelerazione S̈ 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à un ellisse. Questo può essere dimostrato os-
servando che la matrice Ms è simmetrica definita positiva.
Si osserva che forza ed accelerazione sono tra loro parallele solo se la forza è diretta lungo uno degli assi
dell’ellisse.
Le direzioni degli assi del’ellisse sono definite dagli autovettori di Ms e i raggi (semidiametri) dai
corrispondenti autovalori.
Ellissi di rigidezza ed elasticità
L’ellisse 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.
L’ellisse associata all’equazione dS = kJJ T Fs definita al capitolo 2 è di cedevolezza (inversa di quelle di
1 −1
rigidezza). L’ellisse di rigidezza sarebbe quindi associata a Fs = JJ T dS.
k
Si osserva che forza e spostamento sono tra loro paralleli solo se la forza è diretta lungo uno degli assi
dell’ellisse. Per una visualizzazione grafica di questo fenomeno si consideri per analogia il caso di ellisse
di inerzia (massa).
Consideriamo l’ellisse associata alla matrice JJ T . Il diametro in una direzione rappresenta la cedevolezza
equivalente in quella direzione ed è quindi proporzionale allo spostamento dovuto all’applicazione di una
forza in quella direzione.
Le direzioni degli assi del’ellisse di cedevolezza (elasticità) sono definite dagli autovettori ui di JKq J T (o
kJJ T ) e i raggi (semidiametri) dai corrispondenti autovalori λi . Per la rigidezza occorre fare riferimento
alla matrice inversa i cui autovettori sono i medesimi e i cui autovalori valgono 1/λi .
f uT Auf = 1 A = JDfT Df J T
da cui
1
f=√
T
u Au
H.1. ELLISSI DI MANIPOLABILITÀ, ISOTROPIA (PAGG.45-48) 1005
H.1.4 Nota
Si osservi come nei diversi casi considerati le ellissi siano state definite in maniera differente.
In alcuni casi (velocità, forze) si è fatto riferimento a equazioni del tipo v T AT Av = 1 e le direzioni degli
assi dell’ellisse corrispondono agli autovettori della matrice AT A mentre le lunghezze
p ri dei semidiametri
sono legate all’inverso della radice quadrata dei corrispondenti autovalori ri = 1/λi (inverso dei valori
singolari di A).
In altri casi (massa, forza) la relazione di riferimento è del tipo v = Bu e le direzioni degli assi dell’ellisse
corrispondono agli autovettori della matrice B mentre le lunghezze ri dei semidiametri coincidono con il
valore dei corrispondenti autovalori ri = λi .
y
a& (P - O )
l2 b
P
b& (P - A) Nel caso di motori identici o comunque nel caso non
pesato, il robot SCARA (§2.9, pag. 51) può esse-
A re in configurazione isotropa solo se le componenti
delle velocità generate dai due motori sono di egual
l1 modulo |P − O| = |P − A| e tra loro ortogonali
a x −−−−→ −−−−→
P − O⊥P − A. Ciò implica che devono valere le √due
seguenti condizioni: β = ±135◦(3/4π) e l1 = 2l2 ;
O P’ il valore di α è indifferente. In questo caso le ellis-
si di manipolabilità in forza e velocità diventano dei
cerchi.
y u1 y
u2 u1
u2
m2
Jg 1 m2
b m1 r
m1 g1
x
O1 a
O2
O1 a x
Figura H.12: Ellisse di massa di un robot polare
Figura H.11: Ellisse di massa di un robot SCARA nel caso semplificato in cui la massa del secondo
nel caso semplificato in cui Jg1 = Jg1 = 0, m = 0, link sia concentrata all’estremo h = 0 (confronta
g1 = l1 , g2 = l2 (confronta §2.9.5 pag.55). §2.11.3 pag.59).
Robot SCARA
Immaginiamo per semplicità che le uniche masse significative possano essere considerate puntiformi e
localizzate al termine dei link: m1 al termine del link 1 e m2 al termine del link2.
Le coordinate necessarie allo studio dinamico sarebbero
x l1 cos(α) + l2 cos(α + β)
x l1 cos(α) + l2 cos(α + β) y l1 sin(α) + l2 sin(α + β)
S= = Se =
xg1 =
y l1 sin(α) + l2 sin(α + β) l1 cos(α)
yg1 l1 sin(α)
M = diag(m2 , m2 , m1 , m1 )
In questo caso le direzioni degli assi dell’ellisse (autovettori della matrice di massa) ed i relativi semidia-
metri (autovalori) risultano
cos(α + β) − sin(α + β) m1
u1 = u2 = λ1 = m2 + λ2 = m2
sin(α + β) cos(α + β) sin(β)2
L’asse u1 è parallelo al secondo link. Per spostamenti in direzione u2 conta solo la massa m2 , mentre in
direzione u1 occorre sommare una quota derivante dalla massa m1 . Qualora i baricentri non siano nelle
posizioni indicate o i momenti d’inerzia non siano nulli le direzioni (autovettori) e le masse equivalenti
(autovalori) sarebbero differenti.
H.2. BIELLA EQUIVALENTE 1007
0.6 0.6
0.4 0.4
0.2 0.2
y[m]
y[m]
0 0
−0.2
−0.2
−0.4
−0.4
−0.6 −0.4 −0.2 0 0.2 0.4 0.6 −0.6 −0.4 −0.2 0 0.2 0.4 0.6
x[m] x[m]
Robot polare
Immaginiamo per semplicità che le uniche masse significative possano essere rappresentate da due masse
puntiformi: m1 sul link 1, m2 al termine del link2, m la massa trasportata. Siano inoltre Jg1 , Jg2 , eJ i
momenti d’inerzia baricentrali dei due link e della massa trasportata. Le coordinate necessarie allo studio
dinamico sarebbero
x ρ cos(α)
y ρ sin(α)
x ρ cos(α)
S= = Se =
xg1 = g1 cos(α)
y ρ sin(α) yg1 g1 sin(α)
α α
L’asse u1 è parallelo ai link, u2 ortogonale ad essi. Per spostamenti in direzione u2 conta solo la massa
m + m2 , mentre in direzione u1 occorre sommare una quota derivante dalla massa m1 e dai momenti
d’inerzia.
A titolo d’esempio si riportano le ellissi d’inerzia del robot Icamatic SCARA03 calcolate per le due con-
figurazioni (a sinistra q2 > 0, a destra q2 < 0). Esse sono tracciate solo per le configurazioni realmente
raggiungibili tenendo conto dei fine corsa reali. Nel caso specifico di questo particolare modello di mani-
polatore (Icomatic SCARA03), le proporzioni e l’orientamento 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.
mb mb
z b
b
x
g a mg
a
y ma ma
(a) corpo allungato (b) modello 2 masse (c) modello 3 masse
Figura H.14: Approssimazione della dinamica di un corpo allungato con un’asta e 2 o 3 masse puntiformi.
Jx = Jy >> Jz
Un modello più preciso può essere sviluppato con tre masse, di cui due poste agli estremi ed una mg
posta nel baricentro (figura H.14(c)); in questo caso anche il valore del momento d’inerzia può essere
mantenuto esatto. Si ottiene
Jg
ma =
a(a + b)
m = ma + mb + mg
Jg
ma a = mb b perciò mg = m −
ab
Jg = m a a 2 + m b b 2
Jg
mb =
b(a + b)
Perciò nel caso di barra omogenea si ottiene
m 2 m
ma = mg = m mb =
6 3 6
tuttavia questa condizione può capitare solo per cos(β) = ±1 se contemporaneamente cos(γ) = ±1 e solo
per particolari valori delle lunghezze per cui capita l1 ± l2 ± l3 = 0. Quindi questo caso rientra nelle già
H.4. COORDINATE ANGOLARI (CAPITOLO 3.3) 1009
Le equazione per la cinematica inversa che permettono il calcolo di β e γ si ottengono con il seguente
procedimento.
dalla prima equazione di secondo grado si determina tb . In generale si avranno due soluzioni (eventual-
mente coincidenti). Detta equazione può degenerare in una di primo grado se l1 = l2 o se z = 0. Per
ognuna delle soluzioni trovate, l’angolo β si determina come β = 2 atan(tb ).
Se sin(β) = 0 allora anche z = 0, ed il manipolatore si comporta come un robot SCARA in cui il primo
link è lungo l1 + l2 ed il secondo è lungo l3 . Il robot SCARA è trattato al §2.9.2.
n.link giunto θ d a ϕ
1 R q1 0 0 −π/2 rotazione della torretta attorno all’asse z0
2 R q2 d2 0 π/2 elevazione del braccio attorno all’asse z1
3 P 0 q3 0 0 allungamento del braccio lungo z2
4 R q4 0 0 −π/2 prima rotazione giunto sferico attorno a z3 = z2
5 R q5 0 0 π/2 flessione polso sferico attorno a z4
6 R q6 0 0 0 terza rotazione giunto sferico attorno a z5
1010 APPENDICE H. AMPLIAMENTI E CHIARIMENTI
wy
t
wz
z
Rot(y)
Rot(z)
t
(b) Caso 1: prima Rot(z), poi Rot(y)
x y wy
Rot(y) Rot(z)
(a) Due diverse sequenze di rotazioni di un corpo rigido attorno agli assi y e z. t
In entrambi
R i casi si ha: R wz
Rot(x) = 0; Rot(y) = ωy dt = 90◦ Rot(z) = ωz dt = 90◦
t
(c) Caso 2: prima Rot(y), poi Rot(z)
n.link giunto θ d a ϕ
1 R q1 0 0 π/2 rotazione della torretta attorno all’asse z0
2 R q2 0 a2 0 elevazione del braccio attorno all’asse z1
3 R q3 0 a3 0 elevazione dell’ avambraccio attorno z2
4 R q4 0 a4 −π/2 prima rotazione giunto sferico attorno a z3
5 R q5 0 0 π/2 flessione polso sferico attorno a z4
6 R q6 0 0 0 terza rotazione giunto sferico attorno a z5
Enumerazione delle 8 soluzioni dell’Elbow Arm
braccio TCP gomito k1 k2 k3 ϑ1 ϑ2 ϑ3 ϑ234 ϑ4 ϑ5 ϑ6
1 Avanti Fuori giù 0 0 1 ϑa ϑb1 ϑc1 ϑg ϑd1 ϑe ϑf
2 Avanti Fuori su 0 0 -1 ϑa ϑb2 −ϑc1 ϑg ϑd2 ϑe ϑf
3 Avanti Dentro giù 0 1 1 ϑa ϑb3 ϑc2 ϑg ± π ϑd3 -ϑe ϑf − π
4 Avanti Dentro su 0 1 -1 ϑa ϑb4 −ϑc2 ϑg ± π ϑd4 -ϑe ϑf − π
5 Dietro Fuori su 1 0 1 π − ϑa π − ϑb2 ϑc1 ϑg −ϑd2 π − ϑe ϑf − π
6 Dietro Fuori giù 1 0 -1 π − ϑa π − ϑb1 −ϑc1 ϑg −ϑd1 π − ϑe ϑf − π
7 Dietro Dentro su 1 1 1 π − ϑa π − ϑb4 ϑc2 ϑg ± π −ϑd4 −π + ϑe ϑf
8 Dietro Dentro giù 1 1 -1 π − ϑa π − ϑb3 −ϑc2 ϑg ± π −ϑd3 −π + ϑe ϑf
I valori di k1 , k2 , k3 sono quelli utilizzati nella selezione delle soluzioni:
ϑ1 = atan2(Ty , Tx ) + k1 π, k1 = 0, 1 ϑ234 = atan2(Zz , c1 Zx + s1 Zy ) + k2 π, k2 = 0, 1ϑ3 = k3 acos(..), k3 = −1, 1
H.8. METODO DEL GRAFO DI PAUL; METODO SCISSIONE CATENA CINEMATICA (§6.7.1 E §6.7.2 PAGG.154-155)1011
z
y
(m)
z
x
z
y x
Sistema coordinate
generale
(1)
(0)
y
(1) x
(t) z cw
Figura H.16: Esempi di posizionamento delle terne tecniche previste dalla norma UNI EN ISO 9787: del
laboratorio (0), della base (1), dell’interfaccia meccanica (m) e dell’utensile (t).
Considerate le dimensioni geometriche di uno specifico manipolatore ed una posa da raggiungere non
è detto che tutte le otto soluzioni elencate siano matematicamente ammissibili. Da un punto di vista
matematico la non raggiungibiltà di un punto viene verificata se l’argomento dell’arcocoseno ha modulo
maggiore di uno. Per questo tipo di manipolatore si possono avere nessuna, 4 o 8 soluzioni.
Una volta identificata una soluzione, all’interno del gruppo contenete le numero 1, 2, 5 e 6 (oppure del
gruppo 3, 4, 7 e 8), si può affermare che anche le altre del gruppo sono ammissibili. Ciò si verifica 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, un’altra si ottiene ruotando la torretta (angolo ϑ1 ) di 180◦ e ribaltando
il braccio da davanti a dietro o viceversa (ad es. da soluzione 2 a 5). Non è detto invece che se esiste
una soluzione con TCP in avanti esista quella in dietro o viceversa; infatti il polso non può 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 ϑ2 e ϑ3 definiscono una zona
di piano simile allo spazio di lavoro di un robot SCARA (vedi figura 1.21).
Ovviamente non è detto che tutte le soluzioni matematicamente ammissibili siano poi raggiungibili
fisicamente infatti ogni grado di libertà avrà in generale limitazioni di fine corsa.
2, 5 2, 5
replacemen
a a
4, 7 TCP 4, 7 TCP
ϑ2 ϑ2
b b
3, 8 3, 8
ϑ1 1, 6 ϑ1 1, 6
matriciale
−1
M12 ...M56 = M01 M06 = M ∗
dalla quale è più facile determinare alcune relazioni tra le quali quelle dedotte dalle eq. 7bis e 8bis o quella
che porta alla determinazione di ϑ234 ove compare c1 Zx + s1 Zy che deriva dal termine di posizione (1,3)
di M ∗ . Inoltre nella soluzione del manipolatore compare il termine c1 Xx + s1 Xy che deriva dall’elemento
di posizione (1,1) di M ∗ mentre c1 Tx + s1 Ty dalla posizione (1,4). Infine il termine s1 Zx − c1 Zy deriva
dalla posizione (3,3).
dq1
bx1 bx2 bxi bxn b∗x
dq2
by1 by2 byi byn
.. b∗y
bz1 bz2 bzi bzn
. b∗z
··· ··· ∆Qi = J −1 dS
ax 1 ax 2 ax i ax n dqi = a∗x ⇔ J∆Qi = dS ⇒
ay 1 ay 2 ay i ay n .. a∗y
.
az 1 az 2 u zi az n a∗z
dqn
bxi
byi 0 −azi ayi bxi
bzi azi 0 −axi byi
J = J1 J2 . . . Ji . . . Jn Ji =
= F (Li )
Li =
axi −ayi axi 0 bzi
ayi
0 0 0 0
azi
H.11. MOMENTI D’INERZIA - ESEMPI (PAG.201) 1013
ove la i-esima colonna della matrice Jacobiana è ottenuta scegliendo ordinatamente i sei elementi non
nulli di Li , mentre la colonna dei termini noti dS è ottenuta in maniera analoga da L∗ .
La matrice inversa può essere proficuamente sostituita con la pseudoinversa per il caso di n 6= 6 o di
posizioni vicine a configurazioni singolari.
Step risolutivi della cinematica inversa
4. iterazione:
5. poni M = I
16. se j > jmax % il metodo non converge (fine algoritmo): Q non calcolato correttamente
17. calcola L∗ = ∆M M −1
La funzione F (L) trasforma una matrice L in una matrice colonna scegliendo ordinatamente i 6 elementi
significativi; con il simbolo Λi si è indicato l’insieme dei parametri geometrici del giunto i-esimo.
Si osserva che vale:
L∗ = M 0n − M M −1 = ∆M M −1 = M 0n M −1 − I
1 1 1
Jx = m(B 2 + L2 ) Jy = m(A2 + L2 ) Jz = m(A2 + B 2 )
12 12 12
1 1 1
Ixx = mA2 Iyy = mB 2 Izz = mL2
12 12 12
(H.5)
1 1 1 1 1
Jx ′ = mB 2 + mL2 Jy ′ = mA2 + mL2 Jz ′ = m(A2 + B 2 )
12 3 12 3 12
1 1 1
Ix′ x′ = mA2 Iy′ y′ = mB 2 Iz′ z′ = mL2
12 12 3
1014 APPENDICE H. AMPLIAMENTI E CHIARIMENTI
x x
′ ′
x x
L
L
A R
z = z′ z = z′
B
y′ y y′ y
Figura H.17: Esempi di forme geometriche semplici e notazione per il calcolo dei momenti d’inerzia
rispetto a vari assi (xyz sono assi baricentrali).
2
1
L L
a B R
r
A
1 1 1 1 1
Jx = mR2 + mL2 Jy = mR2 + mL2 Jz = mR2
4 12 4 12 2
1 1 1
Ixx = mR2 Iyy = mR2 Izz = mL2
4 4 12
(H.6)
1 1 1 1 1
Jx′ = mR2 + mL2 Jy′ = mR2 + mL2 Jz′ = mR2
4 3 4 3 2
1 1 1
Ix′ x′ = mR2 Iy′ y′ = mR2 Iz′ z′ = mL2
4 4 3
Nel caso di corpi di forma complessa, ma assimilabili alla somma di corpi semplici, è sufficiente sommare
le inerzie dopo averle espresse rispetto alla medesima terna d’assi (ad es. fig. H.18).
Mentre nel caso di corpi cavi fig. H.19), i momenti d’inerzia si calcolano immaginado il corpo pieno e
sottraendo l’inerzia corrispondente al corpo vuoto.
Ad esempio per il prisma si ottiene
1 1
Jz′ = ρABL(A2 + B 2 ) − ρabL(a2 + b2 ) (H.7)
12 12
ed anche
ρ ρ 1 1
Ix′ ′ x′ = L BA3 − ba3 Iy′ ′ y′ = L AB 3 − ab3 Iz′ ′ z′ = mL2 = ρABL3 (H.8)
12 12 3 3
ed analogamente per gli altri momenti d’inerzia.
H.12. LEGGE DI MOTO “AD ACCELERAZIONE COSTANTE” (PAG.238 FIG.9.2, PAG.249 FIG.9.18) 1015
1 1 π
Jz = mR2 = πR2 LρR2 = ρLR4 (H.9)
2 2 2
per cui il momento d’inerzia del cilindro cavo vale
π
Jz′ = ρL R4 − r4 (H.10)
2
e quindi anche
π 1 π
′
Ixx ′
= Iyy = ρL R4 − r4 ′
Izz = mL2 = ρR2 L3 (H.11)
4 12 12
Si ottiene
∆s vm ∆s 1 vm ∆s 1
Vm = ! A= = 2 ! D= = 2 !
λ1 + λ2 λ1 T T λ1 + λ2 λ2 T T λ1 + λ2
T 1− λ1 1− λ2 1−
2 2 2
1 1 1
cv = ! Ca+ = ! Ca− = !
λ1 + λ2 λ1 + λ2 λ1 + λ2
1− λ1 1− λ2 1−
2 2 2
(P2 − P1 ) × (P0 − P1 )
z=
||(P2 − P1 ) × (P0 − P1 )||
L’ampiezza della rotazione da P0 a P2 passando per P1 si calcola in due passi. Innanzitutto, considerato
il triangolo P0 P1 P2 , si calcola l’angolo in P1 indicato in figura come φ′ dal prodotto scalare tra i vettori
(P2 − P1 ) e (P0 − P1 ). Infine l’angolo di rotazione φ si ottiene ricordando che, considerato un arco di
circonferenza, l’angolo alla circonferenza è la metà dell’angolo al centro. In questo caso interessa l’angolo
explementare !
(P 2 − P 1 ) · (P0 − P1 )
φ = 2π − 2φ′ = 2π − 2 acos
||(P2 − P1 )|| ||(P0 − P1 )||
1016 APPENDICE H. AMPLIAMENTI E CHIARIMENTI
P0 P0
P1 P0 P0
P1
f’
P2 P2
2f’ f=2p-2f’ P2 Da2 a0 P2 Da2 a0
a1 Da1
Pc a2 a1
2f’ x a2 x
f=2p-2f’ f’ Pc Pc
P1 Da1
P1
Figura H.20: Segmento circolare per 3 punti: Figura H.21: Segmento circolare per 3 punti:
caso generale 3D. L’asse z è entrante nel foglio caso piano xy. A sinistra rotazione antioraria,
nell’esempio di sinistra, uscente in quello di a destra oraria.
destra.
P2
P1
Casi singolari
L’arco da percorrere non è definito e la procedura non è applicabile se i tre punti risultano allineati o
se due di essi coincidono. In questo caso si può generare un segmento rettilineo. Queste condizioni si
identificano osservando che in questi casi si verifica almeno una delle due identità ||V1 ×V2 || = 0, V1 = ±V2 .
dove l’operatore “mod” (modulo) indica che l’angolo va espresso nell’intervallo 0÷2π; quindi, ad esempio,
è necessario aggiungergli 2π se è negativo.
L’angolo effettivo di rotazione φ si calcola quindi con due diverse modalità assecondo che l’arco debba
essere percorso con verso orario (angolo positivo) o antiorario (negativo)
∆α2 ∆α2 > ∆α1 orario
φ= se
∆α2 − 2π ∆α2 < ∆α1 antiorario
risulta (
x = ρ cos(α + α0 ) 0≤α≤φ
y = ρ sin(α + α0 ) α = λ/ρ
H.14. MOVIMENTO IN TRAIETTORIA §9.8 1017
P2
y V P
y s
α P1
r
U yc β
α
Pc
x
xc x
(a) Rotazione (b) Traiettoria circolare
Il movimento è quindi caratterizzato dalla forma della traiettoria e dalla legge di moto con la quale la si
percorre.
Come esempio di paragone consideriamo una strada con rettilinei e curve (la traiettoria) su cui una
automobile si muove con una certa legge di moto indicata dal variare del contachilometri e dalle letture
del tachimetro.
Nel caso del robot il problema consiste nel calcolare la legge di moto da dare ai motori in modo che
la pinza del robot segua la traiettoria prevista con la legge di moto desiderata. Il problema può essere
scomposto nei sotto problemi:
• scelta della legge di moto di percorrenza della traiettoria λ(t), λ̇(t), λ̈(t);
• calcolo del movimento della pinza del robot S(t), Ṡ(t), S̈(t);
• calcolo del corrispondente movimento dei motori Q(t), Q̇(t), Q̈(t) tramite la cinematica inversa.
Consideriamo il caso semplice in cui la traiettoria sia esprimibile in forma parametrica, ovvero la posizione
di ogni punto della traiettoria sia esprimibile in funzione di un parametro λ. Particolarmente semplice è
il caso in cui λ rappresenta la distanza percorsa; in questo caso talvolta indicheremo questo parametro
con s.
Una volta che sia nota la variazione di λ con il tempo, la posizione, la velocità e l’accelerazione del punto
saranno:
P = P (λ)
∂P
Ṗ = λ̇ λ = f (t) (H.13)
∂λ
∂P ∂2P
P̈ = λ̈ + λ̇
∂λ ∂λ2
1018 APPENDICE H. AMPLIAMENTI E CHIARIMENTI
ove f (t) indica la legge di moto di percorrenza che definisce il valore di λ in funzione del tempo t.
Nel nostro caso siccome ci interessa il movimento della pinza del robot porremo P = S. In generale la
legge di moto da assegnare ai motori si ottiene
• scegliendo una legge di moto f (t) che nel tempo scelto faccia variare λ da λ1 (cioè punto P1 ) a λ2
(cioè punto P2 );
• scegliendo un opportuno intervallo temporale ∆T , campionando nel tempo la legge λ = f (t) e per
ogni punto calcolando posizione, velocità ed accelerazione della pinza;
λ = f (t), S = P (λ), Ṡ = . . ., S̈ = . . .
Verranno analizzati i casi in cui esiste una semplice rappresentazione parametrica delle traiettorie in
funzione dell’ascissa curvilinea: retta, arco di cerchio, elicoide.
P2 − P1
U=
S = P (s) = P1 + U s ||P2 − P1 ||
Ṡ = Ṗ = U ṡ (H.14)
0 ≤ s = f (t, T, L) ≤ L
S̈ = P̈ = U s̈
0≤t≤T
Consideriamo in via propedeutica il semplice caso in cui si voglia ruotare di un angolo α un vettore U
giacente nel piano xy ottenendo V (fig. H.23(a)). Si dimostra che questa operazione può essere fatta
moltiplicandolo per una matrice di rotazione R
Vx cos(α) − sin(α) Ux
V = RU = (H.15)
Vy sin(α) cos(α) Uy
Questa relazione può essere spiegata indicando con β la direzione del vetture U , ed osservando che la
direzione di V è ovviamente α + β. A questo punto le componenti di V sono proporzionali al coseno
ed al seno di α + β e quindi ricordando le funzioni trigonometriche della somma di angoli si giunge alla
dimostrazione.
Con riferimento alla figura H.23(b), scegliamo come parametro l’ascissa curvilinea λ = s, e cioè la distanza
da P1 ed assumiamo che il moto avvenga nel piano xy. Indichiamo con Pc il centro del cerchio, con r il
raggio. Vale ovviamente s = αr, α = s/r.
La posizione di un punto generico si ottiene ruotando il vettore P1 − Pc dell’opportuno angolo α
P = P1 + R(P1 − Pc ) (H.16)
H.14. MOVIMENTO IN TRAIETTORIA §9.8 1019
h = 2πp
Quindi scegliendo una legge di moto opporuna che faccia variare s da 0 a L (distanza tra i due punti P1
e P2 misurata sulla circonferenza) nel tempo prefissato T , si ottiene
P = Pc + R(P1 − Pc )
R = R(α)
∂
Ṗ = R (P1 − Pc )α̇ α = s/r (H.17)
∂α
∂ ∂2 s = f (t, T, L)
Ṗ = R (P1 − Pc )α̈ + R (P1 − Pc )α̇2
∂α ∂α2
con
cos(α) − sin(α)
R= (H.18)
sin(α) cos(α)
∂ sin(α) cos(α) ∂2 − cos(α) sin(α)
R= R= (H.19)
∂α − cos(α) − sin(α) ∂α2 − sin(α) − cos(α)
con
cos(α) − sin(α) 0
R = sin(α) cos(α) 0 (H.21)
0 0 1
ove p è il passo dell’elica che si ottiene dividendo lo spazio percorso in un giro lungo z per l’angolo
corrispondente (2π ragionando in radianti) cioè p = h/(2π), e Pc è un punto qualsiasi dell’asse dell’elicoide.
La lunghezza di un tratto di elicoide si ottiene dal teorema di Pitagora sommando lo spostamento nel
piano αr, con quello verticale αp ottenendo
p
s = α r 2 + p2 (H.22)
questa relazione si dimostra immaginando che l’elicoide sia avvolto su un cilindro di raggio r, e immagi-
nando di srotolare il cilindro stesso su di un piano (figura H.25)
αp
s
αr
J J
C Cr
ϑ0 + + r, k
R′ (s) R(s) motore D E τ E2
− −
Ω1
Ω Ω2
Ω
ϑ ϑ1 ϑ2
1/τ
Figura H.26: Schema di un azionamento ad un grado di libertà con riduttore di velocità ed elasticità
nella trasmissione e possibili schemi di retroazione.
J J1
C Cr
ϑ0 + Ω 0 +
r, k
R′ (s) R(s) motore D E E2
− −
Ω Ω1
Ω
ϑ ϑ1
ϑ ϑ1
Figura H.27: Schema equivalente di un azionamento ad un grado di libertà senza riduttore di velocità
(τ = 1) ed elasticità nella trasmissione e possibili schemi di retroazione.
Per semplificare i calcoli è possibile eliminare il rapporto di trasmissione τ pur di sostituire i valori di
coppia resistente, inerzia, posizione angolare, velocità e accelerazione con quelli equivalenti; si giunge cosı̀
allo schema equivalente di figura H.27. Nell’esempio seguente viene trattato il caso di carico con moto
rotatorio, ma è evidente l’estensione al caso di moto traslatorio ove compaiono masse al posto di momenti
d’inerzia, forze al posto di coppie, traslazioni al posto di rotazioni (figura H.29).
Con riferimento alle figure H.27 e H.29, lo sviluppo delle equazioni necessarie allo studio può essere
ottenuto a partire dall’equilibrio 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 = k (ϑ1 − ϑ) + r ϑ̇1 − ϑ̇ + J ϑ̈ masse su albero motore
Cr = k (ϑ − ϑ1 ) + r ϑ̇ − ϑ̇1 + J1 ϑ̈1 masse su asse del carico
Passando al dominio delle trasformate di Laplace, con semplici calcoli, si può giungere allo schema a
blocchi ed alle funzioni di trasferimento di figura H.30. Si tratta di uno schema con due ingressi (la
coppia motrice C e quella resistente Cr ) e di due uscite (la posizione del motore ϑ e quella equivalente del
carico ϑ1 ). Questo schema può essere facilmente convertito in quello ad esso equivalente di figura H.31
nel quale sono state aggiunte linee tratteggiate che indicano un classico schema di controllo con anelli di
1022 APPENDICE H. AMPLIAMENTI E CHIARIMENTI
x=pa
coppia coppia
w D M E a k
motrice resistente
convertitore riga (ottica) J J1
i, C C Cr
(azionamento)
J ,J&,J&& r J1 ,J&1 ,J&&1
wo
diretta
CNC o plc o
controllore Figura H.29: Schema equivalente lineare di una
indiretta trasmissione con elasticà.
retroazione di velocità e posizione annidati. Viene considerato sia il caso di misura diretta che quello di
misura indiretta di posizione.
Le funzioni di trasferimento sulle quali è necessario indagare sono quelle che legano il movimento del
carico ϑ1 ai comandi ϑo (posizione desiderata) ed alla coppia resistente Cr .
s2 2ξ1 r
+ s+1 s+1
ϑ̇ ϑ̇ 1 ω12 ω1 ϑ1 ϑ̇1 ϑ̈1 rs + k k
L= = kp = kp H(s) = = = = =
Eϑ̇ C s (J + J1 ) s2 2ξ2 ϑ ϑ̇ ϑ̈ J1 s2 + rs + k s2 2ξ1
+ s+1 + s+1
ω22 ω2 ω12 ω1
ove le pulsazioni ω e i relativi smorzamenti ξ valgono
s
k r
ω1 = ξ1 = √
J
r 1 2kJ 1
k r J J1
ω2 = ξ2 = √ J∗ =
J∗ 2 kJ ∗ J + J1
si riconosce che ω1 è la pulsazione propria di vibrazione del carico immaginando che l’albero motore sia
bloccato, mentre ω2 è 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 figura H.32; notiamo una antirisonanza (modulo quasi nullo)
alla pulsazione ω1 ed un picco di risonanza (modulo molto elevato) alla pulsazione ω2 . Al crescere
della rigidezza k 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 dell’albero motore più quella equivalente del carico ϑ̇/C ≃ ϑ̇1 /C ≃ 1/(s(J + J1 )). 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 ϑ̇/C ≃ 1/(sJ), ma il
carico rimane quasi fermo (vedi anche figura H.33).
La figura H.34 descrive lo schema retroazionato di regolazione della velocità. Utilizzando un regolatore
puramente proporzionale kp si ottiene la funzione di trasferimento di figura H.37. A sinistra è quello che
accade per bassi guadagni, a destra la situazione per alti guadagni.
Nel grafico in alto è riportata la funzione di trasferimento d’anello e quella che si ottiene per il sistema
retroazionato con ingresso il comando di velocità e uscita la velocità del motore.
Il grafico centrale rappresenta la funzione di trasferimento da albero motore a carico, l’ultimo grafico è la
funzione di trasferimento da comando a carico. Quest’ultima funzione di trasferimento è il prodotto delle
due precedentemente citate e graficamente si ottiene come somma dei due diagrammi che lo precedono
nella figura (i diagrammi sono in scala doppio logaritmica).
Osserviamo che per bassi guadagni abbiamo banda passante ridotta, ma il sistema si comporta come se
fosse rigido. Per alti guadagni, la banda passante non può comunque superare ω1 al cui valore si verifica
risonanza.
H.15. EFFETTO ELASTICITÀ NELLE TRASMISSIONI (PAG.294 §10.5.5) 1023
C
J1s 2 + rs + k + J&& = W
& 1 J& = W 1 J
JJ1s 2 + (J + J1)rs + k (J + J1 ) s s
+
rs + k
JJ1s 2 + (J + J1)rs + k (J + J1 )
rs + k
JJ1s 2 + (J + J1)rs + k (J + J1 )
+
Js 2 + rs + k J&&1 = W
& &
1 J1 = W1 J1
+ 1 1
Cr JJ1s 2 + (J + J1)rs + k (J + J1 ) s s
Figura H.30: Schema a blocchi e funzioni di trasferimento da coppia motrice C e coppia resistente Cr a
posizioni angolari dell’albero motore ϑ e del carico ϑ1 .
selezione J, J1
J0 EJ J&0 Ew C J1s 2 + rs + k + 1 1
R’ R JJ1s 2 + (J + J1)rs + k (J + J1 ) J&& = W
& s
J& = W
s J
+
rs + k
J1s 2 + rs + k
rs + k
J1s 2 + rs + k
+ J&&1 = W
& &
Js 2 + rs + k 1 1 J1 = W1 1 J1
JJ1s 2 + (J + J1)rs + k (J + J1 ) s s
Cr +
Figura H.31: Schema a blocchi equivalente a quello di figura H.30; tratteggiato reatroazione (diretta) di
velocita e (in)diretta di posizione.
1 J&
sJ C
w2 aumentando k
J1
w J
w
k w1
w1
1
s (J + J1 )
J0 EJ
&
J 0 J& 1 J J1 J0 EJ J& 0 J& J& 1 1 J1
R’ H R’ N H
s s
Figura H.35: Anello di retroazione di posizione con Figura H.36: Anello di retroazione di posizione con
misura indiretta. misura diretta.
s2 2ξn
2 + s+1
ωf ωf
N= ξn < 1 ξd > 1
s2 2ξd
+ s+1
ωf2 ωf
Numeratore e denominatore sono del secondo ordine con la stessa pulsazione ωf ; 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ò compensare la risonanza dell’anello di velocità (figura H.38). Ciò consente di chiudere
l’anello di posizione sull’albero del carico, includendo al suo interno la trasmissione, e tenere una banda
passante più elevata.
Le caratteristiche più salienti dei due schemi illustrati sono evidenziate in tabella H.38.
Tabella H.1: Caratteristiche della regolazione di posizione con misura diretta ed indiretta di posizione.
H.16. CONTROLLO CENTRALIZZATO E DECENTRALIZZATO (PAG.298 §10.6.1) 1025
J&
kp alto J& 1
J& kp basso C
C J& 0
J&
J&0 w
w w1
J&
J& 0 wt su prima massa wt
banda elevata N w f = w1
J&1 J&1 wf
J& J&
w1 w1
J&1 J&
J&0 N &1
J&1 J0
J&0
w
w1 w1
wt il sistema si 2° massa può
comporta andare in
-1 -2
come rigido risonanza
Figura H.38: Retroazione di po-
sizione con misura diretta di po-
Figura H.37: Retroazione di velocità con R = kp . Dall’alto: fun- sizione. Il notch filter può com-
zione di trasferimento d’anello L = kp ϑ̇/C e dei comandi ϑ̇/ϑ̇o pensare l’effetto della risonanza
(velocità motore); da velocità motore a velocità carico; da coman- presente Nell’anello di velocità
do a velocità carico. A sinistra guadagno basso, a destra guadagno a causa del guadagno e banda
elevato. elevati.
x1o - e1 u1 x1
x10 - e1 u1 x1
R1 motore1
R1 motore1 +
+
x20 x2
+ e2 u2
R2 motore2 x2o x2
- + u2
e2 R2 motore2
-
ove la matrice delle masse M dipende da Q ed il termine V (.) che dipende da Q e da Q̇ congloba anche
gli effetti dovuti al peso ed agli attriti.
Si immagina di avere a disposizione delle stime del modello dinamico del manipolatore e cioè delle matrici
c e Vb tali che
M
c≃M
M Vb (.) ≃ V (.)
è pertanto possibile stimare la coppia necessaria a fare avvenire un certo movimento
Fbq = McQ̈ + Vb Q, Q̇
Questa è un’equazione differenziale di ordine 2n ove n il numero dei gradi di libertà del manipolatore.
L’equazione non è lineare perché M dipende da Q in maniera non lineare. Inoltre i movimenti dei vari
gradi di libertà sono tra loro accoppiati perché la matrice M non è diagonale.
Fq S S
F̂q + Fq
Mˆ Q
&& + Vˆ Q , Q& ( ) robot Mˆ Q
&& robot
Qo 0 0 0
+ Q0 0
+ Q + + Q
K p + sK v K p + sK v ( )
Vˆ Q, Q&
EQ EQ
+ - + -
Figura H.41: Coppia precalcolata nello spazio Figura H.42: Dinamica inversa nello spazio dei
dei giunti (schema 1). giunti (schema 2).
&&
Q 0
(
Vˆ Q0 , Q& 0 ) M̂
&&
Q + + EQ + Fq S
0 +
M̂ K p + sK v robot
EQ F̂q S Q0 + +
+ + -
K p + sK v robot Q
Q0
- + Fq Q
( )
Vˆ Q, Q&
Figura H.45: Controllo a coppia precalcolata Figura H.46: Controllo a dinamica inversa
nello spazio dei giunti a giunti disaccoppiati nello spazio dei giunti a giunti disaccoppiati
(schema 1b). (schema 2b).
S&&0 + S
Es + S&&' Fs' Fs Fq
R M̂ s JT robot
S0 + - + +
( )
Vˆs S , S&
Figura H.47: Controllo a dinamica inversa nello spazio operativo - teorico (schema 3a).
S&&0 + S
+ Es + +
&&'
Q Fq
R J-1 M̂ robot
- S&&' - + +
S0 Q
S Q& ( )
Vˆ Q, Q&
J&
cinematica diretta
Figura H.48: Controllo a dinamica inversa nello spazio operativo - pratico (schema 3b).
1028 APPENDICE H. AMPLIAMENTI E CHIARIMENTI
ricordando che la matrice delle masse è sempre definita positiva, e quindi invertibile, la relazione appena
scritta può essere semplificata moltiplicando a sinistra per M −1 ottenendo
Q̈0 − Q̈ + Kv Q̇0 − Q̇ + Kp (Q0 − Q) = 0
Questa relazione è di tipo lineare, è scomparsa la dipendenza dalla dinamica del manipolatore, e se
le matrici dei guadagni Kp e Kv sono diagonali, i vari giunti risultano tra loro disaccoppiati e quindi
facilmente regolabili agendo sulle matrici dei guadagni.
Indicando con kp e kv i guadagni di un asse, e ricordando che il denominatore di una funzione di trasfe-
rimento del secondo ordine è esprimibile come s2 + 2ξωn s + ωn2 , la pulsazione naturale e lo smorzamento
dell’asse valgono
p kv
ωn = kp ξ= p
2 kp
e sembrerebbe quindi possibile fissare 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.
E’ questo un assunto teorico al quale ci si può 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.
Gli schemi di controllo indicati possono anche essere realizzati nello spazio operativo per un controllo
più diretto dell’errore d’inseguimento (vedi ad es. schemi 3a, 3b figure H.47 e H.48) ove il regolatore
può essere di tipo PI ponendo R = Kp + sKv . Per fare ciò è necessario esprimere tutte le grandezze
dinamiche in funzione delle coordinate utensile utilizzando le relazioni cinetostatiche S = F (Q), Ṡ = J Q̇,
S̈ = J Q̈ + J˙Q̇, Fq = J T Fs le quali permettono anche di trasformare la matrice delle masse
Ms = J −T M J −1
Fq = M Q̈ ⇔ Fs = Ms S̈
Convertendo lo schema 2b (figura H.46 dinamica inversa nello spazio dei giunti) si perviene cosı̀ allo
schema 3a (H.47 dinamica inversa nello spazio di lavoro - schema teorico). Tuttavia la realizzazione
pratica di questo schema presenta diversi problemi:
1. normalmente non è disponibile una misura della posa dell’utensile ed è necessario stimarla a partire
dalle coordinate ai giunti;
2. normalmente le relazioni dinamiche (jacobiano, matrice delle masse, termini Vb , . . .) sono più 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à un’informazione completa sullo
stato del sistema (ad esempio la stessa posizione S può essere raggiunta con diversi valori di Q).
Da un punto di vista pratico è quindi inevitabile dover modificare lo schema ottenendo lo schema “pratico”
3b (figura H.48); il blocco tratteggiato è quello che esegue l’operazione Q̈′ = J −1 (S̈ ′ − J˙Q̇).
Anche in questo caso, con regolatore PI (R = Kp +sKv ), si perviene ad un sistema di equazioni differenziali
lineari del secondo ordine in cui, se le matrici dei guadagni sono diagonali, le coordinate sono tra loro
disaccoppiate
S̈0 − S̈ + Kv Ṡ0 − Ṡ + Kp (S0 − S) = 0
H.16. CONTROLLO CENTRALIZZATO E DECENTRALIZZATO (PAG.298 §10.6.1) 1029
x1 j
- x1
e1 u1
PID1 motore1
x0 +
x l x2
+ e2 u2
PID2 motore2
-
Assi virtuali Si consideri un sistema di movimentazione che deve movimentare un’asta. Possono veri-
ficarsi due casi. Nel primo caso l’asta deve semplicemente traslare e non ruotare (ϕ = 0), ma essendo
molto sottile è necessario utilizzare due motori che si devono muovere in maniera sincrona per evitare
che essa si infletta.
Alternativamente può essere necessario spostare e ruotare l’asta ottenendo quindi un sistema a due gradi
di libertà.
Nel primo caso è possibile utilizzare due motori retroazionati in posizione i quali ricevono lo stesso segnale
di posizione desiderata x0 . Si ottiene un sistema decentralizzato ad assi indipendenti.
Qualora si intenda anche regolare l’orientamento dell’asta un primo schema risolutivo prevede di calcolare
il set point di posizione di ogni motore xi a partire dal valore desiderato di posizione x0 ed orientamento
ϕ0
l
x1 = x0 − ϕ0
2
x2 = x0 + l ϕ
2 0
I due motori sono poi controllati in maniera indipendente. Si ottiene cosı̀ uno schema di controllo
decentralizzato a 2 gradi di libertà.
Alternativamente si può decidere di controllare direttamente la posizione e l’orientamento dell’asta. Si
procede quindi al calcolo della sua posizione ed orientamento
x1 + x2
x=
2
ϕ = 2 x1
x −
l
1030 APPENDICE H. AMPLIAMENTI E CHIARIMENTI
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à interagiscono tra di loro: siamo in presenza di un controllore
centralizzato a due gradi di libertà.
In pratica regoliamo due grandezze x e ϕ alle quali non corrisponde direttamente un attuatore; x e ϕ
sono talvolta detti assi virtuali.
Questo schema può anche essere considerato un controllo nello spazio operativo in cui S = [x ϕ]T
e Q = [x1 x2 ]T ; questo sarebbe particolarmente interessante qualora S 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 differente.
Inoltre il caso centralizzato, a fronte di una maggiore complessità, permette di gestire meglio alcune si-
tuazioni. Immaginiamo per esempio che l’inclinazione debba essere garantita in maniera precisa mentre
la regolazione di posizione possa essere regolata in maniera più 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 dell’altro motore mentre rimarrebbe sempre garantita la corretta inclinazione.
Viceversa se si fosse impiegato uno schema decentralizzato uno dei due motori avrebbe rallentato molto
più dell’altro producendo un’elevato errore di inclinazione.
La necessità di garantire una corretta inclinazione anche in presenza di disturbi asimmetrici potrebbe
giustificare l’uso del sistema centralizzato anche nel caso ad un grado di libertà ove si porrebbe sempre
ϕ0 = 0, cioè inclinazione desiderata nulla.
Figura H.53: Schema semplificato di robot SCARA con azionamento cilindrico dell’end-effector.
x1 x2 x2
α2 α2
α1
x1
p α1
x p
x
x
α α
α
α − α2 x − x2
(b) Ball-Screw = (c) Ball-Screw-Spline
(a) Ball-Spline α = α1 2π p
Figura H.54: Dispositivo con vite (screw) a spline a ricircolo di sfere per la movimentazione di
un’accoppiamento cilindrico (2 gradi di libertà).
madreviti:
α = α1
α − α2 x − x2 (H.23)
=
2π p
che opportunamente riscritte portano a risolvere tanto la cinematica diretta che inversa:
α = α1
α1 = α
x2 − x (H.24)
x = p (α1 − α2 ) + x
α2 = α + 2π
2
2π p
Considerato che normalmente il movimento di traslazione delle due madreviti è bloccato x1 = x2 = 0 e
che esse possono solo ruotare, si ottiene
α = α1
α1 = α
x (H.25)
x = p (α1 − α2 )
α2 = α − 2π
2π p
Quindi una pura rotazione si ottiene per α = α1 = α2 , e una pura traslazione si ottiene per α1 = 0 e
quindi x = −pα2 /(2π).
motrice
(a) trasmissione monodirezionale a cavi tra due pulegge (b) ingranaggi equivalenti
Figura H.56: Il polso del robot DOGHI con trasmissione ad alberi cavi, ingranaggio conici a denti
elicoidali.
Accuratezza
Buona Scadente
Buona
Ripetibilità
Scadente
Figura H.57: Significato di ripetibilità (errori casuali) ed accuratezza (errori ripetitivi) di un manipolatore.
Gli errori ripetitivi possono essere compensati tramite calibrazione.
q1
q3
q2 φ3
φ1
φ2
Figura H.58: 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 φi .
1034 APPENDICE H. AMPLIAMENTI E CHIARIMENTI
potenziometro o encoder
rocchetto
∆α anello calibrato ∆l
Figura H.59: Sistema di misura economico di
posa di un manipolatore tramite 6 rocchetti
Figura H.60: Rocchetto strumentato che
strumentati. La posa del manipolatore può
misura la quantità di filo estratto ∆l = r∆α.
essere stimata conoscendo la lunghezza dei sei
fili e la posizione dei rocchetti.
3 3
4
2
1
4
5
2
5
1
(b) struttura cinematica
(a) Braccio di misura
α, β, d ⇒ x, y, z
α
Pa
Pr
gradiente termico
Figura H.64: A causa di un gradiente termico il raggio laser viene deviato. Il laser tracker crede che lo
specchio si trovi in Pa (posizione apparente) mentre in realtà esso si trova in Pr (posizione reale).
La figura H.58 si riferisce a una possibile tecnica calibrazione di un manipolatore a struttura cinematica
parallela (PKM Parallel Kinematic Machine).
2
R
6
4
Figura H.65: Interpretazione geometrica della scelta dei parametri di calibrazione: un modello completo,
minimo, proporzionale.
ove Qm rappresenta le rotazioni dei motori “equivalenti” (uscita riduttori supposti rigidi) e Q le rotazioni
dei link; le matrici diagonali Kq e Kr indicano la rigidezza e le perdite di deformazione viscosa delle
trasmissioni
Kq = diag (k1 , k2 , . . .) Kq = diag (r1 , r2 , . . .)
nell’esempio del manipolatore SCARA si ottiene
α1 β1 k1 0 r1 0
Qm = Q= Kq = Kr =
α2 β2 0 k2 0 r2
Definiamo con ∆Q la differenza tra movimento dei motori e dei link e con ∆S la differenza tra posizione
teorica dell’organo terminale nel caso teorico rigido e quella del caso reale con elasticità
∆Q = (Qm − Q) ∆S = (Sm − S)
Si può operare un cambio di coordinate dallo spazio dei giunti in quello di lavoro ponendo ∆S = J∆Q
ottenendo
Ms ∆S̈ + Krs ∆Ṡ + Ks ∆S = J −T MQ̈ + V(Q, Q̇) + G1 (Q, F )
con
Ms = J −T MJ −1 Krs = J −T Kr J −1 Ks = J −T Kq J −1
Le equazioni scritte sono quelle tipiche di sistemi vibranti forzati. In questo caso la forzante è il movi-
mento dei motori e l’integrazione della equazione consente di determinare il movimento del manipolatore
reale. Nel caso che i termini quadratici in Q̇ siano trascurabili e nell’ipotesi di piccole deformazioni si
ottiene un’equazione differenziale lineare; i modi principali di vibrare si possono dedurre dagli autovettori
−1
di M−1s Ks o di M Kq mentre le pulsazioni proprie si deducono dai corrispondenti autovalori.
H.23. STIMA PARAMETRI DEL MODELLO DINAMICO (PAG. 427 §14.2.7, §2.9 PAG. 56, §2.21 PAG. 70 E PAG. 50 §2.8.3)10
Figura H.66: Griglia di calibrazione (non parametrica). L’errore di posa ∆S viene misurato su una griglia
regolare di punti. Quando è richiesto di raggiungere una posa S, in realtà il manipolatore raggiungerà la
posa S +∆S. L’errore di posa può venire annullato chiedendo al robot di raggiungere la posa S −∆S. Per
i punti per i quali non è disponibile un valore di errore di posa questo valore si stima per interpolazione
dai punti adiacenti.
La simbologia usata nei due capitoli non è omogenea. Inoltre nel paragrafo sulla calibrazione dinamica
non sono stati esplicitati la massa m ed il momento d’inerzia J del corpo trasportato mentre sono stati
introdotti i momenti d’inerzia dei motori e i rapprti di riduzione τ1 e τ2 . Le varie equazioni non sono cosı̀
direttamente confrontabili. Ciò non influenza la validità dei risultati sperimentali descritti perché, come
dichiarato, non ci interessa (ne è 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à conviene eliminare il coefficiente l1 dalla matrice B ed inglobarlo nel vettore dei
termini dinamici.
E’ quindi possibile rifinire il vettore dei parametri P e la matrice B nella seguente maniera:
a01
p1 I1z + (m + m2 )l12 + Jm1 /τ12 a11
p2 l1 (ml2 + m2 sx )
a21
Pd = p3 = l 1 m2 s y Pa = (H.26)
a02
p4 I2z
a12
p5 Jm2 /τ22
a22
τ1 q̈1 0
τ1 (c2 (2q̈1 + q̈2 ) − s2 q̇2 (2q̇1 + q̇2 )) τ2 c2 q̈1 + s2 q̇12
τ1 (−s2 (2q̈1 + q̈2 ) − c2 q̇2 (2q̇1 + q̇2 )) τ2 −s2 q̈1 + c2 q̇12
τ1 (q̈1 + q̈2 ) τ2 (q̈1 + q̈2 )
0 τ2 q̈2
T
B = sgn (q̇1 ) 0
q̇1 0
sgn (q̇1 )q̇12
0
0 sgn(q̇2 )
0 q̇2
2
0 sgn(q̇2 )q2
1038 APPENDICE H. AMPLIAMENTI E CHIARIMENTI
I tre blocchi evidenziati nella matrice B T evidenziano la parte relativa alle masse (azioni d’inerzia) e
quelle relative alle perdite nei due riduttori.
Per compare le equazioni del §14 con quelle del §2 occorre osservare che quest’ultime non tengono conto
delle trasmissioni per cui è necessario considerare le seguenti eguaglianze
Jm1 = 0 Jm2 = 0 τ1 = 1 τ2 = 1
sy è nullo perché si assume che il baricentro stia sulla mezzeria del link.
Avendo spostato il coefficiente l1 = 0.33 dalla matrice B al vettore P occorre moltiplicare i parametri
p2 e p3 per questo stesso valore ed aggiornare la sua unità di misura. Nell’esempio sperimentale citato il
parametro p3 vale esattamente zero perché la stima è stata fatta con riferimento ad un modello ridotto
che assume sy = 0.
Risulta
cerchio OJD
P1 16.3286514074 16.2606169659 kgm2
P2 -0.0550159053 0.837423654 kgm2
P3 0.0 0.0 kgm2
P4 -0.3813491029 0.6642731627 kgm2
P5 4.8753219665 4.2045177593 kgm2
a01 0.1846270328 0.2100604969 Nm
a11 0.2945835590 0.0940617391 N m/(rad/s)
a21 -0.1448462244 -0.0168580957 N m/(rad/s)2
a02 0.0841700456 0.0876724328 Nm
a12 0.0251936773 0.0508717965 N m/(rad/s)
a22 0.0009255059 -0.0073197797 N m/(rad/s)2
Si osservi che il parametro p5 non è nullo evidenziando l’importanza del riduttore sull’inerzia 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 l’inerzia è valutata prima del riduttore, nell’altra dopo.
Inoltre si ricorda che nel caso in esame τ = 1/100 da cui τ 2 = 10−4 .
Appendice I
In questo paragrafo trattiamo alcuni argomenti relativi ad ellissi in un piano xy, ma tutti i risultati
generali basati sui concetti di autovalori ed autovettori sono validi anche per ellissoidi nello spazio xyz
(o a più dimensioni), anche se alcune formule particolari vanno ovviamente adattate.
Un’ellisse con diametri paralleli agli assi coordinati x, y e con centro nell’origine può essere espressa in
forma canonica come
x2 y 2
+ =1
r12 r22
ove r1 e r2 sono i raggi (semidiametri) dell’ellisse stessa. La stessa ellisse può essere espressa in forma
matriciale come
1 1
0 0
r2 x x r2
v T Av = x y
1 =1 v= A= 1
1 y y 1
0 0
r22 r22
y
y’
u2
r2 a x u1
r1
r1 a0
r2
x’
1039
1040 APPENDICE I. ELLISSI: PROPRIETÀ E RAPPRESENTAZIONI
v t Bv = 1 v t B-1v = 1
x′ cos(α0 ) − sin(α0 ) r1 cos(α)
=
y′ sin(α0 ) cos(α0 ) r2 sin(α)
ove le colonne della matrice ortogonale “di rotazione” R possono essere interpretate come i versori degli
assi originali x, y (su cui giacciono i diametri) visti da x′ , y ′
cos(α0 ) − sin(α0 )
R= = u1 u2 RT = R−1
sin(α0 ) cos(α0 )
π π
a = πr1 r2 = √ = p
λ1 λ2 det(A′′ )
Talvolta la matrice A′′ (che risulta simmetrica e definita positiva) è ottenuta dal prodotto di una matrice
B per la sua trasposta: A′′ = B T B. In questo caso si definiscono valori singolari σi di B la radice
quadrata degli autovalori di A′′
p
σi = λi det(A′′ ) = det(B)2
per cui si può affermare che i semidiametri sono l’inverso dei valori singolari di B, l’area dell’ellisse è
inversamente proporzionale al determinante di B. La matrice A′′ è chiaramente definita positiva. Si
ottiene
1 π π
σi = a = πr1 r2 = =
ri σ1 σ2 det(B)
Comparando una matrice B con la sua inversa B −1 si osserva che i loro determinanti (come pure i loro
autovalori) sono uno l’inverso dell’altro mentre gli autovettori coincidono
1 1
det (B) = λi (B) = ui (B) = ui B −1
det (B −1 ) λi (B −1 )
1041
quindi l’asse maggiore e quello minore delle ellissi si scambiano di posto ed ad un’ellisse di area “piccola”
(minore di 1) corrisponde una di area “grande” (maggiore di 1) o viceversa.
Nel caso di ellissoidi nello spazio xyz in luogo di area occorre parlare di volume calcolabile dal prodotto
dei tre semidiametri Vol = 4/3πr1 r2 r3 .
In generale si può verificare che un’ellisse con generico orientamento e centro nell’origine degli assi può
essere scritta come
a b/2 x
ax2 + bxy + cy 2 = [x y] = v T Av = 1
b/2 c y
con a, c > 0 e det A > 0.
J.1 rango
Alcune proprietà del rango di una matrice generica A
J.2 proiezione
proiezione x′ di un vettore x sullo spazio definito dalle colonne di A
−1 T
x′ = P x con P = A AT A A
valida se AT A risulta invertibile.
Il residuo xr (cioè la parte ortogonale allo spazio) risulta
−1 T
xr = x − P x = Bx con B = I − A AT A A
ove I è la matrice identità; risulta ovviamente x = x′ + xr . B e P sono matrici proiezione; tutte le matrici
proiezione sono singolari tranne la matrice identità.
Per dimostrare la relazione per il calcolo della matrice P , si possono considerare le proprietà della matrice
−1 T
pseudo inversa (vedi appendice C) A+ = AT A A
1043
1044 APPENDICE J. APPENDICE RICHIAMI MATEMATICI - PROPRIETÀ MATRICI
Appendice K
Esistono più versioni del meccanismo denominato pentalatero. In questa sede si esamina la versione
classica azionata da motori rotativi (fig. K.1, K.4) e quella azionata da motori lineari (fig. K.5). Si
tratta di manipolatori piani a due gradi di libertà destinati a posizionare un utensile nel piano xy (pol-
so del robot) tramite due braccia motorizzate. A scopo propedeutico è preliminarmente studiato l’arco
a tre cerniere ed un manipolatore che si può ottenere facendo variare la lunghezza delle sue aste (fig. K.2).
Figura K.1: Un pentalatero commerciale RP Mitsubishi a 4 gradi di libertà; apposite trasmissioni nascoste
all’interno dei bracci permettono la rotazione del polso attorno al suo asse ed una movimentazione in
direzione verticale.
1045
1046 APPENDICE K. PENTALATERO (§8, PAG.213) - MANIPOLATORE PARALLELO A 2 GRADI DI LIBERTÀ
xa ya
ρa xb yb
ρb
xy
xa ya
la xb yb xa ya
la xb yb
l1 l2
lb
α1 xy ρ1 lb
α2 x1 y1 xy ρ2
x1 y1
α1 α2
x2 y2
x2 y2
É evidente che potranno esistere due possibili configurazioni corrispondenti alle due intersezioni. Questo
procedimento risolve il problema cinematico diretto. Le due soluzioni potranno essere coincidenti qualora
le due cerniere a terra distino esattamente quanto il valore d pari alla somma delle lunghezze due aste
d = ρa + ρb o alla loro differenza d = |ρa − ρb | (fig. K.3); in questo caso avremo una configurazione
singolare per la cinematica diretta (cerchi tangenti). In questo caso i due motori non saranno in grado
di controllare il movimento dell’utensile in direzione normale a quella delle due aste allineate; una forza
applicata all’utensile in direzione ortogonale alle aste provoca in esse forze infinite.
La cinematica inversa è invece risolta da una semplice trasformazione delle eq.(K.2)
p
ρa = ± (x − xa )2 + (y − ya )2
p (K.3)
ρb = ± (x − xb )2 + (x − xb )2
Esistono 4 soluzioni (combinazioni di lunghezze positive o negative); la configurazioni singolari sono quel-
le con ρa = 0, oppure con ρb = 0; infatti in questi casi 2 soluzioni coincidono. In queste configurazioni
singolari l’asta a lunghezza nulla può liberamente ruotare su se stessa senza vincoli.
Questo manipolatore è uno di quelli in cui è più semplice risolvere la cinematica diretta, che quella inversa.
S sono
α1 x
Q= S= (K.4)
α2 y
La posizione delle due cerniere intermedie (gomiti) è indicata dalle coordinate xa ya e xb yb che si deter-
minano facilmente come
xa = x1 + l1 cos(α1 ) xb = x2 + l2 cos(α2 )
(K.5)
ya = y1 + l1 sin(α1 ) yb = y2 + l2 sin(α2 )
E’ evidente che si troveranno due soluzioni corrispondenti alle due intersezioni. Questo procedimento
risolve il problema cinematico diretto. Le due soluzioni potranno essere coincidenti qualora i due gomiti
distino esattamente quanto il valore d pari alla somma delle due aste d = la + lb o alla loro differenza
d = |la −lb | (fig. K.8); in questo caso avremo una configurazione singolare per la cinematica diretta (cerchi
tangenti). In questo caso i due motori non saranno in grado di controllare il movimento dell’utensile in
direzione normale a quella delle due aste allineate; una forza applicata all’utensile in direzione ortogonale
alle aste provoca in esse forze infinite. Ovviamente non è possibile azionare il pentalatero in modo da
allontanare maggiormente i due gomiti (cerchi non intersecanti).
Per passare da una delle due configurazioni all’altra è necessario che il polso attraversi la configurazione
singolare, operazione difficile da compiere per le difficoltà di controllo.
Per risolvere il problema cinematico inverso si osserva che una volta nota la posizione xy dell’utensile,
quella del gomito xa ya è determinata dall’intersezione di due cerchi. Il primo cerchio ha centro xy e
raggio la , mentre il secondo ha centro x1 y1 e raggio l1 (fig. K.7); l’angolo α1 si determina quindi con un
arcontangente
2
la = (x − xa )2 + (y − ya )2
α1 = atan2(ya − y1 , xa − x1 ) (K.7)
2
l1 = (x1 − xa )2 + (x1 − xa )2
Analogamente si ragiona per l’altro braccio determinando α2 . In generale, per ogni braccio, si avranno
due soluzioni corrispondenti alle due intersezioni dei cerchi. Le due soluzioni potranno coincidere qualora
le due aste di un braccio si allineino (cerchi tangenti); questa situazione corrisponde ad una configurazione
singolare per la cinematica inversa (fig. K.9). In questa configurazione un movimento infinitesimo di un
motore non determina cambiamenti della posizione dell’utensile che quindi localmente perde un grado
di libertà. La mancata intersezione dei cerchi indica che il punto xy è fuori dallo spazio di lavoro del
manipolatore.
Si hanno due possibili soluzioni per ciascun braccio e quindi, in totale, 4 soluzioni per il manipolatore.
Lo studio delle velocità ed accelerazioni può essere fatta risolvendo la cinematica diretta e/o inversa
S = F (Q), Q = G(S) ed effettuando la derivazione rispetto al tempo previo calcolo dello jacobiano
J = ∂F/∂Q, J −1 = ∂G/∂S. In alternativa si può utilizzare la metodologia descritta al §8.8 pag.218
basata su una diversa forma dell’equazione cinematica descritta dall’eq. (8.2) che nel nostro caso si
ottiene combinando le equazioni K.5 e K.6
(x − (x1 + l1 cos(α1 )))2 + (y − (y1 + l1 sin(α1 )))2 − la2 0
F (S, Q) = = (K.8)
2 2 2
(x − (x2 + l2 cos(α2 ))) + (x − (y2 + l2 sin(α2 ))) − lb 0
per cui
x − (x1 + l1 cos(α1 )) y − (y1 + l1 sin(α1 )) x − xa y − ya
∂F
Js = = 2 = 2 (K.9)
∂S
x − (x2 + l2 cos(α2 )) x − (y2 + l2 sin(α2 )) x − xb x − xb
A 0
∂F
Jq = − = −2 (K.10)
∂q
0 B
1048 APPENDICE K. PENTALATERO (§8, PAG.213) - MANIPOLATORE PARALLELO A 2 GRADI DI LIBERTÀ
con
A = ((x − x1 − l1 cos(α1 )) sin(α1 ) − (y − y1 − l1 sin(α1 )) cos(α1 )) la
La posizione delle due cerniere intermedie (gomiti) è indicata dalle coordinate xa ya e xb yb che si deter-
minano facilmente come
xa = x1 + ρ1 cos(α1 ) xb = x2 + ρ2 cos(α2 )
(K.13)
ya = y1 + ρ1 sin(α1 ) yb = y2 + ρ2 sin(α2 )
ove x1 , y1 sono le coordinate di un punto arbitrario, assunto come origine del movimento, che si trova
sulla retta di inclinazione α1 che contiene il movimento della cerniera di coordinate xa ya ; analogamente
x2 , y2 è l’origine della retta di inclinazione α2 su cui scorre xb yb .
La posizione dell’utensile, si trova dall’intersezione di due circonferenze di centro xa ya e xb yb e raggio,
rispettivamente, la e lb come già visto per il pentalatero tradizionale (eq. K.6), risolvendo cosı̀ il problema
cinematico diretto. Anche in questo caso si possono avere due soluzioni, oppure una (configurazione
singolare), oppure nessuna.
La soluzione della cinematica inversa invece si ottiene per ciascun braccio come intersezione tra le rette
degli azionamenti lineari (eq. K.13) e i due cerchi di centro xy, raggio pari a la (oppure lb per l’altro
braccio) descritti dalle eq. K.6. Si ottengono due equazioni di secondo grado in ρ1 e ρ2 . Si hanno due
possibili soluzioni per ciascun braccio e quindi, in totale, 4 soluzioni per il manipolatore.
Le configurazioni singolari per la cinematica inversa accadono quando uno (o entrambi) i bracci sono
ortogonali alle rispettive guide lineari e le equazioni di 2◦ grado hanno soluzioni reali coincidenti (retta
tangente al cerchio). Ovviamente non si hanno soluzioni reali se il polso è troppo lontano dalle guide.
Lo studio delle velocità, accelerazioni e configurazioni singolari può essere svolto anche con l’impiego degli
jacobiani Js e Jq analogamente a come visto per il pentalatero tradizionale.
a e in una fascia di semiampiezza lb rispetto alla retta 2 su cui scorre il gomito b (fig. K.11 a sinistra).
I bordi del parallelogramma rappresentano il luogo dei punti (posizione del polso) nelle configurazioni
di singolarità per la cinematica inversa; invece si dimostra che il luogo dei punti di singolarità per la
cinematica diretta sone due ellissi (fig. K.11 a destra).
la
2
lb