Fondamenti di Automatica



Похожие документы
FONDAMENTI DI AUTOMATICA / CONTROLLI AUTOMATICI

Controlli Automatici T. Trasformata di Laplace e Funzione di trasferimento. Parte 3 Aggiornamento: Settembre Prof. L.

Nome: Nr. Mat. Firma:

Cenni sull'impiego di Matlab. Matrici

Introduzione al MATLAB c Parte 2

Fondamenti di Automatica

Nome: Nr. Mat. Firma:

Principali comandi MATLAB utili per il corso di Controlli Automatici

Fondamenti di Automatica

ESERCITAZIONE ( ) Ing. Stefano Botelli

ANALISI FREQUENZIALE E PROGETTO NEL DOMINIO DELLE FREQUENZE

Fondamenti di Automatica

Rappresentazione nello spazio degli stati

Parte 2. Determinante e matrice inversa

Fondamenti di Automatica

METODI MATEMATICI PER LA FISICA

Politecnico di Milano. Fondamenti di Automatica (CL Ing. Gestionale) a.a Prof. Silvia Strada Prima prova intermedia 28 Novembre 2014 SOLUZIONE

Capitolo. La funzione di trasferimento. 2.1 Funzione di trasferimento di un sistema. 2.2 L-trasformazione dei componenti R - L - C

Le equazioni. Diapositive riassemblate e rielaborate da prof. Antonio Manca da materiali offerti dalla rete.

Utilizzo delle formule in Excel

Funzioni di trasferimento. Lezione 14 2

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE

Strumenti per la Progettazione

Una definizione di stabilità più completa di quella precedentemente introdotta fa riferimento ad una sollecitazione impulsiva.

Come visto precedentemente l equazione integro differenziale rappresentativa dell equilibrio elettrico di un circuito RLC è la seguente: 1 = (1)

Creare diagrammi di Gantt con Visio 2003

INTRODUZIONE A MATLAB Matrix Laboratory

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

Fondamenti di Automatica. Unità 2 Calcolo del movimento di sistemi dinamici LTI

Metodi Frequenziali per il Progetto di Controllori MIMO: Controllori Decentralizzati

Controllo di velocità angolare di un motore in CC

4 3 4 = 4 x x x 10 0 aaa

Richiami: funzione di trasferimento e risposta al gradino

REGOLATORI STANDARD PID

LA FUNZIONE DI TRASFERIMENTO

Università degli Studi di Roma Tor Vergata. Corso di Laurea in Ingegneria Meccanica

Teoria in sintesi 10. Attività di sportello 1, 24 - Attività di sportello 2, 24 - Verifica conclusiva, 25. Teoria in sintesi 26

Control System Toolbox

Fondamenti di Automatica

Laboratorio 2. Calcolo simbolico, successioni, limiti e derivate

RICHIAMI SULLE MATRICI. Una matrice di m righe e n colonne è rappresentata come

EQUAZIONI DIFFERENZIALI. 1. Trovare tutte le soluzioni delle equazioni differenziali: (a) x = x 2 log t (d) x = e t x log x (e) y = y2 5y+6

Più processori uguale più velocità?

Dimensione di uno Spazio vettoriale

Servizi di consulenza specialistica per IGRUE

Studente: SANTORO MC. Matricola : 528

Condizionamento di sistemi lineari.

x 1 + x 2 3x 4 = 0 x1 + x 2 + x 3 = 0 x 1 + x 2 3x 4 = 0.

Dati importati/esportati

(V) (FX) Z 6 è un campo rispetto alle usuali operazioni di somma e prodotto.

MATLAB Analisi di Sistemi LTI

a) Il campo di esistenza di f(x) è dato da 2x 0, ovvero x 0. Il grafico di f(x) è quello di una iperbole -1 1

Autovalori e Autovettori

ESERCIZI DI ALGEBRA LINEARE E GEOMETRIA

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

Tesina di Identificazione dei Modelli e Analisi dei Dati

L espressione torna invece sempre vera (quindi la soluzione originale) se cambiamo contemporaneamente il verso: 1 < 0.

