background image

Chapter 3

ICDM Main Window

Xmath Interactive Control Design Module

3-4

ni.com

to a simple transfer function representation, which means that you cannot 
read them back into the Pole Place, LQG, or synthesis windows because 
these types depend on the plant. Also, all synthesis windows will be reset 
to their initial (default) settings. Because these side effects may be 
undesired, the user is warned before these actions are taken.

Reading a Controller from Xmath into ICDM

You can read a controller from Xmath into ICDM using the FileRead 
Controller entry. This requires closing any open synthesis window or the 
History window. Reading in a new controller will overwrite the current 
controller in ICDM, so unless there is no current controller or you have 
saved the current controller to the history list or Xmath, you will be warned 
and asked for confirmation.

After you have read in the new controller, you can proceed with opening 
a synthesis window, and the usual rules apply. If the synthesis window is 
compatible with the current controller that you have just read in, the 
parameters in the synthesis window will be set appropriately. If the 
synthesis window is not compatible with the controller, you will be warned 
that opening the synthesis window will overwrite the controller.

When you read a controller from Xmath, it is represented as a transfer 
function. This means that you cannot get a controller from Xmath into 
the LQG or synthesis windows.

Writing the Plant Back to Xmath

Because you cannot change the plant transfer function from inside ICDM, 
the only reason to write the plant back to Xmath is if you have forgotten 
what the plant transfer function is or if you fear that you may have changed 
it in Xmath.

Writing the Alternate Plant back to Xmath

If you want to write the alternate plant transfer function to Xmath, use the 

Special

 menu in the Alternate Plant window.

Writing a Controller on the History List to Xmath

If you want to write a controller that has been saved on the history list to 
Xmath, you first must make it the current controller by opening the History 
window and selecting it. Then use the 

FileWrite Controller

 button to write 

the current controller to Xmath.

Summary of Contents for NI MATRIXx Xmath

Page 1: ...NI MATRIXx TM Xmath TM Interactive Control Design Module Xmath Interactive Control Design Module April 2007 370754C 01 ...

Page 2: ... 3400 Lebanon 961 0 1 33 28 28 Malaysia 1800 887710 Mexico 01 800 010 0793 Netherlands 31 0 348 433 466 New Zealand 0800 553 322 Norway 47 0 66 90 76 60 Poland 48 22 3390150 Portugal 351 210 311 210 Russia 7 495 783 6851 Singapore 1800 226 5886 Slovenia 386 3 425 42 00 South Africa 27 0 11 805 8197 Spain 34 91 640 0085 Sweden 46 0 8 587 895 00 Switzerland 41 56 2005151 Taiwan 886 02 2377 2222 Thai...

Page 3: ...ration National Instruments respects the intellectual property of others and we ask our users to do the same NI software is protected by copyright and other intellectual property laws Where NI software may be used to reproduce software or other materials belonging to others you may use NI software only to reproduce materials that you may reproduce in accordance with the terms of any applicable lic...

Page 4: ...r an introduction to a key concept Italic text also denotes text that is a placeholder for a word or value that you must supply monospace Text in this font denotes text or characters that you should enter from the keyboard sections of code programming examples and syntax examples This font is also used for the proper names of disk drives paths directories programs subprograms subroutines device na...

Page 5: ... 1 Overview of ICDM 2 3 ICDM Windows 2 3 ICDM Main Window 2 4 PID Synthesis Window 2 4 Root Locus Synthesis Window 2 4 Pole Place Synthesis Window 2 4 LQG Synthesis Window 2 5 H Infinity Synthesis Window 2 5 History Window 2 5 Alternate Plant Window 2 5 Key Transfer Functions and Data Flow in ICDM 2 5 Summary 2 6 Origin of the Controller 2 6 What the ICDM Main Window Plots Show 2 7 Controller Synt...

Page 6: ... Another Plant into ICDM 3 3 Reading a Controller from Xmath into ICDM 3 4 Writing the Plant Back to Xmath 3 4 Writing the Alternate Plant back to Xmath 3 4 Writing a Controller on the History List to Xmath 3 4 ICDM Plots 3 5 Selecting Plots 3 5 Ranges of Plots 3 6 Plot Magnify Windows 3 7 Selecting a Synthesis or History Window 3 9 Edit Menu 3 9 Chapter 4 PID Synthesis Window Anatomy 4 1 PID Cont...

Page 7: ... Plots 5 8 Chapter 6 Pole Place Synthesis Window Anatomy 6 1 Pole Place Modes 6 2 Normal Mode 6 3 Integral Action Mode 6 4 State Space Interpretation 6 5 Opening the Pole Place Window 6 5 Manipulating the Closed Loop Poles 6 5 Time and Frequency Scaling 6 5 Butterworth Configuration 6 6 Editing the Closed Loop Poles 6 6 Slider and Plot Ranges 6 6 Chapter 7 LQG Synthesis LQG Synthesis Window Anatom...

Page 8: ...rent Controller on the History List 9 1 Opening the History Window 9 1 History Window Anatomy 9 1 Selecting the Active Controller 9 2 Editing the Comments 9 2 Deleting History List Entries 9 3 To Continue Designing from a Saved Controller 9 3 Cycling Through Designs 9 3 Writing a Saved Design to Xmath 9 3 Using the History List 9 4 Chapter 10 Alternate Plant Window Role and Use of Plant and Altern...

Page 9: ...IMO Version 11 7 Chapter 12 LQG H Infinity Synthesis Window Anatomy 12 1 LQG H Infinity Main Window 12 1 LQG H Infinity Weights Window 12 2 Decay Rate Window 12 5 H Infinity Performance Window 12 5 Frequency Weights Window 12 6 Synthesis Modes and Window Usage 12 7 Opening the LQG H Infinity Synthesis Window 12 8 Setup and Terminology 12 8 Standard LQG All Toggle Buttons Off 12 11 Integral Action ...

