# StateFeedbackGains

StateFeedbackGains[ssm,{p1,p2,,pn}]

gives the state feedback gain matrix for the state-space model ssm, such that the poles of the closed-loop system are pi.

StateFeedbackGains[{ssm,{in1,}},]

specifies control inputs ini to use.

# Details and Options • StateFeedbackGains is also known as pole placement gains.
• The state-space model ssm can be given as StateSpaceModel[{a,b,}], 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 ssm is controllable, the eigenvalues of will be {p1,p2,,pn}, where is the computed state feedback gain matrix.
• For a descriptor system StateSpaceModel[{a, b, c, d, e}] the number of poles that can be specified is determined by the rank of e and the controllability of the system.
• StateFeedbackGains also accepts nonlinear systems specified by AffineStateSpaceModel and NonlinearStateSpaceModel.
• For nonlinear systems, the operating values of state and input variables are taken into consideration, and the gains are computed based on the approximate Taylor linearization and returned as a vector.
• StateFeedbackGains[{ssm,{in1,}},] is equivalent to StateFeedbackGains[ssm1,], where ssm1SystemsModelExtract[ssm,{in1,}].
• StateFeedbackGains accepts a Method option with settings given by:
•  Automatic automatic method selection "Ackermann" Ackermann method "KNVD" Kautsky–Nichols–Van Dooren method

# Examples

open allclose all

## Basic Examples(4)

Place the poles at :

Place all the eigenvalues of a discrete-time system at the origin:

Eigenvalue assignment for a two-input system:

Calculate the feedback gains for a two-input system, using the first input:

## Scope(6)

Compute the state feedback gains that place poles at specific locations:

Verify the result:

The state feedback gains for a multiple-input system:

Gains for a system in which only the third and the fifth inputs are feedback inputs:

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:

Compute the gains for a NonlinearStateSpaceModel:

The closed-loop system:

The poles of the closed-loop system:

## Options(5)

### Method(5)

For systems with more inputs than states, Automatic finds the gains using LinearSolve:

For systems with exact or symbolic values, Automatic uses the "Ackermann" method:

For systems with numeric values, Automatic uses the "KNVD" method:

By default, the KNVD method is chosen for inexact inputs:

The solution using Ackermann's formula:

The KNVD method is more robust:

An inexact, multiple-input state-space model and desired closed-loop pole locations:

Find the condition number of the controllability matrix for the first input:

Find the condition number of the controllability matrix for the second input:

By default, the input with the lowest condition number is chosen:

Find gains for feedback through the second input:

## Applications(5)

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 three time steps:

## Properties & Relations(6)

Use SystemsModelStateFeedbackConnect to obtain the closed-loop system:

A larger displacement between the open- and closed-loop poles requires a larger control effort:

The distances between the open- and closed-loop poles and the corresponding gain norms:

State feedback does not affect the input-blocking properties of a system:

The input Sin[2t] is blocked by both systems:

The closed-loop system is unobservable if the feedback moves any of the poles to the zeros:

The system ssm has a zero at the pole location -4:

For a nonsingular descriptor system, all the closed-loop poles can be placed. »

For a singular system that is controllable, only MatrixRank[e] poles can be placed:

An impulsive system where only the slow subsystem is controllable:

Only the poles of the slow system can be placed:

## Possible Issues(3)

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:

Introduced in 2010
(8.0)
|
Updated in 2012
(9.0)
2014
(10.0)