Help Center Help Center

  • Help Center
  • Trial Software
  • Product Updates
  • Documentation

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

x ˙ = A x + B u y = C x + D u

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 u = − K x , the closed-loop dynamics are given by

x ˙ = ( A − B K ) x

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,

computes an appropriate gain matrix K .

State Estimator Design

You cannot implement the state-feedback law u = − K x unless the full state x is measured. However, you can construct a state estimate ξ such that the law u = − K ξ retains similar pole assignment and closed-loop properties. You can achieve this by designing a state estimator (or observer) of the form

ξ ˙ = A ξ + B u + L ( y − C ξ − D u )

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

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 u = − K x yields the dynamic output-feedback compensator

ξ ˙ = [ A − L C − ( B − L D ) K ] ξ + L y u = − K ξ

Note that the resulting closed-loop dynamics are

[ x ˙ e ˙ ] = [ A − B K B K 0 A − L C ] [ x e ] ,   e = x − ξ

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

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 inputs

A state estimator with gain L using 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:

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.

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.

estim | place | reg

MATLAB Command

You clicked a link that corresponds to this MATLAB command:

Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.

Select a Web Site

Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .

  • Switzerland (English)
  • Switzerland (Deutsch)
  • Switzerland (Français)
  • 中国 (English)

You can also select a web site from the following list:

How to Get Best Site Performance

Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.

  • América Latina (Español)
  • Canada (English)
  • United States (English)
  • Belgium (English)
  • Denmark (English)
  • Deutschland (Deutsch)
  • España (Español)
  • Finland (English)
  • France (Français)
  • Ireland (English)
  • Italia (Italiano)
  • Luxembourg (English)
  • Netherlands (English)
  • Norway (English)
  • Österreich (Deutsch)
  • Portugal (English)
  • Sweden (English)
  • United Kingdom (English)

Asia Pacific

  • Australia (English)
  • India (English)
  • New Zealand (English)

Contact your local office

observer pole assignment

  • LRC circuit
  • BoostConverter
  • NEXT ►

observer pole assignment

Introduction: State-Space Methods for Controller Design

In this section, we will show how to design controllers and observers using state-space (or time-domain) methods.

Key MATLAB commands used in this tutorial are: eig , ss , lsim , place , acker

Related Tutorial Links

  • LQR Animation 1
  • LQR Animation 2

Related External Links

  • MATLAB State FB Video
  • State Space Intro Video

Controllability and Observability

Control design using pole placement, introducing the reference input, observer design.

There are several different ways to describe a system of linear differential equations. The state-space representation was introduced in the Introduction: System Modeling section. For a SISO LTI system, the state-space form is given below:

$$
\frac{d\mathbf{x}}{dt} = A\mathbf{x} + Bu
$$

To introduce the state-space control design method, we will use the magnetically suspended ball as an example. The current through the coils induces a magnetic force which can balance the force of gravity and cause the ball (which is made of a magnetic material) to be suspended in mid-air. The modeling of this system has been established in many control text books (including Automatic Control Systems by B. C. Kuo, the seventh edition).

observer pole assignment

The equations for the system are given by:

$$
m\frac{d^2h}{dt^2} = mg - \frac{Ki^2}{h}
$$

From inspection, it can be seen that one of the poles is in the right-half plane (i.e. has positive real part), which means that the open-loop system is unstable.

To observe what happens to this unstable system when there is a non-zero initial condition, add the following lines to your m-file and run it again:

observer pole assignment

It looks like the distance between the ball and the electromagnet will go to infinity, but probably the ball hits the table or the floor first (and also probably goes out of the range where our linearization is valid).

$u(t)$

Let's build a controller for this system using a pole placement approach. The schematic of a full-state feedback system is shown below. By full-state, we mean that all state variables are known to the controller at all times. For this system, we would need a sensor measuring the ball's position, another measuring the ball's velocity, and a third measuring the current in the electromagnet.

observer pole assignment

The state-space equations for the closed-loop feedback system are, therefore,

$$
\dot{\mathbf{x}} = A\mathbf{x} + B(-K\mathbf{x}) = (A-BK)\mathbf{x}
$$

From inspection, we can see the overshoot is too large (there are also zeros in the transfer function which can increase the overshoot; you do not explicitly see the zeros in the state-space formulation). Try placing the poles further to the left to see if the transient response improves (this should also make the response faster).

observer pole assignment

This time the overshoot is smaller. Consult your textbook for further suggestions on choosing the desired closed-loop poles.

Note: If you want to place two or more poles at the same position, place will not work. You can use a function called acker which achieves the same goal (but can be less numerically well-conditioned):

K = acker(A,B,[p1 p2 p3])

Now, we will take the control system as defined above and apply a step input (we choose a small value for the step, so we remain in the region where our linearization is valid). Replace t , u , and lsim in your m-file with the following:

observer pole assignment

