Fondamenti di automatica 1
Simone Belli
27 settembre 2022 - 23 dicembre 2022
Contenuti
- 1 Introduzione
- 1.1 Teoria dei sistemi
- 1.2 Rappresentazioni lineari e stazionarie
- 1.3 Esempio: sistema massa-molla-smorzatore
- 1.4 Alcune considerazioni
- 2 Sistemi dinamici lineari stazionari a dimensione finita
- 2.1 Il ruolo delle matrici A,B,C,D
- 2.2 La rappresentazione esplicita
- 2.3 Le matrici Φ, H, Ψ e W nella rappresentazione esplicita
- 2.4 Esponenziale di matrice
- 2.5 Modo naturale pseudoperiodico
- 2.5.1 Modi naturali aperiodici eccitabili e osservabili
- 2.5.2 Modi naturali pseudoperiodici eccitabili e osservabili
- 3 Caratterizzazione di sistemi a tempo continuo nel dominio della variabile complessa
- 3.1 Trasformata di Laplace
- 3.2 Le matrici Φ(s), H(s), Ψ(s) e W(s)
- 3.3 Antitrasformata di Laplace
- 3.4 La matrice di transizione nel dominio complesso
- 3.4.1 Le altre matrici
- 3.5 Il caso di operatore regolare
- 3.6 Il caso generale
- 3.7 La funzione di trasferimento e le sue rappresentazioni
- 3.8 La risposta indiciale e i suoi parametri caratteristici
- 4 Sistemi lineari a tempo discreto
- 4.1 Le matrici Φ(k), H(k), Ψ(k) e W(k)
- 4.2 Periodo di campionamento e discretizzazione
- 4.3 Trasformata Z e sue proprietà
- 4.3.1 Le matrici nel dominio della variabile complessa z
- 5 Stabilità dei sistemi
- 5.1 Stabilità dei sistemi lineari a tempo continuo
- 5.2 Stabilità dei sistemi lineari a tempo discreto
- 5.3 Criterio di Routh
- 5.4 Stabilità esterna
- 5.4.1 Stabilità esterna in ogni stato
- 5.4.2 Stabilità esterna nello stato zero
- 6 La risposta a regime permanente
- 6.1 Diagrammi di Bode
- 6.1.1 Termine costante K
- 6.1.2 Termine monomio
- 6.1.3 Termine binomio
- 6.1.4 Termine trinomio
- 6.2 Risposta a regime permanente per sistemi a tempo discreto
- 6.1 Diagrammi di Bode
- 7 Proprietà strutturali
- 7.1 Decomposizione di Kalman
- 7.2 Problema della realizzazione
- 7.3 Realizzazione in forma canonica raggiungibile
- 7.4 Realizzazione in forma canonica osservabile
- 7.5 Metodo di realizzazione di Gilbert
Introduzione
Cos'è l'automatica? È un insieme di tecnologie persuasive, ma nascoste. Il principio su cui si basa l'automatica, ma più in generale tutto il mondo, è quello del feedback. L'oggetto che vogliamo cercare di controllare in automatica prende il nome di sistema.
Indicheremo con y le uscite, le quali valutano la qualità delle operazioni che abbiamo svolto. Esse sono anche dette uscite controllate. Ci sono invece due tipologie di ingressi:
- Ingressi manipolabili, che indicheremo con u.
- Ingressi non manipolabili, che indicheremo con d (che sta per disturbo, perturbazione).
y rappresenta l'uscita desiderata, il riferimento. Quello che faremo è capire come il sistema possa agire senza la mano umana (e quindi autonomamente) con l'uso del feedback.
Teoria dei sistemi
Il corso è diviso in una prima parte, che si occupa di teoria dei sistemi, e di una seconda parte in cui si studiano controlli automatici. Cos'è la teoria dei sistemi? È l'insieme dei metodi che permette di analizzare e studiare un sistema. Facciamo riferimento a un sistema come a qualcosa che a una certa causa fa corrispondere un certo effetto. È cioè un insieme di entità che collaborano e che sono accomunate da qualcosa. Noi ci occuperemo di sistemi orientati.
Sistema orientato: a una certa causa corrisponde un effetto (relazione di causa-effetto, o azione-reazione). A un ingresso corrisponde cioè un'uscita. Sistema dinamico: il sistema evolve (col passare del tempo), e la causa dipende sia da quello che sta accadendo ora ma anche da quello che è accaduto prima, in passato. Un esempio di sistema dinamico è un condensatore: se mando una corrente continua, la tensione non lo sarà.
Sistema astratto: per studiare un sistema particolare lo posso astrarre. Un modello è una rappresentazione del sistema. Oggetti diversi possono essere rappresentati da modelli diversi, ma è anche vero che modelli diversi possono rappresentare lo stesso oggetto.
Quindi, l'automatica è l'insieme delle metodologie che rende un sistema autonomo indipendentemente dalle perturbazioni, e lo fa attraverso vari step:
- Modellistica: si identificano gli ingressi e le uscite.
- Analisi: bisogna capire le proprietà del modello.
- Controllo: sulla base dei primi due, posso definire una legge di intervento. Questa fase è detta anche progettazione.
- Realizzazione e simulazione.
Nella fase 3 è importante implementare oggetti che agiscano in real-time, il quale è essenziale in automatica.
Rappresentazioni lineari e stazionarie
Prima di vedere le rappresentazioni lineari e stazionarie, precisiamo che la parola 'stazionario' ci sta dicendo che il comportamento (l'effetto) non dipende dall'istante in cui inizio ad applicare una causa. L'istante iniziale non è quindi un problema. La rappresentazione è questa:
ẋ(t) = Ax(t) + Bu(t) (1)
y(t) = Cx(t) + Du(t) (2)
Prima precisazione: in tutto questo documento con la notazione ẋ, ad esempio, denoteremo la derivata prima di x, al posto della normale notazione x'. Stessa cosa dicasi per la notazione ẍ, che sostituisce x".
Per vedere se un sistema è stazionario, A, B, C e D (che non sono altro che matrici) devono essere costanti (non devono cioè dipendere da t). Come classe di sistemi equivalenti prenderemo in considerazione i sistemi lineari stazionari a dimensione finita, cioè quelli definiti dalle equazioni (1) e (2).
La prima equazione, ovvero ẋ(t) = Ax(t) + Bu(t), è la componente dinamica (che evolve nel tempo). La seconda, e cioè y(t) = Cx(t) + Du(t), è la componente istantanea.
q ∈ y è il vettore delle uscite (gli effetti del sistema);
p ∈ u è il vettore degli ingressi (le cause del sistema);
n ∈ x è il vettore degli stati.
y è influenzata da u all'istante t e da x all'istante t. Ma cos'è x? È un qualcosa che avrà informazioni sul passato, che ci serve per caratterizzare il modello ingresso-uscita. Lo stato x è dunque tutta l'informazione del passato necessaria per caratterizzare il presente. Questo tipo di modello è detto a dimensione finita ∈ perché x dove n è un numero finito.
Esempio: sistema massa-molla-smorzatore
Il modello da considerare è ancora il seguente:
ẋ(t) = Ax(t) + Bu(t)
y(t) = Cx(t) + Du(t)
Nella figura, b è l'attrito (lo smorzatore). Sappiamo che 2d yF = ma =⇒ a = ÿ TOT 2dt − −F = F ky BvTOT
dove v = velocità = ẏ − −mÿ = F ky B ẏ È un modello definito da un'equazione differenziale di ordine 2. Noi vogliamo che l'ordine massimo sia 1. u = F (ingresso), mentre y è l'uscita (la posizione). Per calcolare l'uscita, cioè la posizione, ci serve la velocità:
x1 = y
x2 = ẏ
x1 ∈ Rx
ẋ2 = ẏ = x1
B 1k −− x x + uẋ2 = ÿ = 1 22 m m m
Poiché da − − − −mÿ = F ky B ẏ =⇒ mẋ = u kx bx2 1 25si ottiene u k B− −ẋ = x x2 1 2m m mẋ = ẏ = x1 2B 1k −− x x + uẋ = ÿ = 1 22 m m my = x1 1 0 1 0ẋ x1 1 u= + 1k B− −ẋ x2 2 mm m x 1y = (1 0) + (0)ux2
Questo è un modello del sistema massa-molla-smorzatore.
Alcune considerazioni
Un generico sistema a tempo continuo si scrive in questo modo:
ẋ = f (t, x, u)
y = f (t, x, u)∈
con t e con x che è la variabile di stato, la cui dimensione n rappresenta Rla dimensione degli stati. Questo appena visto è un sistema non stazionario e non lineare, ma non ce ne occuperemo nel corso. Qui ci occuperemo di sistemi lineari. Se prendo cioè due ingressi u1 (t) e u2 (t), ottengo (separatamente) due uscite y1 (t) e y2 (t). Più in generale, se prendo u(t) = α1 u1 (t) + α2 u2 (t),
y(t) = α1 y1 (t) + α2 y2 (t)
Il comportamento ingresso-uscita è quindi lineare.Se un sistema è lineare,
ẋ(t) = A(t)x + B(t)u
y(t) = C(t)x + D(t)u
Questa volta il sistema non è stazionario, poiché le matrici dipendono dal tempo. Per quello che tratteremo in questo documento possiamo dire che a noi non stazionario non piace.
Sistemi dinamici lineari stazionari a dimensione finita
ẋ(t) = Ax + Bu (3)
y(t) = Cx + Du (4)
Una rappresentazione di questo tipo viene detta rappresentazione con lo stato. L'equazione (3) ci dice come varia lo stato col passare del tempo, ed è cioè la componente dinamica. L'equazione (4) è la componente istantanea e ci dice istante per istante quale sia l'uscita. L'uscita dipende dall'ingresso al tempo t e dallo stato all'istante t. x(t) è dunque una variabile intermedia che raccoglie le informazioni del passato.
Un sistema può anche essere strettamente causale. Se lo è, il termine D nell'equazione (4) deve essere nullo.
Il ruolo delle matrici A,B,C,D
Dalle matrici A, B, C e D capiamo tutto di un sistema.
- A definisce come lo stato varia in funzione di sé stesso (lega infatti ẋ con x stessa). Viene detta matrice dinamica e ha dimensione n x n poiché n n nxn∈ va da R a R (An).
- B ci dice come lo stato varia in funzione degli ingressi, e cioè il legame tra lo stato e gli ingressi. Viene infatti detta matrice del legame i/sp n nxp∈ (ingresso-stato). B va da R a R =⇒ BR
Le matrici A e B definiscono, come detto, la componente dinamica.
- C lega lo stato all'uscita, e viene detta matrice del legame s/u (stato-n q qxn)∈ uscita. C va da R a R =⇒ BR
- D è la componente causale, che lega l'ingresso all'uscita istante per istante, e viene detta matrice del legame i/o (input-output, o ingresso-uscita). p q qxp∈ Essa va da R a R =⇒ BR
Le matrici C e D invece definiscono la componente istantanea.
Questo qui sopra è il cosiddetto schema di simulazione o di implementazione associato al sistema delle equazioni (3) e (4), il quale funziona in real-time tramite somme (o sottrazioni), moltiplicazioni e integrali. Posso fissare l'istante iniziale nel seguente modo: x = x(t0) con t0 = 0.
Quel che vogliamo fare, in un sistema di questo tipo, è calcolare y, la quale è la somma di due termini (Cx e Du). Non abbiamo x, ma la prima equazione ci dice qual è ẋ. Ovviamente, per passare da ẋ a x si integra e per calcolare l'integrale abbiamo bisogno di una condizione iniziale (problema di Cauchy).
Ma come fare schemi di simulazione? Riprendiamo l'esempio vista prima del sistema massa-molla-smorzatore, che era così caratterizzato:
0 0 1ẋ x1 1= u+k 1− −ẋ x2 2 1m m m x 1y = (1 0) ux2
Questo è un sistema strettamente causale (e non causale): infatti, come possiamo facilmente notare, D = 0; Il sistema inoltre ha dimensione 2 e ha un ingresso (basta vedere quante sono le colonne di B), e un'uscita (basta vedere il numero di righe della matrice C).
La rappresentazione esplicita
Per tutto quello che abbiamo detto fino ad ora, rappresentazione implicita è sinonimo di real time. C'è poi una rappresentazione esplicita, che si ottiene calcolando la soluzione dell'equazione differenziale. Una rappresentazione esplicita prende in generale questa forma:
x(t) = Φ(t, t0)x0 + ∫t0t H(t, τ)u(τ)dτ (5)
y(t) = Ψ(t, t0)x0 + ∫t0t W(t, τ)u(τ)dτ (6)
Questa rappresentazione però non può essere implementata in real-time. Nel proseguo del corso analizzeremo un sistema qualitativamente (studiando A, B, C e D con la rappresentazione implicita) e quantitativamente (con la rappresentazione esplicita). Come passare da una rappresentazione ad un'altra e viceversa? Nel corso vedremo solo come passare da una rappresentazione implicita ad una rappresentazione esplicita.
Prima di vedere alcuni casi, ricordiamo due risultati molto importanti che ci serviranno:
a(t) ∫a(t)b(t) f (t, τ)dτ = f t a(t) b(t) + ∫b(t)a(t) f t b(t) dt dt dt dt
δ(t) impulso di Dirac, il quale gode di questa proprietà:
∫-∞∞ f (τ)δ(t − τ)dτ = f (t) (7)
con t ∈ [t1, t2].
1 - Caso in cui lo stato, l'ingresso e l'uscita hanno dimensione 1 (e quindi le matrici sono numeri scalari), il che vale a dire n=1:
ẋ = Ax + Bu
y = Cx + Du
Il tutto sta nel calcolare x e sostituirlo nella seconda equazione. Prendiamo il caso u=0 per semplicità.
ẋ = ax (con la condizione x = x(t0)). La soluzione è:
x(t) = eat x0
Infatti:
eẋ(t) = ẋ = eat aex0 = aex0 (8)
Quindi, n = 1:
ẋ = ax =⇒ x(t) = eat x0
at y = cx =⇒ y(t) = Ce x0
Funziona se t = 0. Se t = 0?
a(t−t0)x(t) = ea(t−t0) x0
a(t−t0)y(t) = Cea(t−t0) x0
2 - Caso n > 1. Prendiamo ẋ = Ax. La soluzione è x(t) = eAt x0. Come verificarlo? Fissiamo per semplicità t = 0 =⇒ x(t) = eAt x0
In generale:
et = 1 + ta + a2/2! + a3/3! + ....
Dove abbiamo semplicemente scritto lo sviluppo in serie di potenze.
eAt gode della stessa proprietà:
∑k=0∞ 1/k! (At)k = I + tA + A2/2! + A3/3! + ....
d/dt x(t) = eAt x0 = AeAt x0 = Ax(t) =⇒ verificato!
Segue che:
x(t) = eAt x0
y(t) = CeAt x0
Ora andiamo a calcolare tutta la forma esplicita, andando quindi a considerare la seguente rappresentazione:
ẋ = Ax + Bu
y = Cx + Du
Integrando di nuovo x come prima:
x(t) = eA(t−t0) x0 + ∫0t eA(t−τ) Bu(τ)dτ (8)
Come dimostro che la (8) risolve ẋ = Ax + Bu? Deriviamo (con t = 0):
∫t0t eA(t−τ) Bu(τ)dτ = eAt x0 + ∫t0t eA(t−τ) Bu(τ)dτ = eAt x0 + Bu(t) + ∫t0t A eA(t−τ) Bu(τ)dτ
Segue che il termine tra parentesi è proprio x(t). Quanto vale ora y(t)?
y(t) = CeAt x0 + C ∫t0t eA(t−τ) Bu(τ)dτ + Du(t)
La forma esplicita che avevamo dato prima (sempre con t = 0) era:
∫t0t x(t) = Φ(t, t0)x0 + ∫t0t H(t, τ)u(τ)dτ
∫t0t y(t) = Ψ(t, t0)x0 + ∫t0t W(t, τ)u(τ)dτ
Φ(t) = eA(t−t0) ; H(t, τ) = eA(t−τ) B =⇒ H(t) = eAt B;
Essendo x(t) = CeAt, come sarà fatta W(t)?
Dobbiamo poter scrivere Du(t) come
∫0t Du(t) = D δ(t)u(τ)dτ
dove per l'appunto la funzione * che rispecchia questa regola è l'impulso δ(t).
y(t) = CeAt x0 + C ∫t0t eA(t−τ) Bu(τ)dτ + Du(t)
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Teoria dei Sistemi - Sistemi a tempo discreto lineari stazionari a dimensione finita
-
Teoria dei Sistemi - Sistemi a tempo continuo lineari stazionari a dimensione finita
-
Riassunto esame Teoria dei sistemi: trasformata di Laplace, prof. Monaco
-
Riassunto esame Teoria dei sistemi, prof. Monaco