Istituto d Istruzione Secondaria Superiore M.BARTOLO. A cura del Prof S. Giannitto

Pre Test Matematica

Prova scritta di Controlli Automatici - Compito A

Lezione 5. Schemi a blocchi

Corso Integrato: Matematica e Statistica. Corso di Matematica (6 CFU)

Wiki di Netapprendere

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda

SCHEDA DI RECUPERO SUI NUMERI RELATIVI

( x) ( x) 0. Equazioni irrazionali

1. Distribuzioni campionarie

REGOLATORI STANDARD PID

Corso di Matematica per la Chimica

Politecnico di Bari Facoltà di Ingegneria

LEZIONE 23. Esempio Si consideri la matrice (si veda l Esempio ) A =

Uso di base delle funzioni in Microsoft Excel

MAPPE DI KARNAUGH. Nei capitoli precedenti si è visto che è possibile associare un circuito elettronico o elettrico ad una funzione logica.

business solutions Tutte le voci della procedura sono accessibili tramite un sotto menu aggiunto al Menu principale di SBO.

Fondamenti di Automatica

Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari

Universita degli Studi di Roma Tor Vergata Facolta di Ingegneria Elettronica

1 Serie di Taylor di una funzione

CONTROLLO NEL DOMINIO DELLA FREQUENZA

ELEMENTI DI ALGEBRA LINEARE E GEOMETRIA Corso di Laurea Ingegneria Edile-Architettura

Laboratorio di Informatica

LE FUNZIONI A DUE VARIABILI

ISTITUTO TECNICO ECONOMICO MOSSOTTI

SPECIFICHE DI PROGETTO DI SISTEMI DI CONTROLLO

Prova scritta di Controlli Automatici

Laboratorio di Elaborazione di Dati, Segnali e Immagini Biomediche (Parte 3)

min 4x 1 +x 2 +x 3 2x 1 +x 2 +2x 3 = 4 3x 1 +3x 2 +x 3 = 3 x 1 +x 2 3x 3 = 5 Innanzitutto scriviamo il problema in forma standard: x 1 x 2 +3x 3 = 5

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c

Interpolazione ed approssimazione di funzioni

Prova di informatica & Laboratorio di Informatica di Base

Corrispondenze e funzioni

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1

Matrice rappresent. Base ker e img. Rappresentazione cartesiana ker(f) + im(f).

Strumenti e metodi per la redazione della carta del pericolo da fenomeni torrentizi

2.5 Stabilità dei sistemi dinamici funzioni di trasferimento, nella variabile di Laplace s, razionali fratte del tipo:

Classe: 1 a A AFM...2 Classe: 1 a B AFM...3 Classe: 2 a A AFM...4 Classe: 3 a A AFM...5 Classe: 4 a A IGEA...6

Транскрипт:

Fondamenti di Automatica Cenni su Matlab (e toolbox Control Systems + Symbolic) Dott. Ingg. Marcello Bonfè e Silvio Simani Dipartimento di Ingegneria - Università di Ferrara Tel. +39 0532 974839 / 974844 E-mail: marcello.bonfe@unife.it / silvio.simani@unife.it pag. 1 Matlab: interfaccia principale (R2011a) Browser per le cartelle su disco FINESTRA COMANDI (ambiente di lavoro) Workspace (variabili) Ultimi comandi digitati pag. 2

Matlab: interfaccia principale (R2012b) Workspace (variabili) Browser per le cartelle su disco FINESTRA COMANDI (ambiente di lavoro) Ultimi comandi digitati pag. 3 Matlab: definizione di variabili, vettori e matrici Definire variabile scalare >> x = 3 Definire vettore riga (1 3) >> x = [1 2 3] Idem, ma senza echo dell output >> x = [1 2 3]; Definire vettore colonna (3x1) >> x = [1; 2; 3] (oppure >> x = [1 2 3] ) Definire matrice 3x4 >> A = [1 2 3 4;5 6 7 8;9 10 11 12] Accedere / modificare elemento di riga 2 e colonna 1 >> A(2,1) = 0 pag. 4

