Comprensione del sistema standard del secondo ordine: riepilogo

Per prima cosa riassumiamo la nostra precedente discussione sulle varie misure di risposta transitoria e di risposta allo stato stazionario rispetto a un sistema standard del secondo ordine. Ricordiamo il modello del sistema standard del secondo ordine:

19_Design_of_feedback_control_system

\[ \frac{Y(s)}{R(s)} = \frac{\omega_n^2}{s^2 + 2\zeta\omega_ns + \omega_n^2} \]

Qui, $ Y(s) $ è l’output nel dominio di Laplace, e $ _n $ e $ $ rappresentano rispettivamente la frequenza naturale e il rapporto di smorzamento.

Misure di risposta transitoria

  1. Tempo di salita ($ t_r $):

Specificare l’ora desiderata affinché il sistema risponda inizialmente a una modifica.

\[ t_r = \frac{\pi - \cos^{-1}(\zeta)}{\omega_d} \] Qui, $ _d = _n $ è la frequenza smorzata.

  1. Ora di punta ($ t_p $):

Definire il tempo accettabile per raggiungere il primo picco in risposta a un ingresso graduale. \[ t_p = \frac{\pi}{\omega_d} \]

  1. Superamento del picco ($ M_p $):

Determinare il superamento massimo consentito, ovvero la misura in cui il sistema supera la sua produzione in stato stazionario.

\[\Large M_p = e^{-\frac{\pi\zeta}{\sqrt{1 - \zeta^2}}} \]

  1. Tempo di assestamento ($ t_s $):

Stabilire il tempo necessario al sistema per stabilizzarsi entro una certa percentuale del valore di stato stazionario.

\[ t_s = \frac{4}{\zeta\omega_n} \]

Risposta allo stato stazionario

La risposta allo stato stazionario valuta quanto bene il sistema mantiene la sua uscita al valore desiderato dopo che i transitori si sono estinti.

Per un sistema standard del secondo ordine:

  • Per un ingresso graduale: errore a stato stazionario pari a zero.
  • Per un ingresso di rampa dell’unità: errore di stato stazionario \[ e_{ss} = \frac{2\zeta}{\omega_n} \]

Specifiche delle prestazioni del sistema

Frequenza naturale alta ($ _n $):

La frequenza naturale, $ _n $, gioca un ruolo fondamentale nel determinare la velocità di risposta di un sistema. Un $ _n $ più alto porta ad una migliore velocità di risposta, caratterizzata da un tempo di salita più basso ($ t_r \() e da un tempo di picco ridotto (\) t_p $). Inoltre, un $ n $ più elevato contribuisce a una maggiore precisione in stato stazionario, indicato come $ e{ss} $. Tuttavia, è importante notare che il valore di $ _n $ è soggetto a limitazioni imposte dalla larghezza di banda del sistema e dai vincoli hardware. Ad esempio, il raggiungimento di un $ _n $ elevato può richiedere un guadagno dell’amplificatore significativamente elevato, che a sua volta può portare a problemi di saturazione. Ciò evidenzia la necessità di un’attenta progettazione dell’hardware, inclusa l’implementazione di filtri in grado di mitigare i problemi legati al rumore e alle limitazioni hardware.

Regolazione del rapporto di smorzamento ($ $):

Il rapporto di smorzamento, $ $, è l’altro parametro critico da considerare dopo aver deciso $ _n $. $ $ esercita un’influenza significativa sul tempo di salita, sul superamento e sull’errore di stato stazionario del sistema. Un valore inferiore di $ $ si traduce generalmente in un tempo di salita più rapido, anche se l’impatto potrebbe non essere molto pronunciato nell’intervallo di valori generalmente considerati per $ $. Inoltre, un $ $ inferiore porta a un tempo di picco ridotto e migliora l’errore di stato stazionario in risposta agli ingressi di rampa. Tuttavia, è fondamentale riconoscere che un $ $ inferiore si traduce anche in un superamento del picco più elevato e avvicina il sistema all’instabilità.

La relazione tra $ $ e il tempo di assestamento normalizzato ($ _n t_s $) è complessa e non lineare. Il minimo $ _n t_s $ viene raggiunto a $ = 0,68 $ per una fascia di tolleranza del 5% e $ = 0,8 $ per una fascia di tolleranza del 2%. Abbiamo osservato che la diminuzione di $ $ può portare ad un aumento del tempo di assestamento. È essenziale comprendere che il tempo di salita da solo non definisce completamente la velocità di risposta; anche il tempo di assestamento è un fattore cruciale. Il compromesso tra questi parametri deve essere risolto in base ai requisiti specifici dell’applicazione. È interessante notare che l’aumento di $ $ oltre 0,68 per una fascia di tolleranza del 5%, o oltre 0,8 per una fascia di tolleranza del 2%, non produce vantaggi, poiché si traduce solo in un sistema più lento con prestazioni ridotte sia nel tempo di assestamento che in quello di salita. tempo. Per un’analisi dettagliata, fare riferimento al grafico ’Tempo di assestamento normalizzato ($ _n t_s \() vs Rapporto di smorzamento (\) $)’ nel taccuino intitolato ‘19_Design_of_feedback_control’ e riportato di seguito.

