Home

LabVIEW Control Design Toolkit User Manual

image

Contents

1. Figure 3 2 Forward Rectangular Method Figure 3 2 shows that for this example the Forward Rectangular method overestimates the area under the curve To minimize this overestimation use a small sampling interval Depending on the direction and size of the curve you are measuring this overestimation might not occur Backward Rectangular Method The Backward Rectangular method considers f t constant and equal to f d along the integration range This consideration results in the following equation y t T y t f OT Control Design Toolkit User Manual 3 8 ni com Chapter 3 Converting Models This method considers the incremental area term between sampling times t and t T as a rectangle of width T and height equal to f t as shown in Figure 3 3 Backward fit T f t Figure 3 3 Backward Rectangular Method Figure 3 3 shows that for this example the Backward Rectangular method underestimates the area under the curve To minimize this underestimation use a small sampling interval Depending on the direction and size of the curve you are measuring this underestimation might not occur Tustin s Method Tustin s method also known as the trapezoid method uses trapezoids to provide a balance between the Forward Rectangular and Backward Rectangular methods Tustin s method takes the average of the rectangles defined by the Forward and Backward Rectangular methods and uses th
2. rnana pdt 1000 bee 100 I Sensor Measurement vi BlError Initialize 1I fe itochastic State Space Model A 7 Controller Output vi RS feet Kohat ICD Discrete Recursive Kalman Corrector vi Lad CD Discrete Recursive Kalman Predictor vi mA ie iecond Order Statistics Noise Model Fe tate Estimate xhat O 1 om stimation Error Covariance P O 1 E ie i i Axvector v Park H pet f controller Gain Oo nef P klk 1 khat k k 1 Figure 17 7 Implementing a Kalman Filter on an RT Target The example in Figure 17 7 uses the CD Discrete Recursive Kalman Corrector and CD Discrete Recursive Kalman Predictor VIs to estimate state information x k 1 k during execution The control action u k 1 is defined as Kx k 1 k At the next iteration of the Timed Loop u k 1 becomes u k which these VIs use to estimate state and error covariance information for the next time step The feedback nodes transfer these values from one iteration to the next In this example the D matrix of the Stochastic State Space Model is nonzero which means the model has direct feedthrough from the inputs to the output
3. Use the CD Construct State Space Model VI to create SISO SIMO MISO and MIMO system models in state space form This VI creates a data structure that uses matrices to define the state space model The matrices are zero based two dimensional arrays of numbers where the ij element of the array corresponds to the ij element of matrices in a state space model You can assume that an n order system with m inputs and r outputs has state input and output vectors as defined in the following equations Xo uo Yo x u x 1 a 1 y Y Xn 1 Um 1 Vr State space models also contain additional information about the system such as the sampling time input or output delays and input and output names Refer to the Obtaining Model Information section of this chapter for information about other properties that state space models contain National Instruments Corporation 2 15 Control Design Toolkit User Manual Chapter 2 Constructing Dynamic System Models SISO State Space Models Using the example in the RLC Circuit Example section of this chapter the following equations define a continuous state space model o lk o x T a rif tla yi vel IC L Web ILC Ve y ve 1 0 ol vV In these equations y equals the voltage of the capacitor v and u equals the input voltage v v x equals the voltage of the capacitor and the derivative of that voltage Ve The following matrices define a state space model
4. ae Error e k ek TU 1 6E 7 1 4E 7 1 2E 7 1E 7 8E 8 6E 8 4E 8 2E 8 o Amplitude 2E 8 1 1 1 1 1 1 1 0 000 0 000 0 001 0 001 0 001 0 001 0 002 0 002 Time s Figure 16 8 Estimation Error of Kalman Filter In Figure 16 8 notice the estimation error is extremely small This small error confirms the ability of the Kalman filter to estimate model states despite the presence of noise Refer to the Example State Space Controller with Kalman Filter for Stochastic System Code section of Chapter 17 Deploying a Controller to a Real Time Target for example block diagram code that implements a Kalman filter on a real time RT target National Instruments Corporation 16 17 Control Design Toolkit User Manual Deploying a Controller to a Real Time Target After you design a controller using the techniques this manual describes you then can deploy the block diagram code for that controller to a real time RT target The RT target acquires sensor measurements executes the controller code and sends the appropriate output to the actuators The LabVIEW Control Design Toolkit includes functions that you use to deploy discrete linear time invariant LTT system models to National Instruments RT Series Hardware You can use these functions to define discrete controller models in transfer function zero pole gain or state space form To deploy continuous controller models to an RT target you must inst
5. Estimator Poles Configuration CD State Space Controller vi CD Initial Response vi eeen E ma nitial Conditions ekek Gain Type gt Controller Gain vY Figure 14 14 System Included State Compensator Control Design Toolkit User Manual 14 22 ni com Chapter 14 Defining State Space Controller Structures The CD Initial Response VI uses 0 0 2 1 as the initial conditions As in the Example System Included State Estimator section of Chapter 13 Defining State Estimator Structures these initial conditions mean that the initial conditions of the actual states are 2 1 whereas the initial conditions of the estimated states are 0 0 Figure 14 15 shows the response of the system to those initial conditions State Trajectory Graph x1Model x2Model x1System x2System v zel 2 a 1 Time s Figure 14 15 State Trajectory of a System Included State Compensator Notice that the time the estimator takes to track the actual states is much shorter than the time the actual states take to reach a steady state The estimator takes between 1 and 1 5 seconds to track the actual states whereas the actual states take approximately six seconds to reach a steady state The estimator tracks the actual states faster than the controller stabilizes the system because the estimator poles are at 5 5 and the controller poles a
6. Input Node Sensor Measurement vi Controller Output vi D lut K xhat t Bhat F vector 7 x ontroller Gain K Figure 17 8 Implementing a Continuous Controller Model and a Continuous Kalman Filter on an RT Target In Figure 17 8 the red D on the Sensor Measurement and Controller Output subVI icons indicate these subVIs execute as discrete functions You can configure the sample period and sample skew or offset of these functions individually The blue C on the A x B VI icon indicates this VI executes continuously Also notice this example does not need feedback nodes or shift registers to feed the output of the A x B VI back to the Input u t input of the CD Continuous Recursive Kalman Filter function 3 Note You must install both the Control Design Toolkit and the Simulation Module to use the CD Continuous Recursive Kalman Filter function Control Design Toolkit User Manual 17 12 ni com Chapter 17 Deploying a Controller to a Real Time Target Finding Example NI DAQm x 1 0 Code If you installed NI DAQmx refer to the labview examples DAQmx Control Control 11b for examples of writing I O block diagram code for National Instruments DAQ devices National Instruments Corporation 17 13 Control Design Toolkit User Manual Technical Support and Professional Services Visit the following sections of the National Instrumen
7. BA D DA and L LA These substitutions apply to both estimators and controllers Controllers have an additional substitution when inputs are not adjustable For a controller the controller gain K is given by K KA where A is a diagonal matrix with the same characteristics as A and A Therefore a diagonal element in A equals unity for the adjustable input and zero for the nonadjustable or system disturbances By default matrices A and A are identity matrices whose size equals the number of inputs A is an identity matrix whose size equals the number of outputs Adding a State Estimator to a General System Configuration 3 Use the CD State Estimator VI to define an estimator structure This VI integrates L into a dynamic system so you can analyze and simulate the estimator performance Note To simplify the equations in the rest of this chapter assume that all inputs are known and all outputs are measurable This assumption means B B L L and D D Consider the following equations that represent a continuous state space system x Ax Bu y Cx Du r Assume that L is based on this system some estimator performance specifications and the output noise r covariance You then can calculate the estimated states x using the following equations for dynamic models x Ax Bu L y y Cx Du The state space system and dynamic model equations share the same system matrices and input u The s
8. H i S 12 1 s 3 Ha ae Hy 4 s 4s 6 Select the MIMO instance of the CD Construct Transfer Function Model VI to create a MIMO transfer function model You then can specify each transfer function between the j input and the i output as the ij element of the two dimensional Transfer Function s input array Figure 2 7 shows that the numerator denominator pair of the first row and first column corresponds to H41 the numerator denominator pair of the first row and second column corresponds to Hj and so on Transfer Function s Figure 2 7 Creating a MIMO Transfer Function Model The elements in the Numerator and Denominator arrays correspond to the coefficients in ascending order of the numerator and denominator in the H transfer function model For example the numerator of H4 is 1 which corresponds to the zero order coefficient Therefore the first element in the Numerator array for H is 1 The denominator of H4 is s which means the value 0 corresponds to the zero order coefficient and the value 1 corresponds to the first order coefficient Therefore the first element in the Denominator array for H4 is 0 and the second element is 1 Control Design Toolkit User Manual 2 10 ni com Chapter 2 Constructing Dynamic System Models Symbolic Transfer Function Models Symbolic models define the transfer function using variables rather than numerical values If you want to change the value of R
9. This state compensator uses the standalone configuration without estimator which indicates that you do not need a state estimator because the states are directly available for control The following equations describe the compensator model x A BK x BKr Cx ays Note The direct transmission matrix D is not part of this expression because D is null in this example The poles or the eigenvalues of A BK of the closed loop system are in the left side of the complex plane If you set the output noise r to zero the controller gain matrix K immediately drives the states to zero Figure 14 20 shows how you use the CD Ackermann VI to calculate the controller gain matrix K which you then use to study the performance of the state compensator 1 Zhou Kemin and John C Doyle Essentials of Robust Control 1st ed Upper Saddle River NJ Prentice Hall 1998 National Instruments Corporation 14 27 Control Design Toolkit User Manual Chapter 14 Defining State Space Controller Structures ICD Append vi Standalone Y ED Initial Response vi n ET gt Controller Gain Figure 14 20 Standalone Compensator without Estimator B Note To view both the original response of the actual system and the response of the system controlled by the state compensator you must append the model of the actual system State Space Model to the model of the state compensator Therefore in the Sta
10. Figure 15 4 confirms the estimation error of this predictive observer becomes zero after about one second Refer to the Predictive Observer topic of the LabVIEW Help available by selecting Help Search the LabVIEW Help from the pull down menu for the general forms of the equations this function uses to calculate the outputs Current Observer The difference between a predictive and current observer is that a predictive observer uses measured output y k to estimate the predicted state x k 1 k However a current observer uses y k to estimate the current state x k k and uses that information to estimate x k 1 k This extra calculation means that a current observer is more accurate than a predictive observer Control Design Toolkit User Manual 15 6 ni com Chapter 15 Estimating Model States The current observer consists of two VIs the CD Current Observer Corrector VI and the CD Current Observer Predictor VI At each time step k these VIs execute the following actions 1 The CD Current Observer Corrector VI estimates the current model states x k k by using x k k 1 In this sense this VI corrects the state estimate predicted at the previous time step 2 The CD Current Observer Predictor VI estimates the model states at the next time step x k 1 k using x k k 3 After k advances to the next time step the value of x k 1 k becomes the value of x k k 1 These steps repeat until you stop the VI ay
11. National Instruments Corporation 4 1 Control Design Toolkit User Manual Chapter 4 Connecting Models Connecting SISO Systems in Series Consider a valve that controls the flow rate of water into a tank Figure 4 1 represents this system Ks Input Signal Q s Flow Rate Hus H s EG L s Level Figure 4 1 Flow of Water into a Tank If you assume that the incoming water pressure to the valve is constant only the valve input signal affects the level of the water in the tank You can model the flow rate of water into the tank using the following transfer functions where H s is a model of the valve and H s is a model of the tank Hfe aGO Hye ts 2Cts 1 I s Q s and L s represent the Laplace transform of the input signal the flow rate and level of water in the tank respectively The constants K T C and K are parameters of the models that describe the valve and tank To obtain the effect of the input signal on the water level place the two systems in series and multiply their transfer functions LS _ Hs H s A Ks ts 2Cts 1 s Control Design Toolkit User Manual 4 2 ni com Chapter 4 Connecting Models This equation represents the output of H s connecting to the input of HAs Figure 4 2 illustrates this relationship Ks Q s L s Hds Q s s m gt His L s Q s gt Ks L s H s HAS Hds L s
12. e Automobile cruise control systems e Robots in manufacturing e Refrigerator temperature control systems e Hard drive head control systems This chapter provides an overview of model based control design and describes how you can use the LabVIEW Control Design Toolkit to design a controller Model Based Control Design Model based control design involves the following four phases developing and analyzing a model to describe a plant designing and analyzing a controller for the dynamic system simulating the dynamic system and deploying the controller Because model based control design involves many iterations you might need to repeat one or more of these phases before the design is complete Figure 1 2 shows how National Instruments provides solutions for each of these phases Developing a Control Design Simulation Deployment Plant Model lt t _ gt lt i gt LabVIEW gt System Identification Control Design Simulation LabVIEW Real Time Toolkit Toolkit Module Module LabVIEW Figure 1 2 Using LabVIEW in Model Based Control Design National Instruments also provides products for I O and signal conditioning that you can use to gather and process data Using these tools which are built on the LabVIEW platform you can experiment with different approaches at each phase in model based control design and quickly identify the optimal design solution for a control
13. s _ Figure 4 2 Valve Model and Tank Model in Series The resulting SISO system H s now represents the relationship between the input signal s and the level of water L s in the tank Creating a SIMO System in Series You can create a SIMO system by connecting two or more SISO systems with a SIMO subsystem For example adding another valve and tank to the example in the Connecting SISO Systems in Series section of this chapter results in a SIMO system that divides the flow rate between two different tanks Figure 4 3 shows this system Ks Input Signal Q s Flow Rate Ht4 s EO Ht9 s EO L4 s Level Tank 1 Lo s Level Tank 2 Figure 4 3 Dividing the Flow of Water between Two Tanks National Instruments Corporation 4 3 Control Design Toolkit User Manual Chapter 4 Connecting Models H s is a SIMO transfer function matrix that represents the relationship of the flow rates By connecting H 2 s to H s and Q s the entire system becomes SIMO The total flow rate Q s is equal to the sum of the parts Q s and Q gt s O s Oi s Oo s AO s 1 2 0 s The constant represents the fraction of flow sent to the first tank whereas 1 A is the remaining fraction of flow sent to the second tank H s d When you connect these models in series the output of the first system H s connects to the input of the second system H 2 s Fi
14. Generally the dynamic characteristics of robots do not change over short periods of time The Control Design Toolkit supports time invariant models only Continuous versus Discrete Models Dynamic system models are either continuous or discrete Continuous models represent real world signals that vary continuously with time You use differential equations to describe continuous systems For example a model that describes the orbital motion of a satellite is a continuous model Conversely discrete models represent signals that you sample at separate intervals in time You use difference equations to describe discrete systems For example a digital computer that controls the altitude of the satellite uses a discrete model Continuous system models are analog and discrete system models are digital Both continuous and discrete system models can be linear or nonlinear and time invariant or time variant The Control Design Toolkit supports continuous and discrete models You can use the Control Design Toolkit to represent dynamic system models in the following three forms transfer function zero pole gain and state space Refer to the Constructing Transfer Function Models section the Constructing Zero Pole Gain Models section and the Constructing State Space Models section of this chapter for information about creating and manipulating these system models Control Design Toolkit User Manual 2 4 ni com Chapter 2 Constructing
15. T Figure 3 5 shows the area under a curve using the Prewarp method Prewarp t t T t T Figure 3 5 Prewarp Method Figure 3 5 shows that for this example the Prewarp method compensates for the integration error by adjusting the sampling time to T The area between ft T and t T is roughly equal to the integration error which is represented by the unshaded portion of the area under the curve Use a particular conversion method based on the model that you are converting and the requirements of the application for which you are designing a control system Zero Order Hold and First Order Hold Methods The Zero Order Hold and First Order Hold methods assume properties of the continuous differential equation f t The Zero Order Hold method assumes that f t consists of an input that you can hold constant during the integration period between sampling times f and t T The First Order Hold method assumes that you can increase this input over time during this same period These methods also integrate the remaining terms of f t not related to the input because these terms refer to the internal state dynamics National Instruments Corporation 3 11 Control Design Toolkit User Manual Chapter 3 Converting Models You obtain the following equation after integrating a linear time invariant system between sampling times and T t T x t T ex t etl Bu r dr y t Cx t Du t In t
16. To represent this model at units in the past subtract t from tin the evaluation of the system model A t The expression A t t4 represents this operation The first step in incorporating delay into a continuous system model is factoring a common delay out of the system model Applying the Laplace transformation to the system model accomplishes this step The following equation gives the Laplace transformation of h t ta LIA t 1 f h t t e dt f h t tpe dt tpe H s e 0 0 This equation shows that the Laplace transform of a function delayed t4 units of time in the past is identical to the product of the Laplace transform of the original function and the factor e where s is the Laplace variable Thus you can incorporate delay into A t by multiplying H s by the delay factor e National Instruments Corporation 5 3 Control Design Toolkit User Manual Chapter 5 Working with Delay Information For example consider the continuous SISO transfer function H s with output Y s and input U s Because e represents the delay factor H s e defines a system that has a transport delay stg Ys H s e U s You also can represent the delay as an input delay or output delay Applying the delay factor e to the input U s results in an input delay as shown in the following equation Agee e 4U s Conversely applying the delay factor to the output Y s results in an output delay shown in
17. response data that contains information about the frequency response of all input output pairs in the model The frequency response information for the CD Bode VI returns information about the Bode magnitude and Bode phase The frequency response information for the CD Nichols VI returns information about the real and imaginary parts of the frequency response The frequency response information for the CD Nyquist VI returns information about the open loop gain and open loop phase Use the CD Get Frequency Response Data VI to access this information for a specified input output pair a list of input output pairs or all input output pairs of the system The CD Get Frequency Response Data VI uses the Frequency Response Data input which contains the frequency response information for all the input output pairs of a system model For state space models the CD Get Frequency Response Data VI returns the frequency response of the input state pair s Because transfer function and zero pole gain models do not have states the frequency response data for an input state pair of these forms is an empty array Refer to the LabVIEW Help available by selecting Help Search the LabVIEW Help for more information about using the CD Get Frequency Response Data VI National Instruments Corporation 7 7 Control Design Toolkit User Manual Analyzing Dynamic Characteristics Any given dynamic system has numerous dynamic characteristics such as stabilit
18. x 4 00 Yref y y C DK DK z oo y Use the following substitution to make the input independent Pear maae This process results in the following equations that describe the standalone configuration PEN _ A B LD K LC D B K H n p d Pa 0 r z U T y uj _ Ky K Ix 10 0 Yrer y C DK DK z 0 0 y This configuration does not include the original system This configuration considers the system output y as another input to the estimator Figure 14 11 represents the dynamic system that these equations describe Vref u m Controller a gt y Estimator A Figure 14 11 Standalone State Regulator with Integral Action with Estimator Control Design Toolkit User Manual 14 18 ni com Chapter 14 Defining State Space Controller Structures The states inputs and outputs of the state regulator with integral action are x i and p respectively y Y Standalone Configuration without Estimator The standalone configuration without estimator uses states to calculate of the control action u As such you do not need an estimator In the CD State Space Controller VI do not wire a value to the Estimator Gain L input to exclude the estimator in the standalone state regulator with integral action The following equations describe the standalone configuration x A BK BK ig ij y y ref y Zz 0 T Zz I K K y i T s
19. 0 41 0 i 0 47 1 67 0 29 0 87 y 2 45 0 x o o u Control Design Toolkit User Manual 3 4 ni com Chapter 3 Converting Models This model numerically differs from the initial state space model From the input output model perspective however the state space models are identical Refer to the LabVIEW Help available by selecting Help Search the LabVIEW Help for more information about the Model Conversion VIs Converting between Continuous and Discrete Models Continuous models are analog and operate using physical components Discrete models are digital and operate on a computer or real time RT target To determine how an analog model performs on a digital target you can convert the continuous model to a discrete model You also can convert a discrete model to a continuous model Additionally you can resample a discrete model Resampling involves converting a discrete model to a discrete model with a different sampling time Resampling is useful when the sampling time of a model does not match the sampling time of the target on which that model operates In this situation you resample the model to use the sampling time of the target The Model Conversion VIs provide a number of mathematical methods that perform these conversions Table 3 1 summarizes these methods which are substitutions between the continuous Laplace transform operator and the discrete z transform operator Table 3 1 Mapping Methods for Convert
20. 1 k Figure 16 6 Implementing a Kalman Filter The example in Figure 16 6 executes the following steps 1 The Discrete Stochastic State Space Internal function simulates acquiring a noisy sensor measurement by wiring the Output y k output of this function to the Output y k input of the CD Discrete Recursive Kalman Corrector VI Control Design Toolkit User Manual 16 14 ni com Chapter 16 Using Stochastic System Models 2 The CD Discrete Recursive Kalman Corrector VI calculates the current Corrected State Estimate xhat klk based on the Output y k Input u k Initial State Estimate xhat 0l 1 and Initial Estimation Error Covariance P 0l 1 parameters 3 The CD Discrete Recursive Kalman Predictor VI calculates the Predicted State Estimate xhat k 1 k and Predicted Estimation Error Covariance P k 1lk based on the same four parameters 4 At the next iteration of the While Loop the value of k increases by 1 and the Predicted State Estimate xhat k 1Ik becomes the Predicted State Estimate xhat klk 1 Therefore this example wires the Predicted State Estimate xhat k 1 k output of the CD Discrete Recursive Kalman Predictor VI to the Predicted State Estimate xhat klk 1 input of the CD Discrete Recursive Kalman Corrector VI This example also wires the Prediction Error Covariance P k 1 k output of the CD Discrete Recursive Kalman Predictor VI to the Estimation Error Covariance P klk 1 input of the CD Discrete Rec
21. 10 i L SR a amp Bu Figure 4 10 Circuit System Control Design Toolkit User Manual 4 8 ni com Chapter 4 Connecting Models The input of this system is the voltage v The output of this system is the total current i which is the sum of currents i and i gt R4 and R are resistors and L and L are inductors The following equations describe the individual currents for the circuit system in Figure 4 10 K rki 0 lat t v Lo Ri v The following equations give the resulting transfer functions for each circuit loop I s _ 1 HNO Fs Tak mi 2 1 Vis Lys R In Figure 4 11 H s and H s represent the transfer functions defined in the previous equations and J s and s are the respective outputs of these transfer functions V s is the transfer function of the voltage input v that both circuit loops share Figure 4 11 Each Circuit Loop in the Circuit System National Instruments Corporation 4 9 Control Design Toolkit User Manual Chapter 4 Connecting Models Figure 4 12 illustrates the relationship between the voltage input v and total current i by placing both models together in one larger system model When the two models are in parallel both models share the same input V s and provide a total output s as shown in Figure 4 12 Figure 4 12 Entire Circuit System as a Parallel Model The following eq
22. B L r x BK A x B Oj r K O T0 x ry C DK 0 Fl o oF DK cl pall xm Ss The reference vector or actuator noise r has as many elements as the number of inputs Also this configuration calculates the control action u internally and then gives u as an output of the state regulator Figure 14 6 represents the dynamic system that these equations describe p V y gt Controller System gt A Estimator x Figure 14 6 System Included State Regulator with Noise r u h and r y i Y gt x The states inputs and outputs of the state regulator are i respectively x Control Design Toolkit User Manual 14 10 ni com Chapter 14 Defining State Space Controller Structures Standalone Configuration with Estimator In the standalone configuration with estimator the system model detaches from the controller The system outputs y become inputs to the estimator Unlike the system included and system included with noise configurations the standalone configuration with estimator does not account for output error You must wire a value to the Estimator Gain L input of the CD State Space Controller VI to include the estimator in the standalone state compensator The following equations describe the standalone configuration with estimator x A BK L C DK B LD 1 K J u Z K a TO 7 y C DK D O0 y This configurati
23. DK C x 0 The reference vector y has as many elements as the number of outputs Also this configuration calculates the control action u internally and then gives u as an output of the state regulator with integral action Figure 14 9 represents the dynamic system that these equations describe Vret y Controller System tS gt Zz xX lt gt Estimator y x Figure 14 9 System Included Regulator with Integral Action The states inputs and outputs of the state regulator with integral action are x u zl Yref and y respectively x J National Instruments Corporation 14 15 Control Design Toolkit User Manual Chapter 14 Control Design Toolkit User Manual 14 16 Defining State Space Controller Structures System Included Configuration with Noise The system included configuration with noise incorporates noise r into the system included configuration The following equations define the output error and system output y y Cx Cx r y D K x Kz Cz r By substituting the output error and system output in the general system configuration you obtain the following equations that describe the system included configuration with noise i 4 BK LC BK rc or l DK T DK C z I0 P Le BK BK A x o ojL u He ROR Moal C DK DK 0 z o 0 A y DK DK c x o zt The reference vector y has
24. Figure 7 2 shows a system with one unstable pole es Nyquist Plot Ploto AZ Zs 1 s 8 fs 3 he s 9 fs 2 0 8 0 6 o I 0 2 Imaginary Axis oo AN O 1 j 0 6 0 8 1 1 2 1 I 1 1 5 1 0 5 0 a5 1 Real Axis Figure 7 2 Nyquist Plot of One Unstable Pole Often you want to determine a range of gain values for which the system is stable rather than testing the stability of the system at a specific value of K To determine the stability of a closed loop system you must determine how a range of gain values affect the stability of the system Consider the following closed loop transfer function equation with output Y s and input U s where K is the gain Y s _ _KH s U s 1 KH s The closed loop poles are the roots of the equation 1 KH s 0 The complex frequency response of KH s evaluated for s i in continuous systems and e for discrete systems encircles 1 0 in the complex plane if 1 KH s encircles 0 0 If you examine the Nyquist plot of H s you can see that an encirclement of 1 K 0 by H s is the same as an encirclement of 1 0 by KH s Thus you can use one Nyquist plot to determine the stability of a system for any and all values of K Control Design Toolkit User Manual 7 6 ni com Chapter 7 Frequency Response Analysis Obtaining Frequency Response Data The Frequency Response VIs discussed in this chapter return frequency
25. In this situation you must wire a value to the Input u k input of the CD Discrete Recursive Kalman Corrector VI Refer to the CDEx Kalman Filter and Controller Implementation Without Feedthrough VI in the labview examples Control Design Getting Started Implementation 11b for an example of implementing a current observer when the model does not have direct feedthrough National Instruments Corporation 17 11 Control Design Toolkit User Manual Chapter 17 Deploying a Controller to a Real Time Target Refer to the Implementing a Kalman Filter section of Chapter 16 Using Stochastic System Models for information about how these two VIs execute Example Continuous Controller Model with Kalman Filter Code You can use the Control Design Toolkit to deploy only discrete controller models to RT targets because the Control Design Toolkit does not include any ordinary differential equation ODE solvers You need ODE solvers to integrate continuous differential equations over time To deploy a continuous controller model to an RT target purchase the Simulation Module which includes several ODE solvers you can use to deploy a continuous controller model to an RT target You use the Simulation Loop to configure the ODE solver and time step settings to use Figure 17 8 shows a LabVIEW simulation diagram that uses the Simulation Loop to deploy a continuous controller model and Kalman filter to an RT target Output Node Simulation Loop
26. National Instruments Corporation 5 11 Control Design Toolkit User Manual Chapter 5 Working with Delay Information Distributing Delay Information The CD Distribute Delay VI calculates the total delay of a system model then uses a common delay factor to distribute the total delay between the inputs and outputs This operation minimizes the non zero elements of the transport delay matrix The CD Distribute Delay VI transfers delay information to the input delays before transferring delay information to the output delays Note Some Control Design VIs internally distribute the delay to preserve as much delay information as possible in the resulting model Refer to the LabVIEW Help available by selecting Help Search the LabVIEW Help to determine which VIs manipulate the transport delay matrix to preserve delay information For example consider the system model described in the Accessing Total Delay Information section of this chapter If you apply the CD Distribute Delay VI to this system model you get the following equation loo 44 4 4 0 _ 0 Of 0 4 4 j0 0 0 0 Because 4 is the common factor among the transport delay matrix the CD Distribute Delay transferred a delay of 4 to the input delays Figure 5 7 shows the output of the CD Distribute Delay VI Input Delays 4 00 4 00 Transport Delays Output Delays 0 00 0 00 T i A0 10 00 Figure 5 7 Resulting Delay Distribution The input and output delay vectors
27. Observability Staircase VI to inspect the A and C matrices of the transformed model to determine the observable states Analyzing Controllability and Observability Grammians An alternative and numerically more stable approach to assessing controllability and observability is to compute the Grammians of the state space matrices The controllability Grammian is an n x n matrix that determines how dependent the state responses are on the different inputs of the system Independent state responses indicate that there always is a set of inputs that can drive the states to zero at a certain time In this case the system is controllable Calculate the eigenvalues of the controllability Grammian to check the dependency of the state responses If the controllability Grammian is positive definite meaning all eigenvalues are real and greater than zero the chosen state space form is controllable Similarly the observability Grammian is an n x n matrix that determines how dependent the state effects are on the different outputs of the system Independent state effects indicate that there always is a set of outputs that you can use to estimate the states at time 0 In this case the system is observable Calculate the eigenvalues of the observability Grammian to check the dependency of the responses of the states If the observability Grammian is positive definite meaning all eigenvalues are real and greater than zero the chosen state space f
28. The Sensor Measurement subVI acquires another measurement 11 The CD Current Observer Corrector VI uses this measurement to correct the Predicted State Estimate xhat klk 1 Steps 5 through 11 repeat until you stop the VI In this example the D matrix of the State Space Model is zero which means the model does not have direct feedthrough from the inputs to the output In this situation you do not need to wire a value to the Input u k input of the CD Current Observer Corrector VI This input does not affect the value of the current state estimate when the D matrix equals zero However you still must wire a value to the Input u k of the CD Current Observer Predictor VI Refer to the CDEx Current Observer and Controller Implementation With Feedthrough VI inthe labview examples Control Design Getting Started Implementation 11b for an example of implementing a current observer when the model does have direct feedthrough Control Design Toolkit User Manual 17 10 ni com Chapter 17 Deploying a Controller to a Real Time Target Example State Space Controller with Kalman Filter for Stochastic System Code The example in Figure 17 7 shows a LabVIEW block diagram that implements a state space controller that depends on estimated state information Because the controller must take noise into account this example uses a Kalman filter instead of a predictive or current observer input Node Timed Looy Output Node ms
29. The Z Transform method also is a reverse calculation to map a model in the z plane to the s plane You calculate the impulse response of the continuous transfer function by dividing the inverse z transform of the discrete transfer function by the sampling time T Franklin Gene F J David Powell and Michael L Workman Digital Control of Dynamic Systems 3rd ed Menlo Park CA Addison Wesley Longman Inc 1998 National Instruments Corporation 3 13 Control Design Toolkit User Manual Chapter 3 Converting Models Resampling a Discrete Model Use the CD Convert Discrete to Discrete VI to resample a discrete model This VI converts the discrete model to a continuous model and then converts the continuous model back to a discrete model The first conversion uses the initial sampling time T The second conversion uses the final sampling time 7 The CD Convert Discrete to Discrete VI supports the following conversion methods Forward Rectangular Backward Rectangular Tustin s Prewarp Zero Order Hold and Z Transform This VI does not support the First Order Hold or Matched Pole Zero methods Control Design Toolkit User Manual 3 14 ni com Connecting Models You typically create a dynamic system model by connecting many models or subsystems together Connecting many models together makes developing a model of a complicated dynamic system less complicated because you can describe the dynamics of individual pieces You
30. VI also tries to connect all the outputs of Model 2 to the corresponding inputs of Model 1 The Feedback Sign input determines if these outputs are fed back negatively or positively By default the CD Feedback VI connects the models with negative feedback The resulting model shown in Figure 4 17 contains new reference inputs ro and r for each feedback connection lo h Up Vo Feedback Connections gt Yo Model 1 ri gt y OW Zo Output i Connections vy Zi l F gt Model 2 Sago g gt Figure 4 17 Two Models with No Connections Defined National Instruments Corporation 4 15 Control Design Toolkit User Manual Chapter 4 Connecting Models Feedback Connections Undefined Output Connections Defined If you do not define Feedback Connections but define Output Connections the CD Feedback VI connects the specified outputs for Model 1 to the specified inputs for Model 2 You define whether each connection is positive or negative Because you have not defined Feedback Connections the CD Feedback VI connects all outputs of Model 2 to the corresponding inputs in Model 1 based on the Feedback Sign Sy Note All outputs of Model 1 whether they are connected to Model 2 outputs or not remain as outputs in the resulting model Conversely Model 2 outputs do not remain in the resulting model when fed back
31. York John Wiley amp Sons Inc 2000 5 Ogata Katsuhiko Modern Control Engineering 4th ed Upper Saddle River NJ Prentice Hall 2001 National Instruments Corporation Xi Control Design Toolkit User Manual About This Manual 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 names functions operations variables filenames and extensions Related Documentation The following documents contain information that you might find helpful as you read this manual e LabVIEW Help available by selecting Help Search the LabVIEW Help e Getting Started with LabVIEW e LabVIEW User Manual e LabVIEW Simulation Module User Manual e LabVIEW System Identification Toolkit User Manual e Example VIs located in the Llabview Examples Control Design directory You also can use the NI Example Finder to find example VIs Control Design Toolkit User Manual xii ni com Introduction to Control Design Control design is a process that involves developing mathematical models that describe a physical system analyzing the models to learn about their dynamic characteristics and creating a controller to achieve certain dynamic characteristics Control systems contain components that direct command and regulate
32. a quadratic cost function Unlike the pole placement technique you cannot use the LQR technique to calculate a estimator gain matrix L The design process for LQR requires specifying matrices Q and R which specify weights on the states and inputs respectively You also can specify a matrix N that penalizes the cross product between the inputs and states Typically the selection of these gain matrices is an iterative process Use the CD Linear Quadratic Regulator VI to apply the LQR technique to a model with any number of inputs and outputs Use the Weighting Type parameter to choose the cost function you want to minimize You can choose from the following cost functions e State Weighting This cost function weights the model states e Output Weighting Dim Q Ny This cost function weights the model outputs y when Q is in terms of y If you choose this cost function the dimensions of Q must equal the number of model outputs e Output Weighting Dim Q Nx This cost function weights the model outputs when Q is in terms of the model states x If you choose this cost function the dimensions of Q must equal the number of model states Refer to the CD Linear Quadratic Regulator topic of the LabVIEW Help for the equations of each of these cost functions This VI returns the value of K that minimizes the cost functions you choose Because calculating K involves solving the continuous or discrete algebraic Riccati equation this VI
33. a structure of the estimator that analyzes a system model mismatch National Instruments Corporation 13 3 Control Design Toolkit User Manual Chapter 13 Defining State Estimator Structures Table 13 1 summarizes the different state estimator configurations and their corresponding states inputs and outputs Table 13 1 State Estimator Configurations Configuration Type States Inputs Outputs System Included x u Y x J System Included with Noise Fs P x r Y Standalone x H y J The following sections discuss each of these configuration types in detail System Included Configuration You can use the system included configuration to analyze and simulate the estimated states and the original states at the same time For example the following equation defines the output estimator error in a system included configuration y y C x x By substituting the output estimator error in the general system configuration and removing the sensor noise r you obtain the following equations that describe the system included configuration pef eJ Control Design Toolkit User Manual 13 4 ni com Chapter 13 Defining State Estimator Structures Figure 13 1 represents the dynamic system that these equations describe u System 4 x gt Estimator y x m gt Figure 13 1 System Included State Estimator gt The states inputs and outputs of the estimator are al u a
34. about using the LabVIEW Control Design Toolkit to incorporate the gain matrix K into the control system The controllers in the following sections assume that all inputs are known and all outputs are measurable Refer to the Measuring and Adjusting Inputs and Outputs section of Chapter 13 Defining State Estimator Structures for information about measuring inputs and outputs i Note Refer to the labview examples Control Design Getting Started State Space Synthesis 11b for example VIs that demonstrate the concepts explained in this chapter Configuring State Controllers Use the CD State Space Controller VI to define a controller structure This VI integrates K into a dynamic system for analyzing and simulating the controller performance Use the polymorphic VI selector to define one of the following three controller types e Compensator Places a reference on the state Defines the control action using u K r x where r is a state reference If you estimate any states u K r x defines the state compensator control action National Instruments Corporation 14 1 Control Design Toolkit User Manual Chapter 14 Defining State Space Controller Structures Regulator Places a reference on the input Defines the control action using u r Kx where r is an input reference If you estimate any states u r Kx defines the state regulator control action Regulator with Integral Action Uses the following equation to
35. all functions supported by the MATLAB application software Control Design Toolkit User Manual 1 6 ni com Constructing Dynamic System Models Model based control design relies upon the concept of a dynamic system model A dynamic system model is a mathematical representation of the dynamics between the inputs and outputs of a dynamic system You generally represent dynamic system models with differential equations or difference equations Obtaining a model of the dynamic system you want to control is the first step in model based control design You analyze this model to anticipate the outputs of the model when given a set of inputs Using this analysis you then can design a controller that affects the outputs of the dynamic system in a manner that you specify For example consider the temperature regulation example in the introduction of Chapter 1 Introduction to Control Design You can analyze the open loop dynamics of the plant to effectively design a controller for this closed loop dynamic system A model for this closed loop dynamic system describes the input to the plant as the air flow from the vent The output of the plant is the temperature of the room By analyzing the relationship between the inputs and output of the plant you can predict how the plant reacts when given certain inputs Based on this analysis you then can design a controller for this dynamic system This chapter provides information about using the LabVIEW
36. as many elements as the number of outputs Also this configuration calculates the control action u internally and then gives u as an output of the state regulator with integral action ni com Chapter 14 Defining State Space Controller Structures Figure 14 10 represents the dynamic system described by these equations u ry Yrer Y y Controller amp System gt C a z x AE gt Estimator Y x Figure 14 10 System Included State Regulator with Integral Action with Noise The states inputs and outputs of the state regulator with integral action are x zl Vref and y respectively x y y Standalone Configuration with Estimator In the standalone configuration with estimator the system model detaches from the controller The system outputs y become inputs to the estimator Unlike the system included and system included with noise configurations the standalone configuration with estimator does not account for output error You must wire a value to the Estimator Gain L input of the CD State Space Controller VI to include the estimator in the standalone state regulator with integral action National Instruments Corporation 14 17 Control Design Toolkit User Manual Chapter 14 Defining State Space Controller Structures The following equations describe the standalone configuration lt _ 4 B LD K LC D B K x OL vrer Zz L 0 T Z I0 y u K K
37. based control design involves two steps The first step is analyzing the plant model obtained during the system identification process The second step is designing a controller based on that analysis You can use the Control Design VIs and tools to complete these steps These VIs and tools use both classical and state space techniques 1 Dorf Richard C and Robert H Bishop Modern Control Systems 9th ed Upper Saddle River NJ Prentice Hall 2001 2 Franklin Gene F J David Powell and Abbas Emami Naeini Feedback Control of Dynamic Systems 4th ed Upper Saddle River NJ Prentice Hall 2002 3 Franklin Gene F J David Powell and Michael L Workman Digital Control of Dynamic Systems 3rd ed Menlo Park CA Addison Wesley Longman Inc 1998 4 Nise Norman S Control Systems Engineering 3rd ed New York John Wiley amp Sons Inc 2000 5 Ogata Katsuhiko Modern Control Engineering 4th ed Upper Saddle River NJ Prentice Hall 2001 National Instruments Corporation 1 3 Control Design Toolkit User Manual Chapter 1 Introduction to Control Design Figure 1 3 shows the typical steps involved in designing a controller Determine Specifications Create Analyze Synthesize gt Mathematical gt y gt y Model System Controller Figure 1 3 Control Design Process You often iterate these steps to achieve an acceptable design that is physically realizable and meets
38. define the control action x oe k x fow In this equation y is the output reference or setpoint The difference in these controllers is in how you calculate the control action u You can implement any of these controller types using one of four different configurations Use the Configuration parameter of the CD State Space Controller VI to define a controller structure using one of the following four configurations Control Design Toolkit User Manual System Included Appends the actual states of the system to the estimated states This configuration is useful for analyzing and simulating the original and estimated states at the same time System Included with Noise Incorporates noise r into the system included configuration Standalone with Estimator Defines an estimator structure with the controller target This configuration is useful for performing offline simulations and analyses of the controller You can use offline simulations and analyses to test the controller with mismatched models and systems Mismatched models and systems have a calculated estimator and controller gain that applies to the mismatched model or the model with uncertainties To select this configuration choose a standalone configuration and then wire an estimator with output L to the Estimator Gain L input of the CD State Space Controller VI Standalone without Estimator Bases the control action u on the actual states x instead of u
39. domain analysis you perform on the model does not account for delay present in the model If you want the analysis to account for delay present in the model you must incorporate the delay into the model itself Refer to Chapter 5 Working with Delay Information for more information about accounting for model delay You can use the Model Information VIs to get and set various properties of the model Refer to the LabVIEW Help available by selecting Help Search the LabVIEW Help for more information about using the Model Information VIs to view and change the properties of a system model National Instruments Corporation 2 19 Control Design Toolkit User Manual Converting Models Model conversion involves changing the representation of dynamic system models For example you can convert a zero pole gain model to a state space model You also can convert a model between continuous and discrete types You can convert models you created using the LabVIEW Simulation Module into models you can use in the LabVIEW Control Design Toolkit and vice versa Refer to the LabVIEW Help available by selecting Help Search the LabVIEW Help for more information about the VIs you can use to perform this conversion This chapter provides information about using the LabVIEW Control Design Toolkit to convert between model forms and to convert between continuous and discrete models 3 Note Refertothelabview examples Control Design Getting Starte
40. inputs and outputs of a system often do not respond immediately to excitation For example chemical plants transfer fluid and materials between the process equipment the actuators and the sensors This transportation process can cause long delays in the output response of the system To fully represent this system a model must incorporate this delay If a model of this system does not incorporate delay you cannot predict how well a controller based on that model performs A system model can have the following three types of delay e Input delay The time a past input takes to affect the current output e Output delay The time an output takes to respond to the current system input e Transport delay The time the dynamics of a system take to respond to a particular excitation The total delay of a system model is the sum of all delays between each input output pair The total delay includes all input output and transport delays in the system model Another type of delay residual delay results from certain operations Refer to the Residual Delay Information section of this chapter for more information about residual delay Constructing a model in the LabVIEW Control Design Toolkit sets delay information but does not make that information part of the mathematical model The Control Design Toolkit provides several VIs that you can use to transfer delay information from the model properties into the mathematical model After you incorpor
41. observable or controllable Use the CD Minimal State Realization VI to determine the minimal realization for a state space model Refer to Chapter 9 Analyzing State Space Characteristics for information about controllability and observability Reducing the Order of Models In certain situations you might want to work with a lower order model of the system The goal of model order reduction is to remove stable states that have the smallest impact on the input output model representation You might want to reduce a model order when the real part of stable system poles differ significantly From an input output standpoint you usually ignore fast dynamic modes which are modes that correspond to stable eigenvalues far from the imaginary axis because you only see the effects of these modes over a short initial period of time Use the CD Model Order Reduction VI to reduce high order models 3 Note Model order reduction applies only to a state space model of a system You can reduce the order of the model by decreasing the order of the stable modes Reducing stable modes of the model does not affect the unstable modes of the model Control Design Toolkit User Manual 10 2 ni com Chapter 10 Model Order Reduction You have several options for reducing the order of a model You can match the DC gain between the reduced order model and the original model You also can delete the states directly Balancing the original state space model can
42. one or two models in the closed loop configuration The following sections also describe the behavior of this VI when you leave connections undefined Single Model in a Closed Loop Configuration When you only have one model in a closed loop configuration the CD Feedback VI connects the outputs to the inputs of the same model You define these connections using the Feedback Connections and the Feedback Sign parameters The following sections provide information about the configuration of the model when you define and do not define connections Feedback Connections Undefined If you do not define Feedback Connections all outputs from Model 1 are fed back to the inputs of Model 1 Additionally the Feedback Sign input determines if these outputs are fed back negatively or positively The resulting model shown in Figure 4 15 contains new reference inputs ro and r for each feedback connection you specify Feedback Connections gt Yo lo p y Up Figure 4 15 One Model with No Connections Defined National Instruments Corporation 4 13 Control Design Toolkit User Manual Chapter 4 Connecting Models Feedback Connections Defined If you define Feedback Connections each specified output in Model 1 is fed back to each specified input of Model 1 You also define whether the connection is positive or negative In this situation the CD Feedback VI ignores the F
43. only can connect continuous models to other continuous models To connect discrete models together each model must have the same sampling time Connected models might however be of any form For example you can connect a transfer function model to a state space model or a state space model to a zero pole gain model Furthermore you can make connections between single input single output SISO single input multiple output SIMO multiple input single output MISO and multiple input multiple output MIMO systems This chapter provides information about using the LabVIEW Control Design Toolkit to connect models in the following four ways in series by appending in parallel and with feedback 3 Note Refertothelabview examples Control Design Getting Started Model Connection 11b for example VIs that demonstrate the concepts explained in this chapter Connecting Models in Series A series connection joins the outputs of the first model to the inputs of a second model Use the CD Series VI to connect two models in series Sy Note When connecting models of different forms the Series Model output terminal returns a model based on the following hierarchy state space gt transfer function gt zero pole gain For example if you connect a zero pole gain model to a state space model Series Model returns a state space model The following sections provide information about the kinds of connections you can make with the CD Series VI
44. process using a sampling time of 10 us Figure 2 5 Using the CD Convert Continuous to Discrete VI to Create a Discrete Transfer Function Model Control Design Toolkit User Manual 2 8 ni com Chapter 2 Constructing Dynamic System Models Converting from a continuous model to a discrete model results in the following equation _ 9 9865 x 10 z 9 9732 x 10 H z z 1 9958z 0 996 Refer to the Converting Continuous Models to Discrete Models section of Chapter 3 Converting Models for more information about converting continuous models to discrete models SIMO MISO and MIMO Transfer Function Models You can use the CD Construct Transfer Function Model VI to create SIMO MISO and MIMO dynamic system models This section uses a MIMO dynamic system model as an example Consider the two input two output system shown in Figure 2 6 MIMO System Y Figure 2 6 MIMO System with Two Inputs and Two Outputs You can define the transfer function of this MIMO system by using the following transfer function matrix H where each element represents a SISO transfer function H Ay Ay Ay Hy National Instruments Corporation 2 9 Control Design Toolkit User Manual Chapter 2 Constructing Dynamic System Models Suppose the following equations define the SISO transfer functions between each input output pair 1 2 H
45. s 8s 21s 108 s 4 s 3 s 9 s 3 s 9 This model has a pole and zero in the same location 4 Wire this model into the CD Minimal Realization VI to cancel this pole zero pair This VI returns the minimal realization of the model in the Reduced Model output This VI also returns the number of pole zero locations removed For state space models this VI returns the number of states removed National Instruments Corporation 10 1 Control Design Toolkit User Manual Chapter 10 Model Order Reduction Minimal realizations are minimal because the only modes represented in the model are those modes that you can infer by observing the inputs and outputs of the system The modes that you eliminate to obtain a minimal transfer function or zero pole gain model still exist in the system but you cannot infer their existence by simply observing the input and outputs of the model For this reason you do not want to cancel unstable pole zero pairs For example consider the following transfer function model G s 2 G s 28 8 28 4 2 Minimal Realization s 169 758 108 4 3 6 9 s 3 s 9 G s has the same minimal realization as H s but G s contains an unstable pole zero pair at 4 If you cancel this pole zero pair you no longer can observe any effects the pair has on the stability of the system A minimal realization for a state space model is a state space representation in which you remove all states that are not
46. same initial conditions to test the effectiveness of the controller and estimator Figure 14 19 shows the effect of a using a model that does not match the actual system State Trajectory Graph x1Model x2Model x1System x2System o 1 v 3 2 a H lt 1 Time s Figure 14 19 State Trajectory of Standalone State Compensator with Estimator Notice how Figure 14 15 and Figure 14 19 respond differently even though both figures represent responses to the same system with the same initial conditions The example in Figure 14 15 takes 1 to 1 5 seconds to track the actual states The example in Figure 14 19 however takes approximately four seconds to track the actual states The system model mismatch in the latter example accounts for this difference Control Design Toolkit User Manual 14 26 ni com Chapter 14 Defining State Space Controller Structures This example is similar to real world applications where you do not know what the actual system is Therefore these tests are important in determining how sensitive the controller is to the system model mismatches You perform these tests before deploying the controller to a real time RT target Using a design method called robust control design you can create model based controllers that take into account possible modeling errors Refer to Essentials of Robust Control for information about robust control design Example Standalone State Compensator without Estimator
47. system Control Design Toolkit User Manual 1 2 ni com Chapter 1 Introduction to Control Design Developing a Plant Model The first phase of model based control design involves developing and analyzing a mathematical model of the plant you want to control You can use a process called system identification to obtain and analyze this model The system identification process involves acquiring data from a plant and then numerically analyzing stimulus and response data to estimate the parameters and order of the model The system identification process requires a combination of the following components e Signal generation and data acquisition National Instruments provides software and hardware that you can use to stimulate and measure the response of the plant e Mathematical tools to model a dynamic system The LabVIEW System Identification Toolkit contains VIs to help you estimate and create accurate mathematical models of dynamic systems You can use this toolkit to create discrete linear models of systems based on measured stimulus and response data 3 Note This manual does not provide a comprehensive discussion of system identification Refer to the following books for more information about developing a plant model Modern Control Systems Feedback Control of Dynamic Systems Digital Control of Dynamic Systems Control Systems Engineering and Modern Control Engineering Designing a Controller The second phase of model
48. system when you create a model of that system or you cannot create a model that encompasses all the uncertainties of the system Thus the actual system and the model of the system do not match When you build a state estimator based on a model that does not match the actual system the result is a system model mismatch In this situation you need to use the standalone configuration This configuration detaches the system from the model so you can determine the effect of the system model mismatch Consider the following state space model ate y i olx ola This model is similar to the model in the Example System Configurations section of this chapter For this example however assume that the actual system contains uncertainties that cause this state space model to be an inaccurate representation of the system The difference is in the first entry of the system matrix A 0 1 Figure 13 8 shows how the CD State Estimator VI uses the mismatched model State Space Model to create the standalone estimator This configuration connects the actual system System and the mismatched model State Space Model in series so the actual system can provide the output y to the standalone state estimator Control Design Toolkit User Manual 13 12 ni com Chapter 13 Defining State Estimator Structures Configuration Standalone v Initial Conditions Ho_llf2Ji JoJo ia Observer Gain Current vY F
49. t x t e Xo fe e Bu t dt 0 Xo represents any initial conditions of the states in the model e4 x9 represents the solution of the model at the initial conditions This solution is known as the free response National Instruments Corporation 6 1 Control Design Toolkit User Manual Chapter 6 Time Response Analysis t f oO Bu t dt represents the state response for stable systems over 0 time as the inputs w t drive the dynamic system from time t t to t This solution is the forced response The following equation represents the time domain solution for a discrete state space model k 1 x k A x 0 5AT Bul j 0 In this equation A x 0 denotes the discrete free response k 1 ya 7 Bu j denotes the discrete forced response j 0 iy Note The VIs discussed in this chapter automatically convert transfer function and zero pole gain models to state space form before calculating the time domain solution Spring Mass Damper Example To illustrate the different time responses you can obtain from a model consider the following example of a spring mass damper shown in Figure 6 1 Control Design Toolkit User Manual 6 2 ni com Chapter 6 Time Response Analysis Figure 6 1 Spring Mass Damper System In this example k is the spring constant u is a force m is the mass and b is the damper coefficient x is the displacement which is the distance from the normal state of the spr
50. the current state estimate in the Corrected State Estimate xhat klk output The A x B VI multiplies K by the Corrected State Estimate xhat kIk to obtain the control action u k This VI wires u k to the Controller Output subVI The Controller Output subVI sends u k to the hardware actuators The CD Current Observer Corrector VI also wires the Corrected State Estimate xhat klk output to the Corrected State Estimate xhat klk input of the CD Current Observer Predictor VI Similarly the A x B VI wires u k to the Input u k input of the CD Current Observer Predictor VI 17 9 Control Design Toolkit User Manual Chapter 17 Deploying a Controller to a Real Time Target 8 The CD Current Observer Predictor VI uses the Corrected State Estimate xhat klk and the Input u k to predict the state information for the next time step k 1 This VI returns the predicted state information in the Predicted State Estimate xhat k 1Ik output 9 At the next iteration of the Timed Loop the value of k increases by 1 and the Predicted State Estimate xhat k 1Ik becomes the Predicted State Estimate xhat klk 1 Therefore this example wires the Predicted State Estimate xhat k 1 k output of the CD Current Observer Predictor VI to the Predicted State Estimate xhat klk 1 input of the CD Current Observer Corrector VI A feedback node transfers the value of the Predicted State Estimate xhat k 1k parameter to the next iteration of the Timed Loop 10
51. the physical system also known as the plant In this manual the control system refers to the sensors the controller and the actuators The reference input refers to a condition of the system that you specify The dynamic system shown in Figure 1 1 refers to the combination of the control system and the plant Control System Physical System Plant Ref r x Controller Actuators gt Sensors A Figure 1 1 Dynamic System The dynamic system in Figure 1 1 represents a closed loop system also known as a feedback system In closed loop systems the control system monitors the outputs of the plant and adjusts the inputs to the plant to make the actual response closer to the input that you designate One example of a closed loop system is a system that regulates room temperature In this example the reference input is the temperature at which you want the room to stay The thermometer senses the actual temperature of the room Based on the reference input the thermostat activates the heater or the air conditioner In this example the room is the plant the thermometer is the sensor the thermostat is the controller and the heater or air conditioner is the actuator National Instruments Corporation 1 1 Control Design Toolkit User Manual Chapter 1 Introduction to Control Design Other common examples of control systems include the following applications
52. to Model 1 inputs The resulting model shown in Figure 4 18 contains new reference inputs rg and r for each feedback connection lo Ug Yo Vo Feedback Connections Ar U Q a gt yo R A gt O A Model 1 7 y 1 Z oo Output OL JA i Connections _ gt Mecel e ee Figure 4 18 Two Models with Output Connections Defined Control Design Toolkit User Manual 4 16 ni com Chapter 4 Connecting Models Feedback Connections Defined Output Connections Undefined If you define Feedback Connections but not Output Connections the CD Feedback VI feeds the outputs specified for Model 2 back to the specified inputs for Model 1 You define whether the feedback connection is positive or negative Because you have not defined Output Connections the CD Feedback VI tries to connect all outputs of Model 1 positively to the inputs in Model 2 The resulting model shown in Figure 4 19 contains a new reference input ro for each feedback connection you have defined Up io Ug V2 gt l p gt Yo Uy gt _ gt i Feedback A Model 1 Bi Connections Vo Tf gt 2 Output i v4 Zi Connections ___ p gt Model 2 x gt National Instruments Corporation 4 17 Figure 4 19 Two Models with Feedback Connections Defi
53. use first order differential equations to describe the system Discrete state space models use difference equations to describe the system You analyze state space models in the time domain 3 Note State space models can be either deterministic or stochastic Deterministic models do not account for noise whereas stochastic models do This chapter provides information about deterministic state space models Refer to Chapter 16 Using Stochastic System Models for information about stochastic state space models The following equations define a continuous and a discrete state space model Continuous State Space Model x Ax Bu y Cx Du Discrete State Space Model x k 1 Ax k Bu k y k Cx k Du k Table 2 2 describes the dimensions of the vectors and matrices of a state space model Table 2 2 Dimensions and Names of State Space Model Variables Variable Dimension Name k Discrete time n Number of states m Number of inputs r Number of outputs Control Design Toolkit User Manual 2 14 ni com Chapter 2 Constructing Dynamic System Models Table 2 2 Dimensions and Names of State Space Model Variables Continued Variable Dimension Name A n x n matrix State matrix B n x m matrix Input matrix C r x n matrix Output matrix D r x m matrix Direct transmission matrix x n vector State vector u m vector Input vector y r vector Output vector
54. wire a value to the Estimator Gain L input of the CD State Space Controller VI to include the estimator in the standalone state compensator The following equations describe the standalone configuration A BK L C DK x BK LDK L K J 7 K oa K Or y C DK DK O y This configuration does not include the original system This configuration considers the system output y as another input to the estimator Figure 14 3 represents the dynamic system that these equations describe ry gt gt Controller a lt gt F Estimator p vy Figure 14 3 Standalone State Compensator with Estimator The states inputs and outputs of state compensator are x K and k 5 respectively Y Y Control Design Toolkit User Manual 14 6 ni com Chapter 14 Defining State Space Controller Structures Standalone Configuration without Estimator In the standalone configuration without estimator you calculate the control action u using the states As such you do not need an estimator In the CD State Space Controller VI do not wire a value to the Estimator Gain L input to exclude the estimator in the standalone state compensator The following equations describe the standalone configuration x A BK x BKr Hl ocak al The states and outputs of the standalone compensator without estimator correspond to the states and outputs of the actual system Figure 14 4 rep
55. y ref y y C DK DK z 0 Use the following substitution to make the inputs independent a fd AP This process results in the following equations that describe the standalone configuration without estimator x _ A BK BK j x 410 0 Hey Z 0 r IZ I y uy _ K K x 0 0 Ve y C DK DK z 0 0 y Using this configuration the states and outputs of the standalone state regulator with integral action correspond to the states and outputs of the actual system National Instruments Corporation 14 19 Control Design Toolkit User Manual Chapter 14 Defining State Space Controller Structures Figure 14 12 represents the system that these equations describe y ref y gt m Controller System x Zz Figure 14 12 Standalone State Regulator with Integral Action without Estimator The states inputs and outputs of the state regulator with integral action are at and h respectively Z LY y Example System Configurations The following equations define an example second order SISO state space model with poles at 0 2 and 0 1 s e ael y 1 o x o u You can implement a full state controller for this system because this system is controllable To implement a state controller for this system you must calculate the controller gain matrix K for the model of the system Use the CD Ackermann VI to calculate K by placing the poles of the matrix
56. your local office or NI corporate headquarters Phone numbers for our worldwide offices are listed at the front of this manual You also can visit the Worldwide Offices section of ni com niglobal to access the branch office Web sites which provide up to date contact information support phone numbers email addresses and current events National Instruments Corporation A 1 Control Design Toolkit User Manual
57. 11 4 ni com Chapter 11 Designing Classical Controllers The Control Design Toolkit supports the PID controller in the following three forms PID Academic PID Parallel and PID Serial Table 11 1 shows the equations for each of these forms Table 11 1 PID Controller Forms in the Control Design Toolkit PID Controller Form Equation PID Academic Ts U s Khi 1 2 E s Ts aTjs 1 PID Parallel K K U s Kop dS E s s aKkystl Khi HEED PID Series Each PID form produces the same result but incorporates information in a different manner For example you can adjust each term independently using the PID Parallel form The PID form you use depends on the design decisions you make such as how you need to manipulate the output of the controller Use the polymorphic VI selector of the CD Construct PID Model VI to implement a PID controller using one of these three PID forms i Note In some applications you specify the gain in the PID Academic transfer function in terms of a proportional band PB PB x 100 i C A proportional band defined by the previous equation is the percentage of the input range of the controller that causes a change equal to the maximum range of the output You can use the root locus and Bode design methods to determine appropriate gain values for the PID controller Refer to PID Controllers Theory Design and Tuning for more information about these techniqu
58. 7 ul K K O loo 0 C DK DK 0 z 0 0 Pa ae 0 y DK pK c x loot ir National Instruments Corporation 14 13 Control Design Toolkit User Manual Chapter 14 Defining State Space Controller Structures Table 14 3 summarizes the different state regulator with integral action configurations and their corresponding states inputs and outputs Table 14 3 State Regulator with Integral Action Configuration Types Configuration Type States Inputs Outputs rq u System Included x Yref y x B Ly x u System Included with Noise z Pref y r x ea y Standalone with Estimator x Vref LY J RA Standalone without Estimator x Vref u LY The following sections show how to derive each configuration System Included Configuration In the system included configuration the following equations define the output error and system output y y C x x y D K x K z Cx By substituting the output error and system output in the general system configuration and removing the sensor noise r from the system you obtain the following equations that describe the system included configuration Control Design Toolkit User Manual 14 14 ni com Chapter 14 Defining State Space Controller Structures i 4 BK LC BK LEIJ To DK T DK C 2 I Yre x BK BK A x 0 ul K K 0 x 0 y C DK DK 0 z 0 Vref y DK
59. A BK at 1 1 This location is to the left of the original pole location in the complex plane You can use this controller gain matrix K along with the CD State Space Controller VI to study the performance of the compensator Ss Note Use the CD Controllability Matrix VI to verify that this system is observable Use the CD Pole Zero Map VI to determine the initial location of the system poles Control Design Toolkit User Manual 14 20 ni com Chapter 14 Defining State Space Controller Structures Figure 14 13 shows the response of the example system to initial conditions of 2 1 This system is unstable because the response increases exponentially and does not settle at a steady state value State Trajectory Graph 4 5 x1Model x2Model Far w w in e a Amplitude N in 1 Time s Figure 14 13 Unstable Open Loop System Even though this system is unstable the system is still controllable Because the system is controllable you can use a state compensator to place the closed loop poles in the left hand side of the complex plane to make the response stable You can calculate the controller gain matrix K by using the CD Ackermann VI to place the poles of the matrix A BK at 1 1 You can use K to study the performance of the compensator by selecting the Compensator instance of the CD State Space Controller VI The following sections use this example system model to illustrate the differe
60. ATION WHERE A SYSTEM FAILURE WOULD CREATE A RISK OF HARM TO PROPERTY OR PERSONS INCLUDING THE RISK OF BODILY INJURY AND DEATH SHOULD NOT BE RELIANT SOLELY UPON ONE FORM OF ELECTRONIC SYSTEM DUE TO THE RISK OF SYSTEM FAILURE TO AVOID DAMAGE INJURY OR DEATH THE USER OR APPLICATION DESIGNER MUST TAKE REASONABLY PRUDENT STEPS TO PROTECT AGAINST SYSTEM FAILURES INCLUDING BUT NOT LIMITED TO BACK UP OR SHUT DOWN MECHANISMS BECAUSE EACH END USER SYSTEM IS CUSTOMIZED AND DIFFERS FROM NATIONAL INSTRUMENTS TESTING PLATFORMS AND BECAUSE A USER OR APPLICATION DESIGNER MAY USE NATIONAL INSTRUMENTS PRODUCTS IN COMBINATION WITH OTHER PRODUCTS IN A MANNER NOT EVALUATED OR CONTEMPLATED BY NATIONAL INSTRUMENTS THE USER OR APPLICATION DESIGNER IS ULTIMATELY RESPONSIBLE FOR VERIFYING AND VALIDATING THE SUITABILITY OF NATIONAL INSTRUMENTS PRODUCTS WHENEVER NATIONAL INSTRUMENTS PRODUCTS ARE INCORPORATED IN A SYSTEM OR APPLICATION INCLUDING WITHOUT LIMITATION THE APPROPRIATE DESIGN PROCESS AND SAFETY LEVEL OF SUCH SYSTEM OR APPLICATION Contents About This Manual GOTVEMEIONS 35555 bis sas hese cee cages esti cub os EE cues ben bce doses sed bees veel nee bap ened E E A xi Related Documentation sessin a E a iA xii Chapter 1 Introduction to Control Design Model Based Control Designo eee cseeseceecesesseeesetseessecseesaeeseseeecaecneeeaeeneeeseenaes 1 2 Developing a Plant Models sccccssssiscadecsssescassscesaivesesceshsegsevtededensaasapseedeasvas
61. Control Design Toolkit to create dynamic system models This chapter also describes the different forms that you can use to represent a dynamic system model 3 Note Refertothelabview examples Control Design Getting Started Model Construction 11b for example VIs that demonstrate the concepts explained in this chapter National Instruments Corporation 2 1 Control Design Toolkit User Manual Chapter 2 Constructing Dynamic System Models Constructing Accurate Models To create a model of a system think of the system as a black box that continuously accepts inputs and continuously generates outputs Figure 2 1 shows the basic black box model of a dynamic system Input gt H s gt Output Figure 2 1 Black Box Model of a Dynamic System You refer to this model as a black box model because you often do not know the relationship between the inputs and outputs of a dynamic system The model you create therefore has errors that you must account for when designing a controller An accurate model perfectly describes the dynamic system that it represents Real world dynamic systems however are subject to a variety of non deterministic fluctuating conditions and interacting components that prevent you from making a perfect model You must consider many external factors such as random interactions and parameter variations You also must consider internal interacting structures and their fundamental descript
62. Corporation 7 3 Control Design Toolkit User Manual Chapter 7 Frequency Response Analysis Figure 7 1 shows Bode plots with corresponding gain and phase margins yO u0 OdB Gain Margin PM Crossover Magnitude dB 1 1 1 1 I 1 1 im 10m 100m 1 10 100 1k 10k Frequency yO ud 180 k deg Phase Margin GM Crossover Phase deg m 1 200 250 300 1 1 1 1 1 1 1 im 10m 100m 1 10 100 ik 10k Frequency Figure 7 1 Gain and Phase Margins Depending on the complexity of the system a Bode plot might return multiple gain and or phase margins Nichols Frequency Analysis Use Nichols frequency analysis to obtain the closed loop frequency response of a system from the open loop response Open loop response curves or loci of constant magnitude and phase often provide reference points that help you analyze a Nichols plot Each point on the open loop response curve corresponds to the response of the system at a given frequency You then can read the closed loop magnitude response at that frequency from the Nichols plot by identifying the value of the magnitude locus at which the point on the curve intersects Similarly you can determine the closed loop phase by identifying the phase locus at which the open loop curve crosses Control Design Toolkit User Manual 7 4 ni com Chapter 7 Frequency Response Analysis Use the CD Nichols VI to create a Nichols plot and examine system performanc
63. Dynamic System Models Table 2 1 shows the equations for the different forms of dynamic system models Table 2 1 Definitions of Continuous and Discrete Systems Model Form Continuous Discrete Transfer m l m m l m Function H s byt bys b _ 18 Pn Hej byt b z b _ 12 Sie Aj Q S 4 4 _ 18 a 8 Gy O 24 40 42 a i i Zero Pole Gain H s 2 k s z1 s 2Zy 8 Zm H z k z 2Z Z 2 Z Z s p S Po 8 Py u z p 2 Pa Z Py n State Space x Ax Bu y Cx Du x k 1 Ax k Bu k y k Cx k Du k 3 Note Continuous transfer function and zero pole gain models use the s variable to define time whereas discrete models in these forms use the z variable Continuous state space models use the variable to define time whereas discrete state space models use the k variable You can use these forms to describe single input single output SISO single input multiple output SIMO multiple input single output MISO and multiple input multiple output MIMO systems The number of sensors and actuators determines whether a dynamic system is a SISO SIMO MISO or MIMO system The following sections provide information about an example dynamic system and how to represent this dynamic system using all three model forms National Instruments Corporation 2 5 Control Design Toolkit User Manual Chapter 2 Cons
64. Example section of Chapter 2 Constructing Dynamic System Models by removing the capacitor adding process noise n t and adding measurement noise e t Figure 16 1 shows this noisy RL circuit L i t N gt ee o POETE ee AENEA R vi t Figure 16 1 Noisy RL Circuit In this example L is the inductor i t is the current v t is the input voltage v t is the output voltage and R is the resistor n f is process noise that affects the resistor R and e t is measurement noise that affects the sensor that measures v t The result of this noise is a corrupted measurement Von t The process noise n t is modeled as a white Gaussian stochastic process with spectral density S 2kTR where k is the Boltzmann constant T is the absolute temperature of the resistor and R is the nominal resistance of the noiseless resistor The measurement noise e t is modeled as a white Gaussian stochastic process with spectral density S s where s is the standard deviation of the measurement noise In this example e t is uncorrelated with n The following sections construct a stochastic state space model and noise model for this example simulate the model output and implement a Kalman filter to estimate the model states 1 Tn this example the Boltzmann constant equals 1 38 x 10 23 Joules per Kelvin National Instruments Corporation 16 7 Control Design Toolkit User Manual Chapte
65. Kronecker delta function a discrete impulse input is a physical pulse that has unit amplitude at the first sample period and zero amplitude for all other times Use the CD Impulse Response VI to calculate the impulse response of a dynamic system to a standard impulse input Because the impulse signal excites all frequencies and the duration of this signal is infinitely small the impulse response is the natural response of the system National Instruments Corporation 6 7 Control Design Toolkit User Manual Chapter 6 Time Response Analysis For example consider the system described in the Spring Mass Damper Example section of this chapter Figure 6 6 shows how you determine the impulse response of this system EZZZLZN PZIIIIIIIIIZIIIIIIIIT Figure 6 6 Impulse Response Block Diagram of the Spring Mass Damper System Figure 6 7 shows the Impulse Response Graph resulting from this block diagram 0 02 z 0 01 Z ie 2 o o 5 a 0 01 0 02 1 1 1 1 I 1 1 0 2 50 75 100 125 150 175 Time s Figure 6 7 Impulse Response Graph of the Spring Mass Damper System Analyzing an Initial Response The initial response of a dynamic system measures how the system responds to a set of non zero initial conditions Use the CD Initial Response VI to determine the initial response of a dynamic system Control Design Toolkit User Manual 6 8 ni com Chapter 6 Time Response Analysis B Note T
66. LabVIEW Control Design Toolkit User Manual February 2006 4 NATIONAL 371057D 01 N INSTRUMENTS Worldwide Technical Support and Product Information ni com National Instruments Corporate Headquarters 11500 North Mopac Expressway Austin Texas 78759 3504 USA Tel 512 683 0100 Worldwide Offices Australia 1800 300 800 Austria 43 0 662 45 79 90 0 Belgium 32 0 2 757 00 20 Brazil 55 11 3262 3599 Canada 800 433 3488 China 86 21 6555 7838 Czech Republic 420 224 235 774 Denmark 45 45 76 26 00 Finland 385 0 9 725 725 11 France 33 0 1 48 14 24 24 Germany 49 0 89 741 31 30 India 91 80 41190000 Israel 972 0 3 6393737 Italy 39 02 413091 Japan 81 3 5472 2970 Korea 82 02 3451 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 095 783 68 51 Singapore 1800 226 5886 Slovenia 386 3 425 4200 South Africa 27 0 11 805 8197 Spain 34 91 640 0085 Sweden 46 0 8 587 895 00 Switzerland 41 56 200 51 51 Taiwan 886 02 2377 2222 Thailand 662 278 6777 United Kingdom 44 0 1635 523545 For further support information refer to the Technical Support and Professional Services appendix To comment on National Instruments documentation refer to the National Instruments Web site at ni com info and enter the info code feedback 2004 2006 National Instruments Corporation All rights reser
67. Loog Output Node ms a om an 32 100 Sensor Measurement vi I zo L K xhat KIhQ Btate Space Model eset initial State Estimate xhat O 1 Observer Poles coe initialize i Controller Output vi ED Current Observer Predictor vi i CD Current Observer Corrector vi LK e ot i lt Tele cl 183 ile On Era ax vector v ICD Pole Placement vi Gain Type a observer Gain current WNE CD Pole Placement vi fehat k k 1 wat k 1 k bey gt a Era Gain Type Cred Controller Gain v TEY Figure 17 6 Implementing a Current Observer on an RT Target The example in Figure 17 6 executes the following steps 1 National Instruments Corporation The CD Pole Placement VIs calculate the observer gain Le and controller gain K based on the Observer Poles and Controller Poles you specify The Negate function changes K to K to indicate negative feedback The Sensor Measurement subVI acquires a measurement y k from the hardware sensor This subVI wires this measurement to the Output y k input of the CD Current Observer Corrector VI The CD Current Observer Corrector VI uses the Output y k to correct the Initial State Estimate xhat 0I 1 This VI returns
68. This equation defines a model with one pair of complex conjugate poles at 200 14007 Figure 2 9 shows how you use the CD Construct Zero Pole Gain Model VI to create this continuous zero pole gain model CD Construct Zero Pole Gain Model vi ero Pole Gain Model E 200 0 1400 i 200 0 1400 i Figure 2 9 Creating a Continuous Zero Pole Gain Model The CD Construct Zero Pole Gain Model VI creates a continuous model You create a discrete zero pole gain model in the same way you create a discrete transfer function model Refer to the SISO Transfer Function Models section of this chapter for more information about creating a discrete zero pole gain model SIMO MISO and MIMO Zero Pole Gain Models You create SIMO MISO and MIMO zero pole gain models the same way you create SIMO MISO and MIMO transfer function models Refer to the SIMO MISO and MIMO Transfer Function Models section of this chapter for information about creating these forms of system models National Instruments Corporation 2 13 Control Design Toolkit User Manual Chapter 2 Constructing Dynamic System Models Symbolic Zero Pole Gain Models You create symbolic zero pole gain models the same way you create symbolic transfer function models Refer to the Symbolic Transfer Function Models section of this chapter for information about creating a symbolic system model Constructing State Space Models Continuous state space models
69. This model is similar to the model in the Example System Configurations section of this chapter For this example however assume that the actual system contains uncertainties that cause this state space model to be an inaccurate representation of the system The difference is in the last entry of the system matrix A 0 2 Figure 14 18 shows how this configuration uses the mismatched model State Space Model to create the standalone state compensator with estimator Note that the CD State Space Controller VI uses the Compensator instance This configuration connects the actual system System and the mismatched model State Space Model in series System uses this connection to provide the output y to the state compensator National Instruments Corporation 14 25 Control Design Toolkit User Manual Chapter 14 Defining State Space Controller Structures Observer Gain Current 7 ICD Ackermann vi So ne Estimator Poles ICD Series vi S e ESS oe ee s SSandss v lodel 1 Output Connections balers 5S and 55 Initial Conditions Ho left Jol Controller Poles fo j p gt Controller Gain Y Figure 14 18 Standalone State Compensator with Estimator This example sends the input u which the compensator calculates to the actual system using the CD Feedback VI The CD Initial Response VI uses the
70. User Manual Model Order Reduction 3 In most cases different models of a dynamic system can represent the same input output behavior of that system For example you can have two state space models with different numbers of states that represent the same input output behavior at varying degrees of accuracy Often you can simplify or reduce these models to obtain a less complicated representation of the system How you reduce a model depends on the representation of the model If the model is a state space model reducing the number of states reduces the order of the model If the model is a transfer function or zero pole gain model canceling matching poles and zeros reduces the order of the model Use the Model Reduction VIs to reduce the order of a model This chapter provides information about the minimal realization and model order reduction techniques you can use to simplify a model Note Refertothelabview examples Control Design Getting Started Model Reduction 11b for example VIs that demonstrate the concepts explained in this chapter Obtaining the Minimal Realization of Models The minimal realization of a system model involves cancelling all pairs of poles and zeros at the same location You refer to these pairs as pole zero pairs Use the CD Minimal Realization VI to calculate the minimal realization of a model For example consider the following transfer function model H s 2 aeb DES ge aU vinina Realization
71. accordance with the accompanying license agreement All rights not expressly granted to you in the license agreement accompanying the product are reserved to NI Further and without limiting the forgoing no license or any right of any kind whether by express license implied license the doctrine of exhaustion or otherwise is granted under any NI patents WARNING REGARDING USE OF NATIONAL INSTRUMENTS PRODUCTS 1 NATIONAL INSTRUMENTS PRODUCTS ARE NOT DESIGNED WITH COMPONENTS AND TESTING FOR A LEVEL OF RELIABILITY SUITABLE FOR USE IN OR IN CONNECTION WITH SURGICAL IMPLANTS OR AS CRITICAL COMPONENTS IN ANY LIFE SUPPORT SYSTEMS WHOSE FAILURE TO PERFORM CAN REASONABLY BE EXPECTED TO CAUSE SIGNIFICANT INJURY TO A HUMAN 2 IN ANY APPLICATION INCLUDING THE ABOVE RELIABILITY OF OPERATION OF THE SOFTWARE PRODUCTS CAN BE IMPAIRED BY ADVERSE FACTORS INCLUDING BUT NOT LIMITED TO FLUCTUATIONS IN ELECTRICAL POWER SUPPLY COMPUTER HARDWARE MALFUNCTIONS COMPUTER OPERATING SYSTEM SOFTWARE FITNESS FITNESS OF COMPILERS AND DEVELOPMENT SOFTWARE USED TO DEVELOP AN APPLICATION INSTALLATION ERRORS SOFTWARE AND HARDWARE COMPATIBILITY PROBLEMS MALFUNCTIONS OR FAILURES OF ELECTRONIC MONITORING OR CONTROL DEVICES TRANSIENT FAILURES OF ELECTRONIC SYSTEMS HARDWARE AND OR SOFTWARE UNANTICIPATED USES OR MISUSES OR ERRORS ON THE PART OF THE USER OR APPLICATIONS DESIGNER ADVERSE FACTORS SUCH AS THESE ARE HEREAFTER COLLECTIVELY TERMED SYSTEM FAILURES ANY APPLIC
72. aiia 12 6 Discrete Model sii is ae a aa ea oa E Mined ARE R E S 12 6 Updated State Estimate sessseeseseseeeseseesreersresrrsrsreerseesees 12 6 Predicted State Estimates sinnini naana 12 7 Discretized Kalman Galf suresini a 12 8 Defining Kalman Filters iscissi sisisi speissi esaii 12 8 Linear Quadratic Gaussian Controller sensseeseeeeseeeeseesseeesseeesereeseessssessere 12 9 Chapter 13 Defining State Estimator Structures Measuring and Adjusting Inputs and Outputs ssesssssssseesseessstsresresrsresrsresresrsresrsrrsresese 13 1 Adding a State Estimator to a General System Configuration eee eee eeeeeees 13 2 Configuring State Estimators siisii eseesesseceseeseeesecseeeseeseeesecsecnsesseseaeesesseeeaeeseees 13 3 System Included Configuration 2 0 0 0 cece eeseeseceeeeseceeecseceseeeeeaeeeesseeaeees 13 4 Control Design Toolkit User Manual viji ni com Contents System Included Configuration with Noise 0 0 0 eee ee sseeeeeeeeeereeeeeeneens 13 5 Standalone Configuration eeeecseecccsecesceseesecsoneseessnscesseesnsenersnsensers 13 6 Example System Configurations 20 0 0 ceceeeescesceecseeeeeesecseeeseesseesecsseeseesseeasseeesaeenseeaes 13 7 Example System Included State Estimator ee eeeeseceeeseeeeeseeeeeeaees 13 8 Example System Included State Estimator with Noise oo eee eects 13 10 Example Standalone State Estimator eseeeseeseceseeseseeeseseeeeaeenees 13 12 Chapter 14 Defining State Space Controll
73. al or actual states of the system and the estimated states in the same model The Estimator Model consists of four states because this configuration appends the original second order SISO state space model to the state estimator as shown in the following expression frend le Aad gi Note The direct transmission matrix D is not part of the expression because it is null in this example gt Control Design Toolkit User Manual 13 8 ni com Chapter 13 Defining State Estimator Structures The system included configuration monitors the response of the actual states of the system to a set of initial conditions The CD Initial Response VI uses 0 0 2 1 as the initial conditions These initial conditions mean that the initial conditions of the actual states are 2 1 whereas the initial conditions of the estimated states are 0 0 Therefore the Initial Conditions vector of the Estimator Model is 0 0 2 1 The State Trajectory Graph as shown in Figure 13 5 displays the response of the system and state estimator to the initial conditions 0 0 2 1 State Trajectory Graph PAS x1Model x2Model 27 xiSystem 3 Se x2S5ystem a i 500m 0 1 1 1 1 1 1 1 1 1 1 0 2 4 6 8 106 12 i l 16 Time s Figure 13 5 State Trajectory of System Included State Estimator The initial conditions of the actual states are 2 1 The response of the actual states therefore starts at 2 and 1 The ini
74. all the LabVIEW Simulation Module Refer to the Example Continuous Controller Model with Kalman Filter Code section of this chapter for more information about the deploying continuous models to an RT target ay Note Deploying controller code to an RT target involves the LabVIEW Real Time Module This chapter is not intended to provide a a comprehensive discussion of using the Real Time Module If you installed the Real Time Module refer to the LabVIEW Help available by selecting Help Search the LabVIEW Help from the pull down menu for information about deploying a VI to an RT target using the Timed Loop and creating I O code to and from RT hardware National Instruments Corporation 17 1 Control Design Toolkit User Manual Chapter 17 Deploying a Controller to a Real Time Target Figure 17 1 shows where you place a controller in a closed loop dynamic system Control System Reference amp Controller gt Physical System Plant Digital to Analog Converter DAC Actuators gt Analog to Digital Sensors Converter ADC Figure 17 1 Closed Loop Dynamic System In Figure 17 1 the controller represents an RT target running a VI that contains the controller code you designed Because the RT target is digital you need a digital to analog converter DAC to convert the digital controller output into an analog signal the actuator recognizes If the senso
75. also returns the solution to the appropriate Riccati equation You can use the CD Linear Quadratic Regulator VI with continuous and discrete models If you wire a continuous model to the State Space Model input of this VI this VI returns a continuous version of K If you wire a discrete model to this input this VI returns a discrete version of K You also can configure the this VI to return a discretized version of K for a continuous model Control Design Toolkit User Manual 12 4 ni com Chapter 12 Designing State Space Controllers To calculate this discretized gain matrix select the Discretized Linear Quadratic Regulator instance of the CD Linear Quadratic Regulator VI This instance automatically converts a continuous model to a discrete model before calculating K that minimizes the discrete version of the cost function you specified This VI first discretizes the A B C and D matrices using the Zero Order Hold method This VI then calculates the discrete equivalents of the Q R and N matrices using the numerical integration method proposed by Van Loan You specify the Sampling Time s this VI uses for both conversions Refer to the Zero Order Hold and First Order Hold Methods section of Chapter 3 Converting Models for information about the Zero Order Hold conversion method Refer to the CD Linear Quadratic Regulator topic of the LabVIEW Help for information about the numerical integration method proposed by Van Loan Q is asymmet
76. are now 4 4 and Rr respectively 0 Control Design Toolkit User Manual 5 12 ni com Chapter 5 Working with Delay Information Figure 5 8 shows how you implement this example using the Control Design Toolkit Transfer Function Model In ransport Delays Figure 5 8 Totaling and Distributing the Delay Information in a Model Residual Delay Information Residual delay information is transport delay information that remains when the CD Distribute Delay VI cannot distribute all of the transport delay to the inputs or outputs This situation most often occurs in SIMO MISO and MIMO system models because each input output pair can have different delay information For example consider a system model with the following delay information o ol 5 3 0 4 4 0 3 5 0 The CD Distribute Delay VI first distributes the delay in the transport delay matrix to the input delay vector by subtracting the minimum value from each column in the transport delay matrix In this case the minimum value in both columns is 3 This VI then distributes the delay to the output delay vector by subtracting the minimum value from each row in the resulting National Instruments Corporation 5 13 Control Design Toolkit User Manual Chapter 5 Working with Delay Information transport delay matrix In this case only the second row has a minimum value other than 0 lo ol 3 3 3 3 53 fo 2 o fo T2 ollo 4 4 lol 1 allo lo oll
77. ate delay into a mathematical model the model properties no longer contain delay information and the delay information appears in any analysis you perform on the model This chapter provides information about using the Control Design Toolkit to account for delay information in a model and to manipulate delay information within a model Note Refer tothe labview examples Control Design Getting Started Model Delay 11b for example VIs that demonstrate the concepts explained in this chapter National Instruments Corporation 5 1 Control Design Toolkit User Manual Chapter 5 Working with Delay Information Accounting for Delay Information Accounting for delay information in a model involves the following two steps setting delay in the properties of a model and transferring that delay from the model properties to the mathematical model The following sections provide information about the Control Design VIs that you can use to accomplish these tasks Setting Delay Information By default when you construct a model in the Control Design Toolkit the properties of that model have a delay of zero Use the CD Set Delays to Model VI to define any non zero delays in a model You can use the Input Delays Output Delays and Transport Delays inputs of this VI to define the input output and transport delays in a model The properties of the resulting output Model Out contain the original model with the delay information you defined You also
78. bbas Emami Naeini Feedback Control of Dynamic Systems 4th ed Upper Saddle River NJ Prentice Hall 2002 p 543 National Instruments Corporation 15 9 Control Design Toolkit User Manual Chapter 15 Estimating Model States continuous observer are in a location you define In this example the observer poles are located at 10 Oi If you execute this example using an Initial State Estimate xhat 0 of 0 1 7 and an input of 0 this function returns the graphs shown in Figure 15 7 xitt Actual state x t x2 3 eia o uv 2 a pss 0 5 sey 1 1 1 1 1 1 1 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 Simulation Time s xhati t Estimated state xhat t xhat2 t 9a 3 Amplitude I Sh i 1 j 1 i j j j 1 1 1 0 0 0 5 1 0 1 5 20 25 3 0 3 5 4 0 45 50 5 5 60 65 7 0 Simulation Time s Figure 15 7 Actual Model States vs Estimated Model States Control Design Toolkit User Manual 15 10 ni com Chapter 15 Estimating Model States In Figure 15 7 notice the continuous observer starts estimating both model states correctly after about one second To confirm this fact you can look at the Error e t graph defined as x t xhat t for each model state Figure 15 8 shows the error graph of this example e1 t Error e t e2 t Bi Amplitude 1 1 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 Simulation Time s Figure 15 8 Estimation Error of a Continuous Observer Figure 15 8 con
79. can retrieve the delay information from the properties of a model with the CD Get Delays from Model VI This VI returns the input output and transport delays of a model in the Input Delays Output Delays and Transport Delays outputs respectively Incorporating Delay Information After you define any delay information in a model you then can make that delay a permanent part of the model Incorporating delay information into a model works differently for continuous system models and discrete system models In both cases you represent a common delay factor and multiply the system model by this factor The process by which you determine this factor however varies depending on the type of system model With continuous system models you apply the Laplace transformation to the system to represent the delay as an exponential factor With discrete system models you apply the shift operator to the system to represent the delay as a factor The delay factor for a continuous system is e The delay factor for a discrete system is z Refer to the Delay Information in Continuous System Models section and the Delay Information in Discrete System Models section of this chapter for information about these delay factors and incorporating them into system models B Note These delay factors do not always have the same value in systems with more than one input output pair Single input multiple output SIMO multiple input single output Cont
80. cement vi Input Node Output Node ff E E Error am men EEE a a lu k 1 K xhat k 1 k Controller Output vi ra Figure 17 5 Implementing a Predictive Observer on an RT Target The example in Figure 17 5 uses the Predictive Observer function to estimate state information x k 1 k during execution This example also uses the CD Pole Placement VI to calculate the predictive observer gain Lp such that the current Observer Poles are in the location you specify Another CD Pole Placement VI calculates the controller gain K based on the Controller Poles you specify This example calculates the control action to apply at the next time step or u k 1 which is defined as Kx k 1 k At the next iteration of the Timed Loop u k 1 becomes u k which the Predictive Observer function uses to estimate state information for the next time step The feedback node transfers this value from one iteration to the next Refer to Chapter 15 Estimating Model States for more information about observers Control Design Toolkit User Manual 17 8 ni com Chapter 17 Deploying a Controller to a Real Time Target Example State Space Controller with Current Observer Code The example in Figure 17 6 shows a LabVIEW block diagram that implements a state space controller that depends on estimated state information Input Node Timed
81. ck Connections Undefined 0 0 eee eeceeeeeeseceeeeeeseeenees 4 13 Feedback Connections Defined 0 0 eee cece ceeeseeeeeeeeseeeseeeeeeeees 4 14 Two Models in a Closed Loop Configuration 0 cee eeceeseeseeesceseeseeeeeeees 4 14 Feedback and Output Connections Undefined o oo 4 15 Feedback Connections Undefined Output Connections Defined 4 16 Feedback Connections Defined Output Connections Undefined 4 17 Both Feedback and Output Connections Defined 0 0 0 ee 4 18 Control Design Toolkit User Manual vi ni com Contents Chapter 5 Working with Delay Information Accounting for Delay Information eee cece eeeeeeceeeesecseesseeseensecaeseeeaesneeeaeeeaes 5 2 Setting Delay Information i essri r A E 5 2 Incorporating Delay Information ssesseseseeseerssesesresrestsersresrsrrstesesresrsresresrse 5 2 Delay Information in Continuous System Models eee 5 3 Delay Information in Discrete System Models eee 5 6 Representing Delay Information eee ceeeseeseeeseceeeeseeseessecaecnsecaeeesecaeseeeeaeenaes 5 8 Manipulating Delay Information 0 eee ee eeceseeeeceseceeeeseceeeseeeseaeceeeaeeneceaeeneeeaes 5 10 Accessing Total Delay Information eee cece eseeeeeeeeecesecneeeseseeeeaeenees 5 10 Distributing Delay Information eee eee eeseeseeeseeeceeeeseesseesseneesseenaes 5 12 Residual Delay Information 0 0 0 0 eeeeseceeceeeeeesseeseceeeeseceeeseseeeeaeenaes 5 13 Chapter 6 Time Response Analy
82. complex frequency response equation into two parts the magnitude A and the phase You obtain the magnitude from the absolute value of the response You obtain the phase value from the four quadrant arctangent of the response The following equations illustrate these operations A H io o ZH iw aa E These two equations represent the magnitude and the phase of the frequency response respectively Plotting these equations results in two subplots the Bode magnitude plot and the Bode phase plot The Bode magnitude plot shows the gain plotted against the frequency The Bode phase plot shows the phase in degrees as a function of the frequency Use a linear scale when dealing with phase information When using a linear scale you can add the individual phase elements together to determine the phase angle Because you can add the magnitude and phase plots for systems in series you can add Bode plots of an open loop plant and potential compensators to determine the frequency response characteristics of the dynamic system Bode plots also illustrate the system bandwidth as the frequency at which the output magnitude is reduced by three decibels or attenuated to approximately 70 7 of its original value You also can use the CD Bandwidth VI to determine the system bandwidth Control Design Toolkit User Manual 7 2 ni com Chapter 7 Frequency Response Analysis You can measure how close a system is to instability by exami
83. ction denominator D s As K becomes larger the roots of the previous characteristic equation approach either the roots of N s the zeros of the open loop system or infinity For a closed loop system with a non zero finite gain K the solutions to the preceding equation are given by the values of s that satisfy both of the following conditions IKH s 1 ZH s 2k 1 n k 0 1 Use the CD Root Locus with Gain VI to compute and draw root locus plots for continuous and discrete SISO models of any form You also can use this VI to synthesize a controller Refer to the The Root Locus Design Technique section of Chapter 11 Designing Classical Controllers for information about using the CD Root Locus with Gain VI to design a controller Control Design Toolkit User Manual 8 2 ni com Analyzing State Space Characteristics State space analysis involves analyzing the state variables of a system State variables describe the relationship between the inputs and outputs of a system These variables often have physical meaning and represent some internal state of the system under analysis For example consider a motor that has power as its input and speed as its output If you represent this system as a state space model the state variables are speed and rotation angle To design an effective controller you must perform a state space analysis on the controller model State space analysis determines whether a system is stable con
84. d Model Conversion 11b for example VIs that demonstrate the concepts explained in this chapter Converting between Model Forms You can use three different model forms transfer function zero pole gain and state space to describe the same dynamic system Refer to Chapter 2 Constructing Dynamic System Models for more information about these model forms You can use the Control Design Toolkit to convert from one form to another Converting between model forms is important because each form provides different information about the system For example state space models use the states of a system to show physical information about the system Thus observing physical information about a dynamic system is less complicated when the model for that dynamic system is in state space form You also can use different analysis and synthesis techniques depending on the form of the model For example if a model for a system is in transfer function form you can synthesize a controller for that system using National Instruments Corporation 3 1 Control Design Toolkit User Manual Chapter 3 Converting Models classical control design techniques such as the root locus technique If the model is in state space form you can design a controller using state space control design techniques such as the pole placement technique Refer to Chapter 11 Designing Classical Controllers and Chapter 12 Designing State Space Controllers for more informa
85. d output matrices with their respective delay matrices or vectors H4 shown in the following equation represents H with delay information included Y H id U The following equations show the computation of these transfer functions to incorporate delay st st st st Hye Hpe H H a 12 H 11 12 H T 11 12 e e Sty slz H H st Stn H e Hye 21 22 je e U e U sty U ae es ea a Ue Uy eh Y eta Y Sta Y 1 Vy 0 1 e Y e Y e s National Instruments Corporation 5 9 Control Design Toolkit User Manual Chapter 5 Working with Delay Information To represent the delay of each element you can use the following matrices ti t t T 11 412 I 1 0 a b21 top ty ly Because the number of rows and columns of T4 are the same as the dimension of vectors I and Oy you can represent all the delay information of a model using the following structure a tii Cy fa toy top fo In this delay matrix the input delay vector I is on top Each input uses one column The output delay vector Ogis on the right hand side Each output uses one row Manipulating Delay Information The Control Design Toolkit provides two VIs to help you manipulate the delay information of a system model Use the CD Distribute Delay VI to minimize the transport delay of a system model by distributing the transport delay information to the inputs and outputs of a system model Use the CD Total Dela
86. de of the response as a function of and is the phase The magnitude and phase of the system output vary depending on the values of the system poles zeros and gain This chapter provides information about using the LabVIEW Control Design Toolkit to perform Bode frequency analysis Nichols frequency analysis and Nyquist stability analysis Sy Note Refer to the labview examples Control Design Getting Started Frequency Analysis 11b for example VIs that demonstrate the concepts explained in this chapter Bode Frequency Analysis Use Bode plots of system frequency responses to assess the relative stability of a closed loop system given the frequency response of the open loop system By analyzing the frequency response you can determine what the open and closed loop frequency responses of a system imply about the system behavior Use the CD Bode VI to create a Bode plot ays Note Use the CD Evaluate at Frequency VI to determine the frequency at specified values National Instruments Corporation 7 1 Control Design Toolkit User Manual Chapter 7 Frequency Response Analysis For example consider the following transfer function that represents a linear time invariant system Applying the sinusoidal input x t sin wf to this previous system produces the following equation y t Ysin wt o Using this equation the following equation represents the complex frequency response H io Aloe You can separate the
87. decays over time If the response becomes larger over time the pole is unstable If the response remains unchanged over time the pole is marginally stable To describe a system as stable all the closed loop poles of a system must be stable National Instruments Corporation 8 1 Control Design Toolkit User Manual Chapter 8 Analyzing Dynamic Characteristics Continuous and discrete systems are marginally stable if they contain only one pole at the origin and no positive poles Use the CD Pole Zero Map VI to obtain all the poles and zeros of a system and plot their corresponding locations in the complex plane Use the CD Stability VI to determine if a system is stable unstable or marginally stable Using the Root Locus Method The root locus method provides the closed loop pole positions for all possible changes in the loop gain K Root locus plots provide an important indication of what gain ranges you can use to keep the closed loop system stable The root locus is a plot on the real imaginary axis showing the values of s that correspond to pole locations for all gains starting at the open loop poles K 0 and ending at K You can rewrite the characteristic equation of a closed loop system using the following equation where Ms is the numerator and D s is the denominator 1 KH s D s KMs 0 This equation restates the fact that the open loop system poles which correspond to K 0 are the roots of the transfer fun
88. discrete system model where z represents time in the discrete domain You use z to evaluate y k at ny samples in the past The following equation shows this process which also is known as applying the shift operator y k ng y k z In transfer function models and zero pole gain models incorporating delay information means adding poles at the origin By applying z to a transfer function or zero pole gain model you increase the order of the denominator polynomial by adding n poles at the origin In state space models incorporating delay information means creating ng additional states Use the CD Convert Delay to Poles at Origin VI to incorporate delays into discrete models This VI incorporates the delay information of the input model into the Converted Model output model The delay becomes a part of the output model and thus is not in the model properties In the case of SIMO MISO and MIMO system models the CD Convert Delay to Poles at Origin VI totals the delay in all the input output pairs before incorporating the delay into the model Figure 5 4 shows how you can create a transfer function model define an input delay for the model properties and then incorporate that delay directly into the model ransfer Function Model In TEY To Figure 5 4 Adding Delay Information to a Discrete Transfer Function Model National Instruments Corporation 5 7 Control Design Toolkit User Manual Chapter 5 W
89. e average value as the incremental area to approximate the area under the curve Tustin s method considers f t constant and equal to the average between f and f t T along the integration range which results in the following equation yaa T y OHD National Instruments Corporation 3 9 Control Design Toolkit User Manual Chapter 3 Converting Models The last term in this equation is identical to the area of a trapezoid of height T and bases f t and f t T Figure 3 4 shows the area under a curve using Tustin s method Tustin t t T Figure 3 4 Tustin s Method Figure 3 4 shows that for this example Tustin s method provides a balance between the overestimation of the Forward Rectangular and the underestimation of the Backward Rectangular method Prewarp Method The Prewarp method is a trapezoidal type of transformation that uses the prewarp frequency to adjust the sampling time T This adjustment results in a separate sampling time T This adjustment also compensates for errors introduced in the discretizing process This method also considers f t constant and equal to the average between f t and f t T along the integration range which results in the following equation paT y LOUTI Control Design Toolkit User Manual 3 10 ni com Chapter 3 Converting Models The last term in this equation is identical to the area of a trapezoid of height T and bases f t and f t
90. e Models 0 0 0 ee eseeeeseeeeeeeeeseeeeeenees 3 5 Converting Continuous Models to Discrete Models eee eeeeeeeeeeseeeeees 3 6 Forward Rectangular Method 0 cece ee eeeeseceeeeeeseeeseceeeeeeeeeeeees 3 8 Backward Rectangular Method 00000 eeeseeeeereeeeeeseeeeeeeeeseeenees 3 8 Tustin S Method ssct ssssce crests hantevientesesas iiveieveh alent ad scevedetevedt 3 9 Prewarp M thode resero rere aei eT NE ESERE A 3 10 Zero Order Hold and First Order Hold Methods 0 eee 3 11 Z Transform Method innies ri ea RR A 3 12 Matched Pole Zero Method ssssessssseseseesesrseesseersresrrersersrsresresesrese 3 13 Converting Discrete Models to Continuous Models cece eeeeeeeeeeseeeees 3 13 Resampling a Discrete Modelo eee nonnii as 3 14 Chapter 4 Connecting Models Connecting Models Seriesi arisna dea kaeiceats teres onl 4 1 Connecting SISO Systems in Series eee ee eeseesseeeeeeeneeeeeeeetseeseeeeeeees 4 2 Creating a SIMO System in Series eee eee eee eseeeseeseeeeeeseeeeeesesneeeseeeaeesees 4 3 Connecting MIMO Systems in Series ee eee eeeeeeceeeeeteeeesesseeeseesnees 4 5 Appending Models lt i ceiscees eset ie opine hoe a ote set N E ORE P tae eines seas 4 6 Connecting Models Paralleli inneni E A AAEE 4 8 Placing Models in a Closed Loop Configuration ssseseesesssessresesesresrsrrsresrsrrsrrereresees 4 12 Single Model in a Closed Loop Configuration ssseeseseeeresesrsresrerrsresrereses 4 13 Feedba
91. e in dynamic systems The CD Nichols VI calculates and plots the open loop frequency response against the gain and phase on the Nichols plot Different points on the plot correspond to different values of the frequency Examine the Nichols plot to determine the gain and phase margins bandwidth and the effect of gain variations on the closed loop system behavior Nyquist Stability Analysis Use Nyquist stability analysis to examine the system performance of dynamic systems Nyquist plots consist of the real part of the frequency response plotted against the imaginary part of the response Nyquist plots indicate the stability of a closed loop system given an open loop system which includes a gain of K Use the CD Nyquist VI to create a Nyquist plot The Nyquist stability criterion relates the number of closed loop poles of the system to the open loop frequency response On the Nyquist plot the number of encirclements around 1 0 is equal to the number of unstable closed loop poles minus the number of unstable open loop poles National Instruments Corporation 7 5 Control Design Toolkit User Manual Chapter 7 Frequency Response Analysis You can use this criterion to determine how many encirclements the plant requires for closed loop stability For example if the plant has all open loop stable poles there are no encirclements If the plant has one open loop unstable pole there is one negative counter clockwise encirclement
92. e x k to the Predicted State Estimate xhat klk 1 which is the state this function estimated at the previous time step The difference between these two values is the Error e k This example also uses the CD Pole Placement VI to calculate the observer gain L such that the Poles of the predictive observer are in a location you define In this example the predictive observer poles are located at 0 4 0 41 Because this example has an Initial State x 0 value of 0 017 both model states return a constant value of zero The Wait Until Next ms Multiple function determines the speed at which the While Loop executes Control Design Toolkit User Manual 15 4 ni com Chapter 15 Estimating Model States If you execute this example with an Initial State Estimate xhat 0l 1 of 0 1 this example returns the graphs shown in Figure 15 3 Figure 15 3 Actual Model States vs Estimated Model States National Instruments Corporation 15 5 Control Design Toolkit User Manual Chapter 15 Estimating Model States In Figure 15 3 notice the predictive observer starts estimating both model states correctly after about one second To confirm this analysis you can look at the Error e k graph defined as x k xhat klk 1 for each model state Figure 15 4 shows the error graph of this example Error e k oo o1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 10 11 12 13 14 15 Time s Figure 15 4 Estimation Error of a Predictive Observer
93. edias 1 3 Designing a Controller sos ieciscceseseese cadets cepedediaea cus steyd acne a dua Seevesebvees 1 3 Simulating the Dynamic System elec cece eeeeeceeeeseeseeeseseeeeseeeesaeeneens 1 4 Deploying the Controller oo snenia a 1 4 Overview of the Control Design Toolkit 0 0 eee eseeseesececeeeeesececnseceeesesseenaeenees 1 4 Control Design Assistant insien e cs suaesevens E E a R 1 5 Control Design Vispi noncer E A R R AE 1 5 Control Design MathScript Functions seeeseeseseseeeesseessrrsresrsrrsreresrrsesresreeree 1 6 Chapter 2 Constructing Dynamic System Models Constructing Accurate Models sesesessseesssreesrsresresrsresrsrestestsrestsrenresreresteersresesseneeses 2 2 Model Representation netapo t i E E AE NRE E 2 3 Model Types iren ie A A A ee 2 3 Linear versus Nonlinear Models cccccccccesssssecceeeessseeeceesssseeees 2 3 Time Variant versus Time Invariant Models ccccccccccesessseeeee 2 3 Continuous versus Discrete Models cccccccccesssecceeesssececeeeessaeees 2 4 Model Forms a E eave sesavososdevalasweussvaawveesgeree vena 2 4 RUG Circiit Example sc 05435 siede cts edie wicete T ER N ouees 2 6 Constructing Transfer Function Models ceceeeeseeseeseeseceseeecesecseenseceeesesseeeseesees 2 6 SISO Transfer Function Models cccccccccsssssccccecesssceecesesssseeceessseeeceseesaee 2 7 SIMO MISO and MIMO Transfer Function Models c ccccccsssseeee
94. eedback Sign input The resulting model shown in Figure 4 16 contains a new reference input r for each feedback connection you specify Uo P Feedback ui Connections m io gt C Up p gt Model 1 Figure 4 16 One Model with Connections Defined Two Models in a Closed Loop Configuration When you have two models in a closed loop configuration the first model is always in the open loop path and the second model is always in the feedback path You have the option to define feedback connections output connections both types of connections or no types of connections Within the CD Feedback VI Feedback Connections defines the connection between the outputs of Model 2 and the inputs of Model 1 Output Connections defines the connection between the outputs of Model 1 and the inputs of Model 2 By default the CD Feedback VI connects the models with negative feedback The resulting model differs depending on the number of connections you define The following sections provide information about the configuration of the models when you define or do not define connections Control Design Toolkit User Manual 4 14 ni com Chapter 4 Connecting Models Feedback and Output Connections Undefined If you do not define Feedback Connections or Output Connections the CD Feedback VI tries to connect all the outputs of Model 1 to the corresponding inputs of Model 2 The CD Feedback
95. eeeees 2 9 Symbolic Transfer Function Models cece ee eeseeseceeceseeeeeeseseeeeseeeeeneeseens 2 11 Constructing Zero Pole Gain Models 0 ce eceeeeseeseceseeseceeeeseeseeeaeceeeeseseeesesseeeseesees 2 12 SISO Zero Pole Gain Models c ccccccssssccccesssseeeceeessseeccesesssseeceeessseeeeeesessee 2 13 SIMO MISO and MIMO Zero Pole Gain Models cccccssccccceesseeeeeeeees 2 13 Symbolic Zero Pole Gain Models eceeecessceseeseeeeeeseceeeeseeeseseesseeseenseens 2 14 National Instruments Corporation v Control Design Toolkit User Manual Contents Constructing State Space Models eecesceessesseesecseceseceeeeeecseeesecsecesesseeeseeseeeaeeseee 2 14 SISO State Space Models ssis saaescdeussseesedeveetoaseg Sapdovdeedies 2 16 SIMO MISO and MIMO State Space Models ecceeeescesceeereeeneeeseeeeaees 2 17 Symbolic State Space Models ccc eeceeceseceeecseeneeseeeesesseeeaeeseeeaeeaeees 2 18 Obtaining Model Information eee eee eeeceseeseeesececeeeeaeeesecaecesesseseaeseeseseeseesaees 2 18 Chapter 3 Converting Models Converting between Model Forms 00 eee ececeeseeseesececeeeceseeseeseecaeceseeeesaeeseeeseeaeees 3 1 Converting Models to Transfer Function Models eee eeeeeeseeseeeeeeees 3 2 Converting Models to Zero Pole Gain Models ececeseeseeseeeeseeeseeseeeees 3 3 Converting Models to State Space Models eeeeceeseeeeeseeseeeseeeeeeaeeeees 3 4 Converting between Continuous and Discret
96. emoving zero states from a large state space model representation Zero states are states for which the state matrix A has zeros in an input row and the corresponding output column Use the CD Minimal State Realization VI to perform this operation Figure 10 1 shows an example of a zero state National Instruments Corporation 10 3 Control Design Toolkit User Manual Chapter 10 Model Order Reduction ae Figure 10 1 A Zero State in A If the matrix has no zero rows or columns consider using another method to reduce the model order Sy Note When you work with transfer function and zero pole gain models you generally do not select and remove specific inputs and outputs to reduce the model order You mainly use this method with state space models Control Design Toolkit User Manual 10 4 ni com Designing Classical Controllers Classical control design involves creating controllers based on the input output behavior of a system In classical control design you select one or more specific gain values to achieve one or more control objectives The first step in designing a controller is identifying a control objective For example you might focus on the rise time overshoot and damping ratio of a controller model Based on this objective you specify the location of the poles of the system You then select an appropriate set of parameters such as the gain to satisfy the stated objectives You use these paramete
97. er Structures Configuring State Controllers 0 eeeeceeseeseeesecsceeseeseeeaeceeceaeceeeeaesneesaesseeeaesneeeaees 14 1 State Compensators iisissctvcctivsesisiavniainn ava visto ea cesar 14 3 System Included Configuration cee eecseeeseeseeeseeseesseeseeeseens 14 4 System Included Configuration with Noise cee eeeeeeeeeeereeee 14 5 Standalone Configuration with Estimator eee eeeeeeeeeeeeee 14 6 Standalone Configuration without Estimator eee 14 7 Slate Regulator sinoi vs uxeu see E EE AEE inteuantecty cen R 14 8 System Included Configuration 0 sseeseseeeeserseesseeseeeneens 14 9 System Included Configuration with Noise eee eeeeeeeeeereees 14 10 Standalone Configuration with Estimator eee eeeeeeeeeees 14 11 Standalone Configuration without Estimator eee 14 12 State Regulator with Integral Action ieee ceeeeeceeeeeeeeeeeseeeeeeneeseees 14 13 System Included Configuration eee eee seeeseeseeeesseesseeeeeseens 14 14 System Included Configuration with Noise eee eeeeeeereees 14 16 Standalone Configuration with Estimator eee eeeeeeeeeeeees 14 17 Standalone Configuration without Estimator eee 14 19 Example System Configurations sieisen a E AEE EEE TEE RE 14 20 Example System Included State Compensator essesesesreeesseresesreresrsresresree 14 22 Example System Included State Compensator with Noise cece 14 24 Example Standalone State Compensator with Estimator 00 0 eee 14 25 Example Standalone Sta
98. erically identical to the transfer function model The zero pole gain form however shows the locations of the zeros and poles of a system Converting Models to State Space Models Use the CD Convert to State Space Model VI to convert a zero pole gain or transfer function model to a state space model This section uses a zero pole gain model as an example 3 Note When you convert a zero pole gain model to a state space model the CD Convert to State Space Model VI converts the zero pole gain model to a transfer function model first When converting a transfer function or zero pole gain model you can specify whether you want the resulting state space model to be full or minimal A full state space model does not reduce the number of states determined by a least common denominator calculation A minimal state space model reduces the number of states and produces a minimal representation of the original model Use the Realization Type parameter of the CD Convert to State Space Model VI to specify if you want the resulting model to be full or minimal Refer to the Obtaining the Minimal Realization of Models section of Chapter 10 Model Order Reduction for more information about minimizing state space realizations Using the example in the Converting Models to Transfer Function Models section of this chapter the following equation gives the minimal realization when converting a zero pole gain model to a state space model eS 0 33 0 94 P
99. ero You also can wire a value to the Initial Estimation Error Covariance P Ol 1 parameters These parameters define the covariance of the estimation error at the first time step A low value of this parameter indicates you have a high degree of confidence in any Initial State Estimate xhat 0I 1 you provide and vice versa If you do not wire a value a value to the Initial Estimation Error Covariance P OI 1 parameter the these VIs set this parameter as the identity matrix Refer to the Discrete Models section of Chapter 12 Designing State Space Controllers for more information about how a Kalman filter uses the gain and estimation error covariance matrices Refer to the CD Discrete Recursive Kalman Corrector and CD Discrete Recursive Kalman Predictor topics of the LabVIEW Help for the equations these VIs use to calculate the outputs The Control Design Toolkit also includes the CD Continuous Recursive Kalman Filter function Use this function to implement a Kalman filter for a continuous stochastic model Because continuous Kalman filters must solve differential equations over time you only can place the CD Continuous Recursive Kalman Filter function inside a Simulation Loop The Simulation Loop is included in the LabVIEW Simulation Module Control Design Toolkit User Manual 16 6 ni com Chapter 16 Using Stochastic System Models Noisy RL Circuit Example This example in this section modifies the RLC circuit from the RLC Circuit
100. es Refer to the LabVIEW PID Control Toolset User Manual for more information about experimentally determining controller gain parameters 1 Astrom K and T Hagglund PID Controllers Theory Design and Tuning 2nd ed ISA 1995 National Instruments Corporation 11 5 Control Design Toolkit User Manual Designing State Space Controllers State space control design uses state space models to synthesize and analyze controllers based on the relationship between the inputs states and outputs of a system Because all states are not directly measurable you sometimes need to use an estimator An estimator infers the states with which you are working based on measurements of the outputs and known states Similar to classical control design the process of designing a controller begins with one or more control objectives Typical objectives include minimizing a cost function and placing the poles and zeros of a system in specific locations You use this process to achieve a specific dynamic response You then select the architecture of the controller such as whether the feedback is based only on outputs or on all the states of the system With this information you can synthesize a controller by selecting an appropriate set of parameters to satisfy the stated objectives This chapter provides information about using the LabVIEW Control Design Toolkit to determine estimator and controller gain matrix values This chapter also describes t
101. es The i element of the array corresponds to the i order coefficient of the polynomial You define the coefficients in ascending order Sy Note The CD Construct Transfer Function Model VI does not automatically cancel polynomial roots appearing in both the numerator and the denominator of the transfer function Refer to Chapter 10 Model Order Reduction for information about canceling pole zero pairs The CD Construct Transfer Function Model VI creates a continuous model You can create a discrete transfer function model in one of two ways The method you use depends on whether you know the coefficients of the discrete transfer function model If you know the coefficients of the discrete transfer function model you can enter in the appropriate values for Numerator and Denominator and set the Sampling Time s to a value greater than zero Figure 2 4 shows this process using a sampling time of 10 ps Sampling Time s Discrete Transfer Function Model do o o7sz076 5 9 csesi4e 5 Jo Denominator ao 0 996008 1 995808 CD Construct Transfer Function Model vi Figure 2 4 Using Coefficients to Create a Discrete Transfer Function Model If you do not know the coefficients of the discrete transfer function model you must use the CD Convert Continuous to Discrete VI for the conversion Set the Sampling Time s parameter of this VI to a value greater than zero Figure 2 5 shows this
102. eseesees Defining a Controller Model Interactively eee eeeeeeeeeees Defining a Controller Model Programmatically 0 0 0 0 Defining a Controller Model Using the Control Design Assistant Writing Controller Coderen enee n e E S aE iR Example Transfer Function Controller Code eee Example State Compensator Code eseeseeseeeseeseeeseeeees Example SISO Zero Pole Gain Controller with Saturation Code Example State Space Controller with Predictive Observer Code Example State Space Controller with Current Observer Code Example State Space Controller with Kalman Filter for Stochastic System Code 0 0 ee eeeeseeseeeeeseceeeeseeeseeseenees Example Continuous Controller Model with Kalman Filter Code Finding Example NI DAQmx I O Code ooo eeceeeeceeseeeseseeeeetseeeseesees Appendix A Technical Support and Professional Services Control Design Toolkit User Manual x ni com About This Manual This manual contains information about the purpose of control design and the control design process This manual also describes how to develop a control design system using the LabVIEW Control Design Toolkit This manual requires that you have a basic understanding of the LabVIEW environment If you are unfamiliar with LabVIEW refer to the Getting Started with LabVIEW manual before reading this manual 3 Note This manual is not intended to provide a comprehensive discussion of control design theory Refer to the following boo
103. example in Figure 16 3 uses the conversion Method of Numerical Integration to discretize the models National Instruments Corporation 16 11 Control Design Toolkit User Manual Chapter 16 Using Stochastic System Models Simulating The Model Figure 16 4 shows a LabVIEW block diagram that simulates the discrete Stochastic State Space Model defined in the Converting the Model section of this chapter The Input u k to this model is a sine wave with an Amplitude of 0 01 volts and a Frequency of 1 KHz Output yik ELE PxScale Multiplier State x k While Loop ELE amplitude XScale Multiplier OBL meu x CEI oeu gt Sine Wave PtByPt vi ifs Discrete Stochastic State Space Internal poe ff SEE EEE SEEE SEES aay neni J ayers initial State x 0 Putput vik oo m oi Construct and Discretize Models vi ae ee aren Etop T Figure 16 4 Simulating the Discrete Stochastic State Space Model In Figure 16 4 the Construct and Discretize Models subVI contains the block diagram code shown in Figure 16 3 The Wait Until Next ms Multiple function adjusts the speed of the simulation Also this example uses Property Nodes to adjust the scale of the resulting graphs based on the Frequency of the sine wave Control Design Toolkit User Manual 16 12 ni com Chapter 16 Using Stochastic System Models Figure 16 5 shows the Output y k and the State x k of the model when you run this examp
104. f an estimator You can design an estimator structure to take various factors such as input noise or input disturbances into consideration This chapter provides information about using the LabVIEW Control Design Toolkit to define the structure of a state estimator This chapter also discusses known inputs and measurable outputs 3 Note Refer to the labview examples Control Design Getting Started State Space Synthesis 11b for example VIs that demonstrate the concepts explained in this chapter Measuring and Adjusting Inputs and Outputs The estimator gain L considers all inputs u and outputs y which are known and measured Also some inputs and outputs might be unavailable So you can divide the system into adjustable inputs measured outputs unknown inputs and unmeasured outputs You base this division on diagonal matrices such as A and A Diagonal matrices incorporate the effect of known unknown measured and unmeasured inputs and outputs into the equation A diagonal element in these matrices equals unity for the known and measured inputs and outputs and zero for the unknown and unmeasured inputs and outputs or states The following equation describes how you incorporate the diagonal elements for the inputs and outputs in the controller model National Instruments Corporation 13 1 Control Design Toolkit User Manual Chapter 13 Defining State Estimator Structures x Ax B u L y y y Cx D u In this equation B
105. fer to the LabVIEW Help for information about this VI Converting Stochastic Models A noise model is associated with a particular stochastic model If the stochastic model is continuous the noise model is continuous whereas if the stochastic model is discrete the noise model is discrete You can convert continuous stochastic models to discrete models and vice versa You also can convert stochastic models to deterministic models and vice versa The following sections provide information about these conversions National Instruments Corporation 16 3 Control Design Toolkit User Manual Chapter 16 Using Stochastic System Models Converting between Continuous and Discrete Stochastic Models Use the CD Convert Continuous Stochastic to Discrete VI to discretize a continuous stochastic model and the associated noise model This VI first converts the deterministic matrices A B C and D using the Zero Order Hold method Refer to Chapter 3 Converting Models for information about this method This VI then converts the G H Q R and N matrices according to the Method you specify You can choose either the Numerical Integration method as proposed by Van Loan or the Truncation of Taylor Series Expansion TSE method Refer to the CD Convert Continuous Stochastic to Discrete topic of the LabVIEW Help for the equations these methods use Converting between Stochastic and Deterministic Models Use the CD Convert Stochastic to Determinis
106. figuration The following equation defines the output error y y C x x r By substituting the output error in the general system configuration you obtain the following equations that describe the system included configuration with noise _ 4 BK Lc LC x BK L r L BK Alix BK o r K O K 0 x ry c r olf ox ol pK q pK r gt s The reference vector r has as many elements as the number of states Also this configuration calculates the control action u internally and then gives u as an output of the compensator Figure 14 2 represents the dynamic system that these equations describe u ry gt _ ry Y y _ gt gt Controller gt System gt X a 7 x lt lt gt Estimator Y o x Figure 14 2 System Included State Compensator with Noise Control Design Toolkit User Manual Chapter 14 Defining State Space Controller Structures x x ry The states inputs and outputs of the state compensator are K and u h respectively J Standalone Configuration with Estimator In the standalone configuration with estimator the system model detaches from the controller The system outputs y become inputs to the estimator Unlike the system included and system included with noise configurations the standalone configuration with estimator does not account for output error You must
107. firms that the observation error for both states converges to zero after about one second This example uses the Runge Kutta 23 ODE solver with an initial time step of 0 01 seconds Refer to the LabVIEW Simulation Module User Manual for more information about this and other ODE solvers National Instruments Corporation 15 11 Control Design Toolkit User Manual Using Stochastic System Models The model forms in Chapter 2 Constructing Dynamic System Models are deterministic Deterministic models do not account for random disturbances or noise present in the system Because noise affects most real world systems deterministic models might not represent these systems sufficiently Stochastic system models are models that represent the effects of noise on the plant actuators and or sensors Each stochastic system model has an associated noise model that characterizes the first and second order statistical behavior of the noise affecting the system You use stochastic system models and noise model to test that a controller performs adequately in the presence of noise This chapter provides information about constructing and converting stochastic state space models and noise models This chapter also describes simulating stochastic models and implementing a Kalman filter to estimate model states in the presence of noise iy Note Refer to the labview examples Control Design Getting Started Implementation 11b for example VIs that demo
108. first order polynomials Continuous Zero Pole Gain Model fs z i 0 k s Z s Z 8 Zm Aa pE a EES Bn T PDE P p Is 2 i 0 Discrete Zero Pole Gain Model IF z i 0 kK z 2 Z 2Zp Z Z Rig Ss a eee alas C PDE P E P IF Pi i 0 In these equations k is a scalar quantity that represents the gain z represents the locations of the zeros and p represents the locations of the poles of the system model Numerators of zero pole gain models describe the location of the zeros of the system Denominators of zero pole gain models describe the location of the poles of the system Use the CD Construct Zero Pole Gain Model VI to create SISO SIMO MISO and MIMO system models in zero pole gain form This VI creates a data structure that defines the zero pole gain model and contains additional information about the system such as the sampling time input Control Design Toolkit User Manual 2 12 ni com Chapter 2 Constructing Dynamic System Models or output delays and input and output names Refer to the Obtaining Model Information section of this chapter for information about other properties of zero pole gain models SISO Zero Pole Gain Models Using the example in the RLC Circuit Example section of this chapter the following equation defines a continuous zero pole gain model where R 20Q L 50 mH and C 10 uF H s 2x 10 aoe s 200 1400i s 200 1400i s 200 14007
109. for example you only need to make the change in one location instead of several locations Select the SISO Symbolic or MIMO Symbolic instance of the CD Construct Transfer Model VI to create a SISO or MIMO symbolic transfer function model respectively The following equation is a symbolic version of the transfer function originally defined in the SISO Transfer Function Models section of this chapter L H s LE ee L LC Specify the Symbolic Numerator and Symbolic Denominator coefficients using the variable names R L and C You then specify values of the numerator and denominator coefficients in the variables input as shown in Figure 2 8 Symbolic Numerator SS e Figure 2 8 Creating a SISO Symbolic Transfer Function Model National Instruments Corporation 2 11 Control Design Toolkit User Manual Chapter 2 Constructing Dynamic System Models Constructing Zero Pole Gain Models Zero pole gain models are rewritten transfer function models When you factor the polynomial functions of a transfer function model you get a zero pole gain model This factoring process shows the gain and the locations of the poles and zeros of the system The locations of these poles determine the stability of the dynamic system You analyze zero pole gain models in the frequency domain The following equations define continuous and discrete zero pole gain models where the numerators and denominators are products of
110. for the dynamic system response to reach the peak value of the first overshoot Settling time t The time required for the dynamic system response to reach and stay within a threshold of the final value The default threshold is 1 Steady state gain The final value around which the dynamic system response settles to a step input Peak value y The value at which the maximum absolute value of the time response occurs Sy Note You can modify the default values for the rise time thresholds and the settling time threshold using the Rise Time Thresholds and Settling Time Threshold parameters of the CD Parametric Time Response VI Control Design Toolkit User Manual 6 4 ni com Chapter 6 Time Response Analysis Figure 6 2 shows a sample step response graph and the locations of the parametric response data Figure 6 2 Step Response Graph and Associated Parametric Response Data For example consider the system described in the Spring Mass Damper Example section of this chapter Figure 6 3 shows how you determine the step response and associated parametric response data of this system ICD Construct State Space Model vi eee ET wT cocccccccceseseseses berrzrrrrzrzzzzzzzz77F Figure 6 3 Step Response Block Diagram of the Spring Mass Damper System National Instruments Corporation 6 5 Control Design Toolkit User Manual Chapter 6 Time Response Analysis Fig
111. gain matrix K that achieves this goal The system in question must be controllable For example consider a closed loop continuous system that has the following form i Ax A A BK Because A satisfies the characteristic polynomial equation that the specified closed loop pole locations A A2 A define you can state the following relationships Stas 0 _ 19 a D s A S Ay 8 An A A A 0 _At a I 0 The locations of a are based on the locations of s is the Laplace variable You can use these equations to calculate Ackermann s formula defined by the following equation K o 0 1 B AB a g A Combine the controller gain matrix K with the CD State Space Controller VI to define a controller structure for the system Refer to Chapter 14 Defining State Space Controller Structures for more information about defining a controller structure If you use the pole placement technique to calculate the estimator gain matrix L combine L with the CD State National Instruments Corporation 12 3 Control Design Toolkit User Manual Chapter 12 Designing State Space Controllers Estimator VI to define an estimator structure for the system Refer to Chapter 13 Defining State Estimator Structures for more information about defining an estimator structure Linear Quadratic Regulator Technique The linear quadratic regulator LQR technique calculates the controller gain matrix K that minimizes
112. gn This form of state feedback controller when combined with a estimator defined with the Kalman gain function is called the LQG controller Certainty equivalence is the property that enables this combined usage of optimal estimator and controller Certainty equivalence is important because you can synthesize a controller gain matrix K and estimator gain matrix L independently You can build a controller assuming all states are measurable and then estimate unmeasured states using an optimal estimator The resulting design is optimal for the specified problem 3 Note Because a LQG controller uses an estimator the robustness properties of a LQG controller are not the same as that of a LQR controller You have no guarantee that robustness properties can be established for an estimated state feedback controller You only can guarantee robustness by changing the way you measure the states of the system to remove the need for an estimator National Instruments Corporation 12 9 Control Design Toolkit User Manual Defining State Estimator Structures State estimators reconstruct unmeasurable state information To define the structure of a state estimator you need a model of the system and an estimator gain matrix L You can calculate L using the CD Pole Placement VI the CD Ackermann VI or the CD Kalman Gain VI Refer to Chapter 12 Designing State Space Controllers for more information about these VIs You use L to define the structure o
113. gure 4 4 illustrates this relationship Q AQ z 4 5 s gt Hi4 s 4 sVQy s l Q LO Hy s Q s I s Kaa Hy2 s Q gt s 1 A Q L ATUT DAS Hals Laaa 2 Figure 4 4 Two Valve Models and Two Tank Models in Series This combined system which now is a SIMO system has one input s and two outputs L s and L s Figure 4 5 is a LabVIEW block diagram that illustrates this system Figure 4 5 Block Diagram of the Two Valves and Tanks in Series Control Design Toolkit User Manual 4 4 ni com Connecting MIMO Systems in Series When connecting MIMO systems you can connect any output of the first model to any input s of the second model Figure 4 6 shows an example of two MIMO system models connected in series Chapter 4 Connecting Models uo Zo r gt r uy Z4 Z4 j gt gt P Up Z2 Model 1 gt oi i e 2 ou 2 e vi e p eat uj Z yon Z 1__P a E E gt i ae Vo Yo L pe gt io Vy i i gt 1 v2 yo 3 gt Model 2 gt ioe 4 3 i e e i i e e i wo Yi Figure 4 6 MIMO System Models in Series Figure 4 6 shows how the outputs of Model that are connected to the inputs of Model 2 do not appear as outputs of the resulting series model For example because zg connects to the Model 2 inputs v and vz zois no longer an
114. he CD Step Response VI and the CD Impulse Response VI support initial conditions Use the Initial Conditions parameter of these VIs to see how a set of initial conditions affects the step and or impulse responses For example consider the system described in the Spring Mass Damper Example section of this chapter Figure 6 8 shows how you determine the response of this system to an initial condition of 0 3 cm E E Figure 6 8 Initial Response Block Diagram of the Spring Mass Damper System Figure 6 9 shows the Initial Response Graph resulting from this block diagram Displacement cm oO 1 0 2 0 3 1 1 1 1 i 1 1 0 25 50 T 100 125 150 175 Time s Figure 6 9 Initial Response Graph of the Spring Mass Damper System Notice that the displacement begins at the initial condition of 0 3 cm National Instruments Corporation 6 9 Control Design Toolkit User Manual Chapter 6 Time Response Analysis Analyzing a General Time Domain Simulation A general time domain simulation of a system involves input signals that are more general than step impulse or initial input signals Refer to the Calculating the Time Domain Solution section of this chapter for equations representing the time response of continuous and discrete systems Use the CD Linear Simulation VI to solve these equations in response to an arbitrary input signal u into a system This VI determines the response by numerically in
115. he Predictive Observer section of this chapter Error efk Amplitude Time s Figure 15 5 Estimation Error of a Current Observer In Figure 15 5 notice the error oscillates less than the error of the predictive observer shown in Figure 15 4 Also the current observer error generally is less than the predictive observer error at a given time step This decrease in error occurs because the current observer uses the current output y k to estimate the current states xhat klk whereas the predictive observer uses the current output y k to predict the next state estimate xhat k 1Ik Refer to the CD Current Observer Corrector and CD Current Observer Predictor topics of the LabVIEW Help for the general forms of the equations these VIs use to calculate the outputs Continuous Observer Estimating the states of a continuous state space model requires solving the following ordinary differential equation amp t A amp t Bu t Ly 3 0 y t Cx t Du t Control Design Toolkit User Manual 15 8 ni com Chapter 15 Estimating Model States To estimate the states you must integrate this equation over time To perform this integration you must use the CD Continuous Observer function with an ordinary differential equation ODE solver You specify the ODE solver to use and parameters of the ODE solver by placing the CD Continuous Observer function inside a Simulation Loop The Simulation Loop is i
116. he approximation A larger Polynomial Order means a more accurate approximation but results in a higher order system model A large Polynomial Order can have the unintended side effect of making a model too complex to be useful Figure 5 3 shows the effects of polynomial orders on the accuracy of a Pad approximation of H s 40 40 30 30 20 20 E Zz a a amp 10 amp 10 0 0 10 1 1 1 1 1 1 1 10 1 1 1 i 1 i 0 25 50 75 100 125 150 175 0 25 50 75 100 125 150 175 Time s Time s Polynomial Order Input Delays Polynomial Order ry Jo z ra CHINE MOTTO TOI URTRE BIRT bE EET M2 A Oo ee 10 a2 toe 16 10 2 Ze eG omen e E e a Gun s E Figure 5 3 Effect of Polynomial Orders for a Pad Approximation Delay Information in Discrete System Models Mathematically incorporating delay into a discrete system model involves evaluating that model at n units in the past ngequals the delay divided by the sampling time T of the system For example consider the discrete SISO system model y k The equation y kT ngT provides the output of y k at nq units in the past where k represents the current sample Removing the sampling time T from this equation provides the simplified equation y k ng This simplified equation produces the same result as y kT ngT Control Design Toolkit User Manual 5 6 ni com Chapter 5 Working with Delay Information This equation shows the delay factor z for a
117. he difference between measured outputs known inputs and adjustable inputs i Note Refer to the labview examples Control Design Getting Started State Space Synthesis 11b for example VIs that demonstrate the concepts explained in this chapter Calculating Estimator and Controller Gain Matrices Before you can implement an estimator or a controller you need to calculate their respective gain matrices These gain matrices define the structure of the estimator or the controller The Control Design VIs help you calculate the gain matrix for an estimator or controller The following sections provide information about using the Control Design Toolkit to perform the pole placement technique and design a linear National Instruments Corporation 12 1 Control Design Toolkit User Manual Chapter 12 Designing State Space Controllers quadratic regulator The following sections also describe how to use the Kalman gain function and how to construct a linear quadratic Gaussian controller Pole Placement Technique Pole placement is a technique in which you specify the locations of the closed loop poles of a system and calculate the gain matrix based on these locations You can use the pole placement technique to calculate either the observer gain matrix L or the controller gain matrix K Use the CD Ackermann VI to apply this technique in the following situations e A single input single output SISO system e A single input multiple outpu
118. hip between the continuous s and discrete z frequency domains In this equation T is the sampling time used for the discrete system The Matched Pole Zero method maps continuous time poles and finite zeros to the z plane using this relation This method also maps zeros at infinity to z 0 so these zeros do not affect the frequency response After the algorithm maps the poles and zeros the algorithm then attempts to make sure the system gains are equivalent at some critical frequency If the systems have no poles or zeros at s 0 or z 1 the Matched Pole Zero method selects a discrete time gain such that the system gains match at these locations Alternatively if the systems have no poles or zeros at s p i T or z 1 where p is the location of a pole this method equalizes the gains at that frequency If the Matched Pole Zero method cannot match either of these gains the algorithm does not choose a gain Refer to Digital Control of Dynamic Systems for more information about the Matched Pole Zero method Converting Discrete Models to Continuous Models Use the CD Convert Discrete to Continuous VI to convert a discrete model to a continuous model This VI supports the following conversion methods Forward Rectangular Backward Rectangular Tustin s Prewarp Z Transform and Zero Order Hold This VI does not support the First Order Hold or Matched Pole Zero methods Refer to Table 3 1 for the equations for each mapping method
119. his equation u t is the input to the system and is not necessarily constant between sampling times and t T The following equation shows the Zero Order Hold method approximating the input to a constant value u t during the integration time t T x t T e47x t eT Bar u t t Conversely the following equation shows the First Order Hold method ramping the input values with a constant slope u t T u t T during integration time t T x T ext eT OB ut uta T MOI Gh t Refer to Digital Control of Dynamic Systems for more information about the Zero Order Hold and First Order Hold methods Z Transform Method The Z Transform method is defined such that the continuous and discrete impulse responses maintain major similarities You calculate the impulse response of the discrete transfer function by multiplying the inverse Laplace transform of the continuous transfer function by the sampling time T Refer to Discrete Time Control Systems for more information about the Z Transform method 1 Franklin Gene F J David Powell and Michael L Workman Digital Control of Dynamic Systems 3rd ed Menlo Park CA Addison Wesley Longman Inc 1998 2 Ogata Katsuhiko Discrete Time Control Systems 2nd ed Englewood Cliffs N J Prentice Hall 1995 Control Design Toolkit User Manual 3 12 ni com Chapter 3 Converting Models Matched Pole Zero Method The Matched Pole Zero method uses the following relations
120. hows two appended system models Ug Z 1 Uy Z4 e Modeli 72 gt 1 o e i e S 1 uj Zz _ gt e Vo Yo gt oe V4 y i _ gt E BE Model 2 2 i gt gt 1 e e e i 1 e Vk Yi e Figure 4 8 Appended Models For example consider the two tanks from the Creating a SIMO System in Series section of this chapter The following equations define the transfer functions of the tanks K K H s A H 8s K and Ky are the gains of their respective transfer functions Appending H s and H s results in the following appended matrix transfer function H H s 0 0 Ha s H t National Instruments Corporation 4 7 Control Design Toolkit User Manual Chapter 4 Connecting Models Figure 4 9 uses the block diagram from Figure 4 5 but replaces the Tanks input with H As in Figure 4 5 the two valves are connected in series with each other In Figure 4 9 however the two tanks now are appended to each other Figure 4 9 Appending the Two Tanks Connecting Models in Parallel A parallel connection creates a single model from two separate systems that share common inputs You also can use a parallel connection to add or subtract outputs of two subsystems and represent them as a single output Use the CD Parallel VI to connect systems in parallel For example consider the circuit system in Figure 4
121. i 3sllol lo 2 0 lo2 lo Because the CD Distribute Delay VI cannot fully distribute all the delays the transport delay matrix contains the residual delay information Control Design Toolkit User Manual 5 14 ni com Time Response Analysis 3 The time response of a dynamic system provides information about how the system responds to certain inputs You analyze the time response to determine the stability of the system and the performance of the controller Obtaining the time response of a system involves numerically integrating the system model in time The LabVIEW Control Design Toolkit provides VIs to help you find these time domain solutions You can use these Time Response VIs to analyze the response of a system to step and impulse inputs You can apply initial conditions to both of these responses You also can use the Time Response VIs to simulate the response of the system to an arbitrary input This chapter provides information about using the Control Design Toolkit to measure and analyze the time response of a system This chapter also provides information about solving the time domain equations and simulating arbitrary inputs Note Refer to the labview examples Control Design Getting Started Time Analysis 11b for example VIs that demonstrate the concepts explained in this chapter Calculating the Time Domain Solution The following equation represents the time domain solution for a continuous state space model t A A
122. ighting matrix relating the process noise vector w to the system outputs Refer to the Constructing State Space Models section of Chapter 2 Constructing Dynamic System Models for information about the A B C D x u and y variables Use the CD Construct Stochastic Model VI to construct a stochastic state space model Refer to the LabVIEW Help available by selecting Help Search the LabVIEW Help from the pull down menu for information about this VI Control Design Toolkit User Manual 16 2 ni com Chapter 16 Using Stochastic System Models Constructing Noise Models A noise model characterizes the first and second order statistical behavior of the noise vectors w and v You construct a noise model by specifying the expected mean and auto covariance of each noise vector You also can specify any cross covariance between the two vectors A noise model is of the following form Q E w w E w E w R Efy v E y E v N E w v Ef w E v Table 16 2 describes these variables Table 16 2 Dimensions and Names of Noise Model Variables Variable Dimension Name Q q x q matrix Auto covariance matrix of w R r x r matrix Auto covariance matrix of v N q x r matrix Cross covariance between w and v E w q x 1 vector Mean vector of w E v r x 1 vector Mean vector of v Use the CD Construct Noise Model VI to construct a noise model for a given stochastic state space model Re
123. igure 13 8 Standalone State Estimator The example uses the CD Initial Response VI to evaluate the effectiveness of the state estimator The State Trajectory Graph in Figure 13 9 shows the response of the actual and estimated states to the same set of initial conditions as in the Example System Included State Estimator section of this chapter Figure 13 9 State Trajectory of Standalone State Estimator Notice that a mismatch in the actual system and the model of the system greatly impacts the estimation of the second state After 20 seconds the state estimator still cannot track the actual state Therefore you must study the system and model mismatch to determine the effect of the mismatch on the state estimation National Instruments Corporation 13 13 Control Design Toolkit User Manual Defining State Space Controller Structures State controllers use state information to calculate the control action To define the structure of a state controller you need a model of the system and a controller gain matrix K You can calculate K using the CD Pole Placement VI the CD Ackermann VI or the CD Linear Quadratic Regulator VI Refer to Chapter 12 Designing State Space Controllers for information about these VIs You use K to define the structure of a controller You can design a controller structure to take various factors such as input noise or input disturbances into consideration The following sections provide information
124. ing between Continuous and Discrete Method of Approximation Continuous to Discrete Discrete to Continuous Forward Rectangular z 1 z gt l1 sT Method S T Backward Rectangular z l 1 Method A zT ERST National Instruments Corporation 3 5 Control Design Toolkit User Manual Chapter 3 Converting Models Table 3 1 Mapping Methods for Converting between Continuous and Discrete Continued Method of Approximation Continuous to Discrete Discrete to Continuous Tustin s Method z ustin s Metho 2 z 1 14 T z 1 2 z gt sT i242 2 Prewarp Method rp _ 22 1 z HT T z 1 1 sT 2an gt 1 2t T T w w In these equations T represents the sample time and w represents the prewarp frequency T is a modified sample time that the Prewarp method uses in converting between continuous and discrete models The following sections provide information about the methods that you can use to perform continuous to discrete conversions discrete to continuous conversions and discrete to discrete conversions Converting Continuous Models to Discrete Models To convert a continuous model to a discrete one first approximate the value of the derivative in the continuous equation over each change in time Then find the area of the geometric region having width dt and height equal to the derivative For example consider the following first order continuous differen
125. ing photocopying recording storing in an information retrieval system or translating in whole or in part without the prior written consent of National Instruments Corporation 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 license or other legal restriction Trademarks National Instruments NI ni com and LabVIEW are trademarks of National Instruments Corporation Refer to the Terms of Use section on ni com legal for more information about National Instruments trademarks MATLAB is a registered trademark of The MathWorks Inc Further other product and company names mentioned herein are trademarks registered trademarks or trade names of their respective companies Members of the National Instruments Alliance Partner Program are business entities independent from National Instruments and have no agency partnership or joint venture relationship with National Instruments Patents For patents covering National Instruments products refer to the appropriate location Help Patents in your software the patents txt file on your CD or ni com patents You are only permitted to use this product in
126. ing to the current position of the spring You can represent this spring mass damper system with the following state space model 0 x Ax Bu p xt 1 m m y Cx Du i olx o w x For this example consider the following values fo malje ten cm cm The following equations define the state space model x 0 x 0 u 0 5 0 1 0 01 y 1 o x o v x National Instruments Corporation 6 3 Control Design Toolkit User Manual Chapter 6 Time Response Analysis The following sections show how this system responds to different inputs Analyzing a Step Response The step response of a dynamic system measures how the dynamic system responds to a step input signal The following equations define a unit step input signal u t 0 when t lt 0 u t 1 when t 0 The Control Design Toolkit contains two VIs to help you measure the step response of a system and then analyze that response The CD Step Response VI returns a graph of the step response The CD Parametric Time Response VI returns the following response data that helps you analyze the step response Rise time t The time required for the dynamic system response to rise from a lower threshold to an upper threshold The default values are 10 for the lower threshold and 90 for the upper threshold Maximum overshoot M The dynamic system response value that most exceeds unity expressed as a percent Peak time t The time required
127. ions Because designing a perfectly accurate model is impossible you must design a controller that accounts for these inaccuracies A robust controller is one that functions as expected despite some differences between the dynamic system and the model of the dynamic system A controller that is not robust might fail when such differences are present The more accurate a model is the more complex the mathematical relationship between inputs and outputs At times however increasing the complexity of the model does not provide any more benefits For example if you want to control the interacting forces and friction of a mechanical dynamic system you might not need to include the thermodynamic effects of the system These effects are complicated features of the system that do not affect the friction enough to impact the robustness of the controller A model that incorporates these effects can become unnecessarily complicated Control Design Toolkit User Manual 2 2 ni com Chapter 2 Constructing Dynamic System Models Model Representation Model Types You can represent a dynamic system using several types of dynamic system models You also can represent each type of dynamic system model using three different forms The following sections provide information about the different types and forms of dynamic system models that you can construct with the Control Design Toolkit You base the type of dynamic system model on the properties of
128. kit includes the following three functions you use to define a controller model e Discrete Transfer Function e Discrete State Space e Discrete Zero Pole Gain You use these functions to deploy a controller model on an RT target You also can use these functions to perform an offline simulation that does not involve an RT target Refer to the LabVIEW Help for information about these functions You can define a controller model interactively programmatically or by using the Control Design Assistant The following sections use the Discrete Transfer Function function to provide information about each of these methods Defining a Controller Model Interactively Place the Discrete Transfer Function function on the block diagram and double click the function icon to launch the Discrete Transfer Function Configuration dialog box After you launch this dialog box complete the following steps to define the controller model 1 Specify whether the model is single input single output SISO or multiple input multiple output MIMO by selecting the appropriate option from the Polymorphic instance pull down list 2 Select the Transfer Function parameter from the Parameters listbox The Parameter Information section updates to show the configuration options for the model 3 Select Configuration Dialog Box from the Parameter source pull down list 4 Ifthe model is MIMO define the dimensions of the model using the Inputs and Outputs text bo
129. ks for more information about control design theory Modern Control Systems Feedback Control of Dynamic Systems Digital Control of Dynamic Systems Control Systems Engineering and Modern Control Engineering Conventions 3 bold italic The following conventions appear in this manual The symbol leads you through nested menu items and dialog box options to a final action The sequence File Page Setup Options directs you to pull down the File menu select the Page Setup item and select Options from the last dialog box This icon denotes a note which alerts you to important information Bold text denotes items that you must select or click in the software such as menu items and dialog box options Bold text also denotes parameter names Italic text denotes variables emphasis a cross reference or an introduction to a key concept Italic text also denotes text that is a placeholder for a word or value that you must supply 1 Dorf Richard C and Robert H Bishop Modern Control Systems 9th ed Upper Saddle River NJ Prentice Hall 2001 2 Franklin Gene F J David Powell and Abbas Emami Naeini Feedback Control of Dynamic Systems 4th ed Upper Saddle River NJ Prentice Hall 2002 3 Franklin Gene F J David Powell and Michael L Workman Digital Control of Dynamic Systems 3rd ed Menlo Park CA Addison Wesley Longman Inc 1998 4 Nise Norman S Control Systems Engineering 3rd ed New
130. l Design Toolkit User Manual 9 2 ni com Chapter 9 Analyzing State Space Characteristics This matrix is row rank deficient for n gt 1 The null eigenvalue represents an uncontrollable mode of the system From the definition of a controllable system you can conclude that to place the system states at zero at any time t gt 0 indicates that you can place all system poles anywhere to make the closed loop response reach zero at time t as quickly as possible When you can adjust all system poles locations to a point you want you can calculate a full state feedback controller gain K to arbitrarily place the eigenvalues of the closed loop system A A BK Conversely the eigenvalues associated with modes that are not controllable cannot be adjusted regardless of the value you choose for K Stabilizability is related to controllability A system is stabilizable if all the unstable eigenvalues are controllable Controllability implies stabilizability but stabilizability does not imply controllability Use the CD Controllability Matrix VI to calculate the controllability matrix of the model and determine if the system is controllable and or stabilizable Use the CD Controllability Staircase VI to transform a state space model into a model that you can use to identify controllable states in the system You also can use the CD Controllability Staircase VI to inspect the A and B matrices of the transformed model to determine the controllable sta
131. lation vi ete gzzzzzz elo Eymbolic B 2 4 Symbolic Build Array inear Simulation Graph Square Wave Input mee f a paremana z f Symbolic C 2 f samples Transpose 2D Arra amplitude Xi Xi Bu Eymbolic D 2 Telia j gt Build Arra f oas fps p Figure 6 10 Linear Simulation Block Diagram of the Spring Mass Damper System Using a Square Wave Input Notice that the CD Linear Simulation VI converts the continuous state space model to a discrete model using the Zero Order Hold method This conversion uses a Delta t input of approximately 0 3 This block diagram bundles the state space model and the square wave as the input to the Linear Simulation Graph Figure 6 11 shows the Linear Simulation Graph resulting from this block diagram Displacement cm 1 1 1 1 1 1 1 0 25 50 a 100 i125 150 175 Time s Figure 6 11 Linear Simulation Graph of the Spring Mass Damper System Using a Square Wave Input The scale for the square wave input is on the right hand side of the graph whereas the scale for the linear simulation output is on the left hand side of the graph You can specify any input and use the CD Linear Simulation VI to observe how the system responds to that input National Instruments Corporation 6 11 Control Design Toolkit User Manual Chapter 6 Time Response Analysis Obtaining Time Response Data The Time Response VIs return time response data that contains inf
132. le Figure 16 5 Output and State Trajectories of the Discrete Stochastic State Space Model In Figure 16 5 notice the noise present in the graph of Output y k National Instruments Corporation 16 13 Control Design Toolkit User Manual Chapter 16 Using Stochastic System Models Implementing a Kalman Filter As defined in Table 16 3 the state in this example represents the current flowing through the RL circuit If this example were a real world circuit you could use an ammeter to measure the current flowing through the circuit However for the purposes of this example assume you do not have an ammeter or cannot connect an ammeter to the circuit In this situation you can use a Kalman filter to estimate the current given only the noisy voltage measurements Output y k that Figure 16 5 shows Figure 16 6 shows a LabVIEW block diagram that demonstrates a Kalman filter for this discrete stochastic state space model Corrected State Estimate xhat k k 7 amplitude v while Loop OBL T gt XScale Multiplier State x k nitialize Sine Wave PtByPt vi ia Input uk ma q initial State x 0 Initial State stimate xhat O 1 Initial Estimation Error Covariance P O 1 m H p crete Recursive Kalman Predictor vi Le Le ime Step s Wait Until Next ms Multiple bxhat k
133. location of these eigenvalues determines the stability of the system A continuous system is stable if all eigenvalues of A have negative real parts A discrete system is stable if these eigenvalues fall within the unit circle Determining Controllability and Stabilizability A system is controllable if all the states that describe the system respond to an input of the system that is you can influence the states of the system independently by adjusting the inputs A system is not controllable if the system contains states that remain unaffected by any input If a system is controllable there is an input that forces the system states or linear combination of states to go from any initial condition at t 0 to zero at any time gt 0 If a system is open loop unstable you can adjust the input to affect the response of the states You can confirm the controllability of a system by verifying that the controllability matrix Q shown in the following equation has full row rank or is nonsingular The state matrix A and the input matrix B determine the controllability properties of a state space model You use these matrices to calculate Q as shown in the following equation 1 Q B AB A B A system is controllable if Q has full row rank or is nonsingular For example if B is an n dimensional column vector that is colinear to an eigenvector of null eigenvalues of A you obtain the following matrix Q B 00 0 Contro
134. make the model order reduction process easier When you balance the state space model the Grammian matrices are diagonal and you avoid computing the eigenvalues Given a state space model complete the following steps to reduce the model order 1 Balance the state space model 2 Compute the Grammians 3 Remove stable states corresponding to small eigenvalues in proportion to the other eigenvalues of the Grammian matrix 4 Repeat steps 1 through 3 until the model is of the order you want Refer to the CDEx Model Reduction with Grammians VI located in the labview examples Control Design Model Reduction 11b for an example of this procedure Refer to the Analyzing Controllability and Observability Grammians section and the Balancing Systems section of Chapter 9 Analyzing State Space Characteristics for more information about computing controllability and observability Grammians and balancing a model Selecting and Removing an Input Output or State Manipulating the system representation involves ignoring certain inputs and outputs of a model such as those connected by a unit gain Ina state space model manipulating the system representation involves removing unwanted states from the description Use the CD Select IO from Model VI and the CD Remove IO from Model VI to reduce a model by directly removing inputs outputs or states Manipulating a model is useful for building new models from old ones and for quickly r
135. mining Stability is 2 ccsc scieseevessceestescsanesiensessahgaces saadbesvapessevessysssedecbepeaeasiecteces ss 9 2 Determining Controllability and Stabilizability 0 0 eeeeseceeeeeeeeeeeeees 9 2 Determining Observability and Detectability eee eee eeeeereeseeeseceeeeaeteeeeseesees 9 3 Analyzing Controllability and Observability Grammians cccececeeeseeeeeeeneeneees 9 4 Balancing Systems i iv 5 c6es0sci854 bo ieeds obec escapee aa eased bs Geseest igh sees RT 9 5 Chapter 10 Model Order Reduction Obtaining the Minimal Realization of Models eee eee ceeceseeeeeeeeeeseeeeeeseeeeeseeseees 10 1 Reducing the Order of Models 20 eee eeceseeseceeceeeeseeseeesesseceseeseeeaesesesecsesseeeaeenaes 10 2 Selecting and Removing an Input Output or State eee eeeeseeeeeeeeseeeeeeaeees 10 3 Chapter 11 Designing Classical Controllers The Root Locus Design Technique ceceesscescesseceseeeseecescecsneceaeessaeeeseeeseeeeaeeeneeeeaes 11 1 The Proportional Integral Derivative Controller Architecture 0 tees eeeeeseeeees 11 4 Chapter 12 Designing State Space Controllers Calculating Estimator and Controller Gain Matrices 0 eee eeeeeeeeeeseeseeeseeseeeseeseees 12 1 Pol Placement Technique sensere ernaar aaaea aaan laar a Ea S tiaan 12 2 Linear Quadratic Regulator Technique esesseseeeeeeeeeesesseseseserssrseeserssrssres 12 4 Kalman Gahnia i E a R O a aN 12 5 Continuous Mod lsiscreie siena a E i
136. more information about the different estimator configurations The Control Design Toolkit also includes the Discrete Recursive Kalman Filter function and the CD Continuous Recursive Kalman Filter function These functions implement Kalman filters for discrete and continuous models respectively These VIs also calculate the appropriate gain matrices internally However you can use these VIs only with stochastic state space models Refer to the Using a Kalman Filter to Estimate Model States section of Chapter 16 Using Stochastic System Models for more information about using a Kalman filter with stochastic state space models Control Design Toolkit User Manual 12 8 ni com Chapter 12 Designing State Space Controllers Linear Quadratic Gaussian Controller A linear quadratic Gaussian LQG controller utilizes the LQR technique to build the controller and the Kalman gain technique to filter out any system noise Use the CD Linear Quadratic Regulator VI and the CD Kalman Gain VI together with the CD State Space Controller VI to synthesize a LQG controller Using an arbitrary estimator with a design such as LQR might not result in the most optimal design of the controller If the estimator starts with the same initial condition as the unmeasured states x 0 x 0 and if the system satisfies a number of controllability and observability conditions the closed loop system with the observer based controller has the same response as the LQR desi
137. n it EXCEPT AS SPECIFIED HEREIN NATIONAL INSTRUMENTS MAKES NO WARRANTIES EXPRESS OR IMPLIED AND SPECIFICALLY DISCLAIMS ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE CUSTOMER S RIGHT TO RECOVER DAMAGES CAUSED BY FAULT OR NEGLIGENCE ON THE PART OF NATIONAL INSTRUMENTS SHALL BE LIMITED TO THE AMOUNT THERETOFORE PAID BY THE CUSTOMER NATIONAL INSTRUMENTS WILL NOT BE LIABLE FOR DAMAGES RESULTING FROM LOSS OF DATA PROFITS USE OF PRODUCTS OR INCIDENTAL OR CONSEQUENTIAL DAMAGES EVEN IF ADVISED OF THE POSSIBILITY THEREOF This limitation of the liability of National Instruments will apply regardless of the form of action whether in contract or tort including negligence Any action against National Instruments must be brought within one year after the cause of action accrues National Instruments shall not be liable for any delay in performance due to causes beyond its reasonable control The warranty provided herein does not cover damages defects malfunctions or service failures caused by owner s failure to follow the National Instruments installation operation or maintenance instructions owner s modification of the product owner s abuse misuse or negligent acts and power failure or surges fire flood accident actions of third parties or other events outside reasonable control Copyright Under the copyright laws this publication may not be reproduced or transmitted in any form electronic or mechanical includ
138. ncluded in the Simulation Module For example consider the following continuous state space model X t k Jeo ac 10 1 y t 1 ox This model has two states x1 and x2 Figure 15 6 shows a LabVIEW block diagram that implements a continuous observer for this model DBE ost Input Node Simulation Loo Output Node gt fro Error luce State Space Simulation Time Waveform Actual state x t ost gt i EE bserver Poles c06 ere Numeric Y Gain Type Observer Gain Current v initial states os ICD Construct State Space Model vi rire ae r ea wa Simulation Time Waveform 2 ICD Pole Placement vi initial state stimate xhat t0 ost KE gt CD Continuous Observer vi Ter Simulation Time Waveform 3 Slimated state xhat f fw E ixhat t Figure 15 6 Implementing a Continuous Observer for a State Space Model The example in Figure 15 6 uses the State Space function to calculate the actual states of this model At each time step this example compares the Actual state x t to the Estimated state xhat t The difference between these two values is the Error e t This example also uses the CD Pole Placement VI to calculate the observer gain L such that the Poles of the 1 Franklin Gene F J David Powell and A
139. nd B with more than one row and column respectively When you create a SIMO MISO or MIMO system ensure that the direct transmission matrix D has the appropriate dimensions If you leave D empty or unwired the Control Design Toolkit replaces the missing values with zeros National Instruments Corporation 2 17 Control Design Toolkit User Manual Chapter 2 Constructing Dynamic System Models Symbolic State Space Models You create symbolic state space models the same way you create a symbolic transfer function model Refer to the Symbolic Transfer Function Models section of this chapter for more information about creating a symbolic system model Obtaining Model Information Each Model Construction VI creates not only a data structure that defines the model but also a set of properties that provide information about the system These properties are common in all three model forms Table 2 3 lists the properties and their corresponding data types Table 2 3 Model Properties Property Data Type Description Model Name String Assigns a name to a specific model Input Names 1D array of strings The i element of the array defines the name of the i input to the model Output Names 1D array of strings The i element of the array defines the name of the i output of the model Input Delays 1D array of double precision The i element of the array defines the time fl
140. nd P respectively x System Included Configuration with Noise The system included configuration with noise incorporates noise r into the system included configuration The following equation defines the output estimator error y y C x x r By substituting the output estimator error in the general system configuration you obtain the following equations that describe the system included configuration with noise B L u B 0 r i AEE b a National Instruments Corporation 13 5 Control Design Toolkit User Manual Chapter 13 Defining State Estimator Structures Figure 13 2 represents the dynamic system that these equations describe ty V y System y x L Estimator y Figure 13 2 System Included State Estimator with Noise x The states inputs and outputs of the estimator are At H and P respectively ry J Standalone Configuration In the standalone configuration the system model detaches from the estimator The system outputs y become inputs to the estimator Unlike the system included and system included with noise configurations the standalone configuration does not account for output noise r The primary purpose of the standalone configuration is to implement the estimator on a real time RT target A secondary purpose of the standalone configuration is to perform offline simulation and analysis of the estimator Offline simulation and analysis are useful f
141. ndard deviation of 0 01 Figure 14 17 shows the response to these inputs State Trajectory Graph 900m xiModel 800m 700m 600m 3 500m 2 400m 300m x2Model xiSystem x2System 1 j 0 2 4 6 8 10 12 14 16 B Time s Figure 14 17 State Trajectory of System Included State Compensator with Noise Control Design Toolkit User Manual 14 24 ni com Chapter 14 Defining State Space Controller Structures Notice that the state compensator lacks integral action which originates the offsets on the state responses with respect to their respective setpoints Therefore the states do not reach the specified setpoints r 1 0 Example Standalone State Compensator with Estimator Most systems are complex and have many parameters and uncertainties You often do not know all the parameters of a system when you create a model of that system or you cannot create a model that encompasses all the uncertainties of the system Thus the actual system and the model of the system do not match When you build a state compensator based on a model that does not match the actual system the result is a system model mismatch In this situation you need to use the standalone configuration with estimator This configuration detaches the system from the model so you can determine the effect of the system model mismatch Consider the following state space model co 0 2 0 5 we Ole 0 1 0 2 1 y 1 ox ola
142. ned Control Design Toolkit User Manual Chapter 4 Connecting Models Both Feedback and Output Connections Defined If you specify connections in both Feedback Connections and in Output Connections you define all connections Based on the connections you specified in Output Connections the outputs specified for Model 1 are connected to the inputs specified for Model 2 You define whether the connection is positive or negative Based on the connections you specified in Feedback Connections the outputs specified for Model 2 are fed back to the inputs specified for Model 1 You also define whether the feedback connection is positive or negative Outputs of Model 2 not specified in Feedback Connections are removed from the resulting model Again because you specified connections using the Feedback Connections the CD Feedback VI ignores the Feedback Sign input In the resulting model shown in Figure 4 20 you can see how the CD Feedback VI creates a new reference input r for each feedback connection you specified Ug lo Up Yo Vo gt Vo Connections uy P Feedback Model 1 7 gt y o Output val A Connections gt Model 2 Figure 4 20 Two Models with Feedback and Output Connections Defined Control Design Toolkit User Manual 4 18 ni com Working with Delay Information 3 Delays in a system model account for the fact that the
143. ning the value of the magnitude and phase at critical values These values gain margin and phase margins are important because real life models and controllers are prone to uncertainties Low gain or phase margins indicate potential instability The following sections provide information about gain and phase margins Gain Margin The gain margin indicates how much you can increase the gain before the closed loop system becomes unstable This critical gain value which causes instability indicates the location of the closed loop poles of the system on the imaginary axis You often use this analysis on systems where G s consists of a gain K and a dynamic model H s in series For cases where increasing the gain leads to system instability the system is stable for a given value of K only if the magnitude of KH s is less than 0 dB at any frequency where the phase of KH s is 180 The Bode magnitude plot displays the gain margin as the number of decibels by which the gain exceeds zero when the phase equals 180 as shown in Figure 7 1 Phase Margin The phase margin represents the amount of delay that you can add to a system before the system becomes unstable Mathematically the phase margin is the amount by which the phase exceeds 180 when the gain is equal to 0 dB The phase margin also indicates how close a closed loop system is to instability A stable system must have a positive phase margin National Instruments
144. nstrate the concepts explained in this chapter Constructing Stochastic Models In addition to the state space matrices A B C and D stochastic models contain the following variables e Vectors w and v represent process noise and measurement noise respectively Process noise reflects errors introduced by the model you defined disturbances in the system states and actuator errors Measurement noise reflects sensor reading errors and disturbances directly affecting the sensor readings e Matrices G and H relate w to the states and outputs respectively National Instruments Corporation 16 1 Control Design Toolkit User Manual Chapter 16 Using Stochastic System Models The following equations define continuous and discrete stochastic state space models Continuous Stochastic State Space Model x t Ax t Bu t Gw t y t Cx t Du t Hw t v t Discrete Stochastic State Space Model x k 1 Ax k Bu k Gw k y k Cx k Du k Hw k v k Table 16 1 describes these variables Table 16 1 Dimensions and Names of Stochastic State Space Model Variables Variable Dimension Name q Length of process noise vector w r Number of outputs n Number of states w q x 1 vector Process noise vector v r x vector Measurement noise vector G n x q matrix Weighting matrix relating the process noise vector w to the system states H r x q matrix We
145. nt state controller configurations These examples are state compensators You can define a state regulator or state regulator with integral action by selecting the Regulator or Regulator with Integral Action instance of the CD State Space Controller VI respectively The examples in these sections use the CD Ackermann VI to calculate the controller gain matrix K You also can calculate K using the CD Pole Placement VI or the CD Linear Quadratic Regulator VI National Instruments Corporation 14 21 Control Design Toolkit User Manual Chapter 14 Defining State Space Controller Structures Example System Included State Compensator In theory you cannot always directly measure the system states for control purposes Therefore you must synthesize a controller using the system outputs To calculate the control action based on the estimated states the estimator needs to approach the actual states faster than the controller Therefore you can calculate an estimator gain matrix such that A LC has eigenvalues at 5 5 which is farther to the left of the origin than the poles of the controller located at 1 1 The system included configuration takes both the estimator gain matrix L and the controller gain matrix K and uses them to synthesize a state compensator Figure 14 14 shows the implementation of a state compensator using the system included configuration Observer Gain Current v ICD Ackermann vi
146. oating point numeric values delay of the i input of the model Output Delays 1D array of double precision The i element of the array defines the time floating point numeric values delay of the i output of the model Transport Delay 1D array of double precision The ij element of the array defines the time floating point numeric values delay between the i output and j input of the model Notes String A string for storing additional data The string can contain comments or other information that you want to store with the model Control Design Toolkit User Manual 2 18 ni com Chapter 2 Constructing Dynamic System Models Table 2 3 Model Properties Continued Property Data Type Description Sampling Time Double precision floating point numeric value Represents the sampling time in seconds of the system If a model represents a continuous system the value of Sampling Time is zero For discrete system models the value must be greater than zero State Names Array of strings The i element of the array defines the name of the i state of the model This property is available with state space models only You can use these data structures with every VI in the Control Design Toolkit that accepts a system model as an input 3 Note Delay information exists in the model properties and not in the mathematical model Any analysis such as time or frequency
147. odel vi a ee Ho ae j 4 Symbolic E v Symbolic C ymbolic Etv TE m j E Ho Symbolic om zo Symbolic G mo E cC E Bo Ho Symbolic H E Symbolic N i Ta ma a a a a T a 1E 6 Figure 16 2 Constructing the Stochastic State Space Model and a Noise Model for the Noisy RL Circuit Example Control Design Toolkit User Manual 16 10 ni com Chapter 16 Using Stochastic System Models Converting the Model Before you can simulate this stochastic model using the Control Design Toolkit you must discretize the stochastic model and the associated noise model Use the CD Convert Continuous Stochastic to Discrete to discretize these models Figure 16 3 shows a LabVIEW block diagram that discretizes both models using a Sampling Time s of 0 000001 a Symbolic A CD Construct Stochastic Model vi Ho NN i 2 onvert Continuous Stochastic to Discrete vi RO p ICD Ci t Conti Stochastic to Di t cIOTH Symbolic B a Symbolic Y m N b i Symbolic Ei et Construct Noise Model vi i i Symbolic C Zo i Hf z ia a A H Ro Faen H Discrete Stochastic Bo Symbolic E v bie H State Space Model Symbolic D Fo Symbolic Y i Ao i Method E c0 Numerical Integration Y f Discrete Second Order Btatistics Noise Model Symbolic G ee Ao Ho Symbolic H a Ho Figure 16 3 Discretizing the Stochastic State Space Model and the Noise Model The
148. of the Kalman filter The Kalman filter estimates the accuracy of the updated states by calculating the steady state covariance of the updated estimation error The following equations define this covariance matrix Z and the updated estimation error e klk Z lim E e k k e k k e k k x k x k k You calculate the innovation gain matrix M that minimizes Z Use the CD Kalman Gain VI to calculate the value of M for a given model affected by noise Predicted State Estimate The discrete Kalman filter also predicts states at time k 1 given all measurements up to and including time k The following equation defines defines the predicted state estimate x k 1 k Ax k k 1 Bx k k 1 L y k y 4 y k Cx k k 1 Du k In these equations L is the Kalman prediction gain matrix of the Kalman filter The Kalman filter estimates the accuracy of the updated states by calculating the steady state covariance of the predicted estimation error The following equations define this covariance matrix P and the predicted estimation error e k 11k P lim E e k 1Jk e k 1 k e k 1 k x k x k 1 k You calculate the Kalman prediction gain L that minimizes P Use the CD Kalman Gain VI to calculate the value of L for a given model affected by noise Refer to the CD Kalman Gain topic of the LabVIEW Help for the equations this VI uses to calculate M Z L and P for continuous and discrete models National Instruments Corpo
149. ompensator National Instruments Corporation 14 3 Control Design Toolkit User Manual Chapter 14 Defining State Space Controller Structures System Included Configuration In the system included configuration the following equation defines the output error y y C x x By substituting the output error in the general system configuration and removing the sensor noise r from the system you obtain the following equations that describe the system included configuration 4 BK Lc Lc x BK k BK A x BK K ola TK C_DK 0 ac DK ry pK c pK Mm Soe The reference vector r has as many elements as the number of states Also this configuration calculates the control action u internally and then gives u as an output of the state compensator Figure 14 1 represents the dynamic system that these equations describe gt amp Controller System Estimator x gt lt gt x lt Figure 14 1 System Included State Compensator A u The states inputs and outputs of the state compensator are al r and y 5 x tively respectively y Control Design Toolkit User Manual 14 4 ni com National Instruments Corporation 14 5 Chapter 14 Defining State Space Controller Structures System Included Configuration with Noise The system included configuration with noise incorporates noise r into the system included con
150. on and zero pole gain models do not specify state information 3 Note Observers do not take noise into account when estimating system states If there is noise present in the system that is if the system is stochastic you use an estimator instead of an observer A Kalman filter is one type of estimator Refer to Chapter 16 Using Stochastic System Models for more information about stochastic systems and Kalman filters The LabVIEW Control Design Toolkit includes two types of observers for discrete models Predictive observers use only information from the previous time step to estimate state information Current observers use not only information from the previous time step but also information from the current time step This additional information improves the accuracy of current observers Use a current observer only when the extra computation time does not interfere with the next sampling time The Control Design Toolkit also includes an observer for continuous models However estimating state information of continuous models requires solving a differential equation over time Therefore you must install the LabVIEW Simulation Module to implement a continuous observer ays Note The examples in this chapter compare actual model states with the estimated states These comparisons are for example purposes only because in real world control systems you rarely have all state information However if you are able to measure all state informa
151. on does not include the original system This configuration considers the system output y as another input to the estimator Figure 14 7 represents the dynamic system that these equations describe ry Yo y Controller gt gt gt y a Estimator Figure 14 7 Standalone State Regulator with Estimator The states inputs and outputs of the state regulator are x and H Y respectively Y y National Instruments Corporation 14 11 Control Design Toolkit User Manual Chapter 14 Defining State Space Controller Structures Standalone Configuration without Estimator The standalone configuration without estimator uses states to calculate of the control action u As such you do not need an estimator In the CD State Space Controller VI do not wire a value to the Estimator Gain L input to exclude the estimator in the standalone state regulator The following equations describe the standalone configuration x A BK x Br y C DK x Dr The states and outputs of the standalone state regulator without estimator correspond to the states and outputs of the actual system Figure 14 8 represents the dynamic system that these equations describe fu u Y __Y y m Controller gt System x Figure 14 8 Standalone State Regulator without Estimator The states inputs and outputs of the state regulator are x r and H respec
152. onal Instruments Corporation 11 3 Control Design Toolkit User Manual Chapter 11 Designing Classical Controllers The Proportional Integral Derivative Controller Architecture The PID controller also known as the three term controller is the most widely used controller architecture PID controllers compare the output against the reference input and initiate the appropriate corrective action PID controllers combine proportional P integral J and derivative D compensation Use the CD Construct PID Model VI to construct a PID controller The following equation defines control action for a general PID controller t u t Kl e t fee Jdt 1 0 Sn In this equation K is the gain ty is the derivative time constant and 1 is the integral time constant The following equation defines the error elt R t BY In this equation R t is the reference input and B is the output Because the control action is a function of the error the following equation defines the transfer function for the PID controller Us 1 E s K 1 F tas This transfer function is improper which means the transfer function has more zeros than poles You cannot physically realize an improper transfer function You can place a pole at 1 atq to make the transfer function proper a is a small number typically between 0 05 and 0 2 such that the pole has negligible effect on the system dynamics Control Design Toolkit User Manual
153. ons Second when you incorporate the delay into the polynomial function the controller structure analysis operations and synthesis operations account for the delay 3 Note The CD Convert Delay with Pade Approximation VI converts a state space model to a transfer function model before incorporating the delay information This VI then converts the resulting model back to a state space model As a result the final states of the model might not directly correspond to the original states Refer Chapter 3 Converting Models for more information about converting between model forms For example consider a continuous SISO system with an input delay of 25 seconds The delay factor in this system is e gt so the following equation represents the system Y s AO 2506 Figure 5 2 shows the step response of this system 40 eal 30 2 2 2 Z 20 ob 10 1 1 1 1 1 1 0 25 50 75 100 125 150 175 Time s Figure 5 2 Step Response with a 25 Second Delay National Instruments Corporation 5 5 Control Design Toolkit User Manual Chapter 5 Working with Delay Information You can see that incorporating ess into the input of H s delays the step response of H s by 25 seconds Refer to the Analyzing a Step Response section of Chapter 6 Time Response Analysis for information about a step response You can use the Polynomial Order input of the CD Convert Delay with Pade Approximation VI to affect the accuracy of t
154. or testing the estimator with mismatched models and systems Mismatched models and systems have a calculated estimator gain that applies to a model with uncertainties The following equations describe the standalone configuration x A LO x B LD L H J y Cx po H J This configuration does not include the original system This configuration does not generate the system output internally but considers the output as Control Design Toolkit User Manual 13 6 ni com Chapter 13 Defining State Estimator Structures another input to the estimator Figure 13 3 represents the dynamic system that these equations describe gt j u Estimator gt gt gt x Figure 13 3 Standalone State Estimator The states inputs and outputs of the estimator are x gt 4 and y respectively J Example System Configurations The following equations define an example second order SISO state space model with poles at 0 2 and 0 1 teak lh y 1 olx ole You can implement a full state estimator for this system because this system is observable To implement a state estimator for this system you must calculate the estimator gain matrix L for the model of the system Use the CD Ackermann VI to calculate L by placing the poles of the matrix A LC at 1 1 This location is to the left of the original pole location in the complex plane You can use this estimator gain matrix L along with the CD State Estimato
155. orking with Delay Information Figure 5 5 shows the resulting transfer function model The CD Convert Delay to Poles at Origin VI accounted for the input delay by increasing the number of poles at the origin in the model Accordingly the Transfer Function Converted Model has a larger order denominator than the Transfer Function Model In Delay not in Model a f _ oom f Figure 5 5 Additional Poles Accounting for the Input Delay The Transfer Function Converted Model expresses the additional poles at the origin with two additional zeros in the denominator Representing Delay Information To illustrate how the Control Design Toolkit represents delay in a system model consider the following MIMO transfer function equation where U is the input transfer function matrix and Y is the output transfer function matrix H U Control Design Toolkit User Manual 5 8 ni com Chapter 5 Working with Delay Information The following equations define this MIMO transfer function Y Ay Ay U Y The following equations define the transport delay matrix T4 the input delay vector I4 and the output delay vector O4 Refer to the Delay Information in Continuous System Models section of this chapter for the definition of the continuous delay factor e Sty Sty e _ e e T Ia 0 Sty Stn es Sty e e To incorporate this delay information into H compute the product of the transfer function input an
156. orm is observable Control Design Toolkit User Manual 9 4 ni com Chapter 9 Analyzing State Space Characteristics Use the CD Grammians VI to calculate the controllability and observability Grammians of a state space model for a stable system Balancing Systems A system is balanced if the controllability and observability diagonal Grammians of that system are identical A balanced model simplifies the analysis and use of model order reduction Refer to Chapter 10 Model Order Reduction for more information about model order reduction In model order reduction balancing highlights the relative importance of the state to the input output performance of the system Balancing consists of finding a similarity transformation from the original model to generate a state space representation Use the CD Balance State Space Model Diagonal VI and the CD Balance State Space Model Grammians VI to balance a state space system If you use the CD Balance State Space Model Grammians VI the Balanced Model output of this VI has equal and diagonal controllability and observability Grammians To use this VI the system must be stable controllable and observable If you use the CD Balance State Space Model Diagonal VI the balanced state space model has an even eigenvalue spread for the state matrix A or the composite matrix which contains the natural composition of A B and C National Instruments Corporation 9 5 Control Design Toolkit
157. ormation about the time response of all input output pairs in the model Use the CD Time Response VI to access this information for a specified input output pair a list of input output pairs or all input output pairs of the system The CD Time Response VI uses the Time Response Data input which contains the time response information for all the input output pairs of a system model If the system model is in state space form you can use the Type of Response Data parameter to obtain the time response of the input state pair s as opposed to the input output pair s Because transfer function and zero pole gain models do not have states the time response data for an input state pair of these forms is an empty array Refer to the LabVIEW Help available by selecting Help Search the LabVIEW Help for more information about the CD Get Time Response Data VI Control Design Toolkit User Manual 6 12 ni com Frequency Response Analysis The frequency response of a dynamic system is the output of a system given unit amplitude zero phase sinusoidal inputs at varying frequencies You can use the frequency response of a system to locate poles and zeros of a system Using this information you then can design a controller to improve unwanted parts of the frequency response When applied to the system a sinusoidal input with unit amplitude zero phase and frequency produces the following sinusoidal output H iw Aloe A is the magnitu
158. ou click the Run button LabVIEW downloads the VI to the RT target and executes the following steps 1 Acquires a Sensor Measurement from a hardware sensor that measures the plant output 2 Subtracts the Sensor Measurement from a Reference Input you define 3 Applies the result of step 2 to the controller the Discrete Transfer Function function defines This example uses the CD Construct Lead Lag Controller VI to define the controller model programmatically The Discrete Transfer Function function returns the Controller Output 4 Sends the Controller Output to the hardware actuator Steps 1 through 4 repeat until you stop the VI Example State Compensator Code Figure 17 3 shows a LabVIEW block diagram that implements a state compensator Controller Output vi Controller Gain _v Figure 17 3 Implementing a State Compensator on an RT Target The example in Figure 17 3 uses the CD Construct State Space Model VI to construct a model of the system to be controlled The controller consists of the block diagram code inside the Timed Loop The control action is defined as u K xRef x where xRef is the reference input you specify x is the measured state information and K is the controller gain matrix Control Design Toolkit User Manual 17 6 ni com Chapter 17 Deploying a Controller to a Real Time Target This example assumes you can measure all state information If you cannot measure all state informa
159. output of the resulting series model Similarly because zz connects to vo Z2 is no longer an output of the resulting series model National Instruments Corporation 4 5 Control Design Toolkit User Manual Chapter 4 Connecting Models This same principle applies to the inputs of Model 2 Inputs of Model 2 that are connected to an output of Model 1 no longer appear as inputs of the resulting series model Because the input vg of Model 2 is connected to the output of z2 of Model 1 neither vg nor zz appear in the resulting series model You define the connections between two models using the Connections control of the CD Series VI Figure 4 7 shows the settings this control used to connect the models in Figure 4 6 Connections Figure 4 7 Connection Definitions for Models in Series The control in Figure 4 7 indicates that the Model 1 output zp connects to the Model 2 inputs v and v You also can see how the Model 1 output z connects to the Model 2 input vp Appending Models You can append models together to compare the time or frequency response of two models in the same plot Use the CD Append VI to produce an augmented model from connections between two models This augmented model contains all inputs and outputs of both models With state space models states of the first model are combined with states of the second model Control Design Toolkit User Manual 4 6 ni com Chapter 4 Connecting Models Figure 4 8 s
160. ow the y output of Model 2 is subtracted from the zo output of Model 1 You also can see how the z3 output of Model 1 is added to the yp output of Model 2 You define addition and subtraction by specifying the output as a Positive or Negative connection In Figure 4 13 notice that any common inputs from the original models are replaced by a new input w in the resulting model Likewise any combined outputs of the original models are replaced by a new output x in the resulting model Placing Models in a Closed Loop Configuration Use the CD Feedback VI to place one or two models in a closed loop configuration The Feedback Connections and Output Connections parameters define the connections between the outputs of a model to the inputs of the same model or a second model If the models have an unequal number of inputs and outputs the CD Feedback VI establishes a number of connections equal to the smaller number of inputs or outputs The remaining inputs or outputs remain unmodified Control Design Toolkit User Manual 4 12 ni com Chapter 4 Connecting Models For example a model with m inputs and r outputs where m lt r has m number of reference inputs Similarly a model with m inputs and r outputs where m gt r has r number of reference inputs All original y outputs remain in the resulting model The following sections provide information about how the CD Feedback VI configures the closed loop feedback when you have
161. r is analog you also need an analog to digital converter ADC to convert the analog sensor measurement into a digital signal the controller hardware recognizes You can eliminate the need for a separate ADC by using a digital sensor such as a digital multimeter DMM The wire leading to the controller in Figure 17 1 represents block diagram code that acquires a sensor measurement The wire leading away from the controller represents block diagram code that sends the controller output to the actuator Depending on the hardware installed in the RT target these wires represent different code For example if the RT target is using National Instruments DAQ devices these wires represent NI DAQmx code 3 Note National Instruments provides hardware and software to test and implement controllers actuators analog sensors DMMs DACs and ADCs Refer to ni com for information about these products To deploy a controller on an RT target you must define the controller model and then write the block diagram code that implements that controller model on an RT target This chapter provides information about both of these steps Control Design Toolkit User Manual 17 2 ni com Chapter 17 Deploying a Controller to a Real Time Target B Note Refer to the labview examples Control Design Getting Started Implementation 11b for example VIs that demonstrate the concepts explained in this chapter Defining Controller Models The Control Design Tool
162. r 12 Designing State Space Controllers for more information about using these VIs At the next time step k 6 the state estimate x 6 5 becomes the predicted state estimate x k k 1 The predictive observer uses this information to estimate the model states at time k 7 or x 7 6 Use the Predictive Observer function to implement a predictive observer For example consider the following discrete state space model x k 1 i Tkw y k 1 ox where T is a sampling time of 0 1 seconds Control Design Toolkit User Manual 15 2 ni com Chapter 15 Estimating Model States Figure 15 1 shows the LabVIEW front panel controls that define this state space model Figure 15 1 Defining the Discrete State Space Model This model has two states x1 and x2 Figure 15 2 shows a LabVIEW block diagram that implements a predictive observer for this model Predictive Observer BOE ed ray Figure 15 2 Implementing a Predictive Observer for the State Space Model 1 Franklin Gene F J David Powell and Michael L Workman Digital Control of Dynamic Systems 3rd ed Menlo Park CA Addison Wesley Longman Inc 1998 pp 292 93 National Instruments Corporation 15 3 Control Design Toolkit User Manual Chapter 15 Estimating Model States The example in Figure 15 2 uses the Discrete State Space function to calculate the actual states of this model At each time step this example compares the actual Stat
163. r 16 Using Stochastic System Models Constructing the System Model Constructing a model for this system involves defining the values of the A B C D G and H matrices To define these matrices you can write equations that describe the system behavior and transform those equations into stochastic state space form After the equations are in this form you can derive the values of the necessary matrices Applying Kirchoff s Voltage Law to the example in Figure 16 1 yields the following equations that represent the system input and output v t Ri t n t Vo a t Ri t n t e t To obtain the values of the state space matrices transform these equations into the stochastic state space equations defined as the following X t Ax t Bu t Gw t y t Cx t Du t Hw t v t You can transform these equations by substituting equivalent terms and then rearranging those terms Table 16 3 shows the equivalent terms in both sets of equations Table 16 3 Equivalent Terms Variable Represents Equivalent Term i t State vector x t v t Input vector u t Von t Output vector y t n t Process noise vector w t e t Measurement noise vector v t Substituting variables with equivalent terms yields the following equations u t Rx t Lx t w t y t Rx t w t v t Control Design Toolkit User Manual 16 8 ni com Chapter 16 Using Stochastic System Models Rea
164. r VI to study the performance of the estimator 3 Note Use the CD Observability Matrix VI to verify that this system is observable Use the CD Pole Zero Map VI to determine the initial location of the system poles The following sections use this example system model to illustrate the different state estimator configurations The examples in these sections use the CD Ackermann VI to calculate the estimator gain matrix L You also can calculate L using the CD Pole Placement VI or the CD Kalman Gain VI National Instruments Corporation 13 7 Control Design Toolkit User Manual Chapter 13 Defining State Estimator Structures Example System Included State Estimator Figure 13 4 shown below uses the CD Ackermann VI to determine the estimator gain matrix L of the second order SISO State Space Model You then use L with the CD State Estimator VI to create the state estimator represented by the Estimator Model for the system en Configuration es tof oe i p wE stimator Model anon A m a s m Poles Placement TE f oe Map vi Boles in Estimator Model tos z mm FU JE itoe Single Output v Output Observer Gain Current ime Info Gtate Trajectory Graph mC Wl eames ei gt fal P Ic e Figure 13 4 System Included State Estimator nye Note You can study the performance of the state estimator with the CD Initial Response VI This configuration creates an Estimator Model that represents the origin
165. ration 12 7 Control Design Toolkit User Manual Chapter 12 Designing State Space Controllers Discretized Kalman Gain If you wire a continuous model to the CD Kalman Gain VI the VI returns a continuous version of L If you wire a discrete model to the CD Kalman Gain VI the VI returns discrete versions of L and M You also can configure the this VI to calculate discrete versions of L and M for a continuous model To calculate these discretized gain matrices select one of the Discretized Kalman Gain instances of the CD Kalman Gain VI These instances automatically convert a continuous model to a discrete model before calculating L and M This VI first discretizes the A B C and D matrices using the Zero Order Hold method This VI then calculates the discrete equivalents of the Q R and N matrices using the numerical integration method proposed by Van Loan You specify the Sampling Time s this VI uses for both conversions Refer to the Zero Order Hold and First Order Hold Methods section of Chapter 3 Converting Models for information about the Zero Order Hold conversion method Refer to the CD Kalman Gain topic of the LabVIEW Help for information about the numerical integration method proposed by Van Loan Defining Kalman Filters After you use the CD Kalman Gain VI to calculate L and or M you can use those values with the CD State Estimator VI to define a Kalman filter Refer to Chapter 13 Defining State Estimator Structures for
166. rd deviation in the Estimator Model 2 lt Configuration System Included with Noise v ptate Space Model CD State Estimator vi stimator Model CD Linear Simulation vi State Trajectory Grap Observer Gain Current standard deviation Figure 13 6 System Included State Estimator with Noise The example in Figure 13 6 uses the state space model and the CD Ackermann VI to determine the estimator gain matrix L The CD State Estimator VI then uses the system included with noise configuration to Control Design Toolkit User Manual 13 10 ni com Chapter 13 Defining State Estimator Structures implement the state estimator represented by the Estimator Model Use the Gaussian White Noise VI to view the effects of Gaussian noise on the system and the state estimator ay Note The CD Linear Simulation VI provides the response to a Gaussian noise with the same initial conditions as in Figure 13 4 The State Trajectory Graph as shown in Figure 13 7 displays the response of the system and state estimator to the same initial conditions 0 0 2 1 used in the Example System Included State Estimator section of this chapter State Trajectory Graph 2 xlEstimated x2Estimated 2 x1System 3 15 x2System 2 amp 1 500m 0 0 Time s Figure 13 7 State Trajectory of System Included State Estimator with Noise Similar to the graph in
167. re at 1 1 Placing the poles of the estimator farther to the left than the controller poles makes the performance of the estimator faster than the controller National Instruments Corporation 14 23 Control Design Toolkit User Manual Chapter 14 Defining State Space Controller Structures Example System Included State Compensator with Noise In general the compensator accepts two inputs r and r The input ry represents state references The input r represents measurement noise and is available only in the system included configuration with noise Figure 14 16 shows the use of both types of inputs for the compensator f Observer Gain Current 7 CD Ackermann vi i Estimator Poles Ho System Included with Noise 7 ptate Space Model CD State Space Controller vi NERE e f ICD Ackermann vi Sinaia Doe a a H a BHE pee Gaussian White Noise vi CESS Controller Poles Figure 14 16 System Included State Compensator with Noise CD Linear Simulation vi E nf tate Trajectory Graph xx s 3 gt Controller Gain The system included configuration with noise analyzes the effect of output noise on the system This example has a total of three inputs to the compensator structure The first two inputs are setpoints to the controller given by r 1 0 The last input represents the output noise r which has ys a sta
168. resents the dynamic system that these equations describe ry y EE Controller System gt 7 x Figure 14 4 Standalone State Compensator without Estimator The states inputs and outputs of the state compensator are x r and ki respectively J National Instruments Corporation 14 7 Control Design Toolkit User Manual Chapter 14 State Regulator Defining State Space Controller Structures A general system configuration appends the original model states x to the estimation model states x to represent the state regulator with an estimator The following equations show this process _ 4 BK ol x BK A x K olr C_DK 0 N pK c PH B 0 I 0l r u IpDol D 0 LY Y Table 14 2 summarizes the different state regulator configurations and their corresponding states inputs and outputs Table 14 2 State Regulator Configuration Types Configuration Type States Inputs Outputs rq u System Included x r y x me LY Ae P u System Included with Noise x y x r y Standalone with Estimator x Tu a LY LY Standalone without Estimator x r u The following sections show how to define each configuration Control Design Toolkit User Manual ni com Chapter 14 Defining State Space Controller Structures System Included Configuration In the system included configuration the follo
169. ric positive semi definite matrix that penalizes the state vector x in the control objective R is a positive definite matrix usually symmetric that penalizes the input vector u in the control objective N is a matrix that penalizes the cross product between input and state vectors Combine the controller gain matrix K with the CD State Space Controller VI to define a controller structure for the system Refer to Chapter 14 Defining State Space Controller Structures for more information about defining a controller structure Kalman Gain The Kalman gain is the value of L that minimizes the covariance of estimation error for a given for a given continuous or discrete state space model affected by noise An estimator that uses the Kalman gain is called a Kalman filter Kalman filters estimate model states despite the presence of noise Use the CD Kalman Gain VI to calculate the optimal steady state value of L The following sections provide information about calculating the Kalman gain matrices to apply to continuous and discrete Kalman filters National Instruments Corporation 12 5 Control Design Toolkit User Manual Chapter 12 Designing State Space Controllers Continuous Models For continuous models the Kalman filter estimates the model states at time t The following equation defines the estimated state vector x t the Kalman filter calculates x t Ax t Bu t L y t y O y t Cx t Du t In these equation
170. rol Design Toolkit User Manual Chapter 11 Designing Classical Controllers For example consider a system with the following open loop transfer function 1 AO Ca ies 2e 43 If a simple proportional feedback controller controls this system the following equation describes the characteristic equation K Oe SI Eset a Figure 11 1 illustrates the root locus plot of this system Figure 11 1 Root Locus This graph shows the locations of the closed loop poles The pole locations are 1 2 and 3 You can use root locus design to synthesize a variety of different controller configurations including the following types Control Design Toolkit User Manual Lead compensator Lowers the rise time and decreases the transient overshoot Lag compensator Improves the steady state accuracy of the system Notch compensator Achieves stability in system with lightly damped flexible modes This compensator adds a zero near the resonance point of the flexible mode 11 2 ni com Chapter 11 Designing Classical Controllers e Proportional Integral Derivative PID controller Forms a controller using the most common architecture Refer to the The Proportional Integral Derivative Controller Architecture section of this chapter for more information about PID controllers The difference in these controller configurations is the form of the transfer function equations you use to synthesize the controller Different tran
171. rol Design Toolkit User Manual 5 2 ni com Chapter 5 Working with Delay Information MISO and multiple input multiple output MIMO system models have more than one input output pair and the delay might be different between each pair Conversely because single input single output SISO systems only have one input output pair the delay factor in a SISO system model always has the same value Refer to the Residual Delay Information section of this chapter for more information about systems that do not have a common delay factor Use the CD Convert Delay with Pade Approximation VI to incorporate delay information into continuous models Use the CD Convert Delay to Poles at Origin VI to incorporate delay information into discrete models If you incorporate the delays in the model using one of these VIs the Dynamic Characteristics VIs and the State Feedback Design VIs account for the delays in their results Refer to the LabVIEW Help available by selecting Help Search the LabVIEW Help for more information about which VIs account for delays The following sections provide information about using the Control Design Toolkit to incorporate delay into continuous and discrete system models Delay Information in Continuous System Models Mathematically incorporating delay into a continuous system model involves evaluating that model at units in the past where is the current time For example consider the continuous SISO system model A t
172. rranging the terms in the first equation yields the following equations x t x n Fu 1 5 0 0 y t Rx t w t v t From these equations you can obtain the following values of the state space matrices R 1 1 B G L L L A C Ill D 0 H 1 The next step is constructing the noise model associated with this stochastic model Constructing the Noise Model Because w t and v t are white these variables have a mean of zero and are temporally uncorrelated Therefore the auto covariance matrices Q t and R t are equivalent to the inverse Fourier transform of the respective spectral densities S and S Additionally E w t 0 and E v t 0 The following equations show the definition of the noise model E w t 0 E v t 0 O t F S 2kTR8 t R t F S s 8 t N t 0 where O f is the Dirac delta function N f is 0 because w f and v t are uncorrelated with each other National Instruments Corporation 16 9 Control Design Toolkit User Manual Chapter 16 Using Stochastic System Models Figure 16 2 shows a LabVIEW block diagram that constructs this noise model and the stochastic system model when R 1 KQ L 500 uH s 0 000001 and T 290 K a na struct Stochastic Model vi a State Space Model RIL E Dol a pa BHA J E nean mbolic mbolic E w gt Becond Order Statistics Noise Model out Symbolic ICD Construct Noise M
173. rs to design a controller This chapter provides information about using the LabVIEW Control Design Toolkit to implement the root locus design technique This chapter also describes the proportional integral derivative PID controller 3 Note Refer to the labview examples Control Design Getting Started Classical Control Design 11b for example VIs that demonstrate the concepts explained in this chapter The Root Locus Design Technique Root locus is a technique that shows how the roots of a system vary with respect to the gain K Taking into account a control objective you decide on the locations of the roots of the system From the locations of these roots you infer the optimal value of K You then can use the gain K to design a controller for a single input single output SISO system Use the CD Root Locus with Gain VI to apply the root locus technique to a system You can use the root locus technique to design SISO systems by analyzing the variation of closed loop pole positions for all possible changes in a controller variable The closed loop zeros of a system between any two points in the control system are a subset of the open loop zeros and poles of the feedback element The root locus plot depicts the path that the roots follow as you vary the gain You use this relationship to analyze the closed loop behavior in terms of the value of a variable in the feedback transfer function National Instruments Corporation 11 1 Cont
174. s L is the gain matrix of the Kalman filter The Kalman filter estimates the accuracy of the estimated states by calculating the steady state covariance of the estimation error The following equations define this covariance matrix P and the estimation error e t P lim E e t e t tao elt x t x t where E denotes the expected mean of the enclosed terms You calculate the Kalman gain L that minimizes P Use the CD Kalman Gain VI to calculate the value of L for a given model affected by noise If the noise affecting the model is Gaussian then L is the optimal gain If the noise affecting the model is not Gaussian L results in the optimal linear least square estimates Discrete Models For discrete models the Kalman filter not only estimates the current state vector at time k but also predicts the state vector at time k 1 The following sections describe the gain matrices you calculate in these situations Updated State Estimate The updated state estimate which is the current state estimate is given by x k k This notation translates as the estimated state vector at time k given all measurements up to and including k The following equation defines the updated state estimate for a discrete Kalman filter x k k x k k 1 M y k 9 k y k Cx k k 1 Du k Control Design Toolkit User Manual 12 6 ni com Chapter 12 Designing State Space Controllers In these equations M is the innovation gain matrix
175. s Note You cannot use the CD Current Observer Corrector VI without the CD Current Observer Predictor VI Consider an example at time step k 5 At this time step the CD Current Observer Corrector VI estimates x 5 5 using x 5 4 measured output y 5 estimated output y 5 and known input u 5 The following equations show this estimation X k k x 5 5 x 5 4 y 5 9 5 y 5 Cx 5 Du 5 In these equations the current observer applies the observer gain L to the difference between the measured output y k and the estimated output y k You can use the CD Ackermann VI or the CD Pole Placement VI to calculate L After estimating x 5 5 the CD Current Observer Corrector VI wires the Corrected State Estimate xhat klk output to the Corrected State Estimate xhat klk input of the CD Current Observer Predictor VI This VI uses u 5 to estimate the model states for the next time step x k 1 k or x 6 5 The following equation shows this estimation x 6 5 Ax 5 5 Bu 5 At the next time step k 6 the state estimate x 6 5 becomes x k k 1 The CD Current Observer Corrector VI observer corrects x 6 5 to become x 6 6 The CD Current Observer Predictor VI then uses x 6 6 information to estimate x 7 6 National Instruments Corporation 15 7 Control Design Toolkit User Manual Chapter 15 Estimating Model States Figure 15 5 shows the error graph of a current observer for the same model described in t
176. s defined as x k k This notation translates as the estimated state vector at time k given all measurements up to and including k Calculating the filtered state estimate involves applying a gain matrix M k to the difference between the measured output and the estimated output The CD Discrete Recursive Kalman Corrector VI calculates and returns the value of M k that minimizes the covariance of the estimation error This covariance is a matrix P klk The CD Discrete Recursive Kalman Predictor VI calculates the predicted state estimate x k 1 k Calculating the predicted state estimate involves applying a gain matrix L k to the difference between the measured output and the estimated output This VI calculates and returns the value of L k that minimizes the covariance of the prediction estimation error This covariance is a matrix P k 1Ik National Instruments Corporation 16 5 Control Design Toolkit User Manual Chapter 16 Using Stochastic System Models You can assist the Kalman filter by wiring a value to the Initial State Estimate xhat 0l 1 parameters of each VI These parameters specify the state values you think the stochastic model returns at the first time step k 0 Providing this function with initial state estimates helps this function converge on the true state values quicker than if you do not provide an initial estimate If you do not wire a value to this parameter this function sets all initial state values to z
177. sfer function models result in different dynamic characteristics of the controlled system For example consider a controller transfer function model D s defined by the form of the following equation S z S p D s K If z lt p this transfer function results in a lead compensator If z gt p this transfer function results in a lag compensator You typically place this lead compensator in series with the plant H s in the feed forward path Refer to the CDEx Interactive Root Locus VI located in the Labview examples Control Design Getting Started Dynamic Characteristic Analysis 11b for an example that demonstrates root locus analysis You also can use other frequency domain tools such as Bode Nyquist and Nichols plots to design a system These plots show the specific locations and shape of key points You examine these locations to iteratively modify the controller parameters to meet these specifications The number and nature of the controller parameters depends on the topology of the controller Refer to Feedback Control of Dynamic Systems and Modern Control Engineering for more information about the using the root locus technique to design controllers 1 Franklin Gene F J David Powell and Abbas Emami Naeini Feedback Control of Dynamic Systems 4th ed Upper Saddle River NJ Prentice Hall 2002 2 Ogata Katsuhiko Modern Control Engineering 4th ed Upper Saddle River NJ Prentice Hall 2001 Nati
178. sign a transfer function controller model and save the model as a 1ti file Then place the Discrete Transfer Function function on the block diagram Double click the function icon to launch the Discrete Transfer Function Configuration dialog box Click the Load Model button and select the 1ti file you saved previously The model definition updates accordingly Click the OK button to return to the block diagram Refer to the NI Express Workbench Help available by launching the Control Design Assistant and selecting Help Express Workbench Help and navigating to Step Reference Control Design Steps for more information about the Control Design Assistant Writing Controller Code The examples in this section use a Timed Loop to implement the feedback configuration Figure 17 1 shows This structure also ensures the controller code you write executes in real time Refer to the Timed Loop topic of the LabVIEW Help for information about configuring and executing a Timed Loop Control Design Toolkit User Manual 17 4 ni com Chapter 17 Deploying a Controller to a Real Time Target B Note Ifyou designed a continuous controller model you must convert that model to a discrete one before deploying that model to an RT target The sampling time you use in this conversion must equal the Period of the Timed Loop Refer to Chapter 3 Converting Models for more information about converting models The following sections show example transfer func
179. sing an estimator to reconstruct the states This configuration is useful for analyzing a closed loop system To select this configuration choose a standalone configuration but do not wire anything to the Estimator Gain L input of the CD State Space Controller VI 14 2 ni com 3 Chapter 14 Defining State Space Controller Structures Note Both the system included and system included with noise configurations automatically include an estimator The following sections show the implementation of all four configurations for all three controller types State Compensator A general system configuration appends the original model states x to the estimation model states x to represent the compensator with an estimator The following equations show this process A x x im Sos _ eee K 0 C DK 0 DK C x BK L r BK x BK 0 y 5 x r l pxo ian x y y K or 7 DK 0 Table 14 1 summarizes the different state compensator configurations and their corresponding states inputs and outputs Table 14 1 State Compensator Configurations Configuration Type States Inputs Outputs B u System Included 7 r y x Z LY r p J u System Included with Noise a y x ry ZZ 7 LY Standalone with Estimator x rx LY RA Standalone without Estimator x F 7 RA The following sections show how to define each configuration of a state c
180. sis Calculating the Time Domain Solution eee eeeeeeceeessecseeesecseeeseceeeseceenseeaeenaes 6 1 Spring Mass Damper Example 0 ce eeeecceseeecesecesceseeseeeseceeeeseeseeesecseeeseceeeaesneeeaeenaes 6 2 Analyzing aStep Response vcs sek ek igi inte wenn Literals 6 4 Analyzing an Impulse Response eee eceeseeseeseeeseeseesseesecesecseensesseseaeeseeeseeeenseeaees 6 7 Analyzing an Initial Response eeieeeeeeececeesecesececesecsecnsceseceeessecaeeaeesseeasenseeateaes 6 8 Analyzing a General Time Domain Simulation 0 0 eee eeceeseceeeneeeseeseeeeeeseenseeaes 6 10 Obtaining Time Response Data eee ec eeeeeeseeeeeeeeseeeseceeeeseeeeeaeceecesecseeesesseeeaeesees 6 12 Chapter 7 Frequency Response Analysis Bod Brequency Analysis akinena beveistevin Sesncth E EE 7 1 Gain Mareitesicicces eed a a E A Mid ot RA RA 7 3 Phase Marin ies ancona Secs ar raa a a A 7 3 Nichols Frequency Anal ysis cccccscessiccsccvescacascivus EE E E RE 7 4 Nyquist Stability A mally S18 eeii sedey dans EE E EES E EE ER EEE 7 5 Obtaining Frequency Response Data eee esseseeeseceeeeseeeesseeaecnsecseenseeseseeeeaeenaes 7 7 Chapter 8 Analyzing Dynamic Characteristics Determine Stability nnne aope E ve E E E A EE 8 1 Using the Root Locus Method i iiniiisisiieinniriisesnerinete iais iias 8 2 National Instruments Corporation vii Control Design Toolkit User Manual Contents Chapter 9 Analyzing State Space Characteristics Deter
181. specific performance criteria Simulating the Dynamic System The third phase of model based control design involves validating the controller design obtained in the previous phase You perform this validation by simulating the dynamic system For example simulating a jet engine saves time labor and money compared to building and testing an actual jet engine You can use the Control Design Toolkit to simulate linear time invariant systems The LabVIEW Simulation Module however provides a variety of different numerical integration schemes for simulating more elaborate systems such as nonlinear systems Use the Simulation Module to determine how a system responds to complex time varying inputs Deploying the Controller The fourth phase of model based control design involves deploying the controller to a real time RT target LabVIEW and the LabVIEW Real Time Module provide a common platform that you can use to implement the control system Refer to the National Instruments Web site at ni com for information about the National Instruments products mentioned in this section Overview of the Control Design Toolkit The Control Design Toolkit provides an interactive Control Design Assistant a library of VIs and a library of MathScript functions for designing a controller based on a model of a plant You can use both tools to complete the entire control design process from creating a model of the controller to synthesizing the con
182. stic System Models In either instance you test a controller model by wiring the output of the controller model to the Input u k input of the Discrete Stochastic State Space function You also can provide initial state information by wiring values to the Initial State x 0 input This function accepts changes to the stochastic model and the noise model as long as the dimensions of the A B C D G H Q R and N matrices remain the same Because of this functionality you can use the Discrete Stochastic State Space function to simulate the behavior of linear time variant LTV models Refer to the LabVIEW Help for more information about these functions Using a Kalman Filter to Estimate Model States In the real world controllers typically receive measurements that are corrupted by noise Also you typically do not or cannot measure all state values If you want to calculate state values the only information you have is these noisy measurements and the known inputs In this situation you can use a Kalman filter to estimate the state values given noisy sensor measurements Use the CD Discrete Recursive Kalman Corrector and CD Discrete Recursive Kalman Predictor VIs to implement a Kalman filter for a discrete stochastic state space model These VIs calculates the filtered state estimate using only known inputs and noisy measurements of the plant The CD Discrete Recursive Kalman Corrector VI returns the filtered state estimate which i
183. t SIMO system if you are defining the controller gain matrix K e A multiple input single output MISO system if you are defining the observer gain matrix L Use the CD Pole Placement VI in all other situations for example a multiple input multiple output MIMO system The computation of the gain for these systems is more complex and based on a Sylvester matrix equation Refer to the LabVIEW Control Design Toolkit Algorithm Reference manual for information about the Sylvester matrix equation Use the Gain Type parameter of the CD Ackermann VI and the CD Pole Placement VI to determine which kind of gain matrix these VIs return This section uses the controller gain matrix K as an example 3 Note The Control Design Toolkit refers to the pole placement technique as an observer because this technique does not estimate measurements given random noise This distinction does not affect the interaction between the CD Ackermann or CD Pole Placement VIs and other VIs Consider the following SISO state space system with u Kx as the control action x Ax Bu Cx Du Il Control Design Toolkit User Manual 12 2 ni com Chapter 12 Designing State Space Controllers Figure 12 1 shows how you apply the gain matrix K to a controller Figure 12 1 Using Kto Regulate the Input of a State Feedback System Given a specification of the closed loop pole locations 41 z An you can calculate the controller
184. t defines the transfer function model and contains additional information about the system such as the sampling time input or output delays and input and output names Refer to the Obtaining Model Information section of this chapter for information about other properties of transfer function models SISO Transfer Function Models Using the example in the RLC Circuit Example section of this chapter you can describe the voltage of the capacitor v using the following second order differential equation LCV RCV v v After taking the Laplace transform and rearranging terms you then can write the transfer function between the input voltage V and the capacitor voltage V using the following equation 1 Mis de 8 H s Vi s yee L LC You then can use H s to study the dynamic properties of the RLC circuit The following equation defines a continuous transfer function where R 20Q L 50 mH and C 10 uF 2x 10 A s Oe en ane s 4005 2 x 10 Figure 2 3 shows how you use the CD Construct Transfer Function Model VI to create this continuous transfer function model Numerator CD Construct Transfer Function Model vi ransfer Function Model Figure 2 3 Creating a Continuous Transfer Function Model National Instruments Corporation 2 7 Control Design Toolkit User Manual Chapter 2 Constructing Dynamic System Models The Numerator and Denominator inputs are arrays with zero based index
185. tates x and x are different because the Control Design Toolkit User Manual 13 2 ni com Chapter 13 Defining State Estimator Structures initial conditions of the system might differ from the model and because of the noise input r Without a noise input however the model states track the system states making the difference x x converge asymptotically to zero The following equation shows how the estimator gain L enhances the convergence of the error to zero x A R x LW 9 A LOe Lr Without the noise input the following equation defines the error convergence A LO e L is designed to place the poles of the matrix A LC in the specified complex plane location To include the estimator in the composed system model you append the original model states x to the estimated model states x The following equations show this process labs Sle Baba Given this general system configuration the following sections provide information about deriving the possible configurations of a state estimator se ko ae I Configuring State Estimators Use the Configuration parameter of the CD State Estimator VI to define the structure of an estimator using one of the following three configurations e System Included Appends the actual states of the system to the estimated states e System Included with Noise Incorporates noise r into the system included configuration e Standalone Defines
186. te Compensator without Estimator 14 27 Chapter 15 Estimating Model States Predictive OD SCEVER misanna a hese wean ae Be a a 15 2 Current Observers ninne i deck cevcevevys tebesatetan cacebos E sues gaducuees a a 15 6 COMLIMMOUS ODSELVEL nis cscs des ch sond a a Bee ea aden basco es veces a nae aea 15 8 National Instruments Corporation ix Control Design Toolkit User Manual Contents Chapter 16 Using Stochastic System Models Constructing Stochastic Models ei eeeeceeeeseeseesseesecseceaecseeeseceseeaeeeeseaeseeeeaeeseeeaees Constructing Noise Models sirsie ii Converting Stochastic Models eee eseeeeeseeseeeseeeceseeeeseeeseseeeeseeaees Converting between Continuous and Discrete Stochastic Models Converting between Stochastic and Deterministic Models Simulating Stochastic Models 0 cee eee eseeseeeseeseeeseeeceseeeeeseeseseeeeeeeaees Using a Kalman Filter to Estimate Model States 0 eee eeeeeeereeeeees Noisy RE Circuit Example eeehe ne a R E E Constructing the System Model eee eeeeeeeeeseeeeeseeeeeeseenes Constructing the Noise Model 0 0 eee eeeesecseeeseeeseeseeneeeneees Converting the Modeli maient e nR ARa Simulating The Model 00 eee eeeeecseceeeseeeeeeseesseeeeseeeaeeseeeas Implementing a Kalman Filter 0 0 eee eeeeeseeeneeeseecenreeseeeeeeeenees Chapter 17 Deploying a Controller to a Real Time Target Defining Controller Models 000 eeceeseeeeeseeeseeeeeseeseeesecseeeseesee
187. te Trajectory Graph shown in Figure 14 21 you can see the difference in the system response due to the effect of the compensator gain K By adding a state compensator to the actual system you create a closed loop model of the resulting system The actual system without a state compensator is an open loop system Figure 14 21 shows the response of the open loop and closed loop systems to initial conditions of 2 1 State Trajectory Graph x1Closed Loop x2Closed Loop x1Open Loop x2Open Loop v 2 E i a1 Time s Figure 14 21 State Trajectory for Standalone Compensator without Estimator Control Design Toolkit User Manual 14 28 ni com Chapter 14 Defining State Space Controller Structures Notice that despite the instability of the actual system the state compensator is able to drive the closed loop states toward zero Thus the addition of a state compensator to the actual system stabilizes the resulting system Because the standalone state compensator stabilizes the actual system you must use a state compensator with this system National Instruments Corporation 14 29 Control Design Toolkit User Manual Estimating Model States Observers estimate the states of state space system models by using the model information any known inputs and measured outputs Use an observer when you cannot measure one or more model states directly You can use observers only with state space models because transfer functi
188. te and develop control design applications in LabVIEW You can use these VIs to develop mathematical models of a dynamic system analyze the models to learn about their dynamic characteristics and create controllers to achieve specified dynamic characteristics You use these VIs to customize a LabVIEW block diagram to achieve specific goals You also can use other LabVIEW VIs and functions to enhance the functionality of the application Refer to the LabVIEW Help available by selecting Help Search the LabVIEW Help for information about the Control Design VIs Unlike creating a project with the Control Design Assistant creating a LabVIEW application using the Control Design VIs requires basic knowledge about programming in LabVIEW Refer to the LabVIEW User Manual and the Getting Started with LabVIEW manual for more information about the LabVIEW programming environment National Instruments Corporation 1 5 Control Design Toolkit User Manual Chapter 1 Introduction to Control Design Control Design MathScript Functions The Control Design Toolkit also includes numerous functions that extend the functionality of the LabVIEW MathScript window Use these functions to design and analyze controller models in a text based environment You generally can use the LabVIEW MathScript engine to execute scripts you have previously written using The MathWorks Inc MATLAB application software However the MathScript engine is not intended to support
189. tegrating these equations at the specified time steps You can define the time steps with the Delta t input The system model can be continuous or discrete but the CD Linear Simulation VI converts continuous models to discrete models using either the exponential Zero Order Hold or the First Order Hold method Refer to the Converting Continuous Models to Discrete Models section of Chapter 3 Converting Models for more information about these methods If this conversion is necessary you must specify Delta t which becomes the sampling time If no conversion is necessary Delta t must be equal to the sampling time of the output data u t B Note For accurate results use a sampling interval that is small enough to minimize the effects of converting a continuous system to a discrete one Select this sampling time based on the location of the poles of the system Refer to Chapter 8 Analyzing Dynamic Characteristics for more information about locating the poles of a system Also verify that the sampling interval matches the sampling time of the output data u f For example consider the system described in the Spring Mass Damper Example section of this chapter Figure 6 10 shows how you simulate the response of this system to a square wave input Control Design Toolkit User Manual 6 10 ni com Chapter 6 Time Response Analysis Delta t 0 283552 Symbolic 4 2 ICD Construct State Space Model vi ICD Linear Simu
190. tes Determining Observability and Detectability A system is observable if you can estimate each state of the system by looking only at the output response If you can determine the states at time fo by observing the output from time fp to t4 the system is observable Observability depends on the output matrix C and the state matrix A of the system You can check observability by verifying that the observability matrix O defined in the following equation is full column rank or is nonsingular for a SISO system National Instruments Corporation 9 3 Control Design Toolkit User Manual Chapter 9 Analyzing State Space Characteristics Use a state estimator to calculate the states of any observable system with acolumn deficient matrix C Refer to Chapter 13 Defining State Estimator Structures for information about state estimators Detectability is related to observability A system is detectable if all the unstable eigenvalues are observable Observability implies detectability but detectability does not imply observability Use the CD Observability Matrix VI to calculate the observability matrix of a model and determine if the system is observable and or detectable Use the CD Observability Staircase VI to transform a state space model into a model that you can use to identify observable states in the system Use the CD Observability Staircase VI to calculate the observability matrix of the transformed model You also can use the CD
191. the dynamic system on which the model represents The following sections provide information about the different types of models you can create with the Control Design Toolkit Linear versus Nonlinear Models Dynamic system models are either linear or nonlinear A linear model obeys the principle of superposition The following equations are true for linear models y1 f x Yo f x Y f x y Conversely nonlinear models do not obey the principle of superposition Nonlinear effects in real world systems include saturation dead zone friction backlash and quantization effects relays switches and rate limiters Many real world systems are nonlinear though you can linearize the model to simplify a design or analysis procedure You can use the LabVIEW Simulation Module to perform this linearization task The Control Design Toolkit supports linear models only Time Variant versus Time Invariant Models Dynamic system models are either time variant or time invariant The parameters of a time variant model change with time For example you can use a time variant model to describe an automobile As fuel burns the mass of the vehicle changes with time National Instruments Corporation 2 3 Control Design Toolkit User Manual Chapter 2 Constructing Dynamic System Models Model Forms Conversely the parameters of a time invariant model do not change with time For an example of a time invariant model consider a simple robot
192. the Example System Included State Estimator section of this chapter this State Trajectory Graph shows the response of the actual states starting at 2 and 1 The graph also shows the response of the estimated states starting at the origin Notice the effect of the output noise r on the state estimation Without noise the state estimator took approximately six seconds to begin tracking the actual system With noise the state estimator takes much longer to track the actual system and the state estimator cannot track the actual system perfectly You can place the estimator poles closer to the origin to reduce the effect of the noise However when you move the estimator poles closer to the origin on the left side of the complex plane you diminish the performance of the estimator in tracking the actual states National Instruments Corporation 13 11 Control Design Toolkit User Manual Chapter 13 Defining State Estimator Structures One solution is to use the Kalman gain function to obtain an estimator gain matrix that effectively tracks the system states with an acceptable level of noise rejection Refer to the Kalman Gain section of Chapter 12 Designing State Space Controllers for information about using the Kalman gain function to find an optimal solution to this state estimator problem Example Standalone State Estimator Most systems are complex and have many parameters and uncertainties You often do not know all the parameters of a
193. the following equation e s ae Gs Figure 5 1 shows the mathematical representation of transport input and output delay factors for a continuous system Lilui Us gt Hsjesta gt L V s Llu t ta Usesta gt H s gt Yis U s gt H s gt LIyt ta s esta L Laplace Transform Figure 5 1 Mathematical Representation of Transport Input and Output Delay for a Continuous System To accommodate the delay factor you can convert e from exponential form to a rational polynomial function You can perform this conversion using the Pad approximation method Use the CD Convert Delay with Pade Approximation VI to calculate a Pad approximation This VI incorporates the delay information of the input model into the Converted Model output model The delay becomes a part of the output Control Design Toolkit User Manual 5 4 ni com Chapter 5 Working with Delay Information model and thus is not in the model properties In the case of SIMO MISO and MIMO system models the CD Convert Delay with Pade Approximation VI calculates the total delay in all the input output pairs before incorporating the delay into the model This conversion process has several benefits First connecting models that contain all rational polynomial functions is less complicated than connecting models that contain a mixture of exponential factors and rational polynomial functi
194. tial equation yf Control Design Toolkit User Manual 3 6 ni com Chapter 3 Converting Models To convert this continuous model to a discrete model evaluate the derivative function f t at different points to approximate at time t Figure 3 1 illustrates the function f t between t and t T where T is the sampling time Figure 3 1 Discretizing a Differential Equation Integrating between time and T results in the following difference equation t T t T vat IET y far t Integrating f t for t t to t T represents the area under the curve The CD Convert Continuous to Discrete VI provides the following mathematical methods to approximate this area e Forward Rectangular e Backward Rectangular e Tusti s e Prewarp e Zero Order Hold e First Order Hold e Z Transform e Matched Pole Zero The following sections provide information about each of these methods National Instruments Corporation 3 7 Control Design Toolkit User Manual Chapter 3 Converting Models Forward Rectangular Method The Forward Rectangular method considers f t constant and equal to f t T along the integration range This consideration results in the following equation y t T y t t f t T T This method considers the incremental area term between sampling times t and T as a rectangle of width T and height equal to f t T as shown in Figure 3 2 Forward t T At
195. tial conditions of the estimated states are 0 0 The response of the estimated states therefore start at the origin The estimated states promptly begin to track the actual states as the response of the actual system settles to steady state This state estimator takes approximately six seconds to track the response of the system National Instruments Corporation 13 9 Control Design Toolkit User Manual Chapter 13 Defining State Estimator Structures Example System Included State Estimator with Noise In theory you can place the poles of the state estimator as far left of the complex plane as necessary This placement leads to very aggressive state estimators Noise and system uncertainties however prevent you from configuring such aggressive estimators To account for noise and system uncertainties you can implement a state estimator using the system included with noise configuration Consider the following system included with noise configuration hi B x _ A LCLC x x 0 A x j bdie ie y 0 C x I The configuration of this system is essentially the same as the system in the Example System Configurations section of this chapter The only addition is the measurement noise r Assume that the measurement noise in this example is a Gaussian noise in the system The output noise influences the estimated model dynamics through the estimator gain matrix L Figure 13 6 shows how to account for a Gaussian noise of 0 1 standa
196. tic VI to convert a stochastic state space model to a deterministic state space model This VI removes G and H from the stochastic model equations Use the CD Convert Deterministic to Stochastic VI to convert a deterministic state space model to a stochastic state space model When you execute this VI you specify matrices G and H This VI then incorporates G and H into the deterministic model equations Ss Note When using either of these VIs if the model you are converting is discrete the resulting model has the same sampling time Simulating Stochastic Models Before you deploy a controller to an RT target you can test that the controller performs as expected in the presence of noise To perform this test you can simulate the behavior of a stochastic system model Use the Discrete Stochastic State Space Internal function to simulate the behavior of a discrete stochastic state space model This function uses the Second Order Statistics Noise Model to generate values of w k and v k You also can use the Discrete Stochastic State Space External function If you use this function you wire values of w k and v k to the Process Noise w k and Measurement Noise v k inputs respectively In this situation you can use the CD Correlated Gaussian Random Noise VI to generate Gaussian distributed values of w k and v k that fit a statistical profile you specify Control Design Toolkit User Manual 16 4 ni com Chapter 16 Using Stocha
197. tion state space and zero pole gain controller code These examples also define and convert models in different ways The following sections also describe how to implement observers and Kalman filters on an RT target Example Transfer Function Controller Code Figure 17 2 shows a LabVIEW block diagram that implements a transfer function controller Input Node Output Node t Error i F p f x f Controller Output vi gt Discrete Transfer Function Lipe Gna O gt ee Ee R Method Figure 17 2 Implementing a Discrete Transfer Function Controller on an RT Target 3 Note In Figure 17 2 and throughout the following sections the Sensor Measurement subVI represents block diagram code that acquires a measurement from a hardware sensor The Controller Output subVI represents block diagram code that sends the controller output to the actuator The example in Figure 17 2 constructs a continuous transfer function model in the form of a phase lead controller This example then converts the model to a discrete one using the Zero Order Hold Method and implements that discrete controller model on an RT target Refer to Chapter 3 Converting Models for more information about the Zero Order Hold method National Instruments Corporation 17 5 Control Design Toolkit User Manual Chapter 17 Deploying a Controller to a Real Time Target When y
198. tion you can use a predictive or current observer to estimate state information Refer to the Example State Space Controller with Predictive Observer Code and Example State Space Controller with Current Observer Code sections of this chapter for information on implementing predictive and current observers Example SISO Zero Pole Gain Controller with Saturation Code Figure 17 4 shows a LabVIEW block diagram that implements a SISO zero pole gain controller and takes saturation into account Output Node Ker Enon Reference Input DELH SISO Sensor Measurement vi Figure 17 4 Implementing a Discrete Zero Pole Gain Controller on an RT Target The example in Figure 17 4 defines a SISO controller model interactively Notice that the model equation appears on the Discrete Zero Pole Gain function icon Also notice the In Range and Coerce function You can use this function to account for saturation effects in the dynamic system National Instruments Corporation 17 7 Control Design Toolkit User Manual Chapter 17 Deploying a Controller to a Real Time Target Example State Space Controller with Predictive Observer Code Figure 17 5 shows a LabVIEW block diagram that implements a state space controller that depends on estimated state information Observer Gain Predictive v controller Poles Controller Gain v h ICD Construct State Space Model vi be EF Pole Pla
199. tion you do not need an observer This chapter provides information about using predictive current and continuous observers National Instruments Corporation 15 1 Control Design Toolkit User Manual Chapter 15 Estimating Model States B Note Refer to the labview examples Control Design Getting Started Implementation 11b for example VIs that demonstrate the concepts explained in this chapter Predictive Observer At each time step k a predictive observer estimates the state information for the next time step or k 1I k This notation translates as the estimated states at time step k 1 given all measurements up to and including time step k Consider an example at time step k 5 At this time step the predictive observer estimates x k 1 k or x 6 5 Estimating this information requires x k k 1 or the current state estimate given all measurements up to and including time step k 1 which is x 5 4 The predictive observer also uses measured output y 5 estimated output y 5 and known input 5 The following equations show this estimation x k 1 k x 6 5 Ax 5 4 Bx 5 4 L y 5 5 y 5 Cx 5 4 Du 5 In these equations the predictive observer applies the observer gain L to the difference between the measured output y k and the estimated output y k You can use the CD Ackermann VI or the CD Pole Placement VI to calculate L Refer to the Pole Placement Technique section of Chapte
200. tion about classical and state space control design techniques The following sections discuss the Model Conversion VIs you can use to convert between model forms Converting Models to Transfer Function Models 3 Use the CD Convert to Transfer Function Model VI to convert a zero pole gain or state space model to a transfer function model This section uses a state space model as an example Note Because transfer function models do not include state information you lose the state vector x when you convert a state space model to a transfer function model Additionally the Control Design Toolkit might not be able to recover the same states if you convert the model back to state space form Consider the continuous state space model defined in the Constructing State Space Models section of Chapter 2 Constructing Dynamic System Models x Ax Bu y Cx Du For continuous systems you can use the Laplace transform to convert from the time domain to the Laplace domain model representation Note The equations in this section convert model forms within both the continuous and discrete domains Refer to the Converting between Continuous and Discrete Models section of this chapter for information about converting between continuous and discrete domains Applying the Laplace transform to the state space model results in the following equation Y s CUs A B D U s In this equation s is the Laplace variable and J is the iden
201. tity matrix with the same dimensions as A Control Design Toolkit User Manual 3 2 ni com Chapter 3 Converting Models The ratio between the output Y s and input U s defines the following matrix transfer function model H s Ys 1 ggj CUs 4 B D H s For example consider the following second order MISO state space system model x fl Alea Oy 0 l 01 y 1 o x o o u Using the Laplace transform you obtain the transfer function matrix H s 1 2 H s stl 2a SI 42s 1 Converting Models to Zero Pole Gain Models Use the CD Convert to Zero Pole Gain Model VI to convert a transfer function or state space model to a zero pole gain model This section uses a transfer function model as an example 3 Note When you convert a state space model to a zero pole gain model the CD Convert to Zero Pole Gain Model VI converts the state space model to a transfer function model first To convert the transfer function matrix H s to the zero pole gain form the Control Design Toolkit calculates the numerator and denominator polynomial roots and the gain of each SISO transfer function in H s National Instruments Corporation 3 3 Control Design Toolkit User Manual Chapter 3 Converting Models When you convert the transfer function matrix from the Converting Models to Transfer Function Models section of this chapter you obtain the following zero pole gain model 4 2 H s This zero pole gain model is num
202. tively J Control Design Toolkit User Manual 14 12 ni com Chapter 14 Defining State Space Controller Structures State Regulator with Integral Action A general system configuration appends the output error integrator z to the estimation model states x A general system configuration also augments the resulting vector x z with the original model states x to represent the state regulator with integral action and an estimator The following equations show this process x lool Boz u z OT ollz 10 Zoll Ye y lc loodi Boo y 5 ul _K K 0 x 0 00 u 0 y c o olfz D0 0 y c 9 0 Ly LO o cix DOOl y y 4 In these equations K is the gain K is the integral action y is the reference variable that you are tracking and y is the output variable that you use to track y In these equations I varies depending on whether the model describes a continuous or discrete system If the system is continuous I 0 If the system is discrete I When you define the control action for a state regulator with integral action using the output error integrator z you obtain the following control action equation oleh Substituting the control action into state dynamics of the general system configuration defined in the previous equation you obtain the following equation that also defines the general system configuration 4 Bk 0 BK 0 ox See z 0 0 of r of Por P BK BK Al x 0 o 7
203. trollable observable stabilizable or detectable You can use state space analysis to balance a system model Balancing a system model is useful in both analyzing and synthesizing a controller You also can use state space analysis to define different representations of the same system Because you can choose a variety of state variables to represent a single system the state space form for a given linear time invariant multiple input multiple output MIMO system is not unique You must determine which state variables are best for the analysis and design of a state space controller This chapter provides information about using the LabVIEW Control Design Toolkit to perform state space analysis Sy Note Refer to the labview examples Control Design Getting Started State Space Analysis 11b for example VIs that demonstrate the concepts explained in this chapter National Instruments Corporation 9 1 Control Design Toolkit User Manual Chapter 9 Analyzing State Space Characteristics Determining Stability In a state space form the time evolution of the states determines the stability of the system If you have initial conditions and you eliminate all inputs to the system only the state matrix A governs the response of the system You then apply control theory to find the counterparts of poles which you can use in transfer function and pole zero analysis The counterparts of poles are the eigenvalues of the state matrix A The
204. troller on an RT target Control Design Toolkit User Manual 1 4 ni com Chapter 1 Introduction to Control Design Control Design Assistant You can use the Control Design Assistant to synthesize and analyze a controller for a user defined model without knowing how to program in LabVIEW You access the Control Design Assistant through the NI Express Workbench The Express Workbench is a framework that can host multiple interactive National Instruments tools and assistants You also can use the Control Design Assistant to create a project In one project you can load or create a model of a plant into the Control Design Assistant analyze the time or frequency response and then calculate the controller parameters Using the Express Workbench you immediately can see the mathematical equation and graphical representation that describe the model You also can view the response data and the configuration of the controller Using the Control Design Assistant you can convert a project to a LabVIEW block diagram and customize that block diagram in LabVIEW You then can use LabVIEW to enhance and extend the capabilities of the application Refer to the NI Express Workbench Help for more information about using the Control Design Assistant to analyze models that describe a physical system and design controllers to achieve specified dynamic characteristics Control Design Vis The Control Design Toolkit also provides VIs that you can use to crea
205. tructing Dynamic System Models RLC Circuit Example Figure 2 2 shows an example circuit consisting of a resistor R an inductor L a current i t a capacitor C a capacitor voltage v t and an input voltage v t vi t C velt Figure 2 2 RLC Circuit The following sections use this example to illustrate the creation of three forms of dynamic system models Constructing Transfer Function Models Transfer function models use polynomial functions to define the dynamic relationship between inputs and outputs of a system You analyze transfer function models in the frequency domain The following equations define continuous and discrete transfer function models Continuous Transfer Function Model m 1 m numerator s bo bys Facs Dic 15 bns denominator s dygt asSt a _ s a s H s Discrete Transfer Function Model m 1 m numerator z _ 99 5 Z 8m Z7 On2 denominator z H 2 n 1 n Aygt Z a _ 12 a Z Numerators of transfer function models describe the locations of the zeros of the system Denominators of transfer function models describe the locations of the poles of the system Control Design Toolkit User Manual 2 6 ni com Chapter 2 Constructing Dynamic System Models Use the CD Construct Transfer Function Model VI to create continuous SISO SIMO MISO and MIMO system models in transfer function form This VI creates a data structure tha
206. ts Web site at ni com for technical support and professional services Support Online technical support resources at ni com support include the following Self Help Resources For answers and solutions visit the award winning National Instruments Web site for software drivers and updates a searchable KnowledgeBase product manuals step by step troubleshooting wizards thousands of example programs tutorials application notes instrument drivers and so on Free Technical Support All registered users receive free Basic Service which includes access to hundreds of Application Engineers worldwide in the NI Developer Exchange at ni com exchange National Instruments Application Engineers 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 locations around the world System Integration If you have time constraints limited in house technical resources or other project challenges National Instruments Alliance Partner members can help To learn more call your local NI office or visit ni com alliance If you searched ni com and could not find the answers you need contact
207. uations describe the resulting transfer function as a second order system Ms 1 s L s V s Hy s H s H s Te H s H s Control Design Toolkit User Manual 4 10 ni com Chapter 4 Connecting Models Figure 4 13 illustrates how some inputs from Model 1 and Model 2 share the same inputs The outputs of Model 1 are added to or subtracted from the outputs of Model 2 to provide one combined parallel model Uo 2 acs gt gt uy l pases gt gt i gt z u ie Model 1 22 2 4 c t 1 i T e a i i 1 e oi H E o uj 4 gg p i gt zZ cry ae r EEI eS eo O gt x rn Z l Wor eee p gt gt gt yi m 2 pe 72 e e e e e k p gt gt Ji Figure 4 13 MIMO Models in Parallel National Instruments Corporation 4 11 Control Design Toolkit User Manual Chapter 4 Connecting Models Use the CD Parallel VI to define the relationship between the inputs and outputs of the models Figure 4 14 displays the Input Connections and Output Connections controls that define the parallel interconnections shown in Figure 4 13 Cm gao Ea E Ma E F Je Figure 4 14 Connection Definitions for Models in Parallel These controls indicate that the input for ug of Model 1 is the same as the input for v of Model 2 the input for u of Model 1 is the same as the input for vy of Model 2 and so on You can see h
208. ure 6 4 shows the Step Response Graph resulting from this block diagram Figure 6 4 Step Response Graph of the Spring Mass Damper System 0 04 0 03 Displacement cm G N I o 1 1 75 Time s 1 100 1 125 0 You can see that the step input causes this system to settle at a steady state value of 0 02 cm When you use the CD Parametric Time Response VI to analyze the step response of this system you obtain the following response data e Rise time t 1 42 seconds e Maximum overshoot M 79 90 e Peak time t 4 54 seconds e Settling time t 89 89 seconds e Steady state gain 0 02 cm e Peak value 0 04 cm Control Design Toolkit User Manual 6 6 ni com Chapter 6 Time Response Analysis Figure 6 5 shows the output of the CD Parametric Time Response VI m fo Cm om f m A oe C om fo Jo To To Figure 6 5 Parametric Data of the Spring Mass Damper System Analyzing an Impulse Response The impulse response of a dynamic system measures how the system responds to an impulse input signal You define an impulse input signal in the following manner e Continuous systems Also known as the Dirac delta function a continuous impulse input is a unit area signal with an infinite amplitude and infinitely small duration occurring at a specified time At all other times the input signal value is zero e Discrete systems Also known as the
209. ursive Kalman Corrector VI Feedback nodes transfers these values to the next iteration of the While Loop 5 The Discrete Stochastic State Space Internal function simulates another noisy sensor measurement by wiring the Output y k output of this function to the Output y k input of the CD Discrete Recursive Kalman Corrector VI 6 The CD Discrete Recursive Kalman Corrector VI calculates the corrected current state estimate based on the updated values of the Output y k and Input u k parameters Because this is not the initial iteration of the While Loop this VI now uses the State Estimate xhat klk 1 and Estimation Error Covariance P klk 1 parameters instead of the initial parameters used in step 2 Steps 3 through 6 repeat until you stop the VI National Instruments Corporation 16 15 Control Design Toolkit User Manual Chapter 16 Using Stochastic System Models Figure 16 7 compares the actual model State x k with the Corrected State Estimate xhat klk the CD Discrete Recursive Kalman Corrector VI calculates Figure 16 7 Actual Model States vs Corrected State Estimates Control Design Toolkit User Manual 16 16 ni com Chapter 16 Using Stochastic System Models In Figure 16 7 notice the actual state appears to equal the corrected state at every time step To confirm this analysis you can look at the graph of the estimation error e k defined as x k xhat klk Figure 16 8 shows the graph of e k for this example
210. ved Important Information Warranty The media on which you receive National Instruments software are warranted not to fail to execute programming instructions due to defects in materials and workmanship for a period of 90 days from date of shipment as evidenced by receipts or other documentation National Instruments will at its option repair or replace software media that do not execute programming instructions if National Instruments receives notice of such defects during the warranty period National Instruments does not warrant that the operation of the software shall be uninterrupted or error free A Return Material Authorization RMA number must be obtained from the factory and clearly marked on the outside of the package before any equipment will be accepted for warranty work National Instruments will pay the shipping costs of returning to the owner parts which are covered by warranty National Instruments believes that the information in this document is accurate The document has been carefully reviewed for technical accuracy In the event that technical or typographical errors exist National Instruments reserves the right to make changes to subsequent editions of this document without prior notice to holders of this edition The reader should consult National Instruments if errors are suspected In no event shall National Instruments be liable for any damages arising out of or related to this document or the information contained i
211. where R 20 Q L 50 mH and C 10 uF Pe 0 Lita fo 2 x 10 400 2x 10 C i 24 6 When you plug these matrices into the equations for a continuous state space model defined in the Constructing State Space Models section of this chapter you get the following equations 0 1 e 0 x E Z Vi p x 10 A Vo x il y 1 o r o v Control Design Toolkit User Manual 2 16 ni com Chapter 2 Constructing Dynamic System Models Figure 2 10 shows how you use the CD Construct State Space Model VI to create this continuous state space model Figure 2 10 Creating a Continuous State Space Model ay Note Although B is a column vector C is a row vector and D is a scalar you must use the 2D array data type when connecting these inputs to the VI The CD Construct State Space Model VI creates a continuous model You create a discrete state space model in the same way you create a discrete transfer function model Refer to the SISO Transfer Function Models section of this chapter for more information about creating a discrete state space model SIMO MISO and MIMO State Space Models You construct a SIMO MISO or MIMO state space model by ensuring the output matrix C and the input matrix B have the appropriate dimensions For a SIMO system construct an output matrix C with more than one row For a MISO system construct an input matrix B with more than one column For a MIMO system construct matrices C a
212. wing equation defines the output error y y C x x By substituting the output error in the general system configuration and removing the sensor noise r from the system you obtain the following equations that describe the system included configuration x _ 4 BK LC c e BK A i u K Olre I x x y c px o pfr x y DK C The reference vector or actuator noise r has as many elements as the number of inputs Also this configuration calculates the control action u internally and then gives u as an output of the state regulator Figure 14 5 represents the dynamic system that these equations describe Controller gt X gt System y gt Estimator m gt x Figure 14 5 System Included State Regulator The states inputs and outputs of the state regulator are at r and respectively x gt S National Instruments Corporation 14 9 Control Design Toolkit User Manual Chapter 14 Defining State Space Controller Structures System Included Configuration with Noise The system included configuration with noise incorporates noise r into the system included configuration The following equation defines the output error y y C x x r By substituting the output error in the general system configuration you obtain the following equations that describe the system included configuration with noise 4 BK LC LC x
213. xes in the Model Dimensions section This section is dimmed if you configure a SISO model because SISO models have only one input and one output National Instruments Corporation 17 3 Control Design Toolkit User Manual Chapter 17 Deploying a Controller to a Real Time Target 5 Enter numerator and denominator coefficients in the Numerator and Denominator text boxes Notice the Preview window updates to display the model equation For MIMO models use the Input Output Model control to select different input output pairs You can enter unique Numerator and Denominator coefficients for each input output pair 6 Click the OK button to save the model definition and return to the block diagram If you defined a SISO model the function icon updates to show the model equation You also can resize the function icon Defining a Controller Model Programmatically Launch the Discrete Transfer Function Configuration dialog box select Transfer Function from the Parameters listbox and select Terminal from the Parameter source pull down list After you click the OK button the Transfer Function input appears on the function icon You then can use the CD Construct Transfer Function VI or a block diagram constant to define a transfer function model Wire this model definition to the Transfer Function input of the Discrete Transfer Function function Defining a Controller Model Using the Control Design Assistant Use the Control Design Assistant to de
214. y DC gain damping ratio natural frequency and norm You can use the LabVIEW Control Design Toolkit to analyze a system in terms of these characteristics This chapter provides information about using the Control Design Toolkit to analyze the stability of a dynamic system This chapter also describes how to use the root locus method to analyze the stability of a system ay Note Refer to the labview examples Control Design Getting Started Dynamic Characteristic Analysis 11b for example VIs that demonstrate the concepts explained in this chapter Determining Stability The stability of a system depends on the locations of the poles and zeros within the system To design an effective controller you must take these locations into account A continuous system is stable if all poles are on the left half of the complex plane A discrete system is stable if all poles are within a unit circle centered at the origin of the complex plane Additionally both types of systems are stable if they do not contain any poles A continuous system is unstable if it contains at least one pole in the right half of the complex plane A discrete system is unstable if at least one pole is outside of the unit circle in the complex plane Additionally both types of systems are unstable if they contain more than one pole at the origin In terms of the dynamic response associated with the poles and zeros of a system a pole is stable if the response of the pole
215. y VI to distribute the input and output delay of a model to the transport delay The following sections provide information about using these VIs to manipulate delay information Accessing Total Delay Information The CD Total Delay VI transfers delay information from the inputs and outputs of a system model to the transport delay of a system model by adding the input and output delays to the delay in the transport delay matrix When you use the CD Total Delay VI other Control Design VIs can access the total delay information of a system Control Design Toolkit User Manual 5 10 ni com Chapter 5 Working with Delay Information For example consider a model with the following delay information Refer to the Representing Delay Information section of this chapter for the derivation of this matrix and these vectors n 1 2l ti tio fea _ 2 1 1 t21 taj f 1 0j 2 The CD Total Delay VI first transfers the input delay information to the transport delay matrix The following equations show this process 1 12 2 oo oa The CD Total Delay VI then transfers the output delay information to the 0 0 transport delay matrix The following equations show this process 3 1 3 1 1 1 1440 2 2 2 2 2 2 4 4 10 Figure 5 6 shows the output of the CD Total Delay VI f Total Delay i Jo 4 0000 14 0000 dfo 14 0000 14 0000 Figure 5 6 Resulting Total Delay The input and output delay vectors are now lo o and o respectively 0

Download Pdf Manuals

image

Related Search

Related Contents

Manuel - Jøtul stoves and fireplaces  BAL RotaChill Large EN-DE.indb    Stovax PM235 RV66 User's Manual  centralita de relés electrónicos de protección diferencial  CAC Wifi APP-NA_IBIIM_EN  OrthoAnalyzer 2012 User Manual  Zotac ZT-71107-10L NVIDIA GeForce GT 730 1GB graphics card  Sony - altimobiler.dk    

Copyright © All rights reserved.
Failed to retrieve file