The system does not track the step well at all; not only is the magnitude not one, but it is negative instead of positive!

$K\mathbf{x}$

and now a step can be tracked reasonably well. Note, our calculation of the scaling factor requires good knowledge of the system. If our model is in error, then we will scale the input an incorrect amount. An alternative, similar to what was introduced with PID control, is to add a state variable for the integral of the output error. This has the effect of adding an integral term to our controller which is known to reduce steady-state error.

$y = C\mathbf{x}$

From the above, we can see that the observer estimates converge to the actual state variables quickly and track the state variables well in steady-state.

Published with MATLAB® 9.2

observer pole assignment

The 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

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 .

Use the place command 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.

Note that the resulting closed-loop dynamics are

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 inputs
  • A state estimator with gain L using 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 = [3]; regulator = reg(sys_pp,K,L,sensors,known,controls)

The Control System Toolbox contains functions to

  • Form the state estimator and dynamic compensator using these gains.

The function acker is limited to SISO systems and should only be used for systems with a small number of states. The function place is a more general and numerically robust alternative to acker .

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 perturbations.

Separation principle for robust pole assignment-an advantage of full-order state observers

Ieee account.

  • Change Username/Password
  • Update Address

Purchase Details

  • Payment Options
  • Order History
  • View Purchased Documents

Profile Information

  • Communications Preferences
  • Profession and Education
  • Technical Interests
  • US & Canada: +1 800 678 4333
  • Worldwide: +1 732 981 0060
  • Contact & Support
  • About IEEE Xplore
  • Accessibility
  • Terms of Use
  • Nondiscrimination Policy
  • Privacy & Opting Out of Cookies

A not-for-profit organization, IEEE is the world's largest technical professional organization dedicated to advancing technology for the benefit of humanity. © Copyright 2024 IEEE - All rights reserved. Use of this web site signifies your agreement to the terms and conditions.

IMAGES

  1. Solved Using the pole-placement-with-observer approach

    observer pole assignment

  2. PPT

    observer pole assignment

  3. State Estimation: Pole Placement Observer

    observer pole assignment

  4. Solved Using the pole-placement with observer approach,

    observer pole assignment

  5. Pole placement of observer for different gain values. (a) [A 0 −KC 0 ]...

    observer pole assignment

  6. ACT_Session 16 pole placement & observer design

    observer pole assignment

COMMENTS

  1. place - Pole placement design - MATLAB - MathWorks

    Pole placement is a method of calculating the optimum gain matrix used to assign closed-loop poles to specified locations, thereby ensuring system stability.

  2. Pole Placement - MATLAB & Simulink - MathWorks

    You can achieve this by designing a state estimator (or observer) of the form. ξ ˙ = A ξ + B u + L (y C ξ D u) 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.

  3. OBSERVABILITY, OBSERVERS AND FEEDBACK COMPENSATORS

    OBSERVABILITY, OBSERVERS AND FEEDBACK COMPENSATORS. In Chapter 3, we have studied the design of state feedback laws using pole assignment. Such control laws require the state to be measured. For many systems, we may only get partial information about the state through the measured output.

  4. State feedback and Observer Feedback - UTSA College of ...

    Separation principle - the set of eigenvalues of the complete system is the union of the eigenvalues of the state feedback system and the eigenvalues of the observer system. Hence, state feedback and observer can in principle be designed separately. eigenvalues = eig(A BK) [ eig(A LC) _x = Ax + Bu. - y.

  5. Introduction: State-Space Methods for Controller Design

    Introduction: State-Space Methods for Controller Design. In this section, we will show how to design controllers and observers using state-space (or time-domain) methods. Key MATLAB commands used in this tutorial are: eig , ss , lsim , place , acker.

  6. ECE 486: Control Systems - University of Illinois Urbana ...

    Pole Placement by State Feedback. General procedure for any controllable system: Convert to CCF using a suitable invertible coordinate transformation T (such a transformation exists by controllability). Solve the pole placement problem in the new coordinates. Convert back to original coordinates.

  7. State Feedback Controller and Observer Design - IEEE Xplore

    With a similarity transformation, the chapter details a step‐by‐step manner for the design of a poleassignment controller. It then introduces observer design and implementation for state feedback control and explains the concept of observability with a simple analytical example and duality between observer and controller.

  8. Pole placement - Lendek

    The purpose of the control law is to allow us to assign a set of pole locations for the closed-loop system that will correspond to satisfactory dynamic response in terms of transient response specifications. The first step in pole-placement is the selection of the pole locations of the closed-loop system.

  9. Pole Placement - Northwestern University

    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).

  10. Separation principle for robust pole assignment-an advantage ...

    A separation principle for robust pole assignment in full-order observer-based control system designs is proposed, which reveals the fact that pole assignment with minimum sensitivities in a n-dimensional linear multivariable system using a full-order observer-based state feedback controller can easily be realized by solving two separate n ...