19_Design_of_feedback_control_settling_time_vs_damping_ratio

Intervallo del rapporto di smorzamento (\(\zeta\)) e considerazioni chiave

Norme di settore per $ $:

  • Intervallo generale: nelle pratiche standard del settore, $ $ è solitamente impostato tra 0,4 e 0,7, in particolare quando l’utente non fornisce criteri di prestazione quantitativi specifici.

Personalizzazione per un’elevata precisione statica:

  • Relazione dell’errore in stato stazionario: Considerando l’equazione $ e_{ss} = $, ottenere un’elevata precisione statica implica:
    • **Massimizzare $ _n $**: è preferibile un $ _n $ più alto, che potrebbe richiedere l’incorporazione di hardware specializzato per gestire i requisiti di prestazioni più elevate.
    • Minimizzare $ $: Si desidera un $ $ più piccolo. In alcune applicazioni specifiche, un valore pari a $ = 0,1 $ può essere considerato accettabile. Sebbene ciò porti a un sistema con oscillazioni elevate e prestazioni transitorie inferiori, offre una maggiore precisione statica. Tuttavia, è fondamentale notare che valori così bassi di $ $ portano il sistema più vicino all’instabilità, rendendolo più sensibile alle variazioni dei parametri e influenzandone la robustezza.

Applicazioni specializzate:

  • Esempio - Sistemi di controllo di bracci robotici: In applicazioni come bracci robotici, un valore $ $ più alto, vicino a 1, potrebbe essere più adatto. Ciò garantisce un movimento più lento ma più controllato, evitando oscillazioni che potrebbero disturbare il percorso del braccio nel suo ambiente operativo.

Valori $ $ tipici per applicazioni generali:

  • Intervallo preferito: Per la maggior parte delle applicazioni, il focus rimane all’interno dell’intervallo $ 0,4 < < 0,7 $, sebbene possano esserci lievi deviazioni da questi limiti in base a requisiti specifici.

Considerazioni sulla frequenza naturale ($ _n $):

  • Dipendenza dall’hardware del sistema: l’intervallo fattibile per $ _n $ dipende fortemente dall’hardware del sistema e dalla sua configurazione. A differenza di $ $, non esiste un intervallo standard per $ _n $ poiché varia in modo significativo in base alle caratteristiche fisiche e operative del sistema.

Traduzione delle specifiche prestazionali

La traduzione delle specifiche prestazionali in requisiti dei poli a circuito chiuso è un passaggio fondamentale nella progettazione del sistema di controllo. Questo processo implica determinare dove posizionare i poli della funzione di trasferimento ad anello chiuso nel piano complesso per soddisfare i criteri di prestazione desiderati come superamento, tempo di salita, tempo di assestamento ed errore di stato stazionario.

La funzione di trasferimento ad anello chiuso per un sistema standard del secondo ordine è data da:

\[ T(s) = \frac{\omega_n^2}{s^2 + 2\zeta\omega_n s + \omega_n^2} \]

dove $ $ è il rapporto di smorzamento e $ _n $) è la frequenza naturale.

I poli di questa funzione di trasferimento sono soluzioni dell’equazione caratteristica:

\[ s^2 + 2\zeta\omega_n s + \omega_n^2 = 0 \]

quali sono:

\[ s_{1,2} = -\zeta\omega_n \pm \omega_n\sqrt{\zeta^2 - 1} \]

19_Design_of_feedback_control_system_roots

Domanda pop-up: Qual è la regione nel piano s per i poli ad anello chiuso dati i requisiti per \(\omega_n\) e \(\zeta\) che abbiamo specificato?

Risposta:

Per determinare la regione ideale nel piano s per i poli a circuito chiuso in base a valori specifici di frequenza naturale ($ _n \() e rapporto di smorzamento (\) $), dobbiamo considerare entrambi questi parametri e il modo in cui influenzano il la risposta del sistema. Ecco una ripartizione dell’argomento utilizzando il testo fornito:

1. Stabilire un intervallo per la frequenza naturale ($ _n $):

  • **Minimo $ _n $**: dovrebbe esserci un valore minimo per $ _n $ per evitare che il tempo di salita diventi troppo grande. Questo può essere visualizzato come un cerchio nel piano s con un raggio pari a questo valore minimo $ _n $, indicato come $ _n^1 $.
  • **Massimo $ _n $**: il limite superiore di $ _n $ è limitato dalle capacità hardware e da considerazioni sul rumore. Questo può essere rappresentato da un altro cerchio con un raggio di $ _n^2 $.

2. Considerando il rapporto di smorzamento ($ $):

  • Intervallo di $ $: In questo caso, consideriamo i valori di $ $ pari a 0,4 e 0,7. Questi valori determinano l’angolo formato dalla linea dall’origine al polo con l’asse reale negativo. Gli angoli possono essere calcolati come $ ^{-1}(0,4) $ e $ ^{-1}(0,7) $.

3. Regione ideale per i poli a circuito chiuso:

  • **Combinazione di $ _n $ e $ $**: la regione ideale per i poli a circuito chiuso è dove queste due considerazioni si intersecano. Nello specifico, i poli dovrebbero trovarsi all’interno di un settore definito dagli angoli corrispondenti a $ = 0,4 $ e $ = 0,7 $ e tra i cerchi che rappresentano i valori minimo e massimo $ _n $.
  • Simmetria nel piano S: data la natura simmetrica del piano S, nella metà inferiore del piano esisterebbe un punto corrispondente che riflette la posizione polare.
  • Caratteristiche della regione: questa regione, delimitata dalle curve rosse (che rappresentano le considerazioni sulla frequenza naturale) e dalle curve verdi (che rappresentano le considerazioni sullo smorzamento), è dove i poli a circuito chiuso del sistema dovrebbero idealmente essere posizionati per un sistema standard con due poli.

Per riassumere, per applicazioni generali, i poli a circuito chiuso di un sistema dovrebbero idealmente essere posizionati all’interno di una regione specifica nel piano s. Questa regione è definita dai valori minimo e massimo della frequenza naturale ($ _n \() ed entro i limiti angolari stabiliti dai rapporti di smorzamento specificati (\) $). Questo posizionamento garantisce una risposta del sistema equilibrata, considerando sia la velocità di risposta (influenzata da $ _n $) sia il livello di superamento e stabilità (influenzato da $ $). Questo è mostrato nella figura qui sotto.

19_Design_of_feedback_control_system_roots_2_b

Gestione di sistemi non standard nell’ingegneria dei controlli

Finora la nostra discussione si è concentrata su un sistema standard del secondo ordine, rappresentato dalla funzione di trasferimento:

\[ Y(s) / R(s) = \frac{\omega_n^2}{s^2 + 2\zeta\omega_n s + \omega_n^2} \]

Tuttavia, i sistemi del mondo reale spesso si discostano da questo modello standard. Possono avere più di due poli, introdurre zeri o avere altre complessità. La parte successiva del nostro corso esplorerà come gestire queste variazioni.

Sistemi di gestione con uno zero

1. Introduzione di uno Zero nel Sistema

  • In alcuni sistemi, in particolare quelli che utilizzano il controllo proporzionale-derivativo (PD), nella dinamica del sistema viene introdotto uno zero.
  • Ad esempio, applicando il controllo PD a un sistema del secondo ordine si aggiunge uno zero alla funzione di trasferimento.

2. Funzione di trasferimento modificata

  • La nuova funzione di trasferimento, in presenza di uno zero, può essere rappresentata come: \[ \frac{Y(s)}{R(s)} = \frac{\omega_n^2 (s + z)}{s^2 + 2\zeta\omega_n s + \omega_n^2} \] dove $ s=-z $ è lo zero del sistema.

    Vogliamo capire gli effetti dello zero sul transitorio della risposta.

3. Normalizzazione della funzione di trasferimento

  • Per facilitare l’analisi, normalizziamo la funzione di trasferimento in modo che il valore in stato stazionario di $ Y $ per un input a gradino diventi 1. Ciò si ottiene moltiplicando la funzione di trasferimento per un fattore di $ 1/z $. Ciò non pregiudica la dinamica che vogliamo studiare.

  • La funzione di trasferimento normalizzata diventa: \[ \frac{Y(s)}{R(s)} = \frac{\omega_n^2}{z} \cdot \frac{(s + z)}{s^2 + 2\zeta\omega_n s + \omega_n^2} \]

    possiamo riscriverlo come: \[ Y(s) = \frac{\omega_n^2}{s^2 + 2\zeta\omega_n s + \omega_n^2}R(s) + \frac{1}{z} \cdot \frac{ s\omega_n^2}{s^2 + 2\zeta\omega_n s + \omega_n^2}R(s) \]

    Se scriviamo la funzione di trasferimento in questo modo notiamo:

    • la parte sinistra è la funzione di trasferimento standard del secondo ordine
    • la parte destra è la derivata della funzione di trasferimento del secondo ordine (moltiplicata per un fattore di scala)

