Introduzione a Matlab/Simulink Robotica Indutriale Prof. P. Rocco a.a.2003/2004 Ing. M. Gritti e Ing. L. Bacetta
Introduzione a Matlab Contenuti Preentazione Control Sytem Toolbox Introduzione a Simulink Eempi
Contenuti Introduzione a Matlab Variabili, matrici e vettori e polinomi Tracciamento di grafici Librerie e Toolbox Preentazione Control Sytem Toolbox Introduzione a Simulink Eempi
Variabili Definizione di variabili» a=2; b=4; Non occorre dichiarare preliminarmente le variabili Le variabili vengono memorizzate nel Workpace who motra la lita delle variabili clear var elimina la variabile var dal workpace clear all elimina tutte le variabili del workpace Il ; al termine dell itruzione opprime la viualizzazione dell output
Matrici Definizione di una matrice A = 1 3 2 4» A=[1,2;3,4]; Selezione degli elementi di una matrice» A(1,2) an = 2 Per elezionare righe e colonne i utilizza la wildcard : Selezione della prima riga di A A(1,:) Selezione della prima colonna di A A(:,1) Selezione di un intervallo A(1,1:2)
Vettori I vettori vengono utilizzati per rappreentare egnali o per la tracciatura di grafici Sintai» v = val_iniziale:pao:val_finale; Eempio» v=0:100; % Se il pao è 1 i può omettere» v=0:0.01:1; Operazioni u vettori» a + b; a b;» a * b (Errore!!); a * b ;» a.* b % Prodotto elemento per elemento» a.^2 % Quadrato elemento per elemento
Polinomi Si rappreentano come vettori Eempio: P() = 2 + 2 +1» P = [1 2 1]; Calcolo delle radici» root(p) Cotruzione di un polinomio con radici aegnate» R = poly([-1-2]) %Ritorna un vettore
Rappreentazioni grafiche plot(x,y) : traccia il grafico dei punti che hanno come acie gli elementi di x e come ordinate gli elementi di y Eempio: tracciatura di un eponenziale» x=0:0.05:5;» y=exp(x);» plot(x,y)
Librerie di funzioni Matlab mette a dipoizione numeroe librerie di funzioni Funzioni generiche (e. in, ab, real, eig, det, root) Funzioni pecifiche (e. bode, tep, nyquit) Per ottenere un aiuto i utilizza il comando help help fornice l elenco delle funzioni per libreria help libreria fornice una breve decrizione delle funzioni di una certa libreria help funzione fornice una dettagliata decrizione di una funzione
Contenuti Introduzione a Matlab Preentazione Control Sytem Toolbox Rappreentazione e analii di un itema LTI Introduzione a Simulink Eempi
Decrizione di un itema LTI Un itema LTI può eere pecificato: Attravero una rappreentazione nello pazio con una quaterna di matrici (A,B,C,D)» A=[-2 0.5; 4 0]; B=[1 0] ; C=[-1 0.25]; d=0;» y1 = (A,B,C,d) Attravero una funzione di traferimento con una coppia di polinomi N() e D()» N=[-1 1]; D=[1 2 2];» y2 = tf(n,d) Le funzioni (y2) e tf(y1) permettono la converione tra le due rappreentazioni
Analii di un itema LTI Ripota allo calino» tep(y) Diagrammi di Bode (olo del modulo)» bode(y) (» bodemag(y)) Pulazione critica e margine di fae» margin(y) Diagramma di Nyquit» nyquit(y) Mappa poli-zeri» pzmap(y)
Contenuti Introduzione a Matlab Preentazione Control Sytem Toolbox Introduzione a Simulink Introduzione alla imulazione Cenni ai metodi di integrazione numerica Scelta dei parametri di imulazione Eempi
Fai della imulazione Scrittura del modello matematico Programmazione del modello Con un editor grafico (e. Simulink) o con un linguaggio orientato al calcolo (e. Matlab) Aegnamento dei parametri del modello Simulazione (in eno tretto) Calcolo dello tato di regime (condizioni iniziali) Aegnamento dei parametri di imulazione Scelta degli ingrei durante il tranitorio Avvio della imulazione Analii dei riultati
Ciclo di una imulazione Il ciclo di imulazione procede iterativamente Modellazione Configurazione modello Modifiche al modello Modifica dei parametri di imulazione (metodo di integrazione, pao di integrazione, tolleranza, ) Modifica del modello Simulazione Modifiche ai parametri Modifiche alla condizione iniziale Modifiche agli ingrei del modello
Introduzione a Simulink (1) Simulink è un toolbox di MATLAB per la imulazione dei itemi dinamici Lineari e non lineari Continui, dicreti o miti Il modello viene cotruito graficamente, aemblando blocchi elementari I blocchi bae ono raggruppati in librerie pecializzate, a econda delle funzioni volte Simulink viene avviato digitando imulink al prompt di Matlab
Integrazione Matlab - Simulink Simulink e Matlab interagicono attravero il workpace I parametri del modello poono eere pecificati all interno dei blocchi Simulink tramite variabili imboliche, il cui valore è memorizzato nel workpace di Matlab I riultati della imulazione poono eere memorizzati nel workpace con un blocco di tipo ToWorkpace Suggerimenti Creare un file parametri_modello.m contenente i parametri da caricare prima della imulazione Tracciare i grafici dei tranitori con i comandi di Matlab
I blocchi più importanti
Cotruzione di un emplice modello Simulare la ripota a calino del itema G ( ) = + + 1 2 + 2
Cotruzione di un regolatore PID Cotruire il modello di un regolatore PID R PID 1 ( ) = K + + T C 1 D TI
Contenuti Introduzione a Matlab Preentazione Control Sytem Toolbox Introduzione a Simulink Eempi Controllo di un doppio integratore
Controllo di un doppio integratore Modello del itema da controllare () = 2 G 1» G = tf(1,[1 0 0]);» bode(g) 10 Bode Diagram 0 Magnitude (db) -10-20 -30-40 0-45 Phae (deg) -90-135 -180 10 0 10 1 Frequency (rad/ec)
Taratura del regolatore (1) Regolatore PID (colatico) Si ceglie T I =4T D per avere due zeri coincidenti Funzione d anello () () () ( ) I I C PID T T K = G = R L 3 2 1 2 1 + T T T T K T T K R I I D I C D I C PID 1) ( 1 1 ) ( 2 + + = + + = ( ) ( ) T T K T T T K R I I C I I I C PID 2 2 2 1 2 1 1 4 1 ) ( + = + + =
Taratura del regolatore (2) Si ceglie T I per poizionare gli zeri all incirca una decade prima della banda paante richieta (e ω c =50 rad/ ω z =5 rad/ ) T = 0.4 T =0.1 I D Si aggiuta il guadagno per ottenere la banda paante deiderata» Kc = 1; Ti = 0.4; Td = 0.1;» R = tf(kc*[ti*td Ti 1],[Ti 0])» L = R*G % Funzione d anello» margin(l)
Taratura del regolatore (3) 100 Bode Diagram Gm = 28 db (at 5 rad/ec), Pm = -58.9 deg (at 1.39 rad/ec) Magnitude (db) 50 0-50 Sytem: L Frequency (rad/ec): 50 Magnitude (db): -53.9-100 -90 Phae (deg) -135-180 -225-270 10-1 10 0 10 1 10 2 10 3 Frequency (rad/ec) K C = L( j50) 20 10 500
Taratura del regolatore (4) 150 Bode Diagram Gm = -26 db (at 5 rad/ec), Pm = 78.7 deg (at 50.5 rad/ec) Magnitude (db) 100 50 0-50 -90-135 Phae (deg) -180-225 -270 10-1 10 0 10 1 10 2 10 3 Frequency (rad/ec)
Sitema Simulink
Eempi di imulazioni (1) Ripota allo calino 1.4 1.2 Ripota allo calino Setpoint Ucita 1 0.8 0.6 0.4 0.2 0 0 1 2 3 4 5 6 7 8 9 10 t ()
Eempi di imulazioni (2) Ripota al diturbo di carico 0.1 Ripota al diturbo di carico Setpoint Ucita 0-0.1-0.2 0 2 4 6 8 10 12 14 16 18 20 t