670 likes | 2.31k Views
MATLAB and its Control Toolbox. Outline. MATLAB MATLAB and Toolboxes MATLAB and Control Control System Toolbox Simulink. MATLAB . Aerospace and Defense Automotive Biotech, Medical, and Pharmaceutical Chemical and Petroleum Communications Computers and Office Equipment Education
E N D
Outline • MATLAB • MATLAB and Toolboxes • MATLAB and Control • Control System Toolbox • Simulink MATLAB Control Toolbox
MATLAB • Aerospace and Defense • Automotive • Biotech, Medical, and Pharmaceutical • Chemical and Petroleum • Communications • Computers and Office Equipment • Education • Electronics and Semiconductor • Financial Services • Industrial Equipment and Machinery • Instrumentation • Utilities and Energy MATLAB Control Toolbox
The MathWorks Product Family MATLAB Control Toolbox
MATLAB Toolboxes MATLAB Math and optimization Signal Processing and communications SimulinkProduct Family ….. Control System Design and Analysis Toolboxes Optimization Symbolic Math Partial Diff. Eq. … Toolboxes Signal Processing Communications Filter Design Filter Design HDL Coder … Simulink® Simulink AcceleratorSimulink Report Generator … Toolboxes Simulink Control DesignSimulink Response Simulink Parameter … MATLAB Control Toolbox
MATLAB and Control MATLAB-Toolboxes for Control Identification Linear Control Nonlinear Control Identification Toolbox Frequency-Domain ID Toolbox Simulink® Control System Toolbox Simulink® Mu Toolbox Nonlinear Control Toolbox Fuzzy Toolbox Simulink® MATLAB Control Toolbox
MATLAB and Control • Control Design Process MATLAB Control Toolbox
MATLAB and Control • Modeling Tools MATLAB Control Toolbox
MATLAB and Control • Design and Analysis MATLAB Control Toolbox
Control System Toolbox Core Features • Tools to manipulate LTI models • Classical analysis and design • Bode, Nyquist, Nichols diagrams • Step and impulse response • Gain/phase margins • Root locus design • Modern state-space techniques • Pole placement • LQG regulation MATLAB Control Toolbox
Control System Toolbox LTI Objects (Linear Time Invariant) • 4 basic types of LTI models • Transfer Function (TF) • Zero-pole-gain model (ZPK) • State-Space models (SS) • Frequency response data model (FRD) • Conversion between models • Model properties (dynamics) MATLAB Control Toolbox
Control System Toolbox Transfer Function MATLAB Control Toolbox
Control System Toolbox Transfer Function • Consider a linear time invariant (LTI) single-input/single-output system • Applying Laplace Transform to both sides with zero initial conditions MATLAB Control Toolbox
Control System Toolbox Transfer Function >> num = [4 3]; >> den = [1 6 5]; >> sys = tf(num,den) Transfer function: 4 s + 3 ----------------- s^2 + 6 s + 5 >> [num,den] = tfdata(sys,'v') num = 0 4 3 den = 1 6 5 MATLAB Control Toolbox
Control System Toolbox Zero-pole-gain model (ZPK) MATLAB Control Toolbox
Control System Toolbox Zero-pole-gain model (ZPK) • Consider a Linear time invariant (LTI) single-input/single-output system • Applying Laplace Transform to both sides with zero initial conditions MATLAB Control Toolbox
Control System Toolbox Zero-pole-gain model (ZPK) >> [ze,po,k]=zpkdata(sys1,'v') ze = -0.7500 po = -1 -5 k = 4 >> sys1 = zpk(-0.75,[-1 -5],4) Zero/pole/gain: 4 (s+0.75) ----------- (s+1) (s+5) MATLAB Control Toolbox
Control System Toolbox State-Space Model (SS) MATLAB Control Toolbox
State-Space Models Control System Toolbox • Consider a Linear time invariant (LTI) single-input/single-output system • State-space model for this system is MATLAB Control Toolbox
Control System Toolbox State-Space Models >> sys = ss([0 1; -5 -6],[0;1],[3,4],0) a = x1 x2 x1 0 1 x2 -5 -6 b = u1 x1 0 x2 1 c = x1 x2 y1 3 4 d = u1 y1 0 MATLAB Control Toolbox
Control System Toolbox State Space Models • rss, drss - Random stable state-space models. • ss2ss - State coordinate transformation. • canon - State-space canonical forms. • ctrb - Controllability matrix. • obsv - Observability matrix. • gram - Controllability and observability gramians. • ssbal - Diagonal balancing of state-space realizations. • balreal - Gramian-based input/output balancing. • modred - Model state reduction. • minreal - Minimal realization and pole/zero cancellation. • sminreal - Structurally minimal realization. MATLAB Control Toolbox
tf2ss State Space Transfer function ss2tf ss2zp zp2tf zp2ss tf2zp Zero-pole-gain Conversion between different models MATLAB Control Toolbox
Model Dynamics • pzmap: Pole-zero map of LTI models. • pole, eig - System poles • zero - System (transmission) zeros. • dcgain: DC gain of LTI models. • bandwidth - System bandwidth. • iopzmap - Input/Output Pole-zero map. • damp - Natural frequency and damping of system • esort - Sort continuous poles by real part. • dsort - Sort discrete poles by magnitude. • covar - Covariance of response to white noise. MATLAB Control Toolbox
Time Response of Systems Control System Toolbox • Impulse Response (impulse) • Step Response (step) • General Time Response (lsim) • Polynomial multiplication (conv) • Polynomial division (deconv) • Partial Fraction Expansion (residue) • gensig - Generate input signal for lsim. MATLAB Control Toolbox
Time Response of Systems Control System Toolbox • The impulseresponse of a system is its output when the input is a unit impulse. • The stepresponse of a system is its output when the input is a unit step. • The general response of a system to any input can be computed using the lsim command. MATLAB Control Toolbox
Control System Toolbox Time Response of Systems ProblemGiven the LTI system Plot the following responses for: • The impulse response using the impulse command. • The step response using the step command. • The response to the input calculated using both the lsim commands MATLAB Control Toolbox
Control System Toolbox Time Response of Systems MATLAB Control Toolbox
Frequency Domain Analysis and Design • Root locus analysis • Frequency response plots • Bode • Phase Margin • Gain Margin • Nyquist MATLAB Control Toolbox
Frequency Domain Analysis and Design Root Locus • The root locus is a plot in the s-plane of all possible locations of the poles of a closed-loop system, as one parameter, usually the gain, is varied from 0 to . • By examining that plot, the designer can make choices of values of the controller’s parameters, and can infer the performance of the controlled closed-loop system. MATLAB Control Toolbox
Frequency Domain Analysis and Design Root Locus • Plot the root locus of the following system MATLAB Control Toolbox
Frequency Domain Analysis and Design Root Locus • >> rlocus(tf([1 8], conv(conv([1 0],[1 2]),[1 8 32]))) MATLAB Control Toolbox
Frequency Response: Bode and Nyquist Plots • Typically, the analysis and design of a control system requires an examination of its frequency response over a range of frequencies of interest. • The MATLAB Control System Toolbox provides functions to generate two of the most common frequency response plots: Bode Plot (bode command) and Nyquist Plot (nyquist command). MATLAB Control Toolbox
Control System Toolbox Frequency Response: Bode Plot Problem • Given the LTI system Draw the Bode diagram for 100 values of frequency in the interval . MATLAB Control Toolbox
Control System Toolbox Frequency Response: Bode Plot >>bode(tf(1, [1 1 0]), logspace(-1,1,100)); MATLAB Control Toolbox
Control System Toolbox Frequency Response: Nyquist Plot • The loop gain Transfer function G(s) • The gain margin is defined as the multiplicative amount that the magnitude of G(s) can be increased before the closed loop system goes unstable • Phase margin is defined as the amount of additional phase lag that can be associated with G(s) before the closed-loop system goes unstable MATLAB Control Toolbox
Control System Toolbox Frequency Response: Nyquist Plot Problem Given the LTI system Draw the bode and nyquist plots for 100 values of frequencies in the interval . In addition, find the gain and phase margins. MATLAB Control Toolbox
Control System Toolbox Frequency Response: Nyquist Plot w=logspace(-4,3,100); sys=tf([1280 640], [1 24.2 1604.81 320.24 16]); bode(sys,w) [Gm,Pm,Wcg,Wcp]=margin(sys) %Nyquist plot figure nyquist(sys,w) MATLAB Control Toolbox
Control System Toolbox Frequency Response: Nyquist Plot The values of gain and phase margin and corresponding frequencies are Gm = 29.8637 Pm = 72.8960 Wcg = 39.9099 Wcp = 0.9036 MATLAB Control Toolbox
Control System Toolbox Frequency Response Plotsbode - Bode diagrams of the frequency response.bodemag - Bode magnitude diagram only.sigma - Singular value frequency plot.Nyquist - Nyquist plot.nichols - Nichols plot.margin - Gain and phase margins.allmargin - All crossover frequencies and related gain/phase margins.freqresp - Frequency response over a frequency grid.evalfr - Evaluate frequency response at given frequency.interp - Interpolates frequency response data. MATLAB Control Toolbox
Control System Toolbox Design: Pole Placement • place - MIMO pole placement. • acker - SISO pole placement. • estim - Form estimator given estimator gain. • reg - Form regulator given state-feedback and estimator gains. MATLAB Control Toolbox
Control System Toolbox Design : LQR/LQG design • lqr, dlqr - Linear-quadratic (LQ) state-feedback regulator. • lqry - LQ regulator with output weighting. • lqrd - Discrete LQ regulator for continuous plant. • kalman - Kalman estimator. • kalmd - Discrete Kalman estimator for continuous plant. • lqgreg - Form LQG regulator given LQ gain and • Kalman estimator. • augstate - Augment output by appending states. MATLAB Control Toolbox
Control System Toolbox Analysis Tool: ltiview File->Import to import system from Matlab workspace MATLAB Control Toolbox
Control System Toolbox Design Tool: sisotool Design with root locus, Bode, and Nichols plots of the open-loop system. Cannot handle continuous models with time delay. MATLAB Control Toolbox
M-File Example %Define the transfer function of a plant G=tf([4 3],[1 6 5]) %Get data from the transfer function [n,d]=tfdata(G,'v') [p,z,k]=zpkdata(G,'v') [a,b,c,d]=ssdata(G) %Check the controllability and observability of the system ro=rank(obsv(a,c)) rc=rank(ctrb(a,b)) %find the eigenvalues of the system damp(a) %multiply the transfer function with another transfer function T=series(G,zpk([-1],[-10 -2j +2j],5)) %plot the poles and zeros of the new system iopzmap(T) %find the bandwidth of the new system wb=bandwidth(T) %plot the step response step(T) %plot the rootlocus rlocus(T) %obtain the bode plots bode(T) margin(T) %use the LTI viewer ltiview({'step';'bode';'nyquist'},T) %start the SISO tool sisotool(T) MATLAB Control Toolbox