4. Effetto sulla risposta transitoria

  • L’introduzione di uno zero influenza la risposta transitoria del sistema.
  • Inizialmente, la componente derivativa (dovuta allo zero) è ampia e ha un impatto significativo sulla prima parte della risposta.
  • L’effetto complessivo dipende dalla posizione dello zero. Uno zero più vicino all’origine ha un effetto più pronunciato rispetto a uno più lontano nel semipiano sinistro.

Per illustrare l’effetto dell’aggiunta di uno zero sulla risposta transitoria di un sistema di controllo e per confrontarlo con la risposta standard del sistema di secondo ordine, possiamo utilizzare la libreria dei sistemi di controllo di Python. Di seguito è riportato un frammento di codice Python che esegue questa attività. Il codice genera un grafico che mostra la risposta di un sistema standard del secondo ordine e del sistema modificato con uno zero aggiuntivo, entrambi soggetti a un input a gradino unitario.

"""
- 'omega_n' and 'zeta' are the natural frequency and damping ratio of the system, respectively.
- 'zero_position' is the position of the additional zero in the s-plane.
- 'system_standard' represents the standard second-order system.
- 'system_zero_added' is the system with an additional zero.
- The step responses of both systems are computed using ctl.step_response.
- The responses are then plotted for comparison.
"""
import numpy as np
import matplotlib.pyplot as plt
import control as ctl

# System Parameters
omega_n = 1  # Natural frequency
zeta = 0.3   # Damping ratio

# Position of the zero - change this to see the effects of the zero on the response
zero_position = -0.5  

# Define the standard second-order system
num_standard = [omega_n**2]
den_standard = [1, 2*zeta*omega_n, omega_n**2]
system_standard = ctl.TransferFunction(num_standard, den_standard)
print(system_standard)

# Define the system with an additional zero
num_zero_added = [1, -zero_position]
den_zero_added = 1
system_zero_added = 1/(-zero_position)*ctl.TransferFunction(num_zero_added, den_zero_added) * system_standard
print(system_zero_added)

# Time range for the response
t = np.linspace(0, 20, 500)

# Compute the step responses
t_standard, y_standard = ctl.step_response(system_standard, T=t)
t_zero_added, y_zero_added = ctl.step_response(system_zero_added, T=t)

# Unit Step Reference (Constant value of 1 across the time range)
unit_step = np.ones_like(t_standard)

# Plotting
plt.figure(figsize=(10, 6))
plt.plot(t_standard, y_standard, label='Standard Second-Order System')
plt.plot(t_zero_added, y_zero_added, label='System with Zero Added', linestyle='--')
plt.plot(t, unit_step, label='Unit Step Input', color='red', linestyle='-', linewidth=3)

plt.title('Comparison of Step Response with Unit Step Input')

plt.xlabel('Time')
plt.ylabel('Response')
plt.grid(True)
plt.legend()
plt.show()

       1
---------------
s^2 + 0.6 s + 1


    2 s + 1
---------------
s^2 + 0.6 s + 1

Comprendere la risposta transitoria con l’aggiunta di uno zero:

  1. Risposta del sistema standard di secondo ordine:
    • La risposta transitoria di un sistema standard del secondo ordine (senza zero) mostra tipicamente un certo tempo di salita, superamento e tempo di assestamento, a seconda del rapporto di smorzamento ($ \() e della frequenza naturale (\) _n $).
  2. Effetto dell’aggiunta di una componente derivativa (Zero):
    • L’aggiunta di uno zero al sistema aggiunge effettivamente una componente derivativa alla risposta.
    • Inizialmente, quando la risposta cambia rapidamente, la derivata della risposta (pendenza) è grande. Ciò porta ad un effetto significativo sulla parte iniziale della risposta transitoria dovuta allo zero.
    • Quando la risposta inizia a stabilizzarsi e i cambiamenti diventano meno drastici, la derivata (pendenza) diventa più piccola. Pertanto, l’influenza dello zero diminuisce nella parte successiva della risposta.
  3. Visualizzazione dell’effetto dello zero:
    • La curva di risposta transitoria del sistema modificato viene “innalzata” o alterata principalmente nella fase iniziale a causa della derivata significativa all’inizio.
    • Il fattore di scala $ 1/z $ (dove $ z $ è la posizione dello zero) influenza l’entità di questo effetto. Uno zero più vicino all’origine (piccolo $ z $) ha un impatto più pronunciato, mentre uno zero più nel semipiano sinistro (grande $ z $) ha un effetto trascurabile.
  4. Impatto dello zero sul decadimento della risposta:
    • Il decadimento della risposta è governato principalmente dalla parte reale dei poli del sistema, in particolare da $ e^{-_n t} $.
    • Lo zero aggiunto non cambia in modo significativo il tasso di decadimento dettato dai poli ma altera la dinamica della risposta iniziale.

