CD Ackermann VI

Control Design VI and Function

CD Ackermann VI

Owning Palette: State Feedback Design VIs

Installed With: Control Design and Simulation Module

Uses the Ackermann formula with the controllability matrix to determine the controller feedback gain matrix K that places the closed-loop poles in the locations you specify. You also can use this VI to determine the observer gain matrix L that places the observer poles in the locations you specify.

You can use the CD Ackermann VI with single-input multiple-output (SIMO) or multiple-input single-output (MISO) systems when placing closed-loop control or observer poles, respectively.

Details  

 Place on the block diagram  Find on the Functions palette
State-Space Model contains a mathematical representation of and information about the system of which this VI places closed-loop poles in desired locations using the Gain in the state feedback. You also can use pole placement to calculate the estimator gain and set the pole locations of the full state observer.
Poles specifies the closed-loop pole locations.
Gain Type specifies the type of gain this VI returns in the Gain parameter. Use the Controller Gain with the CD State-Space Controller VI. Use the Observer Gain (Predictive) and Observer Gain (Current) with the CD Discrete Observer function and the CD Continuous Observer function.

For discrete systems, the Observer Gain (Predictive) relates to the Observer Gain (Current) through the following relationship:

Observer Gain (Predictive) = A . Observer Gain (Current).

For continuous systems, the notion of current and predictive time does not apply, so specifying either observer gain returns the correct gain value.

0Controller Gain (default)—Calculates feedback gain K for a controller, such that the controller pole locations are the locations you specify using the Poles parameter. The system must be a single-input system and controllable, meaning the controllability matrix must be non-singular.
1Observer Gain (Predictive)—Calculates feedback gain Lp for a predictive observer, such that the observer pole locations are the locations you specify using the Poles parameter. The system must be a single-output system and observable, meaning the observability matrix must be non-singular.
2Observer Gain (Current)—Calculates feedback gain Lc for a current observer, such that the observer pole locations are the locations you specify using the Poles parameter. The system must be a single-output system and observable, meaning the observability matrix must be non-singular. For continuous systems, the notion of current and predictive time does not apply; either observer gain returns the correct gain value. Also, if the system is discrete, A must be invertible.
error in describes error conditions that occur before this VI or function runs. The default is no error. If an error occurred before this VI or function runs, the VI or function passes the error in value to error out. This VI or function runs normally only if no error occurred before this VI or function runs. If an error occurs while this VI or function runs, it runs normally and sets its own error status in error out. Use the Simple Error Handler or General Error Handler VIs to display the description of the error code. Use exception control to treat what is normally an error as no error or to treat a warning as an error. Use error in and error out to check errors and to specify execution order by wiring error out from one node to error in of the next node.
status is TRUE (X) if an error occurred before this VI or function ran or FALSE (checkmark) to indicate a warning or that no error occurred before this VI or function ran. The default is FALSE.
code is the error or warning code. The default is 0. If status is TRUE, code is a nonzero error code. If status is FALSE, code is 0 or a warning code.
source specifies the origin of the error or warning and is, in most cases, the name of the VI or function that produced the error or warning. The default is an empty string.
Gain returns the feedback gain, according to the value you specify for the Gain Type parameter, that produces a closed-loop system such that the poles are equal to the values you specify in the Poles parameter.
Actual Poles are the eigenvalues of the closed-loop system matrix Ã. The definition of à depends on the value you specify for the Gain Type parameter.

If Gain Type is Controller Gain, Ã = ABK.

If Gain Type is Observer Gain (Predictive), Ã = ALC, where L is the Gain this VI returns.

If Gain Type is Observer Gain (Current), Ã = ALCA.
error out contains error information. If error in indicates that an error occurred before this VI or function ran, error out contains the same error information. Otherwise, it describes the error status that this VI or function produces. Right-click the error out front panel indicator and select Explain Error from the shortcut menu for more information about the error.
status is TRUE (X) if an error occurred or FALSE (checkmark) to indicate a warning or that no error occurred.
code is the error or warning code. If status is TRUE, code is a nonzero error code. If status is FALSE, code is 0 or a warning code.
source describes the origin of the error or warning and is, in most cases, the name of the VI or function that produced the error or warning.

CD Ackermann Details

This VI does not support delays unless the delays are part of the mathematical model that represents the dynamic system. To account for the delays in the synthesis of the controller or state estimator, you must incorporate the delays into the mathematical model of the dynamic system using the CD Convert Delay with Pade Approximation VI (continuous models) or the CD Convert Delay to Poles at Origin VI (discrete models). Refer to the LabVIEW Control Design User Manual for more information about delays and the limitations of Pade Approximation.