Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
Progetto di controllori
per manipolatori industriali
Basilio Bona
Dipartimento di Automatica e InformaticaPolitecnico di Torino
ultima revisione: 11 febbraio 2008
Indice
1 Progetto del controllore 31.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Specifiche di Progetto . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.1 StabilitaĚ nominale . . . . . . . . . . . . . . . . . . . . . . . . . 111.2.2 StabilitaĚ robusta . . . . . . . . . . . . . . . . . . . . . . . . . . 131.2.3 Precisione statica . . . . . . . . . . . . . . . . . . . . . . . . . . 131.2.4 Precisione dinamica . . . . . . . . . . . . . . . . . . . . . . . . 141.2.5 Attenuazione dellâeffetto del disturbo d . . . . . . . . . . . . . 151.2.6 Attenuazione dellâeffetto del rumore n . . . . . . . . . . . . . . 151.2.7 Moderazione dellâattivitaĚ del comando . . . . . . . . . . . . . . 151.2.8 RealizzabilitaĚ del controllore . . . . . . . . . . . . . . . . . . . 17
2 Reti di compensazione 182.1 Rete derivativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.1.1 Caratteristiche complessive . . . . . . . . . . . . . . . . . . . . 192.2 Rete integrativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.1 Caratteristiche . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.3 Compensatori PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.3.1 Compensatore PD . . . . . . . . . . . . . . . . . . . . . . . . . 252.3.2 Compensatore PI . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.4 Controllo in feedforward . . . . . . . . . . . . . . . . . . . . . . . . . . 25
A Sistemi del secondâordine 27A.1 Parametri della risposta nel tempo . . . . . . . . . . . . . . . . . . . . 27A.2 Parametri della risposta in frequenza . . . . . . . . . . . . . . . . . . . 29
B Controllo digitale 31B.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
B.1.1 Notazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32B.1.2 Campionamento e frequenza di Nyquist . . . . . . . . . . . . . 34
B.2 Sintesi del controllore digitale . . . . . . . . . . . . . . . . . . . . . . . 36B.2.1 Scelta del periodo di campionamento . . . . . . . . . . . . . . . 36B.2.2 Determinazione della fdt del controllore . . . . . . . . . . . . . 37B.2.3 Discretizzazione del controllore continuo . . . . . . . . . . . . . 37B.2.4 Sintesi diretta del controllore digitale . . . . . . . . . . . . . . . 42B.2.5 Periodo di campionamento e lunghezza della parola . . . . . . . 43
1
B.2.6 Come ottenere lâalgoritmo di controllo . . . . . . . . . . . . . . 44
2
Capitolo 1
Progetto del controllore
1.1 Introduzione
Queste brevi note non hanno lâambizione di sostituirsi a testi di controlli automaticiben piuĚ completi, tra i quali indichiamo allâattenzione del lettore i classici [1, 2] o ilpiuĚ recente [3] per sistemi continui e [4, 5] per sistemi a dati campionati.
Esse hanno invece lo scopo di riassumere le principali problematiche che devonoessere considerate nel progetto dei compensatori, non solo per robot industriali, maanche per altri apparati meccatronici complessi.
Nellâambito piuĚ specifico della robotica, per âcontrollori sempliciâ si intendonocomunemente quelli
a) basati su una architettura di controllo a giunti indipendenti, dove ogni singolomotore eĚ controllato da un proprio controllore, che usa solo le misure âlocaliâdi posizione e velocitaĚ angolare;
b) in cui il controllore eĚ progettato usando le tecniche classiche sviluppate nei corsidi base di Controlli Automatici.
In particolare, il progetto del controllo utilizza un modello lineare semplificatodellâimpianto considerato, che nel caso di un robot include il braccio i-esimo, il motoreche lo aziona e lâeventuale motoriduttore.
Nel seguito, sono dati per noti i concetti di trasformate di Laplace e Zeta, schemia blocchi, funzioni di trasferimento di un sistema lineare tempo-invariante, modalitaĚdi costruzione e interpretazione dei diagrammi di Bode e Nyquist, significato dei polie degli zeri per un sistema dinamico lineare tempo-invariante.
Richiamiamo ora rapidamente alcuni concetti fondamentali, legati alla rappresen-tazione, mediante schemi a blocchi, delle principali componenti che entrano in unprogetto di controllo,
In Figura 1.1 viene schematizzato lâimpianto considerato e il suo controllore, me-diante la simbologia degli schemi a blocchi, dove i blocchi con doppia cornice rappre-sentano modelli nonlineari di impianti o apparati. I segnali rappresentano grandezzescalari o vettoriali definite nel tempo.
Nella Figura 1.1 si possono riconoscere i seguenti blocchi:
3
impianto â sarebbe opportuno chiamare impianto lâapparato fisico che dovraĚ essereeffettivamente controllato e usare il termine modello (dellâimpianto) per la rap-presentazione matematica dello stesso; tuttavia, per semplicitaĚ, qui indichiamocon âimpiantoâ il blocco che rappresenta il modello nonlineare dellâapparato chesi desidera controllare. In questo caso, come detto sopra, esso include il motore,lâeventuale motoriduttore e il braccio i-esimo;
trasduttore â rappresenta il modello nonlineare dellâapparato che elabora e trasfor-ma in segnali misurabili (le uscite) le grandezze fisiche (generalmente elettriche)necessarie per il controllo. Il trasduttore posto in serie alla variabile di riferimen-to wⲠsegnala la possibilitaĚ che anche il riferimento (o ingresso di riferimento)sia una variabile che occorre trasformare per essere utilizzabile dal controllo;
controllore â indica lâapparato fisico (nel caso di controllo analogico) o lâalgoritmo(nel caso di controllo digitale) che trasforma lâerrore Ρ in segnale di comando u;
attuatore â indica lâapparato o lâazionamento che trasforma il segnale di controllou di solito a bassa potenza, uscente dal controllore, nel segnale di comando m,di solito a potenza piuĚ elevata, che va ad effettivamente ad agire sullâimpianto.
+
â
Attuatore Impianto
Trasduttore
Regolatore
(Controllore)Trasduttore
wâ˛u0c Ρ m y
dâ˛Adâ˛
nâ˛
c
+
â
Attuatore Impianto
Trasduttore
Regolatore
(Controllore)Trasduttore
wâ˛u0c Ρ m y
dâ˛Adâ˛
nâ˛
c
Figura 1.1: Generico schema a blocchi del controllo di un impianto con elementi nonlineari.
EĚ importante sottolineare che normalmente i livelli di potenza dei segnali in giocosono diversi: il riferimento c0, la misura c, lâerrore Ρ e il comando u hanno livelli dipotenza relativamente bassi, mentre il segnale m uscente dallâattuatore ha livelli chepossono essere anche considerevolmente piuĚ elevati.
Nello schema a blocchi sono indicati altri segnali esogeni, che influiscono sullâim-pianto, sullâattuatore e sul trasduttore, e vengono indicati rispettivamente con dâ˛, dâ˛Ae nâ˛.
Si tratta di segnali che possono avere due significati alternativi:
a) rappresentano variabili esogene deterministiche su cui il progettista del controllonon ha possibilitaĚ di influire (ad esempio, le coppie di carico a valle dei motori),
4
ma che determinato la âqualitaĚâ dellâuscita; in questo caso si eĚ soliti chiamarlidisturbi ;
b) rappresentano segnali di natura non deterministica, (ad esempio i segnali paras-siti dovuti allâaccoppiamento elettromagnetico su cavi o canali di trasmissione);in questo caso, anche se spesso vengono indicati anchâessi come disturbi, sipreferisce chiamarli rumori.
Riportiamo, per chiarezza, lâelenco delle grandezze indicate nella Figura 1.1:
Variabile SignificatowⲠvariabile desiderata, riferimento, ingressoc0 misura di wâ˛
c misura di yΡ errore di misurau variabile di controllo, comandom variabile manipolabiley variabile controllata, uscitadâ˛A variabile esogena di disturbo sullâattuatoredⲠvariabile esogena di disturbo sullâimpiantonⲠvariabile esogena di disturbo sul trasduttore
Nella Figura 1.2 eĚ stato rappresentato lo schema a blocchi dellâimpianto di Figura1.1, dopo che i vari elementi sono stati linearizzati nellâintorno di un punto di funzio-namento nominale. I disturbi e i rumori si sommano ai segnali che provengono dalcontrollo o dai trasduttori e per questo motivo prendono il nome di disturbi/erroriadditivi.
+
â
Attuatore Impianto
Trasduttore
Regolatore
(Controllore)Trasduttore
wδ â˛0cδ δΡ mδ yδ
dδ â˛
Adδ â˛
nδ â˛
cδ
+
+
uδ +
+ +
+
( )G sâ˛
( )H s
( )A s( )R sâ˛0( )T s
( )T s
Figura 1.2: Generico schema a blocchi di un controllo di un impianto con elementilinearizzati.
Si puoĚ notare che nella Figura 1.1 i segnali sono da intendersi definiti nel tempo,mentre in Figura 1.2, si usano invece le trasformate di Laplace degli stessi e nei
5
blocchi compaiono funzioni della variabile complessa s = Ď + jĎ, dette funzioni ditrasferimento o fdt. CioĚ eĚ possibile in quanto si eĚ proceduto alla linearizzazionedellâimpianto e, di conseguenza, ogni blocco si puoĚ ora rappresentare come un sistemadinamico lineare tempo-invariante, espresso in variabili di stato, le cui funzioni ditrasferimento sono generiche funzioni razionali fratte, indicate nella Figura 1.2.
Riportiamo di seguito lâelenco delle funzioni di trasferimento indicate nella Figura1.2:
Fdt SignificatoT 0(s) fdt del trasduttore sul riferimentoRâ˛(s) fdt del regolatore o controlloreA(s) fdt dellâattuatoreGâ˛(s) fdt dellâimpianto linearizzatoH(s) fdt tra disturbo e uscita, descrive dinamica del segnale esogeno δdⲠsullâuscitaT (s) fdt del trasduttore di misura
Si definisce funzione dâanello Ga(s) il prodotto delle fdt che si incontrano partendodallâerrore δΡ e percorrendo lâanello di retroazione fino a ritornarvi. Nella trattazioneche segue i segnali verranno sempre considerati scalari e quindi i fattori di un prodottodi fdt possono commutare.
La funzione dâanello si definisce come:
Ga(s) = Gâ˛(s)A(s)Râ˛(s)T (s)
Qualora i segnali fossero vettoriali e quindi le fdt fossero in realtaĚ delle matrici difdt (di dimensioni opportune), lâordine del prodotto andrebbe rigorosamente mante-nuto. I sistemi dove si hanno segnali vettoriali vengono detti Sistemi MIMO (MultipleInput Multiple Output).
Nella trattazione che segue i segnali verranno sempre considerati scalari e in talecaso i fattori di un prodotto di fdt possono commutare. I sistemi dove si hanno segnaliscalari vengono detti Sistemi SISO (Single Input Single Output).
Nella Figura 1.3 eĚ stata operata una rielaborazione della Figura 1.2, spostando iblocchi di trasduzione a monte dei nodi di somma e arretrando la fdt dellâimpiantoverso lâingresso, in modo da ottenere due nodi di somma sul segnale in uscita.
Notiamo che:
1. la fdt T (s) del trasduttore di misura eĚ stata inglobata nella fdt del regolatore;
2. la fdt A(s) dellâattuatore eĚ stata inglobata nella fdt dellâimpianto; volendo, sipoteva inglobarla anche nella fdt del regolatore;
3. eĚ stata usata lâalgebra dei blocchi per spostare a monte dei nodi di somma laT (s), che diventa quindi Tâ1(s).
La funzione dâanello Ga(s) vale ancora
Ga(s) = Gâ˛(s)A(s)Râ˛(s)T (s)
Nella Figura 1.4 eĚ stata operata una ulteriore semplificazione della Figura 1.3,come descritto nel seguito:
6
Figura 1.3: Schema a blocchi della Figura 1.2 rielaborato.
1. poicheĚ la fdt del trasduttore di misura T (s) e la fdt del trasduttore del riferi-mento T 0(s) sono spesso identiche, eĚ stato posto T 0(s)Tâ1(s) = I;
2. il segnale di disturbo sullâattuatore dA(s) eĚ stato considerato nullo;
3. il segnale di riferimento w(s) viene indicato con il simbolo r(s).
+
â
e u
+
+
( )G s( )C sr
d+
ân
y+
â
e u
+
+
( )G s( )C sr
d+
ân
y
Figura 1.4: Schema a blocchi della Figura 1.3 rielaborato.
La funzione dâanello Ga(s) vale ora
Ga(s) = C(s)G(s) (1.1)
dove C(s) = T (s)Râ˛(s) e G(s) = A(s)Gâ˛(s).Nei testi di controlli automatici la fdt C(s) del controllore viene indicata anche con
i simboli Gc(s) oppure R(s); tuttavia nel seguito useremo esclusivamente la notazioneC(s).
Osservando la Figura 1.4, possiamo notare che esistono tre segnali o variabili cheentrano nel sistema (dette anche variabili esogene):
7
⢠il riferimento r(s);⢠il rumore di misura n(s);⢠il disturbo sullâuscita d(s).
Solo il riferimento r eĚ manipolabile dal progettista del controllo, mentre gli altri duesono segnali non manipolabili.
Analogamente, tre sono i segnali che rivestono interesse per le specifiche di con-trollo, ossia:
⢠lâerrore e(s) = r(s)â y(s) tra riferimento e misura;⢠il segnale di comando, u(s), elaborato dal controllore C(s);⢠lâuscita y(s), che eĚ il segnale che vogliamo controllare.EĚ possibile scrivere in forma matriciale le relazioni tra ingressi e uscite:
y(s)u(s)e(s)
=
Geq(s) S(s) âGeq(s)Q(s) âQ(s) âQ(s)S(s) âS(s) Geq(s)
r(s)d(s)n(s)
(1.2)
dove si sono definite le seguenti fdt (per sistemi SISO):
⢠funzione di sensitivitaĚ complementare o funzione (di trasferimento)equivalente o funzione (di trasferimento) ad anello chiuso:
Geq(s) =y(s)r(s)
=C(s)G(s)
1 + C(s)G(s)=
Ga(s)1 + Ga(s)
(1.3)
⢠funzione di sensitivitaĚ
S(s) =e(s)r(s)
=1
1 + C(s)G(s)=
11 + Ga(s)
(1.4)
⢠funzione di sensitivitaĚ del controllo o del comando
Q(s) =u(s)r(s)
=C(s)
1 + C(s)G(s)=
C(s)1 + Ga(s)
= Geq(s)G(s)â1 = C(s)S(s) (1.5)
Osserviamo che lâuscita y dipende dalle tre variabili esogene nel modo seguente:
y(s) = Geq(s)r(s)âGeqn(s) + S(s)d(s); (1.6)
la variabile di comando risulta invece essere:
u(s) = Q(s)r(s)âQ(s)d(s)âQ(s)n(s), (1.7)
mentre lâerrore vale:
e(s) = S(s)r(s)â S(s)d(s) + Geq(s)n(s). (1.8)
8
Notiamo dalle (1.3) e (1.4) che esiste tra le fdt Geq(s) e S(s) il vincolo
Geq(s) + S(s) = 1 + j0 (1.9)
e quindi non eĚ possibile assegnare indipendentemente Geq(s) e S(s) mediante il pro-getto del controllore C(s), in quanto il progetto di una fdt influenza lâaltra e occorrebilanciare i loro effetti, come vedremo meglio in seguito.
Ad esempio, se volessimo garantire il perfetto inseguimento, per ogni pulsazioneĎ, del riferimento r da parte dellâuscita y, dovremmo porre
y(jĎ) = r(jĎ) â Geq(jĎ) = 1, âĎ; (1.10)
ma cosĚÄą facendo risulterebbeS(jĎ) = 0, âĎ. (1.11)
Questâultima condizione garantisce certamente lâattenuazione perfetta dellâeffetto deldisturbo d sullâuscita (equazione (1.6)), ma non garantisce invece nessuna attenua-zione del disturbo di misura n sia sullâuscita y sia sullâerrore e (equazioni (1.6) e(1.8)).
Inoltre, dalla (1.5), risulterebbe che
Q(jĎ) = Gâ1(jĎ), âĎ. (1.12)
Prima di commentare il significato di questa relazione, ricordiamo alcune proprietaĚdelle funzioni razionali fratte.
Funzioni razionali fratte Dati due polinomi in s, N(s) e D(s), rispettivamentedi grado Ď(N) e Ď(D), si dice che la funzione razionale fratta
G(s) =N(s)D(s)
eĚ strettamente propria se Ď(D) > Ď(N), mentre eĚ propria se Ď(D) ⼠Ď(N); ricordiamoanche che, se non si hanno cancellazioni tra le radici del denominatore (poli) e delnumeratore (zeri), Ď(D) eĚ uguale al numero di poli (contati con le loro molteplicitaĚ)del sistema dinamico lineare rappresentato dalla G(s), mentre il numero di zeri eĚ datoda Ď(N).
Ricordiamo poi che il grado del prodotto tra due polinomi, Ď(N1N2) eĚ uguale allasomma dei gradi Ď(N1N2) = Ď(N1)+Ď(N2), mentre il grado di una somma di polinomiĎ(N1 +N2) eĚ uguale al massimo grado dei termini, Ď(N1 +N2) = max {Ď(N1), Ď(N2)}.
Ricordiamo anche che la differenza tra poli e zeri (lâeccesso poli-zeri) della G(s) eĚdefinito da ν = Ď(D)â Ď(N) e fornisce lâindicazione della pendenza del diagramma diBode (approssimato) della G(s) =
N(s)D(s)
per Ď ââ, che vale âν 20dB/dec.
Tutto cioĚ premesso, ritorniamo a commentare i vincoli sul progetto posti dallaequazione (1.12).
Nellâipotesi molto ragionevole che G(s) sia strettamente propria, in quanto si trattadella fdt di un sistema fisico, dove si ha sempre attenuazione crescente dei segnali adalta frequenza, segue che in (1.12)
âŁâŁGâ1(jĎ)âŁâŁ = |Q(s)| cresce al crescere di Ď. Allora,
9
per Ď sufficientemente elevati, lâattivitaĚ del comando risulta significativa, in contrastocon una delle specifiche di progetto, che eĚ quella di avere invece una limitata attivitaĚdel comando, come vedremo piuĚ in dettaglio nel seguito.
Inoltre, essendo la G(s) =NG(s)DG(s)
strettamente propria ed il compensatore C(s) =
NC(s)DC(s)
proprio (basta che sia soltanto proprio per essere fisicamente realizzabile come
sistema causale), la funzione dâanello Ga risulta strettamente propria
Ga =Na(s)Da(s)
=NC(s)NG(s)DC(s)DG(s)
, (1.13)
come pure strettamente propria risulta, dalla (1.3), la Geq(s)
Geq =Neq(s)Deq(s)
=NC(s)NG(s)
NC(s)NG(s) + DC(s)DG(s), (1.14)
mentre propria risulta la S(s), essendo
S(s) =NS(s)DS(s)
=DC(s)DG(s)
NC(s)NG(s) + DC(s)DG(s). (1.15)
Ne segue che Geq(jĎ) â 0, per Ď ââ, mentre S(jĎ) â 1 e quindi le specifiche (1.10)e (1.11) non sarebbero comunque soddisfatte.
1.2 Specifiche di Progetto
Nel seguito verranno brevemente riassunte le specifiche di progetto, la cui trattazionesegue da vicino il testo [1].
Le specifiche di progetto fissano i requisiti che il sistema deve possedere una voltache sia stato controllato, e quindi impongono vincoli e caratteristiche alle funzioni ditrasferimento da progettare o risultanti dal progetto, ossia le funzioni Geq(s), S(s) eQ(s).
Le specifiche di progetto piuĚ comuni sono:
S1: stabilitaĚ nominale;
S2: stabilitaĚ robusta;
S3: precisione statica;
S4: precisione dinamica;
S5: attenuazione dellâeffetto del disturbo d;
S6: attenuazione dellâeffetto del rumore n;
S7: moderazione dellâattivitaĚ del comando;
S8: realizzabilitaĚ del controllore.
Esaminiamole ora brevemente una ad una.
10
1.2.1 StabilitaĚ nominale
Prima di procedere, ricordiamo brevemente i parametri di progetto che possono in-fluenzare la stabilitaĚ di un impianto, facendo riferimento allo schema semplificato conreazione unitaria presentato nella Figura 1.5.
+
â( )aG s
( )e s( )r s ( )y s+
â( )aG s
+
â( )aG s
( )e s( )r s ( )y s
Figura 1.5: Generico schema a blocchi di un sistema a retroazione unitaria.
Pulsazione di cross-over o critica. In generale si definisce pulsazione critica Ďcla pulsazione per cui si ha il primo attraversamento (dallâalto verso il basso)del diagramma di Bode della |Ga(jĎ)|dB con lâasse orizzontale a 0 dB. Ne segueovviamente che |Ga(jĎc)| = 1. Questa definizione vale solo per sistemi che hannotutte le singolaritaĚ (poli e zeri) nel semipiano complesso di sinistra.
Margine di fase. Data la fdt dâanello Ga(s) e la relativa pulsazione di cross-overĎc, si definisce margine di fase Ďm la differenza (con segno), misurata in gradi,tra 180⌠e il valore assoluto della fase di Ga(jĎc), ossia
Ďm = 180⌠â |Ďc| dove Ďc = â Ga(jĎc) (1.16)e |Ga(jĎc)| = 1
La relazione esatta tra margine di fase Ďm e smorzamento Îś si puoĚ calcola-re nellâipotesi lâapprossimazione che il sistema comprenda una coppia di polidominanti
y(s)u(s)
= KĎ2n
s2 + 2ÎśĎns + Ď2n+ ¡ ¡ ¡
di Geq(s), valex (1.17)
Esiste anche una relazione approssimata (vedi [1]) che vale
Îś =Ďm2
Ď
180âŚ' Ďm
100â Ďm ' 100Îś (1.18)
Margine di guadagno. Data la fdt dâanello Ga(s), si definisce margine di guadagnokm lâinverso del modulo di Ga(s) calcolato alla pulsazione ĎĎ, dove ĎĎ eĚ lapulsazione per cui la fase di Ga(s) vale 180âŚ. Ovvero:
km =1
|Ga(jĎĎ)| dove â Ga(jĎĎ) = 180⌠(1.19)
11
Ritardo. Consideriamo la Figura 1.6, dove abbiamo introdotto un generico ritardodi Ď secondi in serie alla fdt Ga(s); il blocco del ritardo non eĚ rappresentabile dauna funzione polinomiale fratta; si osserva che la fdt di un ritardo, G(s) = eâĎs
ha modulo e fase che godono delle seguenti proprietaĚ:âŁâŁeâjĎĎ âŁâŁ = 1, âĎâ eâjĎĎ = âĎĎ, in radiantiâ eâjĎĎ = âĎĎ 180âŚ/Ď, in gradi (1.20)
+
â( )aG sse Ďâ
Figura 1.6: Generico schema a blocchi di un sistema a retroazione unitaria con ritardodi Ď secondi.
Un ritardo quindi non attenua il segnale, ma provoca una perdita di fase pro-porzionale al tempo di ritardo Ď e crescente con la pulsazione.
La fdt G(s) = eâĎs non eĚ razionale in s, ma se ne puoĚ trovare unâapprossimazionerazionale secondo il metodo di PadeĚ del primâordine, come segue:
G1(s) =1â 0.5Ďs1 + 0.5Ďs
. (1.21)
Possiamo ora enunciare alcune semplici regole di progetto per garantire la stabilitaĚnominale.
La stabilitaĚ del sistema in condizioni nominali eĚ garantita se sono rispettati ilcriterio di Nyquist e il criterio di Bode.
Criterio di Nyquist â consideriamo la fdt dâanello Ga(s); sia nP il numero di polinel semipiano complesso di destra (con parte reale maggiore di zero), e N ilnumero di giri compiuti dal diagramma di Nyquist di Ga(s) intorno al puntoâ1+j0 (conteggiati positivamente se compiuti in senso antiorario, negativamentese compiuti in senso orario). Allora, vale il seguente teorema:
Condizione necessaria e sufficiente per lâasintotica stabilitaĚ (nominale) del siste-
ma reazionato Geq(s) =Ga(s)
1 + Ga(s)eĚ che risulti N = nP .
Va notato che occorre evitare cancellazioni tra poli e zeri di Ga(s) = Na/Daposti nel semipiano di destra, ossia, in generale, tra le radici del polinomio Da equelle del polinomio Na, altrimenti il numero nP puoĚ apparire diverso da quelloche eĚ veramente e portare a conclusioni errate.
Criterio di Bode â consideriamo nuovamente il sistema reazionato di Figura 1.5.Facciamo lâipotesi che:
12
a) Ga(s) non abbia poli con parte reale maggiore di zero (poli instabili), ossianP = 0;
b) il diagramma di Bode del modulo |Ga(jĎ)| attraversi una sola volta lâassea 0 dB.
Allora, indicando con Ka il guadagno stazionario (ossia per Ď â 0) di Ga(s)e con Ďm il margine di fase, condizione necessaria e sufficiente per lâasintotica
stabilitaĚ del sistema reazionato Geq(s) =Ga(s)
1 + Ga(s)eĚ che risulti Ka > 0 e
Ďm > 0âŚ.
Notiamo alcuni aspetti di questo teorema: innanzitutto, se Ga(s) eĚ strettamen-te propria (come visto poco sopra), lâintersezione tra lâasse 0 dB e il modulo|Ga(jĎ)|dB avviene, se unica, dallâalto verso il basso. Inoltre la condizione b)garantisce che sia univocamente definita la pulsazione di cross-over (o pulsazio-ne critica) Ďc, per la quale risulta |Ga(jĎc)| = 1, e di conseguenza che il marginedi fase sia ben definito.
Tutto cioĚ premesso, la stabilitaĚ nominale viene garantita se il progetto del con-trollore impone che il guadagno stazionario Ka di anello (o della funzione dâanello) eil margine di fase Ďm siano entrambi positivi. Ricordiamo che il criterio di Nyquistipotizza che non vi siano cancellazioni tra poli e zeri di Ga(s) e quindi che non visiano cancellazioni tra poli e zeri di C(s) e G(s).
1.2.2 StabilitaĚ robusta
Imponendo la specifica di stabilitaĚ robusta allâimpianto, si vogliono garantire le pro-prietaĚ di stabilitaĚ anche nel caso in cui il modello G(s) dellâimpianto sia approssimato,cosa che risulta sempre vera, poicheĚ lâimpianto da controllare eĚ nonlineare, mentreesso viene modellato con una fdt lineare e vengono trascurate le dinamiche parassite(come la dinamica della parte elettrica del motore e le dinamiche elastiche presenti neigiunti di trasmissione), che nella realtaĚ esistono e che dobbiamo garantire non avereeffetti negativi sul controllo.
Per assicurare un elevato grado di robustezza rispetto alle incertezze strutturali oparametriche del modello dellâimpianto dato da G(s), occorre imporre valori elevati delmargine di fase Ďm e del margine di guadagno km della funzione dâanello Ga(s). Inoltreoccorre non aumentare eccessivamente la pulsazione di cross-over Ďc, per evitare chepossibili ritardi di tempo presenti nel sistema (per effetto di ritardi di misura, ditrasmissione dei dati, di elaborazione dei dati ecc.) possano condurre allâinstabilitaĚ.Infatti, in presenza di un ritardo, dalla (1.20), il margine di fase Ďm calcolato in Ďcviene ridotto di una quantitaĚ pari a ĎĎ = âĎcĎ 180âŚ/Ď.
1.2.3 Precisione statica
La precisione statica misura la capacitaĚ di ottenere un errore trascurabile o nullo trariferimento e uscita al termine del transitorio (errore a regime).
Per ridurre lâerrore a regime eâ in presenza di ingressi a gradino o a rampa, occorreadeguare il tipo della funzione dâanello Ga(s) alle specifiche desiderate, ad esempio
13
aumentandolo a 2 se si richiede un errore nullo a regime per ingressi a rampa, oppureaumentare il guadagno Ka dâanello.
1.2.4 Precisione dinamica
La precisione dinamica misura la capacitaĚ di seguire fedelmente segnali rapidamentevariabili; questa specifica richiederebbe di soddisfare, nel caso ideale, il vincolo datodalla (1.10), che appunto consente di ottenere lâinseguimento perfetto del riferimen-to r(jĎ) da parte dellâuscita y(jĎ) per qualunque pulsazione Ď. CioĚ richiederebbeappunto Geq(jĎ) = 1, âĎ.
Tuttavia il criterio di stabilitaĚ di Bode pone alcune restrizioni sulla forma dellaGeq(jĎ); infatti, lâattraversamento dallâalto verso il basso dellâasse a 0 dB del diagram-ma di Bode di |Ga(jĎ)| alla pulsazione Ďc, implica che sia |Ga(jĎ)| > 1 per Ď < Ďc e|Ga(jĎ)| < 1 per Ď > Ďc.
PoicheĚ |Geq(jĎ)| = Ga(jĎ)1 + Ga(jĎ) , le implicazioni precedenti portano a riteneresoddisfatta la seguente approssimazione:
|Geq(jĎ)| '{
1 per Ď â¤ Ďc|Ga(jĎ)| per Ď > Ďc. (1.22)
Lâapprossimazione eĚ migliore
⢠quanto piuĚ |Ga(jĎ)| Ă 1, e cioĚ eĚ tanto piuĚ vero se Ď Âż Ďc⢠|Ga(jĎ)| Âż 1 per Ď > Ďc e cioĚ eĚ tanto piuĚ vero se Ď Ă Ďc .
Nellâintorno della pulsazione Ďc la (1.22) eĚ molto imprecisa e occorre verificare ilcomportamento di |Geq(jĎ)| per non avere sorprese.
Comunque, quanto visto ci assicura che il requisito (1.10) sia verificato almenofino a Ďc e quindi segue che la precisione dinamica aumenta allâaumentare della bandapassante del sistema controllato.
Per rispettare questa specifica occorre quindi aumentare la pulsazione di cross-overĎc di Ga(s).
Nello stesso tempo occorre diminuire le sovraelongazioni della risposta ai segnalicanonici, come il gradino, la rampa, la parabola ecc.; questo si puoĚ ottenere aumen-tando lo smorzamento della coppia di poli dominanti di Geq(s). Dalla espressioneapprossimata (1.18), si deduce che cioĚ equivale a richiedere un margine di fase Ďmrelativamente elevato.
Occorre qui ricordare che i parametri che misurano la velocitaĚ di risposta, come iltempo di salita Ts, il tempo di assestamento Ta e la sovraelongazione massima S%,validi in modo esatto per la risposta a gradino di sistemi del secondâordine privi dizeri, possono essere approssimativamente utilizzati anche per sistemi di ordine piuĚelevato, purcheĚ si riferiscano tali parametri alla coppia di poli dominanti della Geq(s)e forniscano solo limiti inferiori a Ďc e Ďm.
Si veda lâAppendice A per la caratterizzazione dei sistemi del secondâordine.
14
1.2.5 Attenuazione dellâeffetto del disturbo d
Come risulta dalle relazioni (1.6) e (1.8), il disturbo d agisce sullâuscita y e sullâer-rore e attraverso la funzione di sensitivitaĚ S(s); pertanto eĚ questâultima che occorreprogettare in modo adeguato per attenuare lâeffetto del disturbo.
Considerando che, come visto per la specifica precedente, possiamo ipotizzare|Ga(jĎ)| Ă 1 per Ď < Ďc e |Ga(jĎ)| Âż 1 per Ď > Ďc, ne consegue che:
|S(jĎ)| = 1|1 + Ga(jĎ)| '
1|Ga(jĎ)| per Ď â¤ Ďc
1 per Ď > Ďc(1.23)
Occorre percioĚ fare in modo che |Ga(jĎĚ)| Ă 1 per quellâintervallo di pulsazioni ĎĚ in cuiil disturbo ha uno spettro di potenza significativo, in modo da ottenere |S(jĎĚ)| Âż 1.
EĚ infine opportuno sottolineare che il vincolo (1.9) va inteso valere contempora-neamente in modulo e fase, quindi
|Geq(jĎ) + S(jĎ)| = 1â (Geq(jĎ) + S(jĎ)) = 0âŚ
(1.24)
e che il modulo di una somma NON eĚ generalmente uguale alla somma dei moduli ecosĚÄą pure per la fase di una somma.
Inoltre, come giaĚ accennato discutendo la specifica di precisione dinamica, occorreverificare con attenzione il comportamento di Geq(jĎ) e S(jĎ) in corrispondenza allapulsazione critica Ďc, dove le approssimazioni introdotte potrebbero non essere valide.
1.2.6 Attenuazione dellâeffetto del rumore n
Come risulta dalla relazioni (1.6) e (1.8), il rumore n agisce sullâuscita y e sullâerroree attraverso la funzione di sensitivitaĚ complementare Geq(s); questâultima eĚ la stessafdt che vorremmo seguisse le specifiche di perfetto inseguimento indicate nella (1.10),in contrasto con le specifiche di attenuazione introdotte al punto precedente.
PoicheĚ si puoĚ assumere con una certa sicurezza che le componenti principali dellospettro del rumore n siano prevalentemente localizzate alle alte frequenze, eĚ sufficienteimporre un vincolo sul valore massimo della pulsazione di cross-over Ďc, oltre la qualela Geq(s) diminuisce rapidamente.
Si puoĚ pensare di aumentare questo effetto forzando nella Geq(s) un eccesso poli-zeri superiore a uno e quindi facendola piuĚ rapidamente decrescere alle alte frequenze.
1.2.7 Moderazione dellâattivitaĚ del comando
Dalla relazione (1.7) appare che ridurre lâattivitaĚ del comando significa ridurre glieffetti della funzione di sensitivitaĚ del controllo
Q(s) =C(s)
1 + C(s)G(s)= Geq(s)G(s)â1 = C(s)S(s),
almeno nellâintervallo di pulsazioni per cui il riferimento r, il disturbo d e il rumoren hanno componenti significative.
15
Sfortunatamente i segnali r e d hanno componenti significative prevalentementealle basse frequenze, mentre n ha prevalentemente componenti ad alta frequenza.
Per questo motivo occorre che il modulo |Q(jĎ)| sia sufficientemente basso a tuttele pulsazioni Ď.
Inoltre, essendo Q(s) =NCDG
NCNG + DCDG=
NCDGNa + Da
, si puoĚ osservare dalla (1.14)
che i poli di Q(s) sono gli stessi poli di Geq(s), mentre gli zeri di Q(s) sono lâinsiemedegli zeri di C(s) e dei poli dellâimpianto G(s).
Lâeffetto degli zeri sulla risposta al gradino di un sistema con una coppia di polidominanti (e quindi approssimativamente del secondâordine) si puoĚ riassumere nelmodo seguente. Chiamando yâ˛(t) la risposta al gradino di una fdt con una coppia dipoli dominanti e priva di zeri
Gâ˛(s) =k2Ď
2n
s2 + 2ÎśĎns + Ď2n,
la risposta al gradino della fdt con uno zero aggiunto
G(s) =k2Ď
2n(1 + Ďzs)
s2 + 2ÎśĎns + Ď2n= Gâ˛(s)(1 + Ďzs)
saraĚ:
y(t) = yâ˛(t) + Ďzdyâ˛(t)
dt.
Quindi, al segnale yâ˛(t) si aggiungeraĚ un effetto proporzionale alla derivata di yâ˛(t),attraverso la costante di tempo Ďz; quanto piuĚ Ďz eĚ grande (ossia lo zero eĚ a bassafrequenza), tanto piuĚ questo effetto eĚ marcato, e viceversa per uno zero ad alta fre-quenza, che produce quindi un effetto trascurabile. Per approfondimenti, si consigliadi consultare [1, pagg. 122-123].
Quanto descritto impone che gli zeri di C(s) non siano collocati a frequenze troppobasse per non indurre comportamenti troppo sovraelongati allâattivitaĚ del comando.
Dâaltro canto, consideriamo il modulo |Q(jĎ)|:
|Q(jĎ)| = âŁâŁGeq(jĎ)Gâ1(jĎ)âŁâŁ = |C(jĎ)S(jĎ)| (1.25)
PoicheĚ per Ď â¤ Ďc si ha |Geq(jĎ)| ' 1 e per Ď > Ďc si ha |S(jĎ)| ' 1, otteniamo
|Q(jĎ)| '
1|G(jĎ)| per Ď â¤ Ďc
|C(jĎ)| per Ď > Ďc(1.26)
Da tutto cioĚ discende che il comportamento a bassa frequenza della Q(s) non eĚ mo-dificabile, in quanto dipende essenzialmente dallâimpianto attraverso lâinversa dellasua fdt G(s), che eĚ data, mentre il comportamento ad alta frequenza dipende dalcomportamento in alta frequenza del controllore C(s), che quindi occorre limitare perlimitare lâattivitaĚ del comando. Per approfondimenti, si consiglia di consultare [1,pagg. 347â349].
16
1.2.8 RealizzabilitaĚ del controllore
La realizzabilitaĚ fisica del controllore impone che la fdt C(s) =NC(s)DC(s)
sia almeno
propria, se non strettamente propria, ossia Ď(NC) ⤠Ď(Dc).PoicheĚ dalla Ga(s) = C(s)G(s) abbiamo
C(s) = Ga(s)Gâ1(s) =NC(s)DC(s)
=NaDGDaNG
,
occorre che siaĎ(Na) + Ď(DG) ⤠Ď(Da) + Ď(NG),
cioeĚĎ(Da)â Ď(Na) ⼠Ď(DG)â Ď(NG)
e quindi ν(Ga) ⼠ν(G).CioĚ porta, in definitiva, a dover fissare un eccesso poli-zeri della funzione dâanello
Ga non inferiore a quella dellâimpianto G.
17
Capitolo 2
Reti di compensazione
Nel seguito sono elencate le caratteristiche delle reti di compensazione derivative eintegrative e successivamente delle reti PID. Queste reti sono tra quelle piuĚ comu-nemente utilizzate per il controllo dei robot che adottano unâarchitettura a giuntiindipendenti.
2.1 Rete derivativa
Una rete derivativa, detta anche rete anticipatrice (in inglese phase-lead compensator)eĚ un compensatore descritto dalla seguente fdt:
Cd(jĎ) = Kd(jĎ + zd)(jĎ + pd)
= K â˛d(1 + jĎĎd)(1 + jĎ
ĎdÎą
) , con ι ⼠1 (2.1)
Come si nota dalla (2.1), una volta fissata la posizione zd dello zero (ovvero dellasua costante di tempo Ďd), il polo pd viene posto a una pulsazione Îą volte maggiore,tale che pd = Îązd.
La rete derivativa ha lo scopo di introdurre un anticipo di fase in corrispondenzadella pulsazione di cross-over Ďc; aumentando il valore del parametro Îą, lâanticipo difase tende a 90âŚ, ma questo provoca unâamplificazione eccessiva del modulo alle altefrequenze.
Un buon compromesso tra le due esigenze si ha ponendo 6 ⤠ι ⤠10.Per ι = 1 la rete comporta la cancellazione tra lo zero e il polo e quindi si riduce
ad un semplice compensatore proporzionale, mentre per Îą â â il compensatore sitrasforma in una rete PD (caso particolare di compensatore PID, che vedremo nelParagrafo successivo).
Nella Figura 2.1 sono riportati i diagrammi di modulo e fase della rete derivativa(2.1) al variare del parametro Îą. Il massimo guadagno di fase eĚ pari a Ďm, dove
Ďm = arcsinÎąâ 1Îą + 1
e tale guadagno avviene alla pulsazione Ďm, media geometrica tra zd e pd
Ďm =â
zdpd =1
Ďdâ
Îą
18
0
5
10
15
20
Mod
ulo
norm
aliz
zato
10â1
100
101
102
0
10
20
30
40
50
60
Fas
e (g
radi
)
Îą =3Îą = 2
Îą = 4Îą = 5
Îą =8
Îą = 6Îą =7
Îą = 6Îą =7
Îą =8
Îą = 2Îą =3
Îą = 4Îą = 5
ĎĎ
Figura 2.1: Diagramma di modulo e fase della rete derivativa, al variare del parametroÎą. In ascissa la variabile normalizzata ĎĎd; lo zero zd si trova in ĎĎd = 1.
Il guadagno di fase eĚ in funzione del parametro Îą eĚ riportato nel grafico di Figura 2.2
2.1.1 Caratteristiche complessive
La rete derivativa viene utilizzata per aggiungere fase positiva intorno alla frequenzadi cross-over Ďc.
EffettiAumenta la banda passante del sistema controllato.Aumenta il guadagno ad alta frequenza.
VantaggiMigliora la risposta dinamica.
SvantaggiAllarga la banda e quindi la sensitivitaĚ al rumore.
EĚ utilizzabileQuando si desidera una risposta rapida in transitorio.
19
0 2 4 6 8 10 12 14 16 18 200
10
20
30
40
50
60
70
Îą
Ď m (
grad
i)
Figura 2.2: Diagramma del guadagno di fase Ďm della rete derivativa, al variare delparametro Îą.
Non eĚ utilizzabileQuando la fase della fdt dellâimpianto descresce rapidamente in prossimitaĚ dellafrequenza di crossover.
2.2 Rete integrativa
Una rete integrativa, detta anche rete ritardatrice (in inglese phase-lag compensator)eĚ un compensatore descritto dalla seguente fdt
Ci(jĎ) = Ki(jĎ + zi)(jĎ + pi)
= K â˛i
(1 + jĎ
ĎiÎą
)
(1 + jĎĎi), con Îą ⼠1 (2.2)
Come si nota dalla (2.2), una volta fissata la posizione del polo pi (ovvero dellasua costante di tempo Ďi), lo zero zi viene posto a frequenza Îą volte maggiore, taleche zi = Îąpi.
La rete integrativa puoĚ essere utilizzata in due modi diversi:
1. si dispone il polo e lo zero in modo tale da aumentare il modulo della Ga(s)alle basse frequenze, lasciandolo invariato alle alte frequenze. In questo modo sitende a migliorare la precisione statica o a garantire una maggiore attenuazionedelle componenti a bassa frequenza del disturbo d, ottenuta attraverso unadiminuzione del modulo della funzione di sensitivitaĚ S(s);
2. si dispone il polo e lo zero in modo tale da diminuire il modulo della Ga(s)alle frequenze medio-alte, lasciandolo invariato alle basse frequenze, in modoche lâattraversamento dellâasse a 0 dB avvenga ad una pulsazione Ďc minore equindi con margine di fase piuĚ favorevole.
20
La rete integrativa introduce peroĚ uno sfasamento negativo (ritardo di fase), ero-
dendo il margine di fase, che raggiunge il valore minimo per ĎĚ =â
Îą
Ďi. EĚ quindi
opportuno scegliere ĎiĎc Ă 1, in modo che lâerosione del margine di fase sia limitata.Nella Figura 2.1 sono riportati i diagrammi di modulo e fase della rete (2.1) al
variare del parametro Îą.
â20
â15
â10
â5
0
Mod
ulo
norm
aliz
zato
10â1
100
101
102
â60
â50
â40
â30
â20
â10
0
Fas
e (g
radi
)
ĎĎ
Îą = 2Îą =3
Îą = 4Îą = 5 Îą = 6
Îą =7Îą =8
Îą =8Îą =7
Îą = 6Îą = 5
Îą = 4Îą =3
Îą = 2
Figura 2.3: Diagramma di modulo e fase della rete derivativa, al variare del parametroÎą. In ascissa la variabile normalizzata ĎĎi; il polo pi si trova in ĎĎi = 1.
2.2.1 Caratteristiche
La rete integrativa viene utilizzata per diminuire il modulo della Ga(s), in modo che lapulsazione di cross-over Ďc diminuisca. Alternativamente viene usata per aumentareil modulo della Ga(s) a paritaĚ di Ďc per diminuire il modulo della sensitivitaĚ S(s).
EffettiDiminuisce la sensitivitaĚ alle basse frequenze, mantenendo la posizione dei polidominanti, ovvero il margine di fase. Diminuisce la banda passante del sistemacontrollato. Aumenta il guadagno della Ga(s) alle basse frequenze.
VantaggiRiduce lâerrore a regime.Riduce il rumore ad alta frequenza.
21
SvantaggiRallenta la risposta in transitorio.
EĚ utilizzabileQuando bisogna rispettare le specifiche di errore a regime senza cambiare la Ďc.
Non eĚ utilizzabileQuando non esiste un intervallo a bassa frequenza in cui il valore della fasepermette di ottenere il margine di fase richiesto.
2.3 Compensatori PID
I compensatori o regolatori PID, cosĚÄą chiamati percheĚ esercitano unâazione Propor-zionale, Integrale e Derivativa, sono idealmente composti da un parallelo di tre con-trollori, il primo che esercita lâazione proporzionale, il secondo lâazione derivativa e ilterzo lâazione integrativa, come schematizzato nella Figura 2.4.
+
â
y
r e
( )PC s
( )IC s
( )DC s
++
+
u
Figura 2.4: Schema a blocchi di compensatore PID.
Questo compensatore genera una variabile di comando u(s) che eĚ la somma deicontributi dei tre compensatori:
u(s) = (CP (s) + CI(s) + CD(s)) e(s).
Come accennato, i compensatori sono progettati per produrre unâazione proporziona-le, integrale o derivativa, ossia:
CP (s) = KP
CI(s) =KIs
; spesso indicata come1
TIs
CD(s) = KDs spesso indicata come TDs.
22
Nel tempo la variabile di comando risulteraĚ data da:
u(t) = KP e(t) + KI⍠t
t0
e(Ď)dĎ + u(t0) + KDde(t)dt
e in trasformate di Laplace come:
u(s) = CPID(s)e(s),
dove
CPID(s) = CP (s) + CI(s) + CD(s) =NPID(s)DPID(s)
=
=KDs
2 + KP s + KIs
=(s + z1)(s + z2)
s. (2.3)
Come si vede, la funzione di trasferimento CPID(s) del compensatore PID idealenon eĚ causale, in quanto lâordine del numeratore supera lâordine del denominatore.
Nella pratica eĚ quindi necessario modificare la fdt in (2.3) per costruire una fdtpropria o strettamente propria.
Questo lo si ottiene aggiungendo uno o piuĚ poli di chiusura; si tratta di poli postiad una pulsazione sufficientemente elevata da non cancellare le caratteristiche positivedella rete in termini, ad esempio, di margine di fase e banda passante, ma non troppoelevata da produrre una eccessiva attivitaĚ del comando o una banda passante troppoelevata.
La decisione di introdurre un solo polo di chiusura oppure piuĚ di uno dipendeda considerazioni di progetto robusto, derivanti in parte dallâanalisi delle specifichediscusse nei punti precedenti, in parte dai vincoli posti dalle dinamiche dellâimpiantotrascurate nel modello, ad esempio le dinamiche parassite elastiche poco smorzate.
Aggiungendo i poli di chiusura, la fdt della parte derivativa del compensatorerisulta essere
CâD(s) =KDsân
i=1(1 + Ďcis),
dove sono genericamente previsti n poli di chiusura ad alta frequenza con costanti ditempo Ďci.
Se consideriamo un solo polo di chiusura la nuova fdt CâPID(s) risulta ora:
CâPID(s) =(KD + ĎcKP )s2 + (KP + ĎcKI)s + KI
Ďcs2 + s=
(s + zâ˛1)(s + zâ˛2)
s(s + p1). (2.4)
Confrontando la (2.4) con la (2.3) osserviamo che la fdt (2.4) eĚ ora propria, ma rispettoalla (2.3) sono cambiati gli zeri.
Un altra avvertenza, da usarsi nella pratica, eĚ la seguente: poicheĚ la fdt CD(s)dellâazione derivativa eĚ posta dopo il nodo di differenza tra il riferimento r e la misuray, puoĚ accadere che una brusca variazione del riferimento, ad esempio per variazioni agradino di questâultimo, porti ad un impulso nella derivata e quindi ad una saturazionedel segnale di comando u.
Appare percioĚ piuĚ indicato inserire lâazione derivativa a monte del nodo sommato-re; va notato, a questo proposito, che la misura y, essendo lâuscita di un impianto che
23
ha comunque le caratteristiche di filtro passa-basso, non dovrebbe contenere variazio-ni improvvise di notevole ampiezza e quindi risulta meno âpericolosoâ calcolarne laderivata. Lo schema a blocchi di questa soluzione eĚ rappresentato in Figura 2.5.
+
â
y
r e
( )PC s( )PC s
( )IC s( )IC s
( )DC sⲠ( )DC sâ˛
++
+
u
Figura 2.5: Schema a blocchi di un compensatore PID, con azione derivativa limitataalla sola uscita y.
Ovviamente tale soluzione non eĚ identica a quella ottenibile con lo schema prece-dente di Figura 2.4; tuttavia, da una semplice manipolazione dei rispettivi schemi ablocchi, completi della G(s) dellâimpianto, del segnale di disturbo d e con il rumoren = 0, utilizzando lo schema completo di Figura 2.4 risulta:
y(s) =CâPIDG(s)
1 + CâPIDG(s)r(s) +
11 + CâPIDG(s)
d(s)
u(s) =CâPID
1 + CâPIDG(s)r(s)â C
âPID
1 + CâPIDG(s)d(s)
mentre, utilizzando lo schema modificato di Figura 2.5, risulta:
y(s) =CPIG(s)
1 + CâPIDG(s)r(s) +
11 + CâPIDG(s)
d(s)
u(s) =CPI
1 + CâPIDG(s)r(s)â C
âPID
1 + CâPIDG(s)d(s)
dove la CâPID eĚ quella indicata in (2.4), mentre la CPI, che esercita solo lâazioneproporzionale e derivativa, vale:
CPI =KP s + KI
s
Come si puoĚ notare, cambia soltanto lâeffetto del riferimento r sullâuscita y e sulsegnale di comando u, modificandosi solamente gli zeri delle rispettive fdt.
Vederemo ora come sia possibile utilizzare solo alcune parti del compensatore,ottenendo compensatori PD o PI.
24
2.3.1 Compensatore PD
Si pone KI = 0, ottenendo
CPD(s) = KP + KDs = KP (1 + sTD) con TD =KDKP
Aggiungendo un polo di chiusura ad alta frequenza o comunque fuori dalla bandadâinteresse, si ottiene la rete derivativa descritta in (2.1).
2.3.2 Compensatore PI
Si pone KD = 0 ottenendo
CPI(s) = KP +KIs
=sKP + KI
s= KP
1 + TIsTIs
con TI =KPKI
.
Oltre allâazione integrale si ha uno zero che consente di aumentare la banda passante.
2.4 Controllo in feedforward
Con il termine feedforward si intende caratterizzare uno schema di controllo che pre-vede lâintroduzione di un filtro F (s) a monte del riferimento r. Lâintroduzione di talefiltro puoĚ svolgere diverse funzioni, tra cui quella di cancellare eventuali zeri del com-pensatore C(s) e/o migliorare le prestazioni dinamiche della risposta tra riferimentoe uscita. In tale caso il progetto prende il nome di progetto a due gradi di libertaĚ,in quanto due sono le fdt da progettare: il compensatore C(s) e il filtro sullâingressoF (s),
Nel caso di semplice feedforward, presentato qui e schematizzato in Figura 2.6,lâobbiettivo eĚ quello di rendere lâuscita y quanto piuĚ simile alla variabile ausiliaria diriferimento desiderato rd. Per fare questo eĚ necessario che risulti F (s)Geq(s) = 1, âĎe quindi
F (s) =1 + C(s)G(s)
C(s)G(s)= 1 +
1C(s)G(s)
= 1 + Gâ1a (s)
I segnali che attraversano il blocco Gâ1a (s) vengono successivamente moltiplicati perC(s), dando origine a
u(s) = F (s)C(s)rd(s) =(C(s) + Gâ1(s)
)rd(s),
per cui lo schema a blocchi puoĚ venire modificato nel modo illustrato in Figura 2.7.In questo caso si puoĚ dare un significato fisico al segnale additivo (di feedforward) uf ,che si somma al segnale generato dal compensatore, interpretandolo come un segnaledi coppia ânominaleâ che, in presenza del modello nominale, avrebbe generato lâuscitadesiderata.
Questo schema di controllo presenta due caratteristiche negative. La prima con-siste nella necessitaĚ di conoscere esattamente la struttura e i parametri della fdtdellâimpianto G(s); in caso contrario la compensazione in avanti genera dei segnali
25
+
â
â+
( )C s ( )G sâ
+ yuer
n d
( )F sdr
Figura 2.6: Schema a blocchi di un compensatore con filtro sul riferimento.
+
â
( )C s( )C s ( )G syuerdr
1( )âG s
++
fu
Figura 2.7: Schema a blocchi di un compensatore in feedforward, avendo trascuratoil rumore n e il disturbo d.
che sono solo approssimativamente legati ai segnali necessari a generare lâuscita de-siderata; tuttavia questa caratteristica non crea problemi troppo gravi, in quanto ilcontrollo in retroazione, sempre presente, si incarica dei correggere gli eventuali errori.
La seconda caratteristica consiste nel dover utilizzare un filtro Gâ1(s) per gene-rare il segnale uf . Questo filtro eĚ sicuramente improprio e quindi non causale, ecomporta la necessitaĚ di eseguire un numero di operazioni di derivazione pari allâor-dine dellâimpianto; anche in questo caso, peroĚ, il fatto di doverle eseguire sul segnaledi riferimento, che di solito si conosce in forma analitica, riduce la problematicitaĚdellâoperazione.
Ad esempio, nel caso di un controllo indipendente ai giunti per robot rigidi, la fdtdel i-esimo motore/braccio eĚ data da
G(s) =1
K â˛Ď(1 + sT )s=
KĎRa
Jts2 + s=
K
Jts2 + βâ˛s
dove K =KĎRa
e βⲠ=K â˛ĎKĎ
Ra. In questo caso
Gâ1(s) =RaKĎ
(Jts2 + βâ˛s)
per cui
uf (t) =RaKĎ
(JtrĚd(t) + βâ˛rĚd(t))
Come si puoĚ vedere, il segnale di feedforward coincide con le coppie inerziali e diattrito che si prevede di dover applicare in funzione dellâaccelerazione e della velocitaĚdesiderate. In questo caso il segnale di accelerazione rĚd(t) e velocitaĚ rĚd(t) desideratesono facilmente calcolabili fuori linea.
26
Appendice A
Sistemi del secondâordine
In questa Appendice si riportano, con brevi commenti, i principali indicatori numericiche caratterizzano la risposta nel tempo e in frequenza di un sistema del secondâordine.Tali indicatori numerici sono utilizzati per stabilire le specifiche di progetto, comeillustrato nei Paragrafi precedenti.
Si fa notare che questi indicatori possono essere utilizzati per sistemi di ordine piuĚelevato, purcheĚ tali sistemi presentino una coppia di poli dominanti e con le opportunecautele dovute alle inevitabili approssimazioni introdotte.
Il sistema del secondâordine considerato in questa Appendice ha la seguente fun-zione di trasferimento:
G(s) =y(s)u(s)
= KĎ2n
s2 + 2ÎśĎns + Ď2n(A.1)
Ricrodiamo che K eĚ il guadagno stazionario (per s â 0) della fdt, Ďn eĚ la pulsazionenaturale o caratteristica e Îś eĚ lo smorzamento.
A.1 Parametri della risposta nel tempo
La risposta nel tempo al gradino unitario u(t) = g(t), per t > 0, della (A.1) risultaessere:
y(t) = K
(1â 1â
1â Îś2 eâÎśĎnt sin
(Ďnt
â1â Îś2 + arccos (Îś)
))
In Figura A.1 eĚ riportata la risposta nel tempo normalizzata y(t)/K di un sistemadel secondâordine con smorzamento Îś variabile da 0.1 a 1. Lâasse delle ascisse eĚ taratorispetto al parameto adimensionale a Ďnt.
I criteri piuĚ comunemente usati per caratterizzare la risposta di un sistema del se-condâordine sono la velocitaĚ di risposta a segnali canonici e la capacitaĚ di inseguimento(con errore limitato) del riferimento sia in condizioni di transistorio, sia in condizionidi regime.
Per quanto riguarda la velocitaĚ di risposta, essa si misura convenzionalmente at-traverso tre parametri: il tempo di salita Ts, il tempo per cui si ha la massimasovraelongazione Tm e il tempo di assestamento TaÎľ.
27
0 2 4 6 8 10 12 14 16 18 200
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
Ďn t
y/k
Îś = 0.1 Îś = 0.2Îś = 0.3 Îś = 0.4
Îś = 0.5
Îś = 0.6Îś = 0.7Îś = 0.8
Îś = 0.9Îś = 1.0
Figura A.1: Risposta nel tempo y(t) di un sistema del secondâordine con guadagnoK = 1 e smorzamento Îś variabile.
Il tempo di salita Ts misura lâintervallo di tempo che trascorre tra lâistante in cuiy(t) raggiunge il 10% di yâ e lâistante in cui raggiunge il 90% di yâ, dove yâ eĚ ilvalore a regime dellâuscita.
Il tempo di massima sovraelongazione Tm misura il tempo per cui si ha il massimoassoluto (sovraelongazione massima) della risposta y(t).
Il tempo di assestamento TaÎľ, a sua volta funzione di un parametro Îľ, indica iltempo oltre il quale la risposta y(t) rimane permanentemente entro una fascia di ¹ξ%intorno al valore di regime yâ.
I tre parametri sono indicati in Figura A.2 e i loro valori obbediscono alle seguentirelazioni
Ts ' 2.16Îś + 0.60Ďn
valida per 0.3 ⤠Μ ⤠0.8
Tm =Ď
Ďnâ
1â Îś2
TaÎľ ' â 1ÎśĎn
ln 0.01Îľ (stima per eccesso)
La capacitaĚ di inseguimento del riferimento viene misurata sia a regime, sia intransitorio.
Nel primo caso, si definisce lâerrore a regime eâ = r(â)ây(â), che viene utilizzatoper definire il tipo del sistema, e che contraddistinguono la capacitaĚ di inseguire coneâ = 0 riferimenti r(t) via via piuĚ complessi, quali il gradino (sistema di tipo 1), larampa (sistema di tipo 2), la parabola (sistema di tipo 3).
Nel secondo caso, eĚ consuetudine misurare la massima sovraelongazione percen-tuale Mt rispetto al riferimento a gradino unitario, che come abbiamo visto, avviene
28
in corrispondenza dellâistante Tm. Questo parametro vale
Mt = 100 eâ
ÎśĎâ1â Îś2
ed eĚ anchâesso indicato in Figura A.2.
0 2 4 6 8 10 12 14 16 18 200
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
1.1
1.2
1.3
1.4
t
y/k
Ta10
Îľ = 10%
Ta4
Îś = 0.3 Ď
n = 1
Mt
Îľ = 4%
Tm
Ta
Figura A.2: Parametri che caratterizzano la velocitaĚ di risposta di un sistema delsecondâordine al gradino unitario.
A.2 Parametri della risposta in frequenza
Il modulo della (A.1) risulta
|Geq(jĎ)|dB = 20 logâŁâŁâŁâŁ
11 + 2jÎśĎ/Ďn â Ď2/Ď2n
âŁâŁâŁâŁ = â20 logâ
(1â Ď2/Ď2n)2 + 4Îś2Ď2/Ď2ne viene riportato in Figura A.3, per diversi valori dello smorzamento Îś.
Di solito per caratterizzare tale modulo si utilizzano alcuni parametri numericiquali il valore del picco massimo o picco di risonanza Mr, la pulsazione per la qualesi ha tale picco, detta pulsazione (o frequenza) di risonanza Ďr e la banda passanteĎB , ossia la pulsazione a cui il modulo eĚ pari a â3 dB.
I valori di questi parametri sono dati dalle seguenti espressioni
Mr = |Geq(jĎr)| = 12Îś
â1â Îś2
Ďr = Ďnâ
1â 2Îś2ĎB ' (â1.196Îś + 1.85)Ďn valida per 0.3 ⤠Μ ⤠0.8
29
10â1
100
101
â30
â27
â24
â21
â18
â15
â12
â9
â6
â3
0
3
6
9
12
15
18
21
24
27
30
Diagramma di Bode del modulo della Geq
Ď/Ďn (rad/s)
Mod
ulo
norm
aliz
zato
(dB
)
Îś = 0.05
Îś = 0.1
Îś = 0.3 Îś = 0.4
Îś = 0.5
Îś = 0.2
ĎB Ď
r
Mr
Figura A.3: Parametri che caratterizzano il modulo della fdt di un sistema del se-condâordine, per diversi valori di Îś. I parametri caratteristici sono indicati per Îś = 0.2.
30
Appendice B
Controllo digitale
B.1 Introduzione
Questa Appendice riassume alcune considerazioni utili quando si debba passare dalprogetto di un controllore a tempo continuo al suo equivalente digitale o a dati cam-pionati, da inserire in unâarchitettura di controllo digitale. Il lettore puoĚ trovare lateoria di base e ulteriori approfondimenti nei testi [1, Capp. 17-18], [4] e [5].
Nellâipotesi che lo schema a blocchi dellâimpianto e del suo controllore a tempocontinuo sia quello riportato in Figura 1.4, lo schema a blocchi del sistema digitalecorrispondente eĚ rappresentato in Figura B.1, dove si eĚ introdotto il blocco A/D, cherappresenta un convertitore analogicoâdigitale, e il blocco D/A, che rappresenta unconvertitore digitaleâanalogico.
+
â
âeu
+
+
( )G s( )G s( )âC z( )âC zâr
d
+â
âny
D/AD/A
A/DA/D
âu
yây
CONTROLLO DIGITALE
A/DA/Dr
Figura B.1: Schema a blocchi del controllore digitale corrispondente al controlloreanalogico di Figura 1.4.
Il convertitore analogico-digitale ha lo scopo di trasformare i segnali a tempo con-tinuo in segnali campionati a tempo discreto e immagazzinarli in una cella di memoriadi un sistema digitale composta da Nbit. Questâultima trasformazione prende il nomedi quantizzazione.
31
Esso puoĚ essere semplicemente schematizzato da un campionatore ideale di periodoTc, che trasforma un segnale continuo y(t) in una sequenza di campioni e li quantizza.
yâ(k) = Q{y(kTc)}, per k = 0, 1, . . . ,dove abbiamo fatto lâipotesi che il tempo continuo t = 0 coincida con lâistante dicampionamento k = 0 e che per k < 0 il segnale y(t) risulti nullo. Lâoperatore Q{¡}indica lâoperazione di quantizzazione.
Il campionatore ideale non introduce alcuna dinamica nel sistema di controllo; iparametri che lo caratterizzano sono il periodo di campionamento Tc, sulla cui sceltatorneremo piuĚ avanti, e la lunghezza della parola, data dal numero di bit Nbit con cuiviene codificato e trasmesso il valore digitale del campione yâ.
Dato lâintervallo yâmin ⤠yâ ⤠yâmax che fissa lâampiezza di rappresentazione deisegnali campionati, questo influisce sullâerrore di quantizzazione Îľq secondo la formulaseguente
Îľq =|yâmax â yâmin|
2Nbit â 1 '|yâmax â yâmin|
2Nbit.
Si chiama zero-macchina quel valore Îľq tale per cui se si somma una costante vⲠ< Îľqad un valore qualsiasi v, il risultato vale v + vⲠ= v; percioĚ valori qualsiasi v e vⲠlacui differenza vⲠâ v ⤠ξq sono di fatto indistinguibili.
Il convertitore digitale-analogico ha lo scopo di trasformare il segnale discreto (di-gitale) generato dal controllore in un segnale continuo a tratti (analogico) che puoĚvenire inviato allâimpianto da controllare. Il convertitore piuĚ comune eĚ rappresentatoda un mantenitore di ordine zero (in inglese zero-order hold ovvero ZOH ) che prendeil campione yâ(k) e ne mantiene il valore per tutto il successivo intervallo di tempokTm ⤠t < (k + 1)Tm, dove Tm eĚ il tempo di mantenimento.
Lo ZOH eĚ un componente del sistema di controllo digitale che introduce unaâdinamicaâ, rappresentabile dalla funzione di trasferimento (a guadagno unitario)
GZOH(s) =1â eâsTm
sTm
che puoĚ essere approssimata da un ritardo descritto dalla seguente espressione
GZOH(jĎ) ' eâjĎTm/2 (B.1)valida nellâintervallo 0 â¤ Ď < ĎN , dove ĎN eĚ la pulsazione di Nyquist, sulla qualetorneremo piuĚ avanti.
Si fa ora lâipotesi che il periodo di campionamento Tc e il periodo di mantenimentoTm siano identici e coincidano con il periodo T .
Gli schemi simbolici dei convertitori D/A e A/D sono indicati in Figura B.2.Prima di passare al progetto del controllore digitale eĚ necessario introdurre le
notazioni utilizzate e ricordare alcuni aspetti della teoria del campionamento.
B.1.1 Notazioni
Un segnale campionato eĚ rappresentato da una sequenza di campioni
{. . . , yâ(k), yâ(k + 1), . . .} ,
32
D/AD/A
A/DA/D
ZOH
= {
=
Figura B.2: Schemi simbolici dei convertitori A/D e D/A.
con k = 0, . . . , N , dove N puoĚ essere finito o infinito. Ovviamente nei casi reali NsaraĚ finito. Con abuso di notazione, si indica con yâ(k) sia la generica sequenza dicampioni yâ(¡), sia il particolare campione yâ di indice k, allo stesso modo in cui,nel tempo continuo, y(t) sta ad indicare sia la funzione y(¡), sia il valore particolareassunto al tempo t.
La trasformata Zeta della sequenza di campioni yâ(k) eĚ data da
Z [yâ(k)] = yâ(z) =+ââ
k=0
yâ(k)zâk
Normalmente la trasformata Zeta di una sequenza viene indicata con una letteramaiuscola, cosĚÄą come avviene per la trasformata di Laplace di un segnale continuo.Qui preferiamo invece indicarla con lettera minuscola, analogamente a quanto fattoper la trasformata di Laplace.
La trasformata di Fourier discreta della sequenza di campioni yâ(k), definita perââ < k < +â, eĚ data da
Fâ [yâ(k)] = yâ(ejθ) =+ââ
k=ââyâ(k)eâjkθ
Sotto ipotesi matematiche che si possono trovare nei testi [1, 4, 5], vale la seguenterelazione tra trasformata Zeta e trasformata di Fourier discreta
Fâ [yâ(k)] = Z [yâ(k)]z=ejθovvero eĚ sufficiente operare la sostituzione simbolica
yâ(ejθ) = yâ(z)|z=ejθper passare dallâuna allâaltra.
Analogamente a quanto fatto per le fdt tra segnali continui, indicheremo con C(z)la fdt del controllore e con G(z) la fdt dellâimpianto ottenuto per discretizzazione delsistema dinamico (A,B ,C ) di cui G(s) eĚ la fdt continua. Nel caso di sistemi linearie invarianti nel tempo, le fdt discrete sono funzioni polinomiali fratte nella variabilez e si possono quindi indicare come rapporto tra un numeratore e un denominatore.
33
Ad esempio, per il controllore, possiamo scrivere:
C(z) =NC(z)DC(z)
=b0z
m + b1zmâ1 + ¡ ¡ ¡+ bmâ1z + bmzn + a1znâ1 + ¡ ¡ ¡+ anâ1z + an . (B.2)
B.1.2 Campionamento e frequenza di Nyquist
Ricordiamo alcuni fatti fondamentali che condizionano la scelta del periodo di cam-pionamento T e suggeriscono di prevedere lâintroduzione di un filtro anti-aliasing, amonte del campionatore A/D.
EĚ noto che, mentre lâoperazione di campionamento eĚ univoca, nel senso che pro-duce una ben definita sequenza di campioni a partire da una data funzione a tempocontinuo, lâinverso non eĚ vero: data una sequenza di campioni, eĚ impossibile risalireunivocamente al segnale continuo che ha generato tale sequenza; questo fenomeno eĚdovuto allâaliasing o equivocazione in frequenza. Matematicamente cioĚ eĚ spiegabilericordando che la trasformata di Fourier discreta del segnale yâ(k) campionato con pe-riodo T eĚ legata alla trasformata di Fourier del segnale continuo y(jĎ) dalla relazioneseguente:
yâ(ejĎT ) =1T
+ââ
`=âây(j(Ď + `Ďs)) (B.3)
dove Ďs eĚ la frequenza di campionamento o di sampling, che vale Ďs =2ĎT
.
Per la (B.3), la trasformata di Fourier discreta yâ(ejĎT ) eĚ somma di infinite replichedella y(jĎ), traslate della quantitaĚ Âą`Ďs.
Senza addentrasi nella caratterizzazione del fenomeno di aliasing, per il quale sirimanda ai testi giaĚ citati in apertura, limitiamoci a dire che lâeffetto dellâaliasingviene evitato se il segnale y(t) da campionare ha banda limitata, ossia la sua bandanon supera una data pulsazione massima Ďmax e tale pulsazione risulta inferiore allapulsazione di Nyquist ĎN
Ďmax < ĎN =Ďs2
=Ď
T(B.4)
Se queste condizioni sono verificate, il segnale continuo y(t) puoĚ essere ricostruitoesattamente a partire dai campioni yâ(k) usando la formula di Shannon (filtro diShannon)
y(t) =+ââ
k=ââyâ(k)
sin(ĎN tâ kĎ)(ĎN tâ kĎ) .
Il filtro di Shannon eĚ un decampionatore ideale, ma non eĚ causale, per cui non eĚpossibile utilizzarlo in pratica; bisogna percioĚ ricorrere a filtri decampionatori causali,che approssimano il decampionatore di Shannon. Lo ZOH eĚ uno di questi filtri.
Inoltre, poicheĚ non si puoĚ garantire che il segnale da campionare abbia effetti-vamente una banda limitata, oppure, se ce lâha, che questa banda sia inferiore allafrequenza di Nyquist, eĚ opportuno far precedere al convertitore A/D un filtro passa-basso, detto filtro anti-aliasing, che limiti la banda del segnale ad una assegnatapulsazione massima Ďf . In questo modo il segnale viene reso approssimativamente abanda limitata e nella (B.4) si ha Ďmax ' Ďf .
34
A tale scopo vengono comunemente impiegati filtri di Butterworth di ordine n,che garantiscono una buona attenuazione del modulo del segnale al disopra dellapulsazione Ďf del filtro. A causa del fatto che i filtri anti-aliasing non sono ideali, eĚopportuno scegliere la Ďf del filtro in modo che non sia semplicemente Ďmax ' Ďf <ĎN , ma piuttosto Ďf Âż ĎN . Va inoltre sottolineato che i filtri di Butterworth di ordinen introducono una perdita di fase pari a ân¡45⌠alla pulsazione Ďf ; questo fatto dovraĚessere considerato nella scelta del periodo di campionamento T , che discuteremo nelseguito.
Riassumendo, si puoĚ affermare quanto segue:
⢠Il convertitore A/D, cioeĚ il campionatore, deve essere di solito preceduto da unfiltro anti-aliasing, la cui banda Ďf verraĚ definita in base al periodo di campio-namento T prescelto. Tale filtro anti-aliasing possiede un certo numero di poliche producono una perdita di fase ulteriore rispetto a quella giaĚ imputabile alladinamica dellâimpianto.
⢠Il convertitore D/A, di solito uno ZOH, introduce un ritardo descritto appros-simativamente dalla relazione (B.1). Come abbiamo visto in (1.20), la perditadi fase dovuta allo ZOH risulta percioĚ pari a âĎT 90âŚ/Ď (in gradi), che si va asommare alla perdita di fase descritta sopra.
Esiste unâaltra possibile fonte di ritardo, e quindi di perdita di fase, dovuta allâalgorit-mo di controllo. EĚ possibile, infatti, che il tempo di calcolo Ďc necessario a produrre ilsuccessivo segnale di comando sia superiore al periodo di campionamento T . In questocaso non eĚ possibile mantenere la tempistica della catena campionatoreâcontrolloreâricostruttore e il progetto va rivisto riducendo la complessitaĚ dellâalgoritmo oppuremodificando lâarchitettura generale del controllore, ad esempio introducendo due li-velli di campionamento, uno definito macro-campionamento, con periodo T , e unodefinito micro-campionamento, con periodo T Ⲡ= T/h, con h > 1 intero. Il macro-campionamento si preoccupa di fornire i segnali di comando (macro controlli) elaboratisecondo la complessitaĚ algoritmica necessaria, mentre i segnali di comando a livellodi micro-campionamento vengono ottenuti, ad esempio, interpolando linearmente imacro controlli. Tale architettura risulta piuttosto comune, ma le prestazioni deiprocessori che in futuro saranno montati sui robot la renderanno presto superata.Possiamo quindi ipotizzare che Ďc < T .
Tuttavia, anche assumendo che Ďc < T , si puoĚ comunque generare un ritardo,dovuto alla struttura del controllore C(z). Supponiamo che il controllore non siastrettamente proprio, ma solamente proprio; il comando da prodursi allâistante kTdovraĚ includere un termine anchâesso definito allâistante kT ; saraĚ quindi necessarioattendere lâacquisizione e la trasmissione di tale termine prima di iniziare il calcolodella variabile di comando, che termineraĚ necessariamente Ďc secondi dopo, introdu-cendo alla fine un ritardo ulteriore, con la conseguente erosione del margine di fase.Con i periodi di campionamento usati nei sistemi robotici, e che si collocano tra 1 m se 10 m s, la perdita di fase âĎ alla frequenza di cross-over Ďc vale, in gradi,
â0.57Ďc ⤠âĎ â¤ â0.057Ďc.
35
B.2 Sintesi del controllore digitale
Partiamo dallâipotesi che il sistema da controllare sia quello schematizzato in FiguraB.1 e che sia stato previsto un opportuno filtro anti-aliasing a monte del convertitoreA/D sul segnale misurato (analogo filtro dovraĚ essere previsto anche sul segnale diriferimento), cosi come indicato in Figura B.3.
â
âeu
( )G s( )G s( )âC z( )âC zâr + y
âu
yâ˛ây
CONTROLLO DIGITALE
ZOH
râ˛
FAAFAA
FAAFAAr
Figura B.3: Schema a blocchi del controllore digitale di Figura B.1 con lâintroduzionedei filtri anti-aliasing FAA.
Dobbiamo ora discutere la scelta del periodo di campionamento T , per passaresuccessivamente alla sintesi vera e propria del controllore.
B.2.1 Scelta del periodo di campionamento
Il periodo di campionamento T , ovvero la pulsazione di campionamento Ďs = 2Ď/T ,va scelto partendo dalla banda ĎB che si vuole imporre al sistema controllato. Que-stâultimo agisce come un filtro passa-basso fino alla pulsazione ĎB e abbiamo vistoche per preservare il contenuto informativo fino a questa pulsazione, per il teoremadel campionamento, eĚ necessario campionare almeno ad una pulsazione doppia, cioeĚĎs > 2ĎB . Se poi stiamo considerando un controllore continuo, la banda ĎB non sidiscosta molto dalla pulsazione di cross-over Ďc, per cui il vincolo diventa Ďc < Ďs/2.
Inoltre se per lâanti-aliasing usiamo un filtro di Butterworth di ordine n e banda Ďf ,per il quale la perdita di fase vale ân45⌠alla pulsazione Ďf , eĚ opportuno che questaĎf sia sufficientemente superiore a Ďc in modo da limitare lâerosione del margine difase, ossia porre Ďc Âż Ďf ; poicheĚ dobbiamo comunque porre Ďf < ĎN = Ďs/2, sembraragionevole dire che dovraĚ essere verificato il vincolo Ďc Âż Ďs/2. Un criterio moltousato nella pratica colloca gli estremi di scelta tra i seguenti:
βĎc ⤠Ďs ⤠10βĎc, (B.5)
con 5 ⤠β ⤠10.In questo modo abbiamo fissato un limite inferiore alla Ďs; sembrerebbe inutile
fissare un limite superiore, come nella (B.5), percheĚ si potrebbe asserire che quantopiuĚ fitto si campiona, tanto meglio. Questa affermazione tuttavia non eĚ sempre vera,in primo luogo percheĚ il costo associato a campionatori veloci (con periodo di cam-pionamento T molto basso) eĚ piuttosto elevato e in secondo luogo percheĚ un periodo
36
di campionamento T â 0 puoĚ dare inconvenienti di natura numerica, come vedremomeglio nel seguito. Quindi eĚ opportuno fissare un limite superiore a Ďs come in (B.5).
B.2.2 Determinazione della fdt del controllore
Alla sintesi del controllore si puoĚ giungere attraverso due strade. La prima consistenel progettare il controllore a tempo continuo, seguendo le tecniche riassunte in questanota, e successivamente discretizzarlo in modo che il comportamento a tempo discretoapprossimi al meglio le specifiche definite nel continuo. La seconda strada inveceribalta lâapproccio, costruendo lâequivalente discreto dellâimpianto da controllare e,sulla base di questo e delle specifiche a tempo discreto, progettare direttamente ilcontrollore digitale.
Nel primo caso parleremo di discretizzazione del controllore continuo, mentre nelsecondo caso parleremo di sintesi diretta a tempo discreto.
B.2.3 Discretizzazione del controllore continuo
Possiamo fare riferimento alla figura B.4 che rappresenta una semplificazione dellaFigura B.3, dove eĚ stato aggiunto il filtro FS(s) che rappresenta un filtro di smoothing,che ha lo scopo di lisciare le discontinuitaĚ del segnale costante a tratti uscente dalZOH.
Figura B.4: Schema a blocchi semplificato per il progetto del controllore digitale.
I segnali eⲠe yⲠsono sicuramente a banda limitata, percheĚ preceduti da un filtroanti-aliasing. La fdt dellâimpianto si eĚ modificata da G(s) a Gâ˛(s) percheĚ in essa eĚstato incluso il filtro anti-aliasing e anche lâeventuale ritardo di calcolo Ďc. Il bloccoracchiuso dalle linee tratteggiate comprende il campionatore, la fdt discreta C(z)da progettare e lo ZOH. Esso riceve in ingresso segnali continui a banda limitata erestituisce in uscita i comandi per lâimpianto, anchâessi continui o meglio costanti atratti, in quanto ricostruiti dallo ZOH. Si tratta percioĚ complessivamente di un bloccocontinuo, la cui fdt viene indicata con C(s).
Si tratta ora di progettare Câ(z) in modo da rendere la C(s) il piuĚ possibile similealla C(s) progettata nel continuo.
Ricordando che il campionatore ideale, secondo la (B.3), moltiplica il modu-lo per 1/T , mentre lo ZOH, secondo la (B.1), moltiplica il modulo per T , risultacomplessivamente:
C(jĎ) = eâjĎT/2Câ(eâjĎT ). (B.6)
37
Il primo dei due termini a destra della (B.6) rappresenta un ritardo puro di Ď = T/2con guadagno unitario. Come giaĚ sappiamo dalla (1.21) questo ritardo eĚ approssima-
bile secondo PadeĚ con la fdt G1(s) =1â 0.25Ts1 + 0.25Ts
; esiste anche unâaltra funzione di
approssimazione di padeĚ, chiamata G2(s), che omettiamo per brevitaĚ.La presenza di questo elemento di ritardo introduce una perdita di fase. Tuttavia
se durante il progetto del controllore continuo abbiamo giaĚ considerato la successivatrasformazione in controllore digitale, allora abbiamo giaĚ incluso la G1(s) nel model-lo dellâimpianto e progettato il controllore C(s) di conseguenza. Alternativamentepossiamo aver fissato una specifica sovrabbondante sul margine di fase in modo daconsiderarne la successiva erosione ad opera dello ZOH. Pertanto ora possiamo limi-tarci a considerare la discretizzazione del solo secondo fattore della parte destra della(B.6), progettando Câ in modo che risulti
Câ(eâjĎT ) ' C(jĎ) per 0 â¤ Ď Âż ĎN . (B.7)
Ricordiamo che, dato il sistema lineare tempo-invariante e continuo
xĚ (t) = Ax (t) + Bu(t) (B.8)y(t) = Cx (t) + Du(t) (B.9)
il suo equivalente discreto, ottenuto per campionamento con periodo T , vale
x â(k + 1) = Aâx â(k) + Bâuâ(k) (B.10)yâ(k) = Cx â(k) + Duâ(k) (B.11)
dove x â(k) = x (kT ), yâ(k) = y(kT ), uâ(k) = u(kT ) e
Aâ = eAT (B.12)
Bâ =⍠T
0
eAĎBdĎ
Appare evidente che gli autovalori di Aâ e di A sono legati dalla relazione (B.12) equindi ad ogni autovalore (polo) si nel continuo corrisponda lâautovalore (polo) neldiscreto zi = esiT . Gli autovalori seguono quindi la cosiddetta trasformazione dicampionamento
z = esT . (B.13)
Ora, considerando la (B.13), e quindi la sua inversa s =1T
ln z, potremmo pensare di
ricavare Câ(z) semplicemente ponendo Câ(z) = C(
1T
ln z)
; tuttavia la Câ(z) cosĚÄą
ottenuta non risulterebbe una funzione polinomiale fratta, come in (B.2), e quindinon sarebbe associabile ad un sistema lineare invariante a dimensione finita.
EĚ necessario percioĚ ricorrere a tecniche di sostituzione approssimate, ma tali dagarantire che la fdt ottenuta sia una funzione razionale di polinomi in z.
38
Trasformazione bilineare
Tra queste tecniche approssimate, si utilizza comunemente quella basata sul metododella trasformazione bilineare, ossia in C(s) si sostituisce la variabile s con la seguente
s =z â 1
T (Îąz + 1â Îą) (B.14)
dove Îą puoĚ assumere valore 0, 0.5 oppure 1. Avremo pertanto lo schema seguente,che riassume i tre metodi piuĚ usati di approssimazione bilineare:
Îą = 0 s =z â 1
TMetodo di Eulero in avanti (EA) (B.15)
Îą = 0.5 s =2(z â 1)T (z + 1)
Metodo di Tutsin (TU) (B.16)
Îą = 1 s =z â 1Tz
Metodo di Eulero allâindietro (EI) (B.17)
Va fatto osservare che le relazioni (B.15)â(B.17) possono essere interpretate comeapprossimazioni discrete dellâoperazione di derivata continua, rappresentata dallâope-ratore s. Infatti, ricordando il significato dellâoperatore z, che soddisfa la relazione
zÂąiy(k) = y(k Âą i) (B.18)
e applicando ad esempio gli operatori (EA) e (EI) alla funzione campionata y(k),otteniamo le seguenti relazioni
z â 1T
y(k) â y(k + 1)â y(k)T
(EA) (B.19)
z â 1Tz
y(k) =1â zâ1
Ty(k) â y(k)â y(k â 1)
T(EI) (B.20)
che rappresentano il rapporto incrementale usando rispettivamente il campione suc-cessivo e quello attuale, oppure il campione attuale e quello precedente.
La trasformazione inversa della (B.14) eĚ data da
z =1 + (1â Îą)Ts
1â ÎąTs (B.21)
che ci consente di trasformare i poli e gli zeri di C(s) in poli e zeri di Câ(z); inparticolare, per ogni valore di Îą, i poli/zeri nellâorigine del regolatore continuo sitrasformano in poli/zeri in z = 1 del regolatore digitale. La Figura B.5 mostraquale sia lâimmagine sul piano complesso Z della trasformazione (B.21) applicataal semipiano sinistro Sâ, cioeĚ al semipiano che contiene i poli stabili del regolatorecontinuo.
Come si puoĚ notare, lâimmagine di Sâ sotto la trasformazione EI non âriempieâil cerchio unitario, mentre questo accade per la trasformazione TU; inoltre la tra-sformazione EA puoĚ trasformare poli stabili del regolatore continuo in poli instabilidel regolatore discreto. Per queste ragioni si preferisce usare la trasformazione TUoppure la trasformazione EI.
39
�� ������ ��-1 -1-1
1 11
��(EA) (EI)(TU)
Figura B.5: Immagine sul piano complesso Z della trasformazione (B.21) applicataal semi-piano sinistro Sâ per i tre casi EA, TU, EI.
Trasformazione diretta di poli e zeri
Questo metodo, chiamato anche âhold equivalenceâ, eĚ alternativo a quello dellatrasformazione bilineare e si basa sulle considerazioni seguenti.
Ricordiamo che lâobbiettivo eĚ quello di trovare unâapprossimazione Câ(z) di C(s)in grado di soddisfare la condizione che Câ(z) sia una funzione razionale in z. Se co-nosciamo la C(s), possiamo ottenere direttamente la Câ(z) imponendo che la rispostadel sistema discreto ad un gradino discreto coincida con i campioni della risposta delsistema continuo al gradino continuo. Per ottenere questa corrispondenza occorreprocedere nel modo seguente:
1) calcolare la trasformata della risposta al gradino unitario y(s) = C(s)/s;
2) antitrasformare y(s) per ottenere y(t);
3) campionare y(t) per ottenere yâ(k), quindi applicare a yâ(k) la trasformata Zetaper ottenere yâ(z);
4) ricavare infine Câ(z) come rapporto tra yâ(z) e la trasformata Zeta del gradinounitario uâ(z) =
z
z â 1 , ossia
Câ(z) = yâ(z)z â 1
z.
Questa procedura presenta due inconvenienti: in primo luogo eĚ difficilmente automa-tizzabile; in secondo luogo â e questa eĚ una caratteristica generale della trasformazioneda C(s) a Câ(z) â si potrebbe verificare la ânascitaâ di zeri nella Câ(z) anche quandoC(s) non ne ha.
Il problema della nascita degli zeri nella fdt del sistema a segnali campionati nonverraĚ discusso qui e si rimanda a [1, Pagg. 533-535] per ulteriori approfondimenti.
La procedura per trasformare C(s) in Câ(z) puoĚ essere riassunta come segue:
1) gli n poli di C(s) si trasformano negli n poli di Câ(z) mediante la trasformazione(B.13);
40
2) il guadagno di Câ(z) obbedisce alle seguenti regole:
a) se C(s) eĚ di tipo zero, allora il guadagno stazionario di Câ(z) eĚ uguale aquello di C(s), ossia
Câ(1) = C(0) (B.22)
b) se C(s) eĚ di tipo ` 6= 0 e se abbiamo definito i guadagni stazionari K e Kânel modo seguente
K = limsâ0
s`C(s); Kâ = limzâ1
(z â 1
T
)`Câ(z)
allora vale la seguente relazione
Kâ = K (B.23)
3) Gli zeri di Câ(z) sono sempre in numero di mâ = (nâ 1). Se m eĚ il numero dizeri di C(s), nascono dal campionamento mⲠ= (n âm â 1) ânuoviâ zeri. Glizeri di Câ(z) sono cosĚÄą caratterizzati
a) Se C(s) possiede m zeri, questi si mappano in altrettanti zeri di Câ(z),che tendono a z = 1; per T â 0 questi m zeri si trovano applicando latrasformazione di campionamento z = esT ;
b) se lâeccesso poli-zeri di C(s) vale n â m > 1, allora nascono altri mⲠ=nâmâ1 zeri di Câ(z), dovuti al campionamento, che, per T â 0, tendonoalle radici del polinomio Pnâm(z). Lâespressione di questo polinomio e dellesue radici per nâm = 1, . . . , 4 sono riportate nella tabella seguente:
nâm Pnâm(z) valori degli zeri1 1 â2 z + 1 â1.003 z2 + 4z + 1 â0.268, â3.734 z3 + 11z2 + 11z + 1 â0.10, â1.00, â9.89
(B.24)
Come si vede, alcuni degli zeri di Pnâm(z) sono interni al cerchio unitario, altri sonoesterni (non minima rotazione di fase).
Ora possediamo tutti gli elementi per considerare il metodo di trasformazionediretta di poli e zeri della C(s).
Abbiamo dunque la fdt C(s), con n poli e m zeri, e vogliamo trovare una fdtdiscreta Câ(z) che la approssimi; procediamo in questo modo:
1) fissiamo il guadagno stazionario di Câ(z) secondo la (B.22) oppure la (B.23);
2) trasformiamo gli n poli di C(s) negli n poli di Câ(z) secondo la trasformazionedi campionamento (B.13);
3) trasformiamo gli eventuali m zeri di C(s) negli zeri di Câ(z) secondo la trasfor-mazione di campionamento (B.13);
4) se nâm > 1, aggiungiamo altri nâmâ 1 zeri di campionamento in corrispon-denza delle radici del polinomio Pnâm(z) presentato nella tabella (B.24)
Talvolta si preferisce semplificare ulteriormente la definizione degli zeridi campionamento, collocando tutti gli (nâmâ 1) zeri nel punto z = â1.
41
B.2.4 Sintesi diretta del controllore digitale
La sintesi diretta del controllore digitale implica che lâimpianto su cui si applica ilcontrollo venga discretizzato e successivamente si proceda alla sintesi del controlloredigitale, facendo riferimento a specifiche di progetto definite per sistemi discreti. LaFigura B.6 mostra lo schema a blocchi dello stesso sistema di Figura B.3, dove oraperoĚ eĚ stata messa in evidenza quella parte dellâimpianto a tempo discreto, denominataGâ(z), che ha in ingresso il segnale di comando uâ(k) sintetizzato dal controllore e inuscita il segnale campionato di misura yâ(k).
â
âe u( )G s( )G s( )âC z( )âC z
âr + yâu
yây
ZOH
r
â
âe u( )G sâ˛( )âC z( )âC z
âr +yâu ây
ZOH
( )âG z
Figura B.6: Schema a blocchi del sistema di controllo digitale in cui si mette inevidenza la fdt discretizzata dellâimpianto Gâ(z).
Ora questa Gâ(z) viene considerata nello schema di Figura B.7 per procedere alprogetto mediante sintesi diretta a tempo discreto.
â
âe( )âC z
âr + âu ây( )âG z
Figura B.7: Schema a blocchi del sistema di controllo digitale derivato da quello inFigura B.6 che viene usato per la sintesi diretta a tempo discreto.
Le specifiche per un progetto a tempo discreto non sono qualitativamente di-verse da quelle che abbiamo elencato in queste note per il progetto a tempo conti-nuo; ovviamente gli aspetti algoritmici sono diversi, ma questi non verranno illustratiin alcun modo; ancora una volta si rimanda ai testi indicati in Bibliografia per gliapprofondimenti del caso.
42
Supponiamo ora di aver individuato, attraverso il soddisfacimento delle specifiche,la funzione di trasferimento equivalente ad anello chiuso
Gâeq(z) =Nâeq(z)Dâeq(z)
=NâC(z)N
âG(z)
DâC(z)DâG(z) + N
âC(s)N
âG(z)
,
Possiamo procedere con la tecnica dellâassegnazione dei poli (pole-placement) checonsiste nel determinare il polinomio caratteristico P â(z) desiderato per Gâeq(z), talecioeĚ da avere le sue radici laĚ dove vogliamo che siano presenti i poli del sistema adanello chiuso, e quindi di uguagliare questâultimo al polinomio caratteristico simbolicodi Gâeq(z), ovvero
DâC(z)DâG(z) + N
âC(z)N
âG(z) = P
â(z) (B.25)
Questa equazione prende il nome di equazione Diofantea per il controllo. DâC(z) eNâC(z) sono le incognite del problema.
Dato un polinomio P â(z), questa equazione ammette una sola soluzione se e solose i polinomi NâG(z) e D
âG(z) non hanno fattori comuni.
La soluzione si ottiene con un procedimento numerico basato sullâinversione di unaparticolare matrice che contiene i coefficienti dei polinomi DâG(z) e N
âG(z).
Lâordine m del controllore Câ(z) cosĚÄą sintetizzato deve essere almeno m = ν â 1,dove ν eĚ lâordine della fdt dellâimpianto Gâ(z). Come si vede, se lâimpianto ha ordineelevato, il metodo daĚ origine a controllori che sono anchâessi di ordine elevato.
Infine va fatto osservare che il metodo sopra presentato genera gli zeri in posizioniche lâutilizzatore non eĚ in grado di scegliere; se questo fatto costituisse un problema,si potrebbe utilizzare una procedura detta di pole-zero placement, la quale tuttavianon verraĚ descritta in queste note.
B.2.5 Periodo di campionamento e lunghezza della parola
Considerando la trasformazione di campionamento (B.13), riportata qui per comoditaĚ
z = esT .
Osserviamo che per T â 0, i poli del sistema discretizzato si addensano attorno az = 1; se il calcolo dellâesponenziale viene eseguito in aritmetica finita, potrebbero in-sorgere imprecisioni numeriche, tali da rendere indistinguibile un autovalore dallâaltro,ovvero per si 6= sj potremmo avere zi = zj .
La Figura B.8 riporta il grafico della differenza non distinguibile tra due polivicini, quando si operi in virgola fissa a 16 bit, per tre diversi valori del periodo dicampionamento T = 0.01, 0.005, 0.001s.
Si puoĚ notare che al diminuire del periodo T , la non distinguibilitaĚ tra due policresce; ad esempio, per T = 1 ms, eĚ necessario che, due poli si e sj , compresi tra â10e â100, abbiano differenza tale che |si â sj | > 15Ă10â3 per poter essere distinguibili;per T = 10ms questa differenza varia solo tra 0.5Ă10â3 e 1.5Ă10â3.
Questo fatto conferma quanto detto precedentemente al Paragrafo B.2.1 circalâopportunitaĚ di non aumentare senza ragione la pulsazione di campionamento Ďs,soprattutto in presenza di processori con lunghezza di parola limitata.
43
100
101
102
103
10â6
10â5
10â4
10â3
10â2
10â1
polo (sâ1)
diffe
renz
a no
n di
stig
uibi
le (
sâ1 )
T=0.01 s T=0.005 s
T=0.001 s
Figura B.8: Caratteristiche di indistinguibilitaĚ numerica tra due poli vicini, al variaredella loro posizione e del periodo di campionamento T , per campionatori a parolafinita con Nb = 16.
B.2.6 Come ottenere lâalgoritmo di controllo
Una volta progettato Câ(z), esso assumeraĚ la forma indicata in (B.2). EĚ quindipossibile scrivere
C(z) =uâ(k)eâ(k)
=b0z
m + b1zmâ1 + ¡ ¡ ¡+ bmâ1z + bmzn + a1znâ1 + ¡ ¡ ¡+ anâ1z + an . (B.26)
Ricordiamo ancora una volta che lâoperatore z opera sui campioni nel modo seguente
zÂą`y(k) = y(k Âą `).Sviluppando la (B.26), otteniamo
(zn + a1znâ1 + ¡ ¡ ¡+ anâ1z + an)uâ(k) = (b0zm + b1zmâ1 + ¡ ¡ ¡+ bmâ1z + bm)eâ(k)da cui
znuâ(k) = âa1znâ1uâ(k)â ¡ ¡ ¡ â anâ1zuâ(k)â anuâ(k)+b0z
meâ(k) + b1zmâ1eâ(k) + ¡ ¡ ¡+ bmâ1zeâ(k) + bmeâ(k)e quindi
uâ(k + n) = âa1uâ(k + nâ 1)â ¡ ¡ ¡ â anâ1uâ(k + 1)â anuâ(k)+b0e
â(k + m) + b1eâ(k + mâ 1) + ¡ ¡ ¡+ bmâ1eâ(k + 1) + bmeâ(k)
44
PoicheĚ il controllore eĚ invariante nel tempo, possiamo applicare un ritardo comunepari a n campioni, ottenendo finalmente
uâ(k) = âa1uâ(k â 1)â ¡ ¡ ¡ â anâ1uâ(k â n + 1)â anuâ(k â n)++ b0eâ(k â n + m) + b1eâ(k â n + mâ 1) + ¡ ¡ ¡
+ bmâ1eâ(k â n + 1) + bmeâ(k â n) (B.27)
Questa relazione ci permette di scrivere un algoritmo che calcola il segnale di controlloal passo k, utilizzando misure o comandi relativi a passi precedenti.
La realizzazione dellâalgoritmo attraverso la formula (B.27), bencheĚ corretta, noneĚ robusta dal punto di vista numerico; piccole variazioni, dovute a troncamento oarrotondamento, delle costanti ai e bj possono generare segnali uâ(k) anche moltodiversi. Si raccomanda percioĚ di utilizzare la tecnica dello sviluppo in fratti semplici,che invece gode della proprietaĚ di essere robusta