Parametri per mostrare l’effetto dello zero:

Per illustrare meglio l’impatto dell’aggiunta di uno zero, valuta la possibilità di modificare questi parametri nella simulazione di cui sopra:

  1. Posizione dello Zero ($ z $):
    • Variare la posizione dello zero più vicino o più lontano dall’origine dimostrerà il suo impatto sulla risposta iniziale.
  2. Rapporto di smorzamento ($ $):
    • La modifica di $ $ può mostrare come lo smorzamento intrinseco del sistema interagisce con gli effetti introdotti dallo zero.
  3. **Frequenza naturale ($ _n $)**:
    • La modifica di $ _n $ può aiutare a visualizzare come la velocità di risposta del sistema è influenzata dallo zero.

Regolando questi parametri in un ambiente di simulazione, è possibile vedere chiaramente come la presenza di uno zero nella funzione di trasferimento del sistema modifichi la sua risposta transitoria, specialmente nella fase iniziale successiva a un gradino in ingresso. Ciò è essenziale per comprendere le implicazioni progettuali di tali modifiche nei sistemi di controllo.

Linee guida sull’influenza di uno zero

  1. Posizione relativa dei poli coniugati zero e complessi:
    • L’effetto di uno zero sulla risposta transitoria di un sistema di controllo è significativamente correlato alla sua posizione rispetto ai poli coniugati complessi del sistema.
    • Se uno zero è circa cinque volte più lontano dall’origine rispetto ai poli complessi coniugati, il suo impatto sulla risposta transitoria è trascurabile.

Implicazioni sulla progettazione

  1. Impatto trascurabile dello zero distante:
    • Quando lo zero è sufficientemente lontano dai poli coniugati complessi (cinque volte più lontano), è possibile progettare il sistema come se lo zero non esistesse. Ciò significa che è ancora possibile utilizzare le misure di prestazione standard (come tempo di salita, tempo di assestamento, superamento del picco) applicabili a un sistema di secondo ordine senza zero.
  2. Regolazione dei parametri di progettazione:
    • Se lo zero è più vicino e influenza in modo significativo la risposta, potrebbero essere necessari aggiustamenti nei parametri di progettazione del sistema, in particolare nel rapporto di smorzamento ($ $).
    • Ad esempio, se un sistema progettato per un rapporto di smorzamento pari a 0,4 sperimenta un aumento del superamento dovuto allo zero, il progettista potrebbe optare per un rapporto di smorzamento leggermente più alto (come 0,5) per compensare questo effetto.
  3. Verifica del progetto tramite simulazione:
    • L’effettivo impatto dello zero e l’efficacia di eventuali modifiche progettuali compensative dovrebbero essere verificati tramite simulazione.
    • La simulazione confermerà se il rapporto di smorzamento scelto raggiunge le prestazioni desiderate, in particolare in termini di superamento del picco.

Rientrare nel ciclo di progettazione

  1. Processo di progettazione iterativo:
    • Il processo di progettazione è iterativo. Se il progetto iniziale (con il rapporto di smorzamento modificato) non soddisfa i requisiti, sono necessarie ulteriori modifiche e simulazioni.
    • Questo processo iterativo continua finché il progetto non raggiunge le caratteristiche di risposta transitoria desiderate.
  2. Scenario di esempio:
    • Se un progetto per $ = 0,4 $ porta ad un superamento del 25% a causa della presenza di uno zero, il progettista potrebbe aumentare $ $ a 0,5 per ridurre il superamento. Tuttavia, questa modifica viene quindi testata tramite simulazione per garantire che soddisfi i criteri di prestazione complessivi del sistema.

In sintesi, il testo fornisce una guida pratica per i progettisti di sistemi di controllo su come tenere conto della presenza di uno zero nella funzione di trasferimento del sistema, in particolare quando influisce sulla risposta transitoria. Il punto chiave è valutare l’influenza dello zero in base alla sua posizione relativa rispetto ai poli dominanti e regolare di conseguenza i parametri di progettazione, verificando questi cambiamenti attraverso la simulazione per garantire che soddisfino le prestazioni di sistema desiderate.

