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
- LRC circuit
- BoostConverter
- NEXT ►
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:
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).
The equations for the system are given by:
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:
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).
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.
The state-space equations for the closed-loop feedback system are, therefore,
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).
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:
The system does not track the step well at all; not only is the magnitude not one, but it is negative instead of positive!
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.
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
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
COMMENTS
Pole placement is a method of calculating the optimum gain matrix used to assign closed-loop poles to specified locations, thereby ensuring system stability.
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.
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.
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.
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.
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.
With a similarity transformation, the chapter details a step‐by‐step manner for the design of a pole‐assignment 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.
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.
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).
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 ...