Pole Placement
Closed-loop pole locations have a direct impact on time response characteristics such as rise time, settling time, and transient oscillations. Root locus uses compensator gains to move closed-loop poles to achieve design specifications for SISO systems. You can, however, use state-space techniques to assign closed-loop poles. This design technique is known as pole placement, which differs from root locus in the following ways:
Using pole placement techniques, you can design dynamic compensators.
Pole placement techniques are applicable to MIMO systems.
Pole placement requires a state-space model of the system (use ss
to
convert other model formats to state space). In continuous time, such models are of the
form
where u is the vector of control inputs, x is the state vector, and y is the vector of measurements.
State-Feedback Gain Selection
Under state feedback , the closed-loop dynamics are given by
and the closed-loop poles are the eigenvalues of
A-BK. Using the place
function, you can compute a gain matrix K that
assigns these poles to any desired locations in the complex plane (provided that
(A,B) is controllable).
For example, for state matrices A
and
B
, and vector
p
that contains the desired locations of the closed
loop poles,
K = place(A,B,p);
computes an appropriate gain matrix K
.
State Estimator Design
You cannot implement the state-feedback law unless the full state x is measured. However, you can construct a state estimate such that the law retains similar pole assignment and closed-loop properties. You can achieve this by designing a state estimator (or observer) of the form
The estimator poles are the eigenvalues of A-LC, which can be arbitrarily assigned by proper selection of the estimator gain matrix L, provided that (C, A) is observable. Generally, the estimator dynamics should be faster than the controller dynamics (eigenvalues of A-BK).
Use the place
function to calculate the
L matrix
L = place(A',C',q).'
where A
and C
are the state and output matrices,
and q
is the vector containing the desired closed-loop poles for the
observer.
Replacing x by its estimate in yields the dynamic output-feedback compensator
Note that the resulting closed-loop dynamics are
Hence, you actually assign all closed-loop poles by independently placing the eigenvalues of A-BK and A-LC.
Example
Given a continuous-time state-space model
sys_pp = ss(A,B,C,D)
with seven outputs and four inputs, suppose you have designed
A state-feedback controller gain
K
using inputs 1, 2, and 4 of the plant as control inputsA state estimator with gain
L
using outputs 4, 7, and 1 of the plant as sensorsInput 3 of the plant as an additional known input
You can then connect the controller and estimator and form the dynamic compensator using this code:
controls = [1,2,4]; sensors = [4,7,1]; known = [3]; regulator = reg(sys_pp,K,L,sensors,known,controls)
Pole Placement Tools
You can use functions to
Compute gain matrices K and L that achieve the desired closed-loop pole locations.
Form the state estimator and dynamic compensator using these gains.
The following table summarizes the functions for pole placement.
Functions |
Description |
---|---|
estim |
Form state estimator given estimator gain |
place |
Pole placement design |
reg |
Form output-feedback compensator given state-feedback and estimator gains |
Caution
Pole placement can be badly conditioned if you choose unrealistic pole locations. In particular, you should avoid:
Placing multiple poles at the same location.
Moving poles that are weakly controllable or observable. This typically requires high gain, which in turn makes the entire closed-loop eigenstructure very sensitive to perturbation.