Sei sulla pagina 1di 48

Controllo del moto e robotica industriale

Schemi avanzati di controllo per servomeccanismi

Prof. Paolo Rocco (paolo.rocco@polimi.it)

Oltre il PID
Anche se il nucleo di un controllore in anello chiuso per il controllo del moto sempre costituito da un regolatore PID (o P/PI), vi sono altri schemi di controllo che possono completare o sostituire lo schema base. Alcuni di questi schemi trovano corrente applicazione nei CN ed azionamenti commerciali. Nel seguito ci occuperemo dei seguenti schemi: Filtri notch Osservatore del disturbo di coppia Controllo nello spazio di stato Input shaping

Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [2]

Filtro notch
Un filtro notch un sistema dinamico progettato per cancellare una coppia di poli complessi e coniugati, tipicamente a basso smorzamento, presenti nel sistema sotto controllo. quindi caratterizzato dalla funzione di trasferimento:
Gnf ( s ) = s 2 + 21n s + 2 n s 2 + 2 2 n s + 2 n
0 -2 -4 -6 -8 dB -10 -12 -14 -16 -18 -20 -1 10

dove n la pulsazione dei poli complessi da cancellare, 1 e 2 sono smorzamenti, il primo piccolo, il secondo grande. Il diagramma di Bode caratterizzato da una gola:

1 2
10 w/wn
0

10

Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [3]

Filtro notch: utilizzo


In un sistema di controllo del moto, il filtro notch viene di norma inserito nellanello di velocit, in serie al regolatore PI: .o . qm + qm m RPI(s) Gnf(s) Gvm(s) s 2 + 21n s + 2 n Gnf ( s ) = 2 s + 2 2 n s + 2 n La pulsazione naturale n del filtro viene posta uguale alla stima disponibile della pulsazione p dei poli del sistema sotto controllo, e lo smorzamento 1 degli zeri del filtro approssima lo smorzamento dei poli p.
0

N.B. In diversi CN, il filtro viene assegnato dando la frequenza da bloccare (n) e la banda a 3dB

-2 -4 -6 -8 dB -10 -12 -14 -16 -18 -20 -1 10

10 w/wn

10

banda a 3dB

Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [4]

Filtro notch: problemi


. qom +
RPI(s) Gnf(s)

Gvm(s)

. qm

Sebbene il filtro notch possa essere utile per migliorare la risposta al riferimento, ci sono alcuni problemi connessi al suo utilizzo: La frequenza di risonanza sulla quale sintonizzare gli zeri del filtro deve essere conosciuta con buona approssimazione I poli poco smorzati del processo cancellati dal filtro rimangono autovalori del sistema in anello chiuso e riemergono come poli di altre funzioni di trasferimento, tipicamente quella dal disturbo di carico alluscita. La realizzazione digitale dei regolatori produce una certa distorsione della risposta in frequenza che potrebbe non far coincidere la frequenza effettiva degli zeri del filtro digitale con la frequenza di progetto. Vi sono metodi per ovviare a questo problema (frequency pre-warping)
Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [5]

Simulazioni
Simuliamo in Simulink il controllo P/PI lato motore con filtro notch allinterno dellanello di velocit:

Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [6]

Simulazioni
Sistema:

z=200, =1, z=0.1

~ PI di velocit: iv=10, cv=1 P di posizione: pp=0.1


1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 0 0.2 0.4 t(s) 0.6 0.8 1 senza filtro notch con filtro notch

Le cose non migliorano (anzi peggiorano). Perch?

disturbo di coppia
Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [7]

Spiegazione
Senza filtro
1.5 1 0.5 polo in anello chiuso Imag Axis 0 -0.5 -1 -1.5 -1

Con filtro
1.5 1 0.5 Imag Axis

Anello di velocit

polo in anello chiuso


0 -0.5 -1 -1.5 -2

-0.5

0 Real Axis

0.5

-1.5

-1

-0.5 Real Axis