Page 10: ... 3 Multi Loop Versus Multivariable Design 13 3 Opening the Multi Loop Synthesis Window 13 7 Designing a Multi Loop Controller 13 7 Graphical Editor 13 7 Selecting and Deselecting Loops 13 7 Editing and Deleting Loops 13 8 Loop Gain Magnitude and Phase 13 8 Appendix A Using an Xmath GUI Tool Appendix B Technical Support and Professional Services Index ...

Page 11: ...add a new pair of complex poles to the controller In contrast this manual is intended for describing the general concepts and operation of the ICDM Document Organization This manual includes the following chapters Chapter 1 Introduction starts with an outline of the manual and some use notes It also contains an overview of the Interactive Control Design Module Chapter 2 Introduction to SISO Design...

Page 12: ... the form of the Alternate Plant window used for SISO design Chapter 11 Introduction to MIMO Design provides an introduction to MIMO design building on the earlier discussions of SISO design ICDM automatically switches between SISO and MIMO modes depending on the plant that is read in Chapter 12 LQG H Infinity Synthesis describes the MIMO LQG H synthesis window The LQG H window is used to synthesi...

Page 13: ... discrete A single apostrophe following a matrix variable for example x denotes the transpose of that variable An asterisk following a matrix variable for example A indicates the complex conjugate or Hermitian transpose of that variable Related Publications For a complete list of MATRIXx publications refer to Chapter 2 MATRIXx Publications Help and Customer Support of the MATRIXx Getting Started G...

Page 14: ... ICDM 2 0 operates in two basic modes SISO design single input single output and MIMO design The mode is determined automatically by the plant you read into ICDM The two different modes feature somewhat different plot options different synthesis options and so on NI has made the notation conventions and windows used for MIMO design as similar as possible to those used for SISO design Therefore a u...

Page 15: ...lication you should be ready to get started To start up ICDM enter icdm in the Xmath Command window Your window manager may require you to position a window that is created using the left or middle mouse button After the ICDM Main Window appears the Xmath command prompt will return You now can use Xmath and ICDM simultaneously The user interface for ICDM is designed to be intuitive that is things ...

Page 16: ...to extract data from this object are an intrinsic part of the object class and are also described Finally this chapter discusses the functions check discretize and makecontinuous which use information stored in the system object to convert systems from one particular representation to another SISO Design Overview This section provides an overview of what ICDM does and how it works restricting the ...

Page 17: ...the plant order or plant degree Similarly the degree of dc is the controller order or controller degree The poles and zeros of these transfer functions are the zeros roots of the denominator and numerator polynomials respectively In ICDM P and C are required to be proper polynomials that is they have at least as many poles as zeros In other words the degree of np is less than or equal to the degre...

Page 18: ...ut r is a unit step The actuator step response is the step response of the transfer function C 1 PC which is the transfer function from r to u Integral action means that the controller C has a pole at s 0 Roughly speaking this means that the loop gain is very large at low frequencies Integral action implies that S 0 0 so if r is constant the error e converges to zero that is the output y t approac...

Page 19: ...ow can be used to synthesize P PD PI PID lead lag and lag lead controllers The design parameters can be typed in manipulated graphically by slider controls or manipulated graphically on a Bode plot of the controller transfer function Root Locus Synthesis Window The Root Locus window can be used in many ways for synthesis and analysis of controllers It can display a conventional root locus in near ...

Page 20: ...st the ratio of sensor output noise power to process input noise power and the risk sensitivity or H bound parameter γ The user can vary the state weighting or equivalently the output weight transfer function by dragging zeros History Window The History window is used to display and manipulate the design history list which is a list of controllers that have been explicitly saved during the design ...

Page 21: ...ynthesis windows that need to know the plant Pole Place LQG H The alternate plant transfer function is used to verify a controller design that was based on the plant transfer function The alternate plant transfer function is used only to show the alternate plant plots in the ICDM Main window Refer to the What the ICDM Main Window Plots Show section Summary The plant transfer function is used for d...

Page 22: ...Viewing Plots section Controller Synthesis Window Compatibilities As much as possible ICDM allows you to switch from one synthesis method to another while keeping the current controller the same As an example suppose the LQG Synthesis window is open so the current controller is an LQG controller You then can open the Root Locus Synthesis window which will be initialized with the current LQG contro...

Page 23: ...ly saved on the history list then the History window opens with the current controller active These restrictions are important when you select a new synthesis window or read a controller from Xmath into ICDM If the controller is not compatible with the synthesis window the user is warned and given several options about how to proceed In general these restrictions on controllers and synthesis windo...

Page 24: ...t transfer function export one or more controllers to Xmath such as for a nonlinear simulation or downloading to an AC 100 for real time testing The most common tasks are interactively designing a controller and interactively studying the robustness of a given controller Figure 2 2 shows a simplified schematic representation of the interactive design loop Figure 2 2 Simple Representation of the In...

Page 25: ...he ICDM Main window Figure 2 3 shows a simplified schematic representation of the interactive design loop Figure 2 3 Simple Representation of the Interactive Robustness Analysis Figure 2 4 shows a simple ICDM session The ICDM Main window is shown at upper left and the Pole Place Synthesis window is at lower right The user can drag the closed loop poles in the Pole Place window The controller that ...

