This is documentation for Mathematica 8, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)

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