Zeri del semipiano destro e tempi morti del sistema

Discutiamo ora le implicazioni di avere uno zero nella metà destra del piano s nella funzione di trasferimento di un sistema di controllo, in particolare in relazione alla stabilità e alla risposta del sistema.

Zeri nel semipiano destro

  1. Impatto sulla stabilità:
    • Uno zero nel semipiano destro (RHP) non influisce direttamente sulla stabilità di un sistema. La stabilità è generalmente determinata dai poli del sistema, non dagli zeri. Un sistema rimane stabile finché tutti i suoi poli si trovano nel semipiano sinistro (LHP).
  2. Evento fisico:
    • Nella maggior parte dei sistemi fisici, gli zeri nella RHP sono rari. Tuttavia, possono comparire in determinati scenari, in particolare nei sistemi con tempi morti.

Il tempo morto e la sua rappresentazione

  1. Modellazione dei tempi morti:
    • Il tempo morto in un sistema è un ritardo tra la risposta di ingresso e quella di uscita. È spesso indicato come $ e^{-s_D} $ nel dominio di Laplace, dove $ _D $ è il tempo morto.

    • Un’approssimazione comune per i tempi morti è $ e^{-s_D} $. Questa approssimazione introduce uno zero nella destra (in $ s = 2/_D $) e un polo nella sinistra (in $ s = -2/_D $).

Effetti di uno zero nella destra

  1. Influenza sulla risposta del sistema:
    • Uno zero nell’RHP può alterare significativamente la risposta del sistema. A differenza di uno zero nell’LHP, che tipicamente migliora la capacità del sistema di tracciare rapidi cambiamenti nell’input (a causa dell’effetto di tipo derivato), uno zero RHP può portare a caratteristiche indesiderate nella risposta.
  2. Overshoot ridotto e maggiore lentezza:
    • La presenza di uno zero RHP tende a ridurre il superamento del picco nella risposta del sistema. Questo perché l’effetto dello zero contrasta l’azione crescente della risposta del sistema, come se sottraesse la componente derivativa anziché aggiungerla.
    • Ancora più significativo, uno zero RHP può rendere la risposta del sistema più lenta. Ciò significa tempi di risposta più lenti e prestazioni potenzialmente inferiori nel tracciamento degli input o nel recupero dai disturbi.
  3. Considerazioni pratiche nel controllo di processo:
    • Nei sistemi di controllo del processo in cui i tempi morti sono comuni, gestire gli effetti di uno zero RHP è una sfida pratica. Gli ingegneri devono progettare controller in grado di compensare il ritardo e la lentezza introdotti dai tempi morti, garantendo che il sistema possa comunque soddisfare i requisiti prestazionali.

In sintesi, mentre uno zero nell’RHP non influisce sulla stabilità di un sistema di controllo, può avere un impatto marcato sulla risposta transitoria del sistema, spesso rendendolo meno reattivo e riducendo l’overshoot. Queste caratteristiche devono essere attentamente considerate e affrontate nella progettazione del sistema di controllo, soprattutto nelle applicazioni di controllo di processo in cui i tempi morti sono un fattore. Comprendere e gestire gli effetti degli zero RHP è fondamentale per garantire che il sistema funzioni in modo efficace nonostante queste sfide intrinseche.

"""
- 'omega_n' and 'zeta' are the natural frequency and damping ratio of the system, respectively.
- 'zero_position' is the position of the additional zero in the s-plane.
- 'system_standard' represents the standard second-order system.
- 'system_zero_added' is the system with an additional zero.
- The step responses of both systems are computed using ctl.step_response.
- The responses are then plotted for comparison.
"""
import numpy as np
import matplotlib.pyplot as plt
import control as ctl

# System Parameters
omega_n = 1  # Natural frequency
zeta = 0.3   # Damping ratio

# Position of the zero - change this to see the effects of the zero on the response
zero_position = 1  

# Define the standard second-order system
num_standard = [omega_n**2]
den_standard = [1, 2*zeta*omega_n, omega_n**2]
system_standard = ctl.TransferFunction(num_standard, den_standard)
print(system_standard)

# Define the system with an additional zero
num_zero_added = [1, -zero_position]
den_zero_added = 1
system_zero_added = 1/(-zero_position)*ctl.TransferFunction(num_zero_added, den_zero_added) * system_standard
print(system_zero_added)

# Time range for the response
t = np.linspace(0, 20, 500)

# Compute the step responses
t_standard, y_standard = ctl.step_response(system_standard, T=t)
t_zero_added, y_zero_added = ctl.step_response(system_zero_added, T=t)

# Unit Step Reference (Constant value of 1 across the time range)
unit_step = np.ones_like(t_standard)

# Plotting
plt.figure(figsize=(10, 6))
plt.plot(t_standard, y_standard, label='Standard Second-Order System')
plt.plot(t_zero_added, y_zero_added, label='System with Zero Added', linestyle='--')
plt.plot(t, unit_step, label='Unit Step Input', color='red', linestyle='-', linewidth=3)

plt.title('Comparison of Step Response with Unit Step Input')

plt.xlabel('Time')
plt.ylabel('Response')
plt.grid(True)
plt.legend()
plt.show()

       1
---------------
s^2 + 0.6 s + 1


    -s + 1
---------------
s^2 + 0.6 s + 1

Gestire i sistemi di ordine superiore

Siamo ora pronti a discutere le complessità implicate nella progettazione di sistemi di controllo di ordine superiore e a introdurre il concetto di “condizione di dominanza”.

Un modello standard del secondo ordine, sebbene utile, è spesso una semplificazione eccessiva per i sistemi del mondo reale. In pratica, i sistemi sono generalmente di ordine superiore.

Un sistema standard del secondo ordine può essere rappresentato dalla funzione di trasferimento:

\[ Y(s) / R(s) = \frac{\omega_n^2}{s^2 + 2\zeta\omega_n s + \omega_n^2} \]

Un sistema reale, di ordine superiore al secondo, potrebbe assomigliare a:

\[ Y(s) / R(s) = \frac{p}{s+p}\frac{\omega_n^2}{s^2 + 2\zeta\omega_n s + \omega_n^2} \]

dove \(p\) al numeratore normalizza la risposta a 1.

Comprendere le modalità del sistema

In questo sistema del terzo ordine, la risposta del sistema è dettata da due modalità:

  1. Modalità associata al sistema originale del secondo ordine:
    • Questa modalità segue la forma $ e^{-_nt} $, caratteristica del sistema originale del secondo ordine.
    • Ancora una volta, il residuo ai poli del sistema determina l’entità di questa modalità.
  2. Modalità associata al palo:
    • Questa modalità è rappresentata da $ e^{-pt} $, dove $ p $ è la posizione del polo aggiunto nel sistema (se presente).
    • Il residuo su questo polo influenzerà il contributo di questa modalità alla risposta complessiva del sistema.

Progettare un sistema di ordine superiore: condizione di dominanza

Il concetto di “condizione di dominanza” implica che per un sistema di ordine superiore, la risposta transitoria è influenzata principalmente dai due poli più vicini all’asse immaginario se gli altri poli sono sufficientemente lontani.

Ciò ci consente di utilizzare i principi di progettazione di un sistema del secondo ordine per sistemi di ordine superiore in determinate condizioni.

  1. Condizione di dominanza:
    • La condizione di dominanza viene introdotta come un concetto importante per affrontare i sistemi di ordine elevato. Afferma che in un sistema di ordine superiore, se alcuni poli (tipicamente quelli più vicini all’asse immaginario nel piano s) sono dominanti, la risposta transitoria del sistema può essere approssimata considerando solo questi poli dominanti.

    • Se gli altri poli sono sufficientemente lontani nel semipiano sinistro (più di cinque volte più lontani dall’origine rispetto ai poli dominanti), il loro contributo alla risposta transitoria può essere considerato trascurabile.

  2. Implicazione della condizione di dominanza:
    • Quando la condizione di dominanza è soddisfatta, la progettazione e l’analisi del sistema di ordine superiore possono essere semplificate per concentrarsi sui poli dominanti. I parametri $ $ (rapporto di smorzamento) e $ _n $ (frequenza naturale), che sono rilevanti solo per i sistemi del secondo ordine, diventano un guadagno rilevante in questo scenario.

In un sistema di ordine superiore, come un sistema del decimo ordine, il disegno può avere più poli. La condizione di dominanza diventa qui critica:

  • Se i poli non dominanti sono significativamente lontani dai poli dominanti (diciamo, più di cinque volte la parte reale dei poli dominanti), il loro contributo alla risposta transitoria è minore.

  • Ciò consente al progettista di concentrarsi sui poli dominanti (tipicamente quelli più vicini all’asse immaginario) per progettare la risposta transitoria del sistema.

  • Ricordare che \(\zeta\) e \(\omega_n\) non hanno significato a meno che non si tratti di un sistema del secondo ordine. È nostra responsabilità verificare che la condizione di dominanza sia soddisfatta.

  • Nei casi in cui la condizione di dominanza non è soddisfatta, la progettazione diventa più complessa. Potrebbe essere necessario analizzare e progettare il sistema utilizzando un approccio più dettagliato, considerando gli effetti di tutti i poli e tutti gli zeri. In questo caso, è necessario un processo di progettazione iterativo, inclusa la simulazione, per convalidare le prestazioni del sistema rispetto alle specifiche desiderate. Gli aggiustamenti vengono effettuati in base ai risultati della simulazione fino a quando il sistema non soddisfa i suoi criteri di prestazione (progetto per tentativi ed errori).

Esempio: Cancellazione Polo Zero

Consideriamo uno scenario in cui il sistema presenta una configurazione dei poli problematica che determina le prestazioni.

19_Design_of_feedback_control_system_roots_third_order_system

Per questo sistema, le prestazioni non sono determinate da \(\zeta\) e \(\omega_n\). Si noti che in questo caso non ci sono poli dominanti e il sistema deve essere valutato come un sistema completo del terzo ordine.

I requisiti sono ancora espressi in termini di superamento del picco, tempo di salita, ecc., ma non possiamo semplicemente utilizzare l’approccio utilizzato finora.

Un metodo per minimizzare l’impatto di un polo indesiderato è introdurre uno zero vicino ad esso, annullandone di fatto l’impatto. Questo è noto come metodo di cancellazione del polo zero.

  • Cancellazione polo-zero: se uno zero viene posizionato esattamente nella posizione di un polo, si annulla l’effetto del polo (il residuo su quel polo diventa zero). Possiamo progettare un controller PD che posizioni lo zero dove ne abbiamo bisogno.

  • Per un sistema del terzo ordine, se si verifica questa cancellazione, la risposta del sistema potrebbe essere effettivamente dettata dai restanti due poli, semplificando il processo di progettazione.

  • In termini matematici, la cancellazione polo-zero modifica i residui sul polo cancellato, alterando così la risposta del sistema. Ciò può essere particolarmente utile per la gestione di poli complessi o che influiscono negativamente sulle prestazioni del sistema.

  • Da notare che non è necessario che si tratti di una cancellazione precisa, posizionando lo zero sufficientemente vicino si riduce l’effetto del polo indesiderato.

import numpy as np
import matplotlib.pyplot as plt
import control as ctl

# Change this to simulate parameter noise in the placement of the zero
# You can try 0 (no noise), 1e-2, etc.
Delta = 0 #1e-2

# System parameters
omega_n = 1  # Natural frequency for complex conjugate poles
zeta = 0.5   # Damping ratio for complex conjugate poles
real_pole = -2  # Location of the real pole

# Transfer function of the original third-order system
# Two complex conjugate poles and one real pole
num_original = [-real_pole*omega_n**2]
# (s^2 + 2*zeta*omega_n s + omega_n**2)(s+real_pole)
den_original = [1, 
                -real_pole + 2 * zeta * omega_n, 
                2 * zeta * omega_n * -real_pole + omega_n**2, 
                omega_n**2 * -real_pole] 

system_original = ctl.TransferFunction(num_original, den_original)

# Add a zero to cancel the real pole
# The zero is located at the position of the real pole
num_modified = [1, -real_pole+Delta]
system_modified = ctl.TransferFunction(num_modified, den_original)

# Standard second-order system
num_second_order = [omega_n**2]
den_second_oder = [1, 2*zeta*omega_n, omega_n**2]

system_second_order = ctl.TransferFunction(num_second_order, den_second_oder)

# Time range for the response
t = np.linspace(0, 10, 500)

# Compute the step responses
t_original, y_original = ctl.step_response(system_original, T=t)
t_modified, y_modified = ctl.step_response(system_modified, T=t)
t_second_order, y_second_order = ctl.step_response(system_second_order, T=t)

# Plotting
plt.figure(figsize=(10, 6))
plt.plot(t_original, y_original, label='Original System (Third-Order)')
plt.plot(t_modified, y_modified, label='System with Zero Canceling Real Pole', linestyle='--', linewidth=3)
plt.plot(t_second_order, y_second_order, label='Second-Order System', color='green', linestyle=':', linewidth=3)
plt.title('Comparison of Step Response: Original vs Modified System vs Second-Order')
plt.xlabel('Time')
plt.ylabel('Response')
plt.grid(True)
plt.legend()
plt.show()

Conclusione

In conclusione, la transizione da un sistema standard del secondo ordine a sistemi di ordine superiore nella progettazione del controllo implica un’attenta considerazione dei contributi dei poli e degli zeri. Tecniche come la normalizzazione e la cancellazione del polo zero diventano essenziali per gestire in modo efficace la risposta transitoria del sistema.