Page 26: ...res arbitrary re ranging zooming data viewing and interactive graphical re ranging Ranges of Plots and Sliders Every ICDM window has an associated Ranges window that can be used to set the ranges of the sliders and plots appearing in the window as well as other parameters such as numbers of points plotted The Ranges window can be opened by selecting Ranges on the View or Plot menu or by pressing C...

Page 27: ...ionally made small because zooming is easy Data Viewing Plots Pointing at or near plotted information within the ICDM windows and clicking the right mouse button causes a small window to appear that identifies the plot and gives the coordinates of the nearest data point for example Loop Gain L 10 1Hz 11 2dB along with its index This feature is called data viewing If the right mouse button is click...

Page 28: ...new range will be The new range is given by extrapolation of the cursor position You can move the cursor over other plots and even out of the plotting window while increasing the range of a plot If a plot range is symmetric then the new range also will be symmetric That is for a symmetric plot range the minimum and maximum values for X or Y are the same except for sign Changing the maximum will al...

Page 29: ...that you grab is complex then the complex conjugate pole or zero will automatically move as required In this case you can drag the pole or zero in any direction Isolated Real Poles and Zeros If the pole or zero that you grab is real and not very close to another real pole or zero then the pole or zero motion will be constrained to the real axis You cannot drag the pole or zero off the real axis No...

Page 30: ...with the cursor farther from the real axis then you will create a pair of complex conjugate zeros Creating a pole is similar typing p in the window is the accelerator for creating a pole or complex conjugate pole pair To abort a pole or zero add operation click the left mouse button with the cursor outside the plot area To delete a pole or zero press the Ctrl key near the plotting area select the ...

Page 31: ...ated you can drag the pole and zero away from each other which results in a smooth change to the transfer function By convention the cursor first grabs the zero in a pole zero pair To delete a pole and zero that are very near each other click the Delete button position the cursor near the pole and zero and click the left mouse button This will remove the pole and zero but have little effect on the...

Page 32: ... which synthesis method to use and to view or analyze the response with the current controller This chapter is limited to the discussion of SISO design For MIMO design information refer to Chapter 11 Introduction to MIMO Design Window Anatomy The ICDM Main window shown in Figure 3 1 consists of the following elements from top to bottom A menu bar with File Edit Plot Synthesis and Help menus A scro...

Page 33: ...er The source is either the currently active synthesis window or the history list A plotting area for the various plots Figure 3 1 ICDM Main Window Communicating with Xmath The File menu is used to communicate with Xmath that is to read controllers and or plants from Xmath into ICDM and to write controllers and or plants from ICDM back to Xmath ...

Page 34: ...s only meant to be used when you are learning how to use ICDM and need a quick way to enter a plant It saves you the trouble of creating a plant in Xmath and then reading it into ICDM It has no real use except in the unlikely event that your plant happens to be one of the default plants Saving and Restoring an ICDM Session The FileSave Tool button saves the entire state of the ICDM tool into an Xm...

Page 35: ...ow is compatible with the current controller that you have just read in the parameters in the synthesis window will be set appropriately If the synthesis window is not compatible with the controller you will be warned that opening the synthesis window will overwrite the controller When you read a controller from Xmath it is represented as a transfer function This means that you cannot get a contro...

Page 36: ...sfer function Nichols plot of loop transfer function Refer to the Basic SISO Terminology section of Chapter 2 Introduction to SISO Design for definitions of these terms The default plots are loop transfer function magnitude and phase and output and actuator response to a unit step input For more information about other plots available for MIMO design refer to Chapter 11 Introduction to MIMO Design...

Page 37: ...dow The Ranges window also is used to determine the number of points used in the plots ICDM provides two convenient ways to select ranges for the plots The first is to use the Autoscale feature which can be invoked from the Plot menu or from the Ranges window When Autoscale is invoked ICDM tries to assign sensible ranges to the plots but does not always succeed The second convenient method for cha...

Page 38: ...Introduction to SISO Design the plots in the ICDM Main window support another feature plot magnify windows Selecting Plot Plot Magnify or pressing Ctrl M or in the ICDM Main window will cause the cursor to change into a crosshairs symbol Positioning the cursor over an ICDM plot and clicking the left mouse button causes the plot to appear in a new window called a Plot Magnify window as shown in Fig...

Page 39: ... magnification Click and drag the left mouse button with the cursor in an ICDM plot While holding the left mouse button down you can drag out a box shown in dashed lines when you release the dashed box becomes the range for the magnified plot You also can drag out a box in the magnified plot itself This effectively changes the range of the magnified plot By selecting Plot New Plot Magnify or press...

Page 40: ...ten and give the user the option of cancelling the request proceeding or writing the current Root Locus controller to the history list before proceeding If the user proceeds then the Root Locus window will close the LQG window will open and the current controller will be overwritten with the controller from the LQG Synthesis window To open the History window select Synthesis History Because all co...

Page 41: ...1 It consists of the following from top to bottom A menu bar with entries Special Edit View and Help A text area that displays the transfer function of the current PID controller A control panel with five rows each of which corresponds to one design parameter A Bode plot of the controller transfer function with handles for graphically manipulating the design PID Controller Terms The overall contro...

Page 42: ...in the overall controller transfer function In this case the slider and the variable edit box are read only you cannot drag the slider and you cannot type in the variable edit box When the button is turned on again the parameter value is restored to its previous value You can use the buttons to do a quick A B comparison of a PID controller with or without a given term for example to see the effect...

Page 43: ...4 3 Xmath Interactive Control Design Module Figure 4 1 PID Synthesis Window As an example suppose that the P and I toggle buttons are on and the D and HF rolloff buttons are off The controller transfer function will then have the following form C s Kp 1 sTint ...

