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
convert other model formats to state space). In continuous time, such models are of the
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
B, and vector
p that contains the desired locations of the closed
K = place(A,B,p);
computes an appropriate gain matrix
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).
place function to calculate the
L = place(A',C',q).'
C are the state and output matrices,
q is the vector containing the desired closed-loop poles for the
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.
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
Kusing inputs 1, 2, and 4 of the plant as control inputs
A state estimator with gain
Lusing outputs 4, 7, and 1 of the plant as sensors
Input 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 = ; 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.
Form state estimator given estimator gain
Pole placement design
Form output-feedback compensator given state-feedback and estimator gains
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.