Mathematica 9 is now available
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.
Mathematica > Mathematics and Algorithms > Control Systems > Design Using State-Space Models > StateFeedbackGains >

StateFeedbackGains

StateFeedbackGains
gives the state feedback gain matrix for the StateSpaceModel object ss such that the poles of the closed-loop system are .
  • The state-space model ss can be given as StateSpaceModel, where a and b represent the state and input matrices in either a continuous-time or a discrete-time system:
continuous-time system
discrete-time system
  • If ss is controllable, the eigenvalues of will be , where is the computed state feedback gain matrix.
  • Possible settings include:
Automaticautomatic method selection
"Ackermann"Ackermann method
"KNVD"Kautsky-Nichols-Van Dooren method
  • With the default setting Method->Automatic, the algorithm is chosen when the number of feedback inputs is not greater than the number of states, and if the arguments are inexact, a solution using LinearSolve is attempted if the number of feedback inputs is greater than or equal to the number of states, and the algorithm is used for all other cases.
  • With the setting Method, the can be given as numbers or symbols.
  • The Ackermann formula is given by , where is the characteristic polynomial of the closed-loop system.
  • For multiple-input systems, the method selects the feedback input based on the condition numbers of the controllability matrices if they are inexact. For exact systems, the first feedback input for which a solution is obtained is chosen.
  • For multiple-input systems, the setting Method yields a robust, well-conditioned solution.
Place the poles at :
Place all the eigenvalues of a discrete-time system at the origin:
Eigenvalue assignment for a two-input system:
Place the poles at :
In[1]:=
Click for copyable input
Out[1]=
 
Place all the eigenvalues of a discrete-time system at the origin:
In[1]:=
Click for copyable input
Out[1]=
In[2]:=
Click for copyable input
Out[2]=
 
Eigenvalue assignment for a two-input system:
In[1]:=
Click for copyable input
Out[1]=
 
Compute the state feedback gains that place poles at specific locations:
Verify the result:
The state feedback gains for a multiple-input system:
Shift the pole of an integrator to :
Feedback gain for a symbolic first-order system:
The closed-loop system:
Compute the state feedback gains of a symbolic discrete-time system:
The poles of the closed-loop system:
By default, the KNVD method is chosen for inexact inputs:
The solution using Ackermann's formula:
The KNVD method is more robust:
For inexact multiple-input systems, the Ackermann method selects the feedback input that has the controllability matrix with the lowest condition number:
By default the first input is selected:
The gains associated with the second output:
Stabilize a system using state feedback:
A system with two masses, a spring, and a damper:
The choice of poles can be used to tune the response of the system:
The gain gives an overdamped response, while results in a slightly damped system:
Compute the state feedback gains to regulate an inverted pendulum about the upright position:
Displacements and of the cart and the pendulum from an initial cart position of :
The displacements are also regulated when disturbances are present:
The motion of a spacecraft linearized about a circular Kepler orbit:
Determine a set of thruster commands to regain the nominal trajectory after an initial disturbance:
The response plot:
Solve the deadbeat control problem of determining the control input required to bring the output of a discrete-time system to zero in the smallest number of time steps:
With the poles at the origin, the output of a third-order system is zero in 3 time steps:
Use SystemsModelStateFeedbackConnect to obtain the closed-loop system:
A larger displacement between the open and closed loop pole locations requires a larger control effort:
State feedback does not affect the input-blocking properties of a system:
The input Sin is blocked by both systems:
The closed-loop system will be unobservable if the feedback moves any of the poles to the zeros:
The KNVD method does not handle exact systems when the number of feedback inputs is less than the number of states:
Evaluate numerically:
The KNVD method cannot be used when the pole multiplicity exceeds the number of feedback inputs to the system:
Use the Ackermann method instead:
The KNVD method can give different sets of gains on different computer systems:
The closed-loop eigenvalues are the same:
For a MIMO system, the Ackermann method uses only one of the inputs as the feedback input:
With the default KNVD method, the control effort is shared between all the feedback inputs:
Arbitrary pole assignment by state feedback requires a controllable model:
Verify controllability:
New in 8
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team
Format:   HTML  |  CDF