Page 44: ...log box appears and warns the user and offers several alternatives Manipulating the Controller Parameters Each parameter can be changed using the slider variable edit box or graphically To change the sign of the parameter or to change the parameter to a value outside the current slider or plot range you must use the variable edit box Notice that negative values are allowed but often are not what y...

Page 45: ...ill cause ICDM to select sensible values for the slider and plot ranges based on the current controller The ranges for the plots also can be changed interactively Refer to the General Plotting Features section of Chapter 2 Introduction to SISO Design Controller Term Normalizations Each of the controller terms is normalized in a way that is convenient for most PID design tasks as described in the f...

Page 46: ...cted by the derivative term at all so static tracking static actuator effort and so on are not affected by the derivative term You can start by making the Tdiff term small and then gradually increasing it until you get a good balance between better stability margins and excessive actuator effort Rolloff Term Normalization The two HF rolloff terms are low frequency normalized so they have little ef...

Page 47: ...f the loop transfer function Allows the user to manipulate the controller transfer function graphically by dragging controller poles and zeros or dragging the closed loop poles along the root locus plot The Root Locus window only works in SISO mode Window Anatomy The Root Locus Synthesis window is shown with the standard default contour in Figure 5 1 The branches of the locus connect the zeros and...

Page 48: ... are used to show and also to change the controller gain The gain also can be changed graphically by dragging the closed loop poles along the root locus Bottom left The root locus plot The plot shows selected phase or gain contours of the loop transfer function along with the plant and controller poles and zeros A more detailed description appears following Bottom right Buttons to add delete edit ...

Page 49: ...transfer function Thus you can use the Root Locus window to change the zeros poles and gain of a controller originally designed using the LQG window but you then cannot read the controller back into the LQG Synthesis window since it is no longer an LQG controller Terminology The loop transfer function is expressed in the following product form where K is called the gain notice that the gain is hig...

Page 50: ...Controller poles and zeros are black Plant poles and zeros are red This serves as a mnemonic you can manipulate black but not red poles or zeros On monochrome displays the plant poles and zeros are lighter than the controller poles and zeros You can always use data viewing to obtain more information about a pole or zero Refer to the Data Viewing Plots section of Chapter 2 Introduction to SISO Desi...

Page 51: ...osed loop pole locations as the gain is swept from 0 to and there is an additional phase shift of 20 10 in the loop transfer function None No phase contours are plotted Magnitude Contours 0 dB The plot shows the locus of points where the magnitude of the loop transfer function including the delay if applicable is 0 dB 2 2 dB The plot shows the loci of points where the magnitude of the loop transfe...

Page 52: ...ures Selecting View Auto scale or pressing Ctrl A in the Root Locus window will cause new ranges to be assigned to the slider and plot based on the current controller Manipulating the Parameters The Graphically Manipulating Poles and Zeros section of Chapter 2 Introduction to SISO Design describes how to graphically manipulate the controller poles and zeros The Root Locus window enforces a proper ...

Page 53: ...frequencies larger than the pole Similarly by dragging the zero away from the origin you will create some lag action that is decrease the loop phase between the zero and pole and increase the gain below the pole frequency Deleting Pole Zero Pairs Deleting a controller pole zero pair is a good way to do interactive controller model reduction Suppose that you have synthesized a suitable controller a...

Page 54: ...n appropriate pole zero pair On the other hand if the complex number is a poor place for a closed loop pole for example very lightly damped or unstable then the current compensator is not robust since only a 10 phase shift along with 3 dB of gain change in loop gain most likely the plant would result in a closed loop pole at s In this case you turn to the problem of synthesizing new compensation w...

Page 55: ...Chapter 5 Root Locus Synthesis National Instruments Corporation 5 9 Xmath Interactive Control Design Module Figure 5 3 Root Locus Synthesis Window with the 0 dB Magnitude Contour ...

Page 56: ...nforced Integral action mode The Pole Place Synthesis window cannot be used to design MIMO controllers Window Anatomy The Pole Place window is shown in Figure 6 1 From top to bottom it consists of A menu bar with entries Special Edit View and Help A toggle button used to set normal or integral action mode A slider and variable edit box used to time or frequency scale the closed loop poles A plot u...

Page 57: ... Place the user selects either closed loop poles in normal mode or 2n 1 closed loop poles in integral action mode These poles uniquely determine the controller transfer function This process can be described in terms of the coefficients of the plant and controller numerators and denominators The plant transfer function is given by P s np s dp s ...

Page 58: ...he controller is fixed and equal to n the order of the plant so there are a total of 2n closed loop poles In this case the 2n degrees of freedom in the closed loop poles exactly determine the controller transfer function which also has 2n degrees of freedom In normal mode the controller transfer function has order n and is strictly proper C s nc s dc s where dc s sn x1sn 1 x2sn 2 xn nc s y1sn 1 y2...

Page 59: ...n the closed loop poles along with the constraint that the controller must have at least one pole at s 0 exactly determine the controller transfer function In fact the closed loop poles give a complete parameterization of all controllers with at least one pole at s 0 and n or fewer other poles Equations similar to those shown in the Normal Mode section are used to determine the controller paramete...

Page 60: ...oop poles in a design that was originally LQG or H In this case you cannot read the resulting controller back into the LQG or window since the controller no longer has this special form Manipulating the Closed Loop Poles The closed loop poles and zeros can be dragged and edited interactively Refer to the Graphically Manipulating Poles and Zeros section of Chapter 2 Introduction to SISO Design for ...

Page 61: ... the General Plotting Features section of Chapter 2 Introduction to SISO Design Slider and Plot Ranges To change the ranges of the Frequency Scaling slider or the plot of closed loop poles select View Ranges or press Ctrl R in the Pole Place window The slider range also will be changed automatically if you type a new value which is outside the current range in the variable edit box The plot also c...