Matlab: operazioni su matrici Le "solite" operazioni matematiche: +,-,*,/,^ Es. >> A^3 (potenza di matrice, solo se quadrata!) Precedute dal punto, sono eseguite elemento per elemento anziché in senso matriciale/vettoriale Operazioni specifiche per matrici / vettori: Trasposta: A Determinante: det(a) Inversa: inv(a) Autovalori: eig(a) Rango: rank(a) Polinomio caratteristico: poly(a) Esponenziale di matrice: expm(a) Radici di un polinomio: roots(x) (x vettore dei coeff.) pag. 5 Matlab: esponenziale di matrice (calcolo simbolico) Si consideri l esercizio 1 della prova 6 (dalle scansioni di testi del Prof. Sergio Beghelli): La soluzione richiede il calcolo dell esponenziale di matrice e At, il cui procedimento analitico è riportato in FdA-1.3-Analisi_2015.pdf (slide 42 e succ.) pag. 6

Matlab: esponenziale di matrice (calcolo simbolico) In Matlab, è necessario definire la matrice A e il simbolo t, quest ultima operazione possibile grazie al Symbolic Toolbox >> A=[-4 0; 1-4] >> syms t >> expm(a*t) ans = [ 1/exp(4*t), 0] [ t/exp(4*t), 1/exp(4*t)] NOTA: il risultato è simbolico, i termini esponenziali sono a denominatore, il che equivale ad esponente negativo pag. 7 Matlab: esponenziale di matrice (calcolo simbolico) Per ottenere il risultato dell esercizio, è necessario sostituire gli opportuni valori per t e moltiplicare la matrice esponenziale per il valore dello stato fornito dal testo >> x3=[1; 0] >> x4=expm(a*(4-3))*x3 x4 = 0.0183 0.0183 NOTA: il risultato numerico equivale a e -4 (in Matlab exp(-4)) per entrambe le variabili di stato.. pag. 8

Matlab: test di controllabilità / osservabilità Grazie al Control Systems Toolbox, il test è eseguibile semplicemente lanciando i comandi: >> P=ctrb(A,B) per il test di controllabilità, e: >> Qt=obsv(A,C) per il test di osservabilità pag. 9 Matlab: test di controllabilità / osservabilità Si consideri l esercizio 9 della prova 6 (dalle scansioni di testi del Prof. Sergio Beghelli) Il testo richiede di determinare la forma minima, cioè la parte osservabile del sistema dato pag. 10

Matlab: test di controllabilità / osservabilità In Matlab: >> A=[0 0 0 0-1; 0-3 1 0 2; 2 0 1 0 0; -1 0 0 1 1; 0 0 0 0 2] >> B=[1; 0; 1; -1; 1] >> C=[0 0-1 0 0] >> Q=obsv(A,C) Q = 0 0-1 0 0-2 0-1 0 0-2 0-1 0 2-2 0-1 0 6-2 0-1 0 14 >> Qt=Q NOTA: con quest ultima operazione, la matrice di osservabilità viene posta in modo da rendere l analisi omogenea rispetto a quella di controllabilità, in modo cioè che si debba osservare quali COLONNE risultino indipendenti. pag. 11 Matlab: test di controllabilità / osservabilità Dall analisi delle colonne della matrice Qt, si può vedere che solo le prime tre risultano indipendenti, pertanto la forma minima del sistema è di ordine 3 rank(qt) Con il procedimento di ortonormalizzazione di Gram-Schmidt (usare la funzione gramsch(a) fornita come materiale integrativo), tali prime tre colonne diventano: >> T1=gramsch(Qt(:,1:3)) T1 = 0-1 0 0 0 0-1 0 0 0 0 0 0 0 1 pag. 12

