Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1 1
1. Traiettorie polinomiali
2. Traiettorie trigonometriche
3. Traiettorie per sviluppo in serie di Fourier
4. Traiettorie composte
5. Traiettorie spline
Traiettorie polinomiali
n!
k!ak + (k + 1)!ak+1tj + . . . + antn−k
j = q (k)(tj )
(n − k)!
Si ha
a = M−1 b
Posizione
6 10
4 5
2
0
0
2
5
1.5
Velocità
Velocità
0
1
−5
0.5
0 −10
1
Accelerazione
Accelerazione
5
0.5
0 0
−0.5
−5
−1
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
(a) (b)
con le condizioni
q(t0 ) = q0 q(t1 ) = q1
q̇(t0 ) = v0 q̇(t1 ) = v1
q̈(t0 ) = a0 q̈(t1 ) = a1
In questo caso (posto di nuovo T = t1 − t0), i coefficienti risultano:
a0 = q0
a1 = v0
1
a2 = 2 a0
1
a3 = 3
[20h − (8v1 + 12v0 )T − (3a0 − a1 )T 2 ]
2T
1
a4 = [−30h + (14v1 + 16v0 )T + (3a0 − 2a1 )T 2 ]
2T 4
a5 = 1 [12h − 6(v1 + v0 )T + (a1 − a0 )T 2 ].
2T 5
Nel caso in esame, al variare dei punti n il numero condizionante della matrice
T risulta
n 3 4 5 6 10 15 20
κ 15.1 98.87 686.43 4924.37 1.519 · 107 4.032 · 1011 1.139 · 1016
Esistono anche altri metodi, più efficienti, per il calcolo dei coefficienti del poli-
nomio, ma le difficoltà numeriche permangono per valori elevati di n (in questi
casi si sfrutteranno le spline).
La cosiddetta formula di Lagrange fornisce direttamente l’espressione del poli-
nomio interpolante:
(t − t1 )(t − t2 ) · · · (t − tn−1 ) (t − t0 )(t − t2 ) · · · (t − tn−1 )
q(t) = q0 + q1 +
(t0 − t1 )(t0 − t2 ) · · · (t0 − tn−1 ) (t1 − t0 )(t1 − t2 ) · · · (t1 − tn−1 )
(t − t0 ) · · · (t − tn−2 )
+··· + qn−1 .
(tn−1 − t0 )(tn−1 − t1 ) · · · (tn−1 − tn−2 )
Traiettorie trigonometriche
1. la traiettoria armonica:
h (t − t0)π
q(t) = 1 − cos + q0, h = q1 − q0
2 T
2. la traiettoria cicloidale:
t − t0 1 2(t − t0)π
q(t) = h − sin + q0
T 2π T
3. la traiettoria ellittica:
π(t−t0 )
h cos T
q(t) = 1 − r + q0
2
1 − α sin2 π(t−t0)
T
8
Posizione
1.5
Velocità
0.5
0
Accelerazione
0.5
−0.5
−0.1
Jerk
−0.2
−0.3
0 1 2 3 4 5 6 7 8
8
Posizione
2.5
2
Velocità
1.5
1
0.5
0
1
Accelerazione
0.5
−0.5
−1
5
Jerk
−5
0 1 2 3 4 5 6 7 8
• la Freudestein 1-3
t − t0 27 2π(t − t0) 1 6π(t − t0)
q(t) = h − sin − sin +q0
T 56π T 168π T
• la Freudestein 1-3-5
t − t0 0.9438 2π(t − t0) 1 6π(t−t0)
q(t) = h − sin + sin +
T 2π T 54 T
1 10π(t − t0)
+ sin + q0
1250 T
10
Posizione
6
4
Gutman 1−3
2 Freudestein 1−3
Freudestein 1−3−5
0
2.5
1.5
Velocità
0.5
−0.5
1
0.5
Accelerazione
−0.5
−1
0 1 2 3 4 5 6 7 8
time
Traiettorie composte
q0
vv
q̇(t)
aa
q̈(t)
Ta Ta t
T
−aa
Si assumono le velocità iniziale e finali nulle, e una eguale durata del periodo di
accelerazione e di decelerazione (ciò comporta che il valore massimo e minimo
dell’accelerazione siano uguali in valore assoluto).
Se t0 = 0 (e di conseguenza la durata T della traiettoria coincide con t1), la
traiettoria può essere calcolata come segue
a) Fase di accelerazione, t ∈ [0, Ta]. La posizione, la velocità e
l’accelerazione sono date rispettivamente da
2
qa(t) = a0 + a1t + a2t
q̇a(t) = a1 + 2a2t (2)
q̈ (t) = 2a .
a 2
da cui
vv Ta
. b0 = q0 −
2
c) Fase di decelerazione, t ∈ [T − Ta, T ]. Posizione,velocità e accel-
erazione sono
2
qc(t) = c0 + c1t + c2t
q̇c(t) = c1 + 2c2t (4)
q̈ (t) = 2c .
c 2
20
10
10
8
Velocità
6
4
2
0
10
Accelerazione
−5
−10
0 0.5 1 1.5 2 2.5 3 3.5 4
q0
vmax
v0
v1
amax
amin
jmax
jmin
Tj1 Tj1 Tj2 Tj2
Ta Tv Td
A questo punto, la durata del segmento a velocità costante può essere calcolata
come
q1 − q0
Tv = − Ta .
vmax
Se la durata Tv risulta positiva, allora la massima velocità è effettivamente
raggiunta, altrimenti è necessario considerare il Caso 2 (ponendo Tv = 0).
b) t ∈ [Tj , Ta − Tj ]
alim 2
q(t) = q0 + v0t + (3t − 3Tj t + Tj2)
6
Tj
q̇(t) = v0 + alim t −
2
q̈(t) = jmaxTj = alim
(3)
q (t) = 0
L. Biagiotti - Sistemi di Controllo - 2009/10 0. ANALISI E PIANIFICAZIONE DELLE TRAIETTORIE
0.1. PIANIFICAZIONE DELLE TRAIETTORIE 0.1 24
c) t ∈ [Ta − Tj , Ta]
Ta (Ta − t)3
q(t) = q0 + (vlim + v0) − vlim(Ta − t) − jmin
2 6
2
(Ta − t)
q̇(t) = vlim + jmin
2
q̈(t) = −jmin(Ta − t)
q (3)(t)
= jmin = −jmax
Fase di decelerazione
a) t ∈ [T − Td, T − Td + Tj2]
(t − T + Td)3
Td
q(t) = q1 − (vlim + v1) + vlim(t − T + Td) − jmax
2 6
2
(t − T + Td)
q̇(t) = vlim − jmax
2
q̈(t) = −jmax(t − T + Td)
(3)
q (t) = jmin = −jmax
b) t ∈ [T − Td + Tj , T − Tj ]
Td
q(t) = q 1 − (vlim + v 1 ) + vlim(t − T + Td)+
2
alim
2 2
+ 3(t − T + Td) − 3Tj2(t − T + Td) + Tj
6
Tj
q̇(t) = v lim + a lim t − T + T d −
2
q̈(t) = −jmaxTj = alim
(3)
q (t) = 0
c) t ∈ [T − Tj , T]
(T − t)3
q(t) = q1 − v1(T − t) − jmax
6
2
(T − t)
q̇(t) = v1 + jmax
2
q̈(t) = −jmax(T − t)
q (3)(t) = jmax
Come nel caso della traiettoria trapezoidale, anche la doppia S può essere
definita in funzione delle durate dei singoli segmenti, ovvero Tj , Ta (= Td),
T . Invertendo, le relazioni che legano i periodi suddetti con i valori di velocità,
accelerazione e jerk massimi e dello spostamento h, cioè
h
T = + Ta
vmax
vmax
Ta = + Tj
amax
amax
Tj =
jmax
Traiettorie Spline
3 T 2 (q − q ) + T 2 (q − q ) − T v
T0 T1 0 2 1 1 1 0 1 0
3 T 2 (q − q ) + T 2 (q − q )
T1 T2 1 3 2 2 2 1
..
.
3
T 2
(q − q ) + T 2
(q − q )
Tn−3 Tn−2 n−3 n−1 n−2 n−2 n−2 n−3
3 2 2
Tn−2 Tn−1 Tn−2 (qn − qn−1 ) + Tn−1 (qn−1 − qn−2 ) − Tn−2 vn
che è un’equazione del tipo
A(T) v = c(T, q, v0, vn)
dove T = [T0, T1, . . . , Tn−1]T , q = [q0, q1, . . . , qn]T .
La (n − 1) × (n − 1) matrice A ha una struttura dominante diagonale e perciò
P
risulta sempre invertibile per Tk > 0 (|akk | > j6=k |akj |). Inoltre, essendo
tridiagonale è possibile utilizzare degli algoritmi di inversione estremamente
efficienti.
Una volta che le velocità v = A−1 c sono note, la spline è completamente
determinata per mezzo delle relazione (12) che ne definisce i coefficienti.
L. Biagiotti - Sistemi di Controllo - 2009/10 0. ANALISI E PIANIFICAZIONE DELLE TRAIETTORIE
0.1. PIANIFICAZIONE DELLE TRAIETTORIE 0.1 30
10
Posizione
−5
4
Velocità
−2
−4
8
6
Accelerazione
4
2
0
−2
−4
0 2 4 6 8 10 12 14 16 18
7. qg (t) = q(t/T ).
8. qh(t) = h q(t/T ). t
Una generica traiettoria q = q(t) può essere resa più veloce o più lenta con-
siderando una nuova variabile temporale t′ legata a t per mezzo di una funzione
strettamente crescente
t = σ(t′).
In questo modo
q̃(t′) = (q ◦ σ)(t′) = q(σ(t′))
e la velocità, accelerazione, ecc...risultano
′
˙ ) =
′ dq(σ) dσ(t )
q̃(t
dσ dt′
2
dq(σ) d2σ(t′) d2q(σ) dσ(t′)
¨ ′
q̃(t ) = +
dσ dt′2 dσ 2 dt′
...
0 ≤ q (τ ) ≤ 1,
N 0 ≤ τ ≤ 1.
Infatti si ha che
q(t) = q0 + (q1 − q0) q̃ (t) = q0 + h q̃ (t)
N N
dove
t − t0 t − t0
q̃ (t) = q (τ ),
N N con = τ= .
t1 − t0 T
Come conseguenza, essendo la variabile temporale t ottenuta scalando τ di un
fattore λ = T , e applicando poi una traslazione di t0, consegue che
h (1)
q (1)(t) = q (τ )
T N
h
q (2)(t) = 2 q (2)(τ )
T N
h (14)
q (3)(t) = 3 q (3)(τ )
... T
N
h
q (n)(t) = n q (n)(τ )
T N
dove
(1) d q (τ ) (2)
N d2 q (τ ) N
q (τ ) = , q (τ ) = , ...
N
dτ N
dτ 2
Ovviamente i massimi valori di velocità, accelerazione, ecc. si ottengono in
corrispondenza dei massimi delle funzioni q (1), q (2), . . . . Modificando la durata
N N
q (1) = 1) si ricava
N
a0 = 0, a1 = 0, a2 = 3, a3 = −2
da cui
q (τ )
N = 3τ 2 − 2τ 3
q (1)(τ ) = 6τ − 6τ 2
N
q (2)(τ ) = 6 − 12τ
N
q (3)(τ ) = −12.
N
e
15 15h
q (1)max = q (1)(0.5) = =⇒ q̇max =
N N
√8 8T√
10 3 10 3h
q (2)max = q (2)(0.2123) = =⇒ q̈max =
N N
3 3T 2
h
q (3)max = q (3)(0) = 60 =⇒ (3)
qmax = 60 3 .
N N
T
• Esempio. Traiettoria cicloidale
Il profilo di moto cicloidale ha una forma normalizzata data da
1
q (τ ) = τ − N sin 2πτ
2π
da cui
q (1)(τ ) = 1 − cos 2πτ
N
e
h
q (1)max = q (1)(0.5) = 2 =⇒ q̇max = 2
N N
T
h
q (2)max = q (2)(0.25) = 2π =⇒ q̈max = 2π
N N
T2
h
q (3)max = q (3)(0) = 4π 2 =⇒ (3)
qmax = 4π 2 3 .
N N
T
(2) π2
q (τ ) = cos πτ
2 N
(3) π3
q (τ ) = − sin πτ.
2
N
Regione di
funzionamento continuo
vn q̇
Tali dati devono essere confrontati con le caratteristiche dei profili di moto che
si intende utilizzare, per verificarne la compatibilità. Qualora questa non sia
L. Biagiotti - Sistemi di Controllo - 2009/10 0. ANALISI E PIANIFICAZIONE DELLE TRAIETTORIE
0.1. PIANIFICAZIONE DELLE TRAIETTORIE 0.1 39
15 15
10 10
5 5
τ (t)
τ (t)
0 0
−5 −5
−10 −10
−15 −15
−20 −20
0 2 4 6 8 10 12 0 2 4 6 8 10 12
q̇(t) q̇(t)
(a) (b)
Come si evince dalle due figure entrambe le traiettorie sono compatibili con il
motore scelto e il carico dato.
Nel caso in cui siano considerate traiettorie cicliche è necessario considerare an-
che il problema termico: il punto di lavoro di una traiettoria non può rimanere
in maniera indefinita nella regione di lavoro intermittente. Una semplice con-
dizione che consente di dedurre se una certa legge di moto è attuabile o meno
riguarda il cosiddetto valore efficace della coppia che può essere calcolato come
s
1 T 2
Z
τef f = τ (t) dt.
T 0
Tale valore deve essere confrontato con la coppia continuativa del motore τc.
Per un sistema generico come quello rappresentato dall’ eq. (15), la coppia
efficace è data da
Z T
2 1
τef f = τ 2(t) dt
T 0
Jt2 T 2 Bt2 T 2 JtBt T
Z Z Z
= q̈ (t) dt + q̇ (t) dt + 2 q̇(t) q̈(t) dt
T 0 T 0 T 0
= Jt2q̈ef
2 2 2
f + Bt q̇ef f
dove s s
T Z T
1 1
Z
q̈ef f = q̈ 2(t) dt, q̇ef f = q̇ 2(t) dt
T 0 T 0
sono rispettivamente
Z T i valori efficaci di velocità e accelerazione, mentre il ter-
JtBt
mine 2 q̇(t) q̈(t) dt è nullo nel caso in cui siano considerati dei movi-
T 0
menti periodici1 (q̇(0) = q̇(T )).
Nel caso Bt ≈ 0, l’espressione della coppia efficace risulta
τef f = Jtq̈ef f .
Di conseguenza, il valore efficace del profilo di accelerazione fornisce una buona
stima della coppia efficace.
15 15
10 10
5 5
τ (t)
τ (t)
0 0
−5 −5
−10 −10
−15 −15
−20 −20
0 2 4 6 8 10 12 0 2 4 6 8 10 12
q̇(t) q̇(t)
(a) (b)
Criterio più semplice: schematizzare gli organi meccanici, che sono intrinse-
camente a parametri distribuiti (massa, elasticità), con elementi a parametri
concentrati, ossia elementi di massa privi di elasticità ed elementi elastici privi
di massa. Si introducono quindi elementi di dissipazione di energia cinetica
(smorzatori) per considerare fenomeni di attrito tra le parti in movimento.
I valori dei parametri che descrivono le inerzie, le elasticità e i fenomeni dissi-
pativi devono essere determinati cercando di mantenere al meglio l’equivalen-
za dell’energia cinetica ed elastica degli elementi del modello con quelli dei
corrispondenti organi del meccanismo. La descrizione del meccanismo potrà
risultare lineare oppure non lineare.
Attuatore m
d
y x
Detta x(t) la posizione della massa m, e y(t) l’input di posizione del meccan-
ismo, cioè la posizione del sistema di attuazione, e indicato con z = x − y, la
k1 k2 kn
Actuator m1 mn
d1 d2 dn
y x1 xn
15 15
dnx 10 10
x
5 5
0 0
1
0.6
0.8
0.6 0.4
ẋ
ẋ
0.4
0.2
0.2
0 0
0.2
0.1
0.05 0.1
ẍ
ẍ
0 0
−0.05 −0.1
−0.1
−0.2
0 5 10 15 20 25 30 35 40 0 5 10 15 20 25 30 35 40
t t
−3 −3
x 10 x 10
1
1
0.5
z
0 0
−0.5
−1
−1 −4
x 10
0.01
2
0.005
0
ż
ż
0
−2
−0.005
−4 −3
−0.01
x 10
2 0.1
1 0.05
z̈
z̈
0 0
−1 −0.05
−0.1
−2
0 5 10 15 20 25 30 35 40 0 5 10 15 20 25 30 35 40
t t
(a) (b)
Un’ analisi di questo fenomeno può essere intrapresa in maniera più rigorosa
studiando il contenuto armonico del profilo di accelerazione ÿ, in relazione ai
diagrammi di Bode relativi alla struttura stessa, e in particolare alla pulsazione
naturale ωn.
E’possibile confrontare l’ampiezza V (ω) alle varie frequenze con il modulo della
risposta armonica del sistema (diagramma di Bode delle ampiezze) per verifi-
care come il sistema meccanico sia sollecitato. In particolare occorre evitare
che i modi di risonanza della struttura meccanica (tipicamente collocati ad alta
frequenza) siano eccitati dall’ingresso (nel nostro caso la traiettoria in esame).
−20
−30
|G(jω)| (dB)
−40
−50
−60
−70
−80
0 1 2
10 10 10
ω (rad/sec)
In questo modo, al fine di evitare delle vibrazioni (ovvero valori elevato del-
l’“errore” z) la pulsazione massima della traiettoria deve essere significativa-
mente inferiore alla pulsazione di risonanza ωr ≈ 10 (alla quale l’ampiezza
della risposta in frequenza ha un picco).
h 2Ω
Armonica V ′ (Ω) = |cos (πΩ)|
T 1 − 4Ω2
h 2
Cicloidale V ′ (Ω) = |sin (πΩ)|
T π(1 − Ω2 )
h 6 p
Polinomiale grado 3 V ′ (Ω) = 1 + π 2 Ω2 |sin (πΩ)|
T π 3 Ω2
h 30 p
Polinomiale grado 5 V ′ (Ω) = 9 + 4π 2 Ω2 + π 4 Ω4 |sin (πΩ)|
T π 5 Ω4
h 2
Trapezoidale V ′ (Ω) = sin (1 − α)πΩ sin απΩ
T (1 − α)απ 2 Ω
h 2
Doppia S V ′ (Ω) = sin (1 − α)πΩ sin α(1 − β)πΩ sin αβπΩ
T α2 β(1 − α)(1 − β)π 3 Ω2
0.8 5
α = 1/2
V1′ (Ω)
q̈1 (t)
0.6
0
0.4
−5
0.2
0 −10
1 10
0.8 5
α = 1/4
V2′ (Ω)
0 −10
1 10
0.8 5
α = 1/8
V3′ (Ω)
q̈3 (t)
0.6
0
0.4
−5
0.2
0 −10
1 10
0.8 5
α = 1/16
V4′ (Ω)
q̈4 (t)
0.6
0
0.4
−5
0.2
0 −10
0 5 10 15 20 0 0.2 0.4 0.6 0.8 1
Ω t
(a) (b)
1 10
0.8 5
β = 1/2
V1′ (Ω)
q̈1 (t)
0.6
0
0.4
−5
0.2
0 −10
1 10
0.8 5
β = 1/4
V2′ (Ω)
q̈2 (t)
0.6
0
0.4
−5
0.2
0 −10
1 10
0.8 5
β = 1/8
V3′ (Ω)
q̈3 (t)
0.6
0
0.4
−5
0.2
0 −10
1 10
0.8 5
β = 1/16
V4′ (Ω)
q̈4 (t)
0.6
0
0.4
−5
0.2
0 −10
0 5 10 15 20 0 0.2 0.4 0.6 0.8 1
Ω t
(a) (b)
Armonica Cicloidale
1 1
0.8 0.8
VN′ (Ω)
VN′ (Ω)
0.6 0.6
0.4 0.4
0.2 0.2
0 0
0 2 4 6 8 10 12 14 16 18 20 0 2 4 6 8 10 12 14 16 18 20
Ω Ω
Polinomiale grado 3 Polinomiale grado 5
1 1
0.8 0.8
VN′ (Ω)
VN′ (Ω)
0.6 0.6
0.4 0.4
0.2 0.2
0 0
0 2 4 6 8 10 12 14 16 18 20 0 2 4 6 8 10 12 14 16 18 20
Ω Ω
Trapezoidale (α = 1/3) Doppia S (α = 1/3, β = 1/2)
1 1
0.8 0.8
VN′ (Ω)
VN′ (Ω)
0.6 0.6
0.4 0.4
0.2 0.2
0 0
0 5 10 15 20 0 5 10 15 20
Ω Ω
1 1
0.8 0.8
VN′ (Ω)
VN′ (Ω)
0.6 0.6
0.4 0.4
0.2 0.2
0 0
0 2 4 6 8 10 12 14 16 18 20 0 2 4 6 8 10 12 14 16 18 20
Ω Ω
h 2π
v k,
vk = con
N v k = V ′(k).N
T T N
Armonica Cicloidale
7 7
6 6
5 5
vN k
vN k
4 4
3 3
2 2
1 1
0 0
0 2 4 6 8 10 12 14 16 18 20 0 2 4 6 8 10 12 14 16 18 20
Ω Ω
Polinomiale grado 3 Polinomiale grado 5
7 7
6 6
5 5
vN k
vN k
4 4
3 3
2 2
1 1
0 0
0 2 4 6 8 10 12 14 16 18 20 0 2 4 6 8 10 12 14 16 18 20
Ω Ω
Trapezoidale (α = 1/3) Doppia S (α = 1/3, β = 1/2)
7 7
6 6
5 5
vN k
vN k
4 4
3 3
2 2
1 1
0 0
0 5 10 15 20 0 5 10 15 20
Ω Ω
6 6
5 5
vN k
vN k
4 4
3 3
2 2
1 1
0 0
0 2 4 6 8 10 12 14 16 18 20 0 2 4 6 8 10 12 14 16 18 20
Ω Ω
Gli spettri delle accelerazioni mostrati nelle pagine precedenti (sia per funzioni
aperiodiche che per funzioni periodiche) sono stati ottenuti con h = 1, T = 1
e in funzione della variabile adimensionale Ω. Invertendo la (16), lo spettro
reale può essere facilmente dedotto:
h ′
V (ω) = V ′(Ω) = V (Ω) .
Ω = ωT /2π T N
Ω = ωT /2π
0.3
0.1
0.05
0.25
0 0.2
V (ω)
q̈(t)
−0.05 0.15
−0.1 0.1
−0.15 0.05
−0.2 0
0 5 10 15 20 25 30 0 0.5 1 1.5 2 2.5 3
t ω
(a) (b)