Page 62: ...H Infinity Synthesis LQG Synthesis Window Anatomy The LQG Synthesis window is shown in Figure 7 1 From top to bottom it contains A menu bar with entries Special Edit View and Help A message area that describes the synthesis mode type of controller for example LQG with integral action A control panel for changing the four design parameters Control cost parameter ρ Sensor noise parameter υ Integral ...

Page 63: ...control panel used to graphically edit the output weight transfer function A plotting area that contains the following plots The symmetric root locus plots of the control and estimator closed loop poles The control cost and sensor noise parameters can be changed by dragging the closed loop poles along the plot ...

Page 64: ...al action The Decay Rate toggle button controls exponential time weighting The Weight Zero Edit toggle button enables and disables output weight editing Opening the LQG Synthesis Window The LQG window can only accept LQG controllers If the current controller is of type LQG perhaps from the History window and the LQG window is opened the current controller is read into the LQG window That is the pu...

Page 65: ...put weight transfer function The noises wproc and wsens are white that is they have constant power spectral densities PSDs The parameter υ is the ratio of the PSD of wsens to the PSD of wproc Figure 7 2 Block Diagram Showing the Basic Setup for LQG Synthesis Standard LQG All Toggle Buttons Off In LQG synthesis mode the controller minimizes a weighted sum of the steady state actuator and output var...

Page 66: ...arameter Tint gives the time scale over which the effects of the integral action will take place Exponential Time Weighting When this feature is enabled the plant is first changed to P s a where a is the Decay Rate parameter In other words the plant is made less stable its poles and zeros are shifted to the right by the value a Then the LQG controller for this destabilized plant is computed Finall...

Page 67: ...ction Its numerator can be manipulated by the user The lower left plot shows the poles and zeros of the weight transfer function W When Weight Zero Edit is enabled the user can grab and drag the zeros shown or Add Delete Edit zeros using the push buttons The lower right plot shows the magnitude of the weight transfer function When it is flat and equal to 0 dB for all frequencies you have W 1 that ...

Page 68: ...using the sliders or variable edit boxes provided the associated toggle button is on If the toggle button is off then the slider and variable edit box are insensitive you cannot drag the slider handle and you cannot type into the variable edit box When the toggle buttons are turned on again the parameters are restored to their previous or default values Manipulating the Design Parameters Graphical...

Page 69: ...y if you type a new value which is outside the current range into the corresponding variable edit box The plot also can be re ranged interactively by grabbing and dragging the plot axes refer to the Interactive Plot Re ranging section of Chapter 2 Introduction to SISO Design Selecting View Auto scale or pressing Ctrl A in the LQG window causes new ranges to be assigned to the sliders and plots bas...

Page 70: ...r changing the three design parameters H performance level γ Control cost parameter ρ Sensor noise parameter ν These parameters are described in greater detail later in this chapter A control panel used to edit the output weight transfer function described in the Output Weight Editing section A plotting area that contains four plots A singular value plot of the normalized closed loop transfer matr...

Page 71: ...Chapter 8 H Infinity Synthesis Xmath Interactive Control Design Module 8 2 ni com Figure 8 1 H Infinity Synthesis Window ...

Page 72: ...e current controller with the controller The H window remembers its parameter settings When it is opened the parameters will be exactly as they were when the window was last closed or they will be set to default values if the H window has not been opened in this ICDM session Setup and Synthesis Method This section describes the closed loop transfer matrix refer to Figure 8 2 The H synthesis proced...

Page 73: ...1 and w2 to the signals z1 and z2 H is given by the following equation The entries of the closed loop transfer matrix can be interpreted as the normalized transfer functions from the process and sensor noises to the actuator and output respectively The singular values of H are shown in the top left plot of the H Synthesis window Central H Infinity Controller The controller C is chosen to minimize ...

Page 74: ...ropy of H is very nearly the same as the LQG cost with the same parameters ρ and ν so the H controller will be nearly the same as the LQG controller with the same values of ρ and ν Output Weight Editing When Weight Zero Edit is enabled the user can graphically edit the output weight transfer function W The weighting transfer function is given by Its denominator is fixed and equal to the numerator ...

Page 75: ...weight transfer function W on the plot labeled Weight Poles Zeros Refer to the Graphically Manipulating Poles and Zeros section of Chapter 2 Introduction to SISO Design for a general discussion of how to move add delete or edit these zeros graphically Infeasible Parameter Values If the user requests an infeasible value for γ then it will be reset to an approximation of the optimal that is smallest...

Page 76: ...anged automatically if you type a new value which is outside the current range in the corresponding variable edit box The plot also can be re ranged interactively by grabbing and dragging the plot axes refer to the Interactive Plot Re ranging section of Chapter 2 Introduction to SISO Design Selecting View Auto scale or pressing Ctrl A in the H window will cause new ranges to be assigned to the sli...

Page 77: ...u will be prompted for a comment that is saved along with the design Opening the History Window To make the History window appear select Synthesis History Window in the ICDM Main window This will close any open synthesis window automatically save the current controller on the history list if it has not already been saved and make the current controller the active or selected design on the history ...

Page 78: ...er You can type a number in the Variable Edit box that shows the selected controller or you can select a controller in the list which will become highlighted and then click Select at the bottom of the History window Notice that you can consider the History window as a type of synthesis window with one simple design parameter the integer that gives the selected design Figure 9 1 History Window Edit...

Page 79: ...elect a design on the history list and then click the Synthesis button at the bottom of the History window This does two things first it makes that entry active that is the current controller and second it opens the appropriate synthesis window which closes the History window Cycling Through Designs The Cycle button is used to quickly compare some of the designs on the history list First select se...