Matlab: test di controllabilità / osservabilità Trascurando il segno negativo (o meglio, invertendolo..), si può quindi costruire una matrice di trasformazione dello stato con le "classiche" colonne della base ortonormale: >> T1(:,1)=-T1(:,1) >> T1(:,2)=-T1(:,2) >> T2=[0 1 0 0 0;0 0 0 1 0] >> T=[T1 T2] T = pag. 13 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 NOTA: evidenziati gli elementi 1 nelle posizioni corrispondenti alle variabili di stato OSSERVABILI Matlab: test di controllabilità / osservabilità Trasformando le matrici A,B,C, si ottiene la forma minima, contenuta nelle prime tre righe / tre colonne (ES. solo per A) >> Ao=T'*A*T >> Ao1=Ao(1:3,1:3) Ao1 = 1 2 0 0 0-1 0 0 2 i cui autovalori (non richiesti esplicitamente dal testo) sono: >> eig(ao1) ans = 1 0 2 pag. 14

Matlab: test di controllabilità / osservabilità NOTA: come suggerito in FdA-SolutionsGuide.pdf, il risultato ottenuto corrisponde di fatto all eliminazione dalle matrici A,B,C delle righe/colonne corrispondenti alle variabili di stato NON OSSERVABILI, in questo caso la seconda e la quarta: >> Ao1=A([1 3 5],[1 3 5]) Ao1 = 0 0-1 2 1 0 0 0 2 A= Vettore delle righe/colonne selezionate.. pag. 15 Matlab: progetto analitico di controllo Si consideri l esercizio 10 della prova 6 (dalle scansioni di testi del Prof. Sergio Beghelli): pag. 16

Matlab: progetto analitico di controllo In Matlab: >> A=[-6 1 0 0 0;0-3 0 0 0;0 0-2 -3 0; 2 1 0-3 0;1 0 1 2-6] >> B=[0; 0; 1; 0; 0] >> C=[0 0 1 0 0;0 0 0 1 0] Il progetto della retroazione uscita-ingresso richiede di determinare gli autovalori della matrice A+BKC, con K in questo caso di dimensione 1x2 Con il calcolo simbolico: >> syms k1 k2 >> K=[k1 k2] >> Acl=A+B*K*C Acl = [ -6, 1, 0, 0, 0] [ 0, -3, 0, 0, 0] [ 0, 0, k1-2, k2-3, 0] [ 2, 1, 0, -3, 0] pag. 17 [ 1, 0, 1, 2, -6] Matlab: progetto analitico di controllo Dall analisi degli autovalori della matrice Acl, si può osservare che solo uno di questi è assegnabile ed è in funzione di k1: >> eig(acl) ans = -6-6 -3-3 k1 2 Pertanto, il risultato finale richiesto è K = [-1 arbitrario] NOTA: in molti casi, l espressione simbolica ottenuta con il comando eig() può essere troppo complessa per risolvere agevolmente l assegnazione degli autovalori. In generale, per calcoli manuali si faccia riferimento ai suggerimenti contenuti in FdA-SolutionsGuide.pdf pag. 18

Matlab: trasformate e antitrasformate di Laplace Il Symbolic Toolbox contiene le funzioni per il calcolo simbolico (appunto) delle trasformate di Fourier, Laplace, Z e relative inverse Ad esempio, si consideri l esercizio 2 della prova 6 (dalle scansioni di testi del Prof. Beghelli): La soluzione manuale richiede l applicazione del metodo di scomposizione in fratti semplici (v. slide 4-12 in FdA- 2.2-RispostaSistemiElementari_2015.pdf) pag. 19 Matlab: trasformate e antitrasformate di Laplace In Matlab: >> syms s >> G=(5*s+12)/(s+2)/(s+3) G = (5*s + 12)/((s + 2)*(s + 3)) >> U = 1/s >> Y = G*U >> y = ilaplace(y) y = 2-1/exp(3*t) - 1/exp(2*t) pag. 20

Matlab: trasformate e antitrasformate di Laplace Ovviamente, il Symbolic Toolbox potrebbe anche essere usato per calcolare esplicitamente il passaggio da una rappresentazione nello spazio degli stati (matrici A,B,C,D) alla corrispondente funzione (o matrice) di trasferimento Tuttavia, essendo tale operazione tipicamente necessaria nel progetto di sistemi di controllo, il Control Systems Toolbox contiene funzioni specifiche, basate su strutture dati ancora più specifiche pag. 21 Matlab: trasformate e antitrasformate di Laplace Si consideri l esercizio 3 della prova 9 (dalle scansioni di testi del Prof. Beghelli): In Matlab: >> A=[-3 0; 1-6] >> B=[1; 1] >> C=[1 1] pag. 22