0.5

3 2

polo in anello chiuso

2 1 Imag Axis 0 -1 -2 -3 -2

Anello di posizione

1 Imag Axis 0 -1 -2 -3 -2

polo in anello chiuso

-1.5

-1

-0.5 Real Axis

0.5

-1.5

-1

-0.5 Real Axis

0.5

Conclusione: il filtro di fatto non aiuta a conferire smorzamento ai poli in anello chiuso.
Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [8]

Filtro notch fuori dallanello di velocit


. qom
Gnf(s)

RPI(s)

Gvm(s)

. qm

Senza filtro
3 2
3

Con filtro
polo in anello chiuso
2 1 Imag Axis 0 -1 -2 -3 -3

polo in anello chiuso

Imag Axis

Anello di posizione

1 0 -1 -2 -3 -2

-1.5

-1

-0.5 Real Axis

0.5

-2

-1 Real Axis

Con gli stessi guadagni del P/PI si ottengono dei poli in anello chiuso pi smorzati.

Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [9]

Simulazioni

Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [10]

Simulazioni
Sistema:

z=200, =1, z=0.1

~ PI di velocit: iv=10, cv=1 P di posizione: pp=0.1


1.5

1 senza filtro notch con filtro notch 0.5

Si ottiene un sensibile miglioramento della risposta lato carico

0 0

0.2

0.4

0.6

0.8

disturbo di coppia
Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [11]

Filtro notch e controllo lato carico


s

nqol

Kpp

.o q + m + Gnf(s)

Fv(s)

. qm

1/s

qm

Glm(s)

nql

Senza filtro
3 3

Con filtro
polo in anello chiuso
2 1 Imag Axis 0 -1 -2 -3 -6

polo in anello chiuso


2

Imag Axis

Anello di posizione

1 0 -1 -2 -3 -6

-5

-4

-3 -2 Real Axis

-1

-5

-4

-3 -2 Real Axis

-1

Il vantaggio del filtro notch in questo caso appare ancora pi rilevante.

Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [12]

Simulazioni

Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [13]

Simulazioni
Sistema:

z=200, =1, z=0.1

~ PI di velocit: iv=10, cv=1 P di posizione: pp=0.1


1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 0 0.2 0.4 0.6 0.8 1 senza filtro notch con filtro notch

Si ottiene un sensibile miglioramento della risposta al riferimento lato carico. La risposta al disturbo per peggiora.

disturbo di coppia
Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [14]

Osservatore del disturbo


Losservatore del disturbo di coppia (TDO: Torque Disturbance Observer) uno schema molto utilizzato nel controllo del moto, in particolare in applicazioni dove alla coppia nominale prodotta dal motore si sovrapponga un disturbo. Il metodo stima la coppia di disturbo in ingresso al motore, compensandola con una retroazione positiva sul comando. Consideriamo inizialmente un generico sistema con ingresso manipolabile u e disturbo di carico d:

d + +

P(s)

Ci proponiamo di progettare un sistema che sulla base dei valori assunti da u e y determini una stima del disturbo.

Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [15]

Osservatore del disturbo


u
*

+ + ^ d

d + + +

P(s) Q(s)Pn1(s)

Q(s)

DO

In questo schema Pn(s) un modello del sistema sotto controllo, di funzione di trasferimento P(s), mentre Q(s) un filtro passabasso a guadagno unitario tale da rendere realizzabile la funzione di trasferimento Q(s)Pn1(s). La stima del disturbo prodotta dallosservatore (DO) la seguente:
(s ) = Q( s )u (s ) P 1 (s )Q( s ) y (s ) = Q( s )u (s ) P 1 (s )Q( s ) P( s )(d (s ) + u (s )) = d n n = Q( s ) 1 Pn1 (s )P( s ) u (s ) Q( s ) Pn1 (s )P ( s )d (s )

se: Pn ( s ) P ( s )

si ha:

(s ) Q( s )d (s ) d

Pertanto, nella banda passante del filtro Q, il disturbo stimato correttamente.


Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [16]

Osservatore del disturbo


u
*

+ + ^ d

d + + +

P(s) Q(s)Pn1(s)

Q(s)

DO

Risolvendo lo schema a blocchi, si ottiene:


y (s ) = 1 Q ( s ) + Pn1 (s )P( s )Q ( s ) P ( s )(1 Q ( s ) ) d (s ) + 1 Q( s ) + Pn1 (s )P( s )Q( s ) P( s) u * (s )

se: Pn ( s ) P ( s )

y (s ) = P( s )(1 Q( s ) )d (s ) + P( s )u * (s )
Pertanto, nella banda passante del filtro Q, il sistema dal nuovo ingresso u* alluscita y virtualmente esente dal disturbo.
Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [17]

Osservatore del disturbo di coppia


Consideriamo ora un motore caratterizzato dal momento di inerzia Jm e dal coefficiente di attrito Dm. La funzione di trasferimento (da coppia a velocit) : 1 P( s) = J m s + Dm Adottando un filtro Q del primo ordine e rielaborando lo schema dellosservatore del disturbo si ottiene:
* m+ + c m + 1 J m s + Dm . qm

1 s

qm lm

Dm

Jm Tf

La coppia di disturbo costituita da una coppia esogena c e dalla coppia trasmessa dal carico lm. Tf la costante di tempo (piccola) del filtro Q.

1 1 + sTf

Jm Tf

TDO

Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [18]

Osservatore del disturbo di coppia


m+ +
*

c m + 1 J m s + Dm

. qm

1 s

qm lm

Elaborando lo schema a blocchi si ottiene:


Qm (s ) = 1 J m s + Dm
2

[ s

* m

(s ) G f (s )( c (s ) + lm (s ))]

Dm

Jm Tf

con:
G f (s ) = sT f 1 + sT f

1 1 + sTf

Jm Tf

filtro passa-alto.
TDO

Il disturbo di coppia viene quindi filtrato molto efficacemente, in particolare in bassa frequenza. Si osservi che il modello di riferimento quello di un giunto rigido. Che cosa cambia se tra motore e carico c un accoppiamento elastico?

Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [19]

TDO e modello elastico


1 s ql c m + 1 J m s + Dm . ql 1 Jls d +

n
. . qm 1 s qm +

* m+ +

Dels+Kel

lm

Dm

Jm Tf

1 1 + sTf

Jm Tf

TDO

Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [20]

TDO e modello elastico


Elaborando lo schema a blocchi con d=0 si ottiene:

J lr s 2 + Del s + K el * Qm (s ) = m (s ) G f (s ) c (s ) , f (s ) Ql (s ) = Del s + K el * m (s ) G f (s ) c (s ) f (s )

]
)

con: f (s ) = J lr s 2 + Del s + K el J m s 2 + Dm s + G f (s )(Del s + Kel )J m s 2 Per Tf 0:


Qm ( s ) Ql ( s ) 1 J m s 2 + Dm s K el + sDel * m (s) Qm ( s )

)(

Il disturbo di coppia rigettato e si pu controllare il motore con un modello rigido ma il carico oscilla liberamente, con la dinamica che avrebbe se il rotore fosse bloccato (locked frequency).

J lr s 2 + Del s + K el

Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [21]

Simulazione

Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [22]

Simulazione
2 senza TDO con TDO 1.5

(lato carico)

0.5

0 0

0.2

0.4 t (s)

0.6

0.8

Conclusione: Losservatore viene tratto in inganno: interpreta la retroazione di coppia dalla trasmissione come se fosse un disturbo esogeno e cerca di neutralizzarlo. Bisogna usare il TDO con attenzione.
Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [23]

Controllo nello spazio di stato


Se si dispone della misura della sola posizione motore, pu essere di interesse considerare metodologie di controllo concepite nello spazio di stato:
Jm

1) Lobiettivo ultimo controllare la posizione del carico...

Del K el

Jl

Controllo

Jm

Jl Del ? K el

2) Un controllo perfetto del motore lascia il carico in anello aperto...

Controllo

Jm

Jl

3) si cercano soluzioni che tengano conto dellintero stato del sistema.

Controllo

Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [24]

Modello nello spazio di stato


x = [q m u = m , &m q nql & l ]T nq
& = Ax + bu x y = cx

y = qm

0 K el J m A= 0 K el J lr

1 D + Del m Jm 0 Del J lr

0 K el Jm 0 K el J lr

0 0 Del 1 Jm Jm , b = 1 0 Del 0 J lr

c = [1 0 0 0]

J lr = J l n 2

Raggiungibile da u Osservabile da y

Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [25]

Schema di controllo
Feedforward ql qm + + +

Conversione setpoint

Servo posizionatore

ql qm

K Controllore

^ x

Stima dello stato

Da progettare: Azione integrale ^) Legge di controllo (u = Kx Stima dello stato Azioni in anello aperto
Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [26]

Introduzione dellazione integrale


Si introduce lazione integrale per ottenere errore nullo a regime sul setpoint anche in presenza di disturbi costanti. Detto xI lo stato dellintegratore si avr:
& = Ax + bu x & I = y y = cx + y x

A questo punto si allarga lo stato del sistema, aggiungendo lo stato dellintegratore:

x z= xI Le matrici si modificano di conseguenza:


& = Fz + g u u + g y y z

Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [27]

Introduzione dellazione integrale


A 0 , F = c 0 b gu = , 0 0 gy = 1

Grazie al principio di separazione, potremo procedere allassegnamento degli autovalori del sistema in anello chiuso come se lo stato del sistema fosse accessibile, trattando separatamente il problema della stima dello stato dalluscita. Volendo allocare gli autovalori del sistema aumentato occorrer preliminarmente verificare che la coppia (F, gu) sia raggiungibile: si pu dimostrare che questo vero se e solo se il sistema sotto controllo raggiungibile ed osservabile e se la sua funzione di trasferimento non ha zeri in s=0. Poich queste condizioni sono soddisfatte, si pu procedere allassegnamento degli autovalori con regolazione a zero dellerrore.
Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [28]

Posizionamento degli autovalori


Si scelgono i guadagni in modo da assegnare gli autovalori della matrice in anello chiuso: & = Fz + gu u z ~ ~ u = Kz , K = [K kI ] ~ & = F + gu K z z

In linea di principio, gli autovalori possono essere scelti arbitrariamente. In realt la robustezza dellassegnamento degli autovalori dipende fortemente dalle posizioni scelte per gli autovalori desiderati in anello chiuso. Una misura di robustezza il condizionamento della matrice formata dagli autovettori del sistema in anello chiuso: pi ortogonali sono gli autovettori, migliore il condizionamento, pi robusto il sistema in anello chiuso.

Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [29]

Controllo ottimo LQ
Unalternativa scegliere i guadagni in modo da minimizzare la cifra di merito quadratica:

J=

[z(t ) Qz(t ) + u(t ) ]dt


T 2 0

~ La routine Matlab lqr fornisce la soluzione del problema (cio la matrice K) dati il sistema sotto controllo e la matrice Q (che deve essere semidefinita positiva). Come scegliere la matrice dei pesi Q? Si pu procedere per tentativi oppure seguire strade pi strutturate, per le quali si rimanda alla letteratura specifica.

Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [30]

Ricostruttore asintotico dello stato


Si scelgono i guadagni del ricostruttore in modo da assegnare gli autovalori della dinamica dellerrore di stima:

& = Ax + bu x y = cx & = ( A + Lc ) & = Ax + bu + L( y y) x ) y = cx

] [ = x x

Come noto il problema risolubile se la coppia (A, c) osservabile (come nel nostro caso). Pi grande il modulo degli autovalori di A+Lc, pi veloce la ricostruzione della dinamica, ma pi sensibile la stima ai rumori di misura. Anche questo problema pu essere impostato in termini di minimizzazione di una cifra di merito integrale, progettando un filtro di Kalman. Occorre per modellare il sistema in ambito stocastico (i disturbi vanno interpretati come processi stocastici con determinate medie e varianze).
Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [31]

Progetto delle azioni di anticipo


Sistema di funzione di trasferimento Gk(s)

Gf(s)
ql qm + kI + s + + +

Gr(s)

Servo posizionatore

ql

qm

^ x

Stima dello stato

Per conferire al progetto precisione dinamica (prontezza e grado di stabilit nei transitori di inseguimento del riferimento) si adottano dei componenti in feedforward. Numeratore della f.d.t. Si osservi che: da m a qm Bm (s ) Gk (s ) = c (sI 4 ( A + bK ))1 b = A+ bK (s )
Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [32]

Progetto delle azioni di anticipo


Sistema di funzione di trasferimento Gk(s)

Gf(s)
ql qm + kI + s + + +

Definiamo:
Glm (s ) = Bl (s ) Bm (s )

Gr(s)

Servo posizionatore

ql

qm

Numeratore della f.d.t. da m a ql Numeratore della f.d.t. da m a qm

^ x

Stima dello stato

Scegliendo:
1 Gr (s ) = Glm (s ) F (s ) 1 1 ( ) ( ) ( ) = G s G s G s F (s ) k lm f

si ottiene:

Ql (s ) = F (s ) Ql (s )

Specificando F(s) si assegna completamente la risposta del sistema al riferimento. Per ottenere operatori causali, il grado relativo di F deve essere pari almeno a 3.
Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [33]

Apparato sperimentale
Vedremo ora alcuni confronti sperimentali tra un controllore progettato nello spazio di stato (LQG) ed un controllore PID, chiuso lato motore.
Torque constant Kt Motor inertia Jm Load inertia Jl Transmission ratio n Viscous friction Dm Stiffness constant Kel Elasticity damping coeff. Del Antiresonance frequency nz Complex zeros damping z Resonance frequency np Complex poles damping p Real pole frequency 1/T 1.6 Nm/Arms 0.00015 Kgm2 2.7 Kgm2 100 0.0034 Nms/rad 3.1 Nm/rad 0.0022 Nms/rad 105 rad/s 0.063 179 rad/s 0.138 9.12 rad/s
Poliboard board Current Reference

Computer BUS Encoder signal


Servo-Drive

PCL-818H Board

Acceleration

load

Experiment Load rotation (deg) Time for the positioning (s) Maximum acceleration (rad/s2)

1 40 0.5 1200

2 30 0.5 900

3 50 0.9 500

harmonic drive
motor
Current

Digital Position

Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [34]

Confronti sperimentali
Rotazione di 40 in 0.5 s Accelerazione max: 1200 rad/s2
0.5

Rotazione di 30 in 0.5 s Accelerazione max: 900 rad/s2


0.2 0 -0.2

PID
0 -0.5

PID

Load velocity (rad/s)

-0.4 Load velocity (rad/s)

-1 -1.5 -2 -2.5

LQG

-0.6 -0.8 -1 -1.2 -1.4 -1.6

LQG

0.2

0.4 time (s)

0.6

0.8

-1.8

0.2

0.4 time (s)

0.6

0.8

Si confrontano le velocit lato carico, ottenute per integrazione del segnale prodotto da un accelerometro montato sul carico.
Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [35]

Confronti sperimentali
Rotazione di 50 in 0.9 s Accelerazione max: 500 rad/s2
0.2 0 -0.2 -0.4 Load velocity (rad/s) -0.6 -0.8 -1 -1.2 -1.4 -1.6 0 0.2 0.4 0.6 0.8 time (s) 1 1.2 1.4

PID

A basse velocit si ha la comparsa di ripple

LQG

Conclusioni sui metodi nello spazio di stato: Si manifestano dei vantaggi rispetto al controllore PID, che per si pagano in termini di complessit di progettazione, realizzazione, codifica e debugging del controllore.
Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [36]

Input shaping
Tutti i metodi di controllo visti finora prevedono una retroazione della variabile controllata: sono infatti metodi in anello chiuso. Linput shaping invece un metodo in anello aperto (feedforward): consiste nel modificare lingresso al sistema sotto controllo in modo tale da annullare leffetto di una o pi risonanze presenti nel sistema stesso. Richiede la conoscenza della pulsazione naturale e dello smorzamento dei poli complessi e coniugati. Pu essere utilizzato con un certo successo nel controllo di strutture flessibili, quali per esempio bracci robotici per applicazioni spaziali. RALF, Georgia Tech (Atlanta)
Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [37]

Risposta allimpulso
Si consideri un sistema dinamico con una coppia di poli complessi e coniugati:
s 2 + 2 n s + 2 n La risposta ad un impulso di ampiezza ki che interviene allistante ti data dallespressione:
2 yi (t ) = Bi e n (t ti ) sin n 1 (t ti ), t ti 1 con: n 0.5 Bi = k i 1 2
0

G(s) =

2 n

Il periodo (o pseudoperiodo) delloscillazione vale: 2 T = n 1 2

-0.5

-1 0

20

40

60 t (s)

80

100

120

Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [38]

Due impulsi
Si supponga ora di eccitare il sistema con due impulsi, agli istanti t1 e t2 (t2> t1). La risposta del sistema la somma delle due risposte allimpulso:
(t t ) 2 2 y (t ) = B1e n (t t1 ) sin n 1 (t t1 ) + B2 e n 2 sin n 1 (t t 2 ), t t 2

possibile fare in modo che y sia nulla a partire dallistante t2? sufficiente imporre le seguenti condizioni:

nt1 n t 2 2 1 2 t = 0 + sin 1 sin k e t k e n n 1 2 2 1 t 2 2 k1e nt1 cos n 1 t1 + k 2 e n 2 cos n 1 t 2 = 0


Si tratta di un sistema di due equazioni nelle quattro incognite k1, k2, t1 e t2. Per risolverlo possiamo imporre t1=0 e la condizione di normalizzazione sulle ampiezze: k1 + k2 =1
Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [39]

Due impulsi: soluzione


Risolvendo il sistema si trova:
1 T t1 = 0, t 2 = , k1 = , k2 = 2 1+ 1+ = e
1 2


impulso 1 impulso 2 somma

Il secondo impulso va quindi dato dopo met periodo. Si osservi che entrambi gli impulsi sono positivi.

0.6 0.4 0.2 0 -0.2 -0.4

1
0 5 10 15 t (s) 20 25 30

Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [40]

Due impulsi: robustezza


Se i parametri n e sono noti con imprecisione, il risultato delloperazione peggiora. Ad esempio, con un errore del 10% su n e del 20% su si ottiene:
0.6 0.4 0.2 0 -0.2 impulso 1 impulso 2 somma

2 1

-0.4

10

15 t (s)

20

25

30

Per migliorare la robustezza del metodo, si possono utilizzare pi di due impulsi.


Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [41]

Tre impulsi
Si supponga quindi di eccitare il sistema con tre impulsi, agli istanti t1, t2 e t3 (t3>t2>t1). La risposta del sistema la somma delle tre risposte allimpulso:
2 y (t ) = Bi e n (t ti ) sin n 1 (t ti ), t t 3 i =1 3

Per fare in modo che y sia nulla a partire dallistante t3 si impone: 3 n ti 1 2 t = 0 k e sin n i i =1 i 3 k i e nti cos n 1 2 ti =0 i =1 Si tratta di un sistema di due equazioni nelle sei incognite k1, k2, k3, t1 , t2 e t3. Possiamo per imporre anche che non solo y ma anche la sua derivata sia nulla a partire dallistante t3. In questo modo si generano altre due equazioni:

3 n ti 1 2 t = 0 k t e sin n i i =1 i i 3 k i t i e nti cos n 1 2 ti =0 i =1


Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [42]

Tre impulsi: soluzione


Risolvendo il sistema imponendo t1=0 e la condizione di normalizzazione sulle ampiezze k1 + k2 + k3 = 1 si trova:
T 2 1 2 t1 = 0, t 2 = , k3 = , t 3 = T , k1 = , k2 = 2 2 2 1 + 2 + 1 + 2 + 1 + 2 + 2

Il secondo impulso va quindi dato dopo met periodo, il terzo dopo un intero periodo. Si osservi che tutti gli impulsi sono positivi.

0.6 0.4 0.2 0 -0.2 -0.4

2 3 1

impulso 1 impulso 2 impulso 3 somma

10

15 t (s)

20

25

30

Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [43]

Tre impulsi: robustezza


Con un errore del 10% su n e del 20% su si ottiene:
0.6 0.4 0.2 0 -0.2 -0.4 impulso 1 impulso 2 impulso 3 somma

2 1 3

10

15 t (s)

20

25

30

Il comportamento, nonostante lincertezza sui parametri, buono.

Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [44]

Input shaping: il metodo


Dalle considerazioni precedenti si pu derivare un metodo per modificare lingresso di un sistema risonante, in modo da eliminare le oscillazioni. Sia u(t) lingresso del sistema e w(t) il treno di impulsi determinato con le considerazioni precedenti: w(t ) = k1(t ) + k 2 (t T 2 ) + k 3(t T ) Sia inoltre h(t) la risposta del sistema di funzione di trasferimento G(s) a w:
h(t ) = y1 (t ) + y 2 (t ) + y3 (t ), h(t ) = 0, t > T

Ricordiamo che con convoluzione di due segnali u e h si intende loperazione:


h(t ) u (t ) = h( )u (t )d = u ( )h(t )d

e che la trasformata di Laplace della convoluzione di due segnali il prodotto delle due trasformate: L[h(t ) u (t )] = H (s )U (s )
Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [45]

Input shaping: il metodo


Facendo la convoluzione dellingresso originario u con la funzione h si ottiene un segnale y privo di oscillazioni a partire dallistante T. Daltra parte risulta:
Y (s ) = L[h(t ) u (t )] = H (s )U (s ) = G (s )W (s )U (s ) = = G (s ) k1 + k 2 e s T 2 + k 3e sT U (s )

Il metodo quindi consiste nel prefiltrare il segnale di ingresso con questo semplice schema a blocchi:

k1 k2 k3 esT/2 esT

+ umodificato + + +

Sono state sviluppate anche versioni adattative del metodo ed estensioni al caso di pi modi risonanti.
Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [46]

Esempio
Applichiamo il metodo dellinput shaping a un servomeccanismo a due masse.
qm , m

Jm

Del K el

Jl

ql

n = 1, = 0.05

Supponiamo che lingresso di comando sia un profilo di coppia di tipo rettangolare. Calcoliamo con la metodologia vista i coefficienti ki e i ritardi di tempo. Si ottiene lingresso modificato:

ingresso originario ingresso modificato

0.5

(Nm)

-0.5

-1 0 20 40 60 t (s) 80 100 120

Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [47]

Esempio
Simuliamo la risposta, in termini di velocit lato carico. Prevediamo unincertezza del 10% su n e del 20% su .

35

Nonostante lincertezza, le oscillazioni sono quasi completamente rimosse. Si genera un ritardo, che per pu essere compensato facendo partire in anticipo lingresso.

30 25 20 (rad/s) 15 10 5 0 -5 -20 0 20 40 t (s) 60 80 100 120 uscita originaria uscita modificata

Controllo del moto e robotica industriale - Schemi avanzati di controllo per servomeccanismi- P. Rocco [48]