Page 80: ... the History List The history list can be used in several ways You can save controllers as benchmarks whose performance you want to match with a simpler controller You also can save any promising designs that you find so you can later use them as the initial conditions for designing ...

Page 81: ...cifically by turning on the Alternate Plant display refer to the Displaying the Alternate Plant Responses section the plots in the ICDM Main Window will show the alternate plant connected with the current controller and the plant connected with the current controller It is not possible to change the plant in ICDM except by reading it from Xmath In contrast the alternate plant can be manipulated us...

Page 82: ... toggle button that is used to display the plant poles and zeros in the plot refer to Figure 10 1 Two toggle buttons that select DC or high frequency normalization refer to Figure 10 1 A slider and variable edit box for the gain of the alternate plant These controls are used to show and also to change the gain of the alternate plant Bottom left A plot for displaying and manipulating the poles and ...

Page 83: ...the Alternate Plant Window When the Alternate Plant window is first opened the alternate plant is initialized to the plant transfer function This is convenient because in most cases the alternate plant is some sort of variation on the plant Using the Special menu you can read the plant from ICDM or any transfer function from Xmath into the alternate plant ...

Page 84: ... alternate plant to have either poles or zeros at s 0 you must use high frequency normalization Notice that with DC normalization the gain is exactly the DC gain of the alternate plant that is K Palt 0 Manipulating the Parameters The gain K can be changed using the slider or the Variable Edit box The poles and zeros of Palt can be manipulated graphically using the buttons to the right of the plot ...

Page 85: ... affects at high frequencies but does not change the DC gain This is appropriate when the plant variations and modeling errors are more pronounced at high frequencies Adding Unmodeled Dynamics Starting with Palt P and then adding a pole zero pair is a good way to see the effects of a little unmodeled plant dynamics on the system Notice that when you add a pole zero pair you have not yet changed th...

Page 86: ... will be changed automatically if you type a new value which is outside the current range into the variable edit box The plot can also be re ranged interactively by grabbing and dragging the plot axes refer to the Interactive Plot Re ranging section of Chapter 2 Introduction to SISO Design Selecting View Auto scale or pressing Ctrl A in the Alternate Plant window will cause new ranges to be assign...

Page 87: ...c terminology and notation used to refer to MIMO systems in ICDM for analysis and plotting The LQG H Synthesis window uses additional terminology described in Chapter 12 LQG H Infinity Synthesis Feedback System Configuration ICDM uses the feedback configuration shown in Figure 11 1 The configuration and signal names agree with the standard SISO configuration shown in Figure 2 1 with two difference...

Page 88: ...s and signals used in ICDM for MIMO design All of the signals are vectors Figure 11 1 Standard Feedback Connections and Signals for MIMO Design Transfer Functions In ICDM the plant and controller transfer function are required to be strictly proper that is where A B and C are matrices stored in the system object corresponding to the plant and similarly for the controller The plant order or plant M...

Page 89: ... function from r to u and so is related to the actuator effort required For example its step response matrix shows the closed loop step responses from each reference input signal to each actuator signal The transfer function from dact to e P I CP 1 is denoted Sact and called the actuator referred sensitivity transfer function The actuator referred sensitivity transfer function determines the error...

Page 90: ...the constant matrix is nonsingular for example R0 I Then you have T 0 I so that you have perfect asymptotic decoupling and tracking of constant reference inputs You also have perfect asymptotic rejection of constant actuator disturbances The condition on C means the controller has an integrator in each of its channels In this case the integrators can be thought of as either acting on the sensor si...

Page 91: ...ot window Some of windows used for SISO design are not available in MIMO design mode for example PID Root Locus and Pole Place Synthesis Some others are very similar or even the same for example the Main window and the History window Others have different forms that depend on the mode for example LQG Synthesis Alternate Plant and History Some windows only work in MIMO mode for example Multiloop Sy...

Page 92: ...nu bar This plot will display MIMO responses in a matrix format where each element of the transfer function is displayed individually in one element of the plot matrix Figure 11 4 Figure 11 4 shows the MIMO Plot window with a step response plot of the transfer function arranged as a matrix The MIMO Plot window offers a choice between either Step response Frequency response magnitude Frequency resp...

Page 93: ... SISO and MIMO modes Alternate Plant Window MIMO Version The MIMO version of the alternate plant window differs from the SISO version For a MIMO plant there are many parameters that the user might want to vary in a robustness analysis for example the gain in each actuator the gain in each sensor various poles zeros and their residues for each entry of P and so on There are so many parameters that ...

Page 94: ...Alternate Plant window looks very much like the History window the user can read various alternate plants into a list and select one as the alternate plant The semantics of the Alternate Plant window are identical in SISO and MIMO versions Figure 11 4 MIMO Plot Window with a Step Response Plot of the Transfer Function ...

Page 95: ...esis window consists of a main window and four auxiliary windows for editing constant weights frequency dependent weight functions decay rate and performance level LQG H Infinity Main Window The LQG H Main window is shown in Figure 12 1 From top to bottom it consists of A menu bar with entries Special Edit View and Help A message area that describes the synthesis mode type of controller for exampl...

Page 96: ... parameters are described in greater detail later in this chapter LQG H Infinity Weights Window The Weights window is for defining control cost and noise level parameters and is shown in Figure 12 2 From top to bottom the Weights window consists of A menu bar with entries Special Edit View and Help A row with two radio buttons which toggle the contents of the window between control cost and noise ...