Matlab: trasformate e antitrasformate di Laplace Soluzione 1 (Symbolic Toolbox): >> syms s >> sa=inv(s*eye(2) A) eye(2)= identità 2x2.. >> G=C*sA*B G = 1/(s + 3) + 1/(s + 6) + 1/((s + 3)*(s + 6)) >> G=collect(G) G = (2*s + 10)/(s^2 + 9*s + 18) pag. 23 Matlab: trasformate e antitrasformate di Laplace Soluzione 2 (Control Systems Toolbox): >> sys=ss(a,b,c,0) D=0, necessario quarto parametro.. >> G=tf(sys) Transfer function: 2 s + 10 -------------- s^2 + 9 s + 18 Oppure anche, calcolando i coefficienti di numeratore e denominatore della FdT: >> [N,D]=ss2tf(A,B,C,0) N = 0 2 10 D = 1 9 18 >> G=tf(N,D) pag. 24

Matlab: diagrammi di Bode e luogo delle radici Oltre al passaggio alla funzione tf(num,den) dei due vettori contenenti i coefficienti della FdT, esiste un alternativa comoda per definire la FdT con la struttura del Control Systems Toolbox: >> s=tf( s ) definisce la variabile di Laplace >> G=10*(1+s)^2/s/(1+s/0.1)/(1+s/100) NOTA1: l esempio è tratto dalla soluzione dell esercizio 5 della prova 8 (dalle scansioni dei testi del Prof. Beghelli), v. Anche FdA-SolutionsGuide.pdf sui diagrammi di Bode.. NOTA2: in questo caso s NON è una variabile simbolica, ma una vera e propria FdT rappresentata con la struttura dati corrispondente del Control Systems Toolbox.. pag. 25 Matlab: diagrammi di Bode e luogo delle radici Una volta definita la FdT, è immediato visualizzare il corrispondente diagramma di Bode (ESATTO!): Bode Diagram >> bode(g) 100 50 Magnitude (db) 0-50 0-45 Phase (deg) -90-135 10-3 10-2 10-1 10 0 10 1 10 2 10 3 10 4 Frequency (rad/s) pag. 26

Matlab: diagrammi di Bode e luogo delle radici Analogamente, è possibile visualizzare immediatamente il luogo delle radici >> G=1/s/(s^2+4*s+5) Transfer function: 1 ----------------- s^3 + 4 s^2 + 5 s >> rlocus(g) Imaginary Axis (seconds -1 ) 4 3 2 1 0-1 Root Locus -2-3 -4-6 -5-4 -3-2 -1 0 1 Real Axis (seconds -1 ) pag. 27 Matlab: altre funzioni del Control Systems Toolbox >> Gcl = feedback(g,h) >> Gp = parallel(g1,g2) parallelo di FdT >> Gs = series(g1,g2) serie di FdT >> step(g) grafica la risposta al gradino >> impulse(g) grafica la risp. impulsiva pag. 28

Matlab: criterio di Routh, errori a regime, ecc.. PURTROPPO, non è possibile mescolare elementi del Symbolic Toolbox con quelli del Control Systems Toolbox (es. FdT con coefficienti simbolici..) PERTANTO, esercizi come quelli proposti all esame su: riduzione di diagrammi a blocchi determinazione di intervalli di stabilità per sistemi in retroazione (criterio di Routh) calcolo di coefficienti t.c. si abbia un certo errore a regime oppure, una certa pulsazione naturale ω n, coefficiente di smorzamento δ, tempo di assestamento T a, ecc. risultano in genere più articolati (o impossibili) da risolvere con l ausilio di Matlab, piuttosto che manualmente, pertanto non verranno trattati in questa introduzione.. pag. 29 CENNI SU MATLAB FINE pag. 30