Progetto di controllori per manipolatori industriali...per manipolatori industriali Basilio Bona...

51
Progetto di controllori per manipolatori industriali Basilio Bona Dipartimento di Automatica e Informatica Politecnico di Torino ultima revisione: 11 febbraio 2008

Transcript of Progetto di controllori per manipolatori industriali...per manipolatori industriali Basilio Bona...

  • 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 Stabilità nominale . . . . . . . . . . . . . . . . . . . . . . . . . 111.2.2 Stabilità 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’attività del comando . . . . . . . . . . . . . . 151.2.8 Realizzabilità 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 più completi, tra i quali indichiamo all’attenzione del lettore i classici [1, 2] o ilpiù 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 più specifico della robotica, per “controllori semplici” si intendonocomunemente quelli

    a) basati su una architettura di controllo a giunti indipendenti, dove ogni singolomotore è controllato da un proprio controllore, che usa solo le misure “locali”di posizione e velocità angolare;

    b) in cui il controllore è 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, modalità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 dovrà essereeffettivamente controllato e usare il termine modello (dell’impianto) per la rap-presentazione matematica dello stesso; tuttavia, per semplicità, 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 possibilità 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 più 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.

    È 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 più 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 possibilità di influire (ad esempio, le coppie di carico a valle dei motori),

    4

  • ma che determinato la “qualità” dell’uscita; in questo caso si è 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 è 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δ ′

    +

    +

    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 può 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. Ciò è possibile in quanto si è proceduto alla linearizzazionedell’impianto e, di conseguenza, ogni blocco si può 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 realtà 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 è 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 è stata inglobata nella fdt del regolatore;

    2. la fdt A(s) dell’attuatore è stata inglobata nella fdt dell’impianto; volendo, sipoteva inglobarla anche nella fdt del regolatore;

    3. è 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 è 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. poiché la fdt del trasduttore di misura T (s) e la fdt del trasduttore del riferi-mento T 0(s) sono spesso identiche, è stato posto T 0(s)T−1(s) = I;

    2. il segnale di disturbo sull’attuatore dA(s) è 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 è 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 è il segnale che vogliamo controllare.È 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 sensitività 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 sensitività

    S(s) =e(s)r(s)

    =1

    1 + C(s)G(s)=

    11 + Ga(s)

    (1.4)

    • funzione di sensitività 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 è 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 proprietà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)

    è strettamente propria se ρ(D) > ρ(N), mentre è propria se ρ(D) ≥ ρ(N); ricordiamoanche che, se non si hanno cancellazioni tra le radici del denominatore (poli) e delnumeratore (zeri), ρ(D) è uguale al numero di poli (contati con le loro molteplicità)del sistema dinamico lineare rappresentato dalla G(s), mentre il numero di zeri è datoda ρ(N).

    Ricordiamo poi che il grado del prodotto tra due polinomi, ρ(N1N2) è uguale allasomma dei gradi ρ(N1N2) = ρ(N1)+ρ(N2), mentre il grado di una somma di polinomiρ(N1 +N2) è 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) è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 ciò 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’attività del comando risulta significativa, in contrastocon una delle specifiche di progetto, che è quella di avere invece una limitata attivitàdel comando, come vedremo più 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 più comuni sono:

    S1: stabilità nominale;

    S2: stabilità robusta;

    S3: precisione statica;

    S4: precisione dinamica;

    S5: attenuazione dell’effetto del disturbo d;

    S6: attenuazione dell’effetto del rumore n;

    S7: moderazione dell’attività del comando;

    S8: realizzabilità del controllore.

    Esaminiamole ora brevemente una ad una.

    10

  • 1.2.1 Stabilità nominale

    Prima di procedere, ricordiamo brevemente i parametri di progetto che possono in-fluenzare la stabilità 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 singolarità (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 può 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 ωπ è 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 è 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 proprietà:∣∣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 è razionale in s, ma se ne può trovare un’approssimazionerazionale secondo il metodo di Padé 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 stabilitànominale.

    La stabilità del sistema in condizioni nominali è 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 stabilità (nominale) del siste-

    ma reazionato Geq(s) =Ga(s)

    1 + Ga(s)è 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 può apparire diverso da quelloche è 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

    stabilità del sistema reazionato Geq(s) =Ga(s)

    1 + Ga(s)è che risulti Ka > 0 e

    ϕm > 0◦.

    Notiamo alcuni aspetti di questo teorema: innanzitutto, se Ga(s) è 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 ciò premesso, la stabilità 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 Stabilità robusta

    Imponendo la specifica di stabilità robusta all’impianto, si vogliono garantire le pro-prietà di stabilità anche nel caso in cui il modello G(s) dell’impianto sia approssimato,cosa che risulta sempre vera, poiché l’impianto da controllare è 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 realtà 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’instabilità.Infatti, in presenza di un ritardo, dalla (1.20), il margine di fase ϕm calcolato in ωcviene ridotto di una quantità pari a ϕτ = −ωcτ 180◦/π.

    1.2.3 Precisione statica

    La precisione statica misura la capacità 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 capacità 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 ω. Ciò richiederebbeappunto Geq(jω) = 1, ∀ω.

    Tuttavia il criterio di stabilità 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.

    Poiché |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 è migliore

    • quanto più |Ga(jω)| À 1, e ciò è tanto più vero se ω ¿ ωc• |Ga(jω)| ¿ 1 per ω > ωc e ciò è tanto più vero se ω À ωc .

    Nell’intorno della pulsazione ωc la (1.22) è 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 può ottenere aumen-tando lo smorzamento della coppia di poli dominanti di Geq(s). Dalla espressioneapprossimata (1.18), si deduce che ciò equivale a richiedere un margine di fase ϕmrelativamente elevato.

    Occorre qui ricordare che i parametri che misurano la velocità 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 piùelevato, purché 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 sensitività S(s); pertanto è 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 perciò 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.

    È 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 è generalmente uguale alla somma dei moduli ecos̀ı pure per la fase di una somma.

    Inoltre, come già 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 sensitività complementare Geq(s); quest’ultima è 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.

    Poiché si può assumere con una certa sicurezza che le componenti principali dellospettro del rumore n siano prevalentemente localizzate alle alte frequenze, è sufficienteimporre un vincolo sul valore massimo della pulsazione di cross-over ωc, oltre la qualela Geq(s) diminuisce rapidamente.

    Si può pensare di aumentare questo effetto forzando nella Geq(s) un eccesso poli-zeri superiore a uno e quindi facendola più rapidamente decrescere alle alte frequenze.

    1.2.7 Moderazione dell’attività del comando

    Dalla relazione (1.7) appare che ridurre l’attività del comando significa ridurre glieffetti della funzione di sensitività 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 può 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 può 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)

    sarà:

    y(t) = y′(t) + τzdy′(t)

    dt.

    Quindi, al segnale y′(t) si aggiungerà un effetto proporzionale alla derivata di y′(t),attraverso la costante di tempo τz; quanto più τz è grande (ossia lo zero è a bassafrequenza), tanto più questo effetto è 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’attività del comando.

    D’altro canto, consideriamo il modulo |Q(jω)|:

    |Q(jω)| = ∣∣Geq(jω)G−1(jω)∣∣ = |C(jω)S(jω)| (1.25)

    Poiché 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 ciò discende che il comportamento a bassa frequenza della Q(s) non è mo-dificabile, in quanto dipende essenzialmente dall’impianto attraverso l’inversa dellasua fdt G(s), che è data, mentre il comportamento ad alta frequenza dipende dalcomportamento in alta frequenza del controllore C(s), che quindi occorre limitare perlimitare l’attività del comando. Per approfondimenti, si consiglia di consultare [1,pagg. 347–349].

    16

  • 1.2.8 Realizzabilità del controllore

    La realizzabilità fisica del controllore impone che la fdt C(s) =NC(s)DC(s)

    sia almeno

    propria, se non strettamente propria, ossia ρ(NC) ≤ ρ(Dc).Poiché 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),

    cioèρ(Da)− ρ(Na) ≥ ρ(DG)− ρ(NG)

    e quindi ν(Ga) ≥ ν(G).Ciò 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 più 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)è 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 è 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 è in funzione del parametro α è 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 sensitività al rumore.

    È 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 è utilizzabileQuando la fase della fdt dell’impianto descresce rapidamente in prossimità dellafrequenza di crossover.

    2.2 Rete integrativa

    Una rete integrativa, detta anche rete ritardatrice (in inglese phase-lag compensator)è 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 può 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 sensitività 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 più favorevole.

    20

  • La rete integrativa introduce però uno sfasamento negativo (ritardo di fase), ero-

    dendo il margine di fase, che raggiunge il valore minimo per ω̄ =√

    α

    τi. È 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 parità di ωc per diminuire il modulo della sensitività S(s).

    EffettiDiminuisce la sensitività 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.

    È utilizzabileQuando bisogna rispettare le specifiche di errore a regime senza cambiare la ωc.

    Non è 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 perché 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 è 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 risulterà 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 è causale, in quanto l’ordine del numeratore supera l’ordine del denominatore.

    Nella pratica è quindi necessario modificare la fdt in (2.3) per costruire una fdtpropria o strettamente propria.

    Questo lo si ottiene aggiungendo uno o più 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 attività del comando o una banda passante troppoelevata.

    La decisione di introdurre un solo polo di chiusura oppure più 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) è ora propria, ma rispettoalla (2.3) sono cambiati gli zeri.

    Un altra avvertenza, da usarsi nella pratica, è la seguente: poiché la fdt CD(s)dell’azione derivativa è posta dopo il nodo di differenza tra il riferimento r e la misuray, può 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 perciò più 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 è 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 è 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 è quella indicata in (2.4), mentre la CPI, che esercita solo l’azioneproporzionale e derivativa, vale:

    CPI =KP s + KI

    s

    Come si può 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 può 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 libertà,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 è quello di rendere l’uscita y quanto più simile alla variabile ausiliaria diriferimento desiderato rd. Per fare questo è 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 può venire modificato nel modo illustrato in Figura 2.7.In questo caso si può 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 necessità 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 è sicuramente improprio e quindi non causale, ecomporta la necessità di eseguire un numero di operazioni di derivazione pari all’or-dine dell’impianto; anche in questo caso, però, il fatto di doverle eseguire sul segnaledi riferimento, che di solito si conosce in forma analitica, riduce la problematicitàdell’operazione.

    Ad esempio, nel caso di un controllo indipendente ai giunti per robot rigidi, la fdtdel i-esimo motore/braccio è 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) + β′ṙd(t))

    Come si può vedere, il segnale di feedforward coincide con le coppie inerziali e diattrito che si prevede di dover applicare in funzione dell’accelerazione e della velocitàdesiderate. In questo caso il segnale di accelerazione r̈d(t) e velocità ṙ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 piùelevato, purché 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 è il guadagno stazionario (per s → 0) della fdt, ωn è la pulsazionenaturale o caratteristica 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 è 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 è taratorispetto al parameto adimensionale a ωnt.

    I criteri più comunemente usati per caratterizzare la risposta di un sistema del se-cond’ordine sono la velocità di risposta a segnali canonici e la capacità di inseguimento(con errore limitato) del riferimento sia in condizioni di transistorio, sia in condizionidi regime.

    Per quanto riguarda la velocità 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∞ è 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 capacità 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 capacità di inseguire cone∞ = 0 riferimenti r(t) via via più complessi, quali il gradino (sistema di tipo 1), larampa (sistema di tipo 2), la parabola (sistema di tipo 3).

    Nel secondo caso, è 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 è 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 velocità 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 è 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 può 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 è rappresentato in Figura B.1, dove si è 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 può 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 più 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; perciò 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 puòvenire inviato all’impianto da controllare. Il convertitore più comune è 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 è il tempo di mantenimento.

    Lo ZOH è 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 può essere approssimata da un ritardo descritto dalla seguente espressione

    GZOH(jω) ' e−jωTm/2 (B.1)valida nell’intervallo 0 ≤ ω < ωN , dove ωN è la pulsazione di Nyquist, sulla qualetorneremo più 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 è necessario introdurre le

    notazioni utilizzate e ricordare alcuni aspetti della teoria del campionamento.

    B.1.1 Notazioni

    Un segnale campionato è 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 può essere finito o infinito. Ovviamente nei casi reali Nsarà 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) è 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 < +∞, è 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 è 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) è 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.

    È noto che, mentre l’operazione di campionamento è univoca, nel senso che pro-duce una ben definita sequenza di campioni a partire da una data funzione a tempocontinuo, l’inverso non è vero: data una sequenza di campioni, è impossibile risalireunivocamente al segnale continuo che ha generato tale sequenza; questo fenomeno èdovuto all’aliasing o equivocazione in frequenza. Matematicamente ciò è spiegabilericordando che la trasformata di Fourier discreta del segnale y∗(k) campionato con pe-riodo T è legata alla trasformata di Fourier del segnale continuo y(jω) dalla relazioneseguente:

    y∗(ejωT ) =1T

    +∞∑

    `=−∞y(j(ω + `ωs)) (B.3)

    dove ωs è la frequenza di campionamento o di sampling, che vale ωs =2πT

    .

    Per la (B.3), la trasformata di Fourier discreta y∗(ejωT ) è somma di infinite replichedella y(jω), traslate della quantità ±`ωs.

    Senza addentrasi nella caratterizzazione del fenomeno di aliasing, per il quale sirimanda ai testi già 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) può 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 è un decampionatore ideale, ma non è causale, per cui non èpossibile utilizzarlo in pratica; bisogna perciò ricorrere a filtri decampionatori causali,che approssimano il decampionatore di Shannon. Lo ZOH è uno di questi filtri.

    Inoltre, poiché non si può 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, è 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, é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 dovràessere considerato nella scelta del periodo di campionamento T , che discuteremo nelseguito.

    Riassumendo, si può affermare quanto segue:

    • Il convertitore A/D, cioè il campionatore, deve essere di solito preceduto da unfiltro anti-aliasing, la cui banda ωf verrà 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 già 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 perciò 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. È 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 è possibile mantenere la tempistica della catena campionatore–controllore–ricostruttore e il progetto va rivisto riducendo la complessità 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 complessità 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 può 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 kTdovrà includere un termine anch’esso definito all’istante kT ; sarà quindi necessarioattendere l’acquisizione e la trasmissione di tale termine prima di iniziare il calcolodella variabile di comando, che terminerà 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 dovrà 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, è necessario campionare almeno ad una pulsazione doppia, cioèω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 , è opportuno che questaωf sia sufficientemente superiore a ωc in modo da limitare l’erosione del margine difase, ossia porre ωc ¿ ωf ; poichè dobbiamo comunque porre ωf < ωN = ωs/2, sembraragionevole dire che dovrà 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), perchè si potrebbe asserire che quantopiù fitto si campiona, tanto meglio. Questa affermazione tuttavia non è sempre vera,in primo luogo perché il costo associato a campionatori veloci (con periodo di cam-pionamento T molto basso) è piuttosto elevato e in secondo luogo perché un periodo

    36

  • di campionamento T → 0 può dare inconvenienti di natura numerica, come vedremomeglio nel seguito. Quindi è opportuno fissare un limite superiore a ωs come in (B.5).

    B.2.2 Determinazione della fdt del controllore

    Alla sintesi del controllore si può 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 è stato aggiunto il filtro FS(s) che rappresenta un filtro di smoothing,che ha lo scopo di lisciare le discontinuità 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, perchè preceduti da un filtroanti-aliasing. La fdt dell’impianto si è modificata da G(s) a G′(s) perché in essa è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 perciò 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 più 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 già sappiamo dalla (1.21) questo ritardo è approssima-

    bile secondo Padé con la fdt G1(s) =1− 0.25Ts1 + 0.25Ts

    ; esiste anche un’altra funzione di

    approssimazione di padé, chiamata G2(s), che omettiamo per brevità.La presenza di questo elemento di ritardo introduce una perdita di fase. Tuttavia

    se durante il progetto del controllore continuo abbiamo già considerato la successivatrasformazione in controllore digitale, allora abbiamo già 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

    ẋ (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.

    È necessario perciò 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 α può assumere valore 0, 0.5 oppure 1. Avremo pertanto lo schema seguente,che riassume i tre metodi più 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) è 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−, cioè al semipiano che contiene i poli stabili del regolatorecontinuo.

    Come si può 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 può 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”, è alternativo a quello dellatrasformazione bilineare e si basa sulle considerazioni seguenti.

    Ricordiamo che l’obbiettivo è 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 è difficilmente automa-tizzabile; in secondo luogo – e questa è 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 nonverrà discusso qui e si rimanda a [1, Pagg. 533-535] per ulteriori approfondimenti.

    La procedura per trasformare C(s) in C∗(z) può 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) è di tipo zero, allora il guadagno stazionario di C∗(z) è uguale aquello di C(s), ossia

    C∗(1) = C(0) (B.22)

    b) se C(s) è 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 è 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 oraperò è 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), talecioè da avere le sue radici là 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 ν è l’ordine della fdt dell’impianto G∗(z). Come si vede, se l’impianto ha ordineelevato, il metodo dà 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 è in grado di scegliere; se questo fatto costituisse un problema,si potrebbe utilizzare una procedura detta di pole-zero placement, la quale tuttavianon verrà descritta in queste note.

    B.2.5 Periodo di campionamento e lunghezza della parola

    Considerando la trasformazione di campionamento (B.13), riportata qui per comodità

    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 può notare che al diminuire del periodo T , la non distinguibilità tra due policresce; ad esempio, per T = 1 ms, è 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’opportunità 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 indistinguibilità 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 assumerà la forma indicata in (B.2). È 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

  • Poiché il controllore è 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), benché corretta, nonè 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 perciò di utilizzare la tecnica dello sviluppo in fratti semplici,che invece gode della proprietà di essere robusta