Page 97: ...g in each row A toggle button to include the input in the set of control inputs A toggle button to include the input in the set of costed inputs labeled with the signal name A slider defining the constant weight factor of the input A variable edit box for the same constant weight factor Figure 12 2 LQG H Infinity Weights Window A slider representing the logarithmic average of the input weights ρu ...

Page 98: ...ype matrix of the form containing the weights on states and inputs including cross terms The control weight parameter ρ in the main LQG H window is related to the weights in this window by ρ ρu ρy If the radio buttons in the first row are set to select the noise level display the contents of the window looks almost exactly the same The leftmost column of toggle buttons has the same meaning but the...

Page 99: ...tom it consists of A menu bar with entries Special Edit View and Help A plotting area that contains two plots A plot of controller poles and a vertical line indicating the decay rate A plot of estimator poles and a vertical line indicating the decay rate Figure 12 3 LQG H Infinity Decay Rate Window H Infinity Performance Window The H Performance window shown in Figure 12 4 consists of from top to ...

Page 100: ...w Frequency Weights Window The Frequency Weights window is shown in Figure 12 5 From top to bottom it consists of A menu bar with entries Special Edit View and Help A plot area with two plots A plot that shows the poles and zeros of the selected input or output weight transfer function The user can grab and drag the poles and zeros to new locations A plot with the frequency response magnitude of t...

Page 101: ...tion Exponential time weighting guaranteed decay rate This feature is only enabled in the case of LQG design Input and output weight editing In the Main window the synthesis mode is reported in the text in the titlebar at the top The Int Time integral action time toggle button enables and disables integral action The Decay Rate toggle button controls exponential time weighting The Weight Edit togg...

Page 102: ...ill be exactly as they were when the LQG H window was last closed or set to default values if the LQG H window has not been opened in this ICDM session Setup and Terminology The input and output signals are distinguished in the following categories Disturbances ω Actuators uact Measurements y Costed outputs z Whether an input signal is a disturbance or an actuator and whether an output is a measur...

Page 103: ...puts yI The disturbance input vector w consists of the following General LQG state disturbances wx General LQG output disturbances wy Input referred disturbances or process noise wp Measurement or sensor noise ws Filter noise wF Reference noise for the purpose of setpoint tracking wr The measured output consists of the following Integrated filtered measured plant outputs yI sens Filtered measured ...

Page 104: ...t of the set of plant outputs as measurements Similarly σact selects a subset of the plant inputs as control inputs These subsets are determined by the toggle buttons in the weights window These allow the user to quickly investigate the effect of including excluding sensors and actuators without having to redefine the plant model w C act P Wy uact Wu uF xp y yI yI sens yI sens sens y sens ysens yp...

Page 105: ...d output variance where E denotes expectation Integral Action When Integral action is enabled the controller minimizes a variation on the LQG cost where Plant P Output filter Fy Input filter Fu Integrator x p Apxp Bpuact Bpwp wx yp Cpxp ws wy y Cy xy wy x y Ay xy By yp WpwF x u Au xu Bu uact u Cu xu Du uact x I y WIwr yI xI wr J E t lim x T u T Rxx Rxu Rux Ruu x T u T ρu i ui 2 i 1 nu ρy j yj 2 j ...

Page 106: ...ller for this destabilized plant is computed Finally the poles and zeros of this controller are shifted left by the Decay Rate parameter a One effect of this shifting is that the closed loop poles are guaranteed to have real part less than the Decay Rate parameter a or in other words the closed loop time domain responses are guaranteed to decay at least as fast as exp at This is why the parameter ...

Page 107: ...nces w actuators uact sensors y and weighted outputs z Sensors and actuators are disabled enabled using the leftmost column of toggle buttons in the Weights window This is useful for situations where you want to know what the value of individual sensors and actuators is for the achievable control performance By default all outputs are sensors and all inputs are actuators Input referred disturbance...

Page 108: ...or problem If a smaller number of actuators have been selected than there are sensors setpoint tracking cannot be expected in case the integrator toggle button has been enabled H Infinity Solution The H controller design is done in entirely the same setting as the LQG controller Selection of sensors and actuators and extension with frequency weighting and integrators is identical to LQG The interp...

Page 109: ...ve zeros on the imaginary axis If that is the case an error message is reported in a window When the H performance level γ is large the H controller is approximately the same as the LQG controller By reducing γ with the slider or by dragging the horizontal dashed line in the singular value plot the algorithm will decrease the maximal singular value to its lower bound For practical H design the fol...

Page 110: ... are insensitive you cannot drag the slider handle and you cannot type into the variable edit box When the toggle buttons are turned On again the parameters are restored to their previous or default values The design parameters also can be manipulated graphically When the Decay Rate toggle button is on a dashed line appears in the Decay Rate window showing ℜs a The user can drag this line left and...

Page 111: ...hanged automatically if the user types a new value which is outside the current range into the corresponding variable edit box The plot also can be re ranged interactively by grabbing and dragging the plot axes refer to the Interactive Plot Re ranging section of Chapter 2 Introduction to SISO Design Selecting View Auto Scale or pressing Ctrl A in the LQG window causes new ranges to be assigned to ...

Page 112: ...r complex multivariable plants Multi Loop Window Anatomy The Multi Loop Synthesis window is shown in Figure 13 1 From top to bottom it consists of A menu bar with entries Special Edit and Help A plot area where SISO control loops can be created graphically We will call this area the graphical editor A scrolled list of loop names with actuator and output labels A label Active loop name and a variab...

Page 113: ...i com Figure 13 1 Multi Loop Main Window After the Multi Loop window is opened two plots are added at the bottom of the ICDM Main window for display of the loop gain magnitude and phase of the control loops that will be synthesized with the Multi Loop method refer to Figure 13 2 ...

Page 114: ...This section describes the setup and synthesis method for multi loop synthesis Multi Loop Versus Multivariable Design In most multivariable control design methods such as synthesis no specific assumptions are made about which loops should be closed and which ones not In general all components of the resulting controller transfer function will be nonzero The multi loop synthesis method allows the u...

Page 115: ...e case of a plant with two actuators and three sensors in Figure 13 3 This figure shows standard feedback connection with scalar signals shown for a plant with three sensors outputs and two actuators inputs Figure 13 3 Standard Feedback Connection Suppose that at some moment in the design phase two loops have been closed one from the first sensor to the first actuator and one from the third sensor...

Page 116: ...Multi Loop Synthesis National Instruments Corporation 13 5 Xmath Interactive Control Design Module Figure 13 4 Multi Loop Configuration with 3 Sensor and 2 Actuator Plant y1 C 1 P u1 r1 r2 r3 u2 y2 y3 e1 e2 e3 C 2 ...

Page 117: ... 2 In multiloop design you can alternate between designing each of the SISO controller transfer functions with the other fixed Figure 13 5 shows an example multiloop configuration for the 3 sensor 2 actuator plant considered redrawn showing C 1 connected to Pequiv which is the plant with all other loops closed in this case just one other loop While designing C 1 it is useful to think of it as the ...

Page 118: ... section describes the multi loop controller including the graphical editor how to manage loops and loop gain magnitude and phase Graphical Editor The graphical editor consists of two columns of square boxes where in the leftmost column each box represents a sensor and where in the rightmost column each box represents an actuator A line between a sensor box and a actuator box represents a control ...

Page 119: ...t is impossible to do any kind of manipulation in the Multi Loop window Only after the SISO window is closed the Multi Loop window will become active again It is therefore not possible for instance to select some other loop and disable it during the SISO design phase Loop Gain Magnitude and Phase In the plot area of the main window two plots are displayed where the loop gain magnitude and phase of...

Page 120: ...ferent from using a toolbox that has a traditional command line user interface To see a menu of Programmable GUI examples enter guidemo from the Xmath command area This displays the menu of GUI demos shown in Figure A 1 1 Select a demo for example Variable Binding 2 Click OK In a few seconds the demo will appear Your window manager may require you to position the window s generated by the demo thi...

Page 121: ... what it does It may be helpful to read the rest of this appendix before or while you try the demos You can exit a demo by selecting the Special Exit option Interacting with a GUI Application This section describes the mechanics of interacting with GUI windows Tools that use the GUI will create windows that contain control elements such as buttons sliders pull down menus plots and lists For exampl...

Page 122: ...ion to be performed Radio buttons diamond shaped are a group of buttons that have radio behavior which means that at most one can be on at any time Like the station selection buttons on a radio selecting one button automatically turns off any other button that is on A pull down menu is displayed by depressing and holding the left mouse button As the mouse is dragged the various menu selections usu...

Page 123: ...t mouse button augments rather than replaces the existing selections This allows discontiguous ranges of items to be selected This type of list is used in the history sorting and history column dialogs in the leadlag demo When you select one or more items from a list you then choose some action such as Delete or Display GUI tools can display a dialog A dialog is a small window that could contain a...

Page 124: ...e button for example the 12 button Figure A 3 PGUI Example Dialog after Pressing the 12 Button GUI windows might contain sliders which resemble linear potentiometers and whose values are changed by a linear motion of the handle The position of the slider s handle represents its value Usually the limits of the slider are shown at its ends Figure A 3 shows a slider with minimum value 0 and maximum v...

Page 125: ...utton anywhere in the plot creates a box containing a magnification of a small area of the plot centered at the cursor The middle mouse button can be held down and dragged which creates an effect similar to dragging a magnifying glass across the plot The center of the zoomed window corresponds to the tip of the cursor Pressing Ctrl along with the middle mouse button increases the size of the magni...

Page 126: ...make sure every question receives an answer For information about other technical support options in your area visit ni com services or contact your local office at ni com contact Training and Certification Visit ni com training for self paced training eLearning virtual classrooms interactive CDs and Certification program information You also can register for instructor led hands on courses at loc...

Page 127: ...2 11 2 complementary loop transfer function 11 4 Control cost parameter 7 4 8 1 12 1 control eigenvalues 6 5 controller current 3 2 degree 2 2 denominator 2 2 numerator 2 2 order 2 2 transfer function 2 2 2 5 11 2 conventions used in the manual iv Cycle button 9 3 D data viewing 2 12 DC normalization 10 4 Decay Rate 7 1 12 1 parameter 7 7 12 12 toggle button 7 7 12 16 Default Plants 11 1 default p...

Page 128: ...7 KnowledgeBase B 1 L LEQG controllers 2 5 linear exponential quadratic Gaussian LEQG controllers 8 1 loop gain 2 2 transfer function 2 2 11 4 LQG synthesis window 2 5 window 2 8 LTR design 2 5 M MATRIXx Help 1 4 1 5 MIMO LQG H Infinity synthesis window 12 1 Plot window 11 6 transfer function plot 11 6 model reduction 2 7 multi loop synthesis 13 1 N National Instruments support and services B 1 NI...

Page 129: ...tivity transfer function 2 2 11 3 sensor noise 12 9 noise parameter 7 1 7 5 8 1 12 1 signal 2 2 11 1 signal 2 2 error 2 2 Simple ICDM Session 2 11 SISO 1 4 software NI resources B 1 step response 2 3 plot 2 7 support technical B 1 system object 2 1 T technical support B 1 training and certification NI resources B 1 transfer function 2 2 2 5 alternate plant 2 5 closed loop 2 3 controller 2 2 curren...

Reviews: