MATLABsolutions Logo

Pole placement design

K = place(A,B,p) [K,prec,message] = place(A,B,p)

Description

Given the single- or multi-input system

? x = A x + B u

and a vector  p  of desired self-conjugate closed-loop pole locations,  place  computes a gain matrix  K  such that the state feedback  u  = – Kx  places the closed-loop poles at the locations  p . In other words, the eigenvalues of  A  –  BK  match the entries of  p  (up to the ordering).

K = place(A,B,p)  places the desired closed-loop poles  p  by computing a state-feedback gain matrix  K . All the inputs of the plant are assumed to be control inputs. The length of  p  must match the row size of  A .  place  works for multi-input systems and is based on the algorithm from [1]. This algorithm uses the extra degrees of freedom to find a solution that minimizes the sensitivity of the closed-loop poles to perturbations in  A  or  B .

[K,prec,message] = place(A,B,p)  returns  prec , an estimate of how closely the eigenvalues of  A  –  BK  match the specified locations  p  ( prec  measures the number of accurate decimal digits in the actual closed-loop poles). If some nonzero closed-loop pole is more than 10% off from the desired location,  message  contains a warning message.

You can also use  place  for estimator gain selection by transposing the  A  matrix and substituting  C'  for  B .

Pole Placement Design

Consider a state-space system  (a,b,c,d)  with two inputs, three outputs, and three states. You can compute the feedback gain matrix needed to place the closed-loop poles at  p = [-1 -1.23 -5.0]  by

place  uses the algorithm of [1] which, for multi-input systems, optimizes the choice of eigenvectors for a robust solution.

In high-order problems, some choices of pole locations result in very large gains. The sensitivity problems attached with large gains suggest caution in the use of pole placement techniques. See [2] for results from numerical testing.

Matlabsolutions.com provides guaranteed satisfaction with a commitment to complete the work within time. Combined with our meticulous work ethics and extensive domain experience, We are the ideal partner for all your homework/assignment needs. We pledge to provide 24*7 support to dissolve all your academic doubts. We are composed of 300+ esteemed Matlab and other experts who have been empanelled after extensive research and quality check. Matlabsolutions.com provides undivided attention to each Matlab assignment order with a methodical approach to solution. Our network span is not restricted to US , UK and Australia rather extends to countries like Singapore , Canada and UAE . Our Matlab assignment help services include Image Processing Assignments , Electrical Engineering Assignments , Matlab homework help , Matlab Research Paper help , Matlab Simulink help . Get your work done at the best price in industry.

Our Services

Matlab assignment help, matlab simulation help, matlab projects help, matlab homework help, matlab research paper help, r programming help, python programming help, cnn assignment help.

whatsApp

Desktop Basics - MATLAB & Simulink

Matrices and Arrays

Array Indexing - MATLAB & Simulink

Workspace Variables - MATLAB & Simulink

Text and Characters - MATLAB & Simulink

Calling Functions - MATLAB & Simulink

2-D and 3-D Plots - MATLAB & Simulink

Programming and Scripts - MATLAB & Simulink

Help and Documentation - MATLAB & Simulink

Creating, Concatenating, and Expanding Matrices - MATLAB & Simulink

Removing Rows or Columns from a Matrix

Reshaping and Rearranging Arrays

Multidimensional Arrays

Numeric Types

Characters and Strings

Dates and Time

Cell Arrays

Function Handles

Data Type Conversion

Data Type Identification

Add Title and Axis Labels to Chart

Create Chart with Two y-Axes

Combine Multiple Plots

Specify Axis Limits

Scripts vs. Functions

Add Functions to Scripts

Create Functions in Files

Clipping in Plots and Graphs

Creating Colorbars

Change Color Scheme Using a Colormap

How Surface Plot Data Relates to a Colormap

How Image Data Relates to a Colormap

How Patch Data Relates to a Colormap

Create and Work with Tables

Linear (LTI) Models

Transfer Functions

State-Space Models

Discrete-Time Numeric Models

Time-Domain Response Data and Plots

Time-Domain Responses of Discrete-Time Model

Time-Domain Responses of MIMO Model

Time-Domain Responses of Multiple Models

Introduction: PID Controller Design

Introduction: Root Locus Controller Design

Introduction: Frequency Domain Methods for Controller Design

DC Motor Speed: PID Controller Design

DC Motor Position: PID Controller Design

Cruise Control: PID Controller Design

Suspension: Root Locus Controller Design

Aircraft Pitch: Root Locus Controller Design

Inverted Pendulum: Root Locus Controller Design

Ball & Beam: Root Locus Controller Design

Introduction: System Modeling

Get Started with Deep Network Designer

Create Simple Image Classification Network Using Deep Network Designer

Build Networks with Deep Network Designer

Classify Image Using GoogLeNet

Classify Webcam Images Using Deep Learning

Transfer Learning with Deep Network Designer

Train Deep Learning Network to Classify New Images

Deep Learning Processor Customization and IP Generation

Prototype Deep Learning Networks on FPGA

Deep Learning Processor Architecture

Deep Learning INT8 Quantization

Compiler Output

Quantization of Deep Neural Networks

Custom Processor Configuration Workflow

Estimate Performance of Deep Learning Network by Using Custom Processor Configuration

Generate Custom Bitstream

dlhdl.Workflow class

Preprocess Images for Deep Learning

Preprocess Volumes for Deep Learning

Transfer Learning Using AlexNet

Time Series Forecasting Using Deep Learning

Create Simple Sequence Classification Network Using Deep Network Designer

Classify Image Using Pretrained Network

Create Simple Image Classification Network

Design and simulation of a boost converter

Design and simulation of a boost converter 2

Machine Learning in MATLAB

Train Classification Models in Classification Learner App

Train Regression Models in Regression Learner App

Distribution Plots

Explore the Random Number Generation UI

Design of Experiments

Machine Learning Models

Logistic regression

Logistic regression create generalized linear regression model - MATLAB fitglm 2

Support Vector Machines for Binary Classification

Support Vector Machines for Binary Classification 2

Support Vector Machines for Binary Classification 3

Support Vector Machines for Binary Classification 4

Support Vector Machines for Binary Classification 5

Assess Neural Network Classifier Performance

Naive Bayes Classification

ClassificationTree class

Discriminant Analysis Classification

Ensemble classifier

ClassificationTree class 2

Train Generalized Additive Model for Binary Classification

Train Generalized Additive Model for Binary Classification 2

Classification Using Nearest Neighbors

Classification Using Nearest Neighbors 2

Classification Using Nearest Neighbors 3

Classification Using Nearest Neighbors 4

Classification Using Nearest Neighbors 5

Linear Regression

Linear Regression 2

Linear Regression 3

Linear Regression 4

Nonlinear Regression

Nonlinear Regression 2

Visualizing Multivariate Data

Generalized Linear Models

Generalized Linear Models 2

RegressionTree class

RegressionTree class 2

Neural networks

Gaussian Process Regression Models

Gaussian Process Regression Models 2

Understanding Support Vector Machine Regression

Understanding Support Vector Machine Regression 2

RegressionEnsemble

Using Signal Analyzer App

Extract Voices from Music Signal

Align Signals with Different Start Times

Find a Signal in a Measurement

Find Peaks in Data

Extract Features of a Clock Signal

Filtering Data With Signal Processing Toolbox Software

Take Derivatives of a Signal

Find Periodicity Using Frequency Analysis

Find and Track Ridges Using Reassigned Spectrogram

Classify ECG Signals Using Long Short-Term Memory Networks

Waveform Segmentation Using Deep Learning

Label Signal Attributes, Regions of Interest, and Points

Introduction to Streaming Signal Processing in MATLAB

Filter Frames of a Noisy Sine Wave Signal in MATLAB

Filter Frames of a Noisy Sine Wave Signal in Simulink

Lowpass Filter Design in MATLAB

Tunable Lowpass Filtering of Noisy Input in Simulink

Signal Processing Acceleration Through Code Generation

Signal Visualization and Measurements in MATLAB

Estimate the Power Spectrum in MATLAB

Design of Decimators and Interpolators

Multirate Filtering in MATLAB and Simulink

Estimate the Transfer Function of an Unknown System

View the Spectrogram Using Spectrum Analyzer

pole placement design matlab

Get Instant 20% Off on Your Assignment

Matlab solutions.

Let's discuss about any of your MATLAB Project. You need not worry with your Matlab Project, when we are here.

        

Quick Links

   Matlab Assignment Help    Matlab Simulation Help    Quantum Computing In Matlab    Python Assignment Help    MATLAB Exam Help    Python Exam Help    Maths Exam Help    UAV Simulation

   About Us    Pay Now    Blogs    E-Books    Answers    Privacy Policy    Careers    Sitemap

pole placement design matlab

Copyright 2016-2023 www.matlabsolutions.com - All Rights Reserved.

Disclaimer : Any type of help and guidance service given by us is just for reference purpose. We never ask any of our clients to submit our solution guide as it is, anywhere.

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.

pole placement design matlab

  • LRC circuit
  • BoostConverter
  • NEXT ►

pole placement design matlab

Inverted Pendulum: Digital Controller Design

Key MATLAB commands used in this tutorial are: ss , c2d , ctrb , obsv , dlqr , lsim , plotyy , eig , place

Related Tutorial Links

  • Digital Control Intro
  • Discrete Poles
  • Sampling Activity

Related External Links

  • MATLAB Example
  • Implementation Video

Discrete state-space

Controllability and observability, control design via pole placement, precompensator design, observer design.

In this digital control version of the inverted pendulum problem, we will use the state-space method to design the digital controller. If you refer to the Inverted Pendulum: System Modeling page, the linearized state-space equations were derived as:

$$
\left[{\begin{array}{c}
  \dot{x}\\ \ddot{x}\\ \dot{\phi}\\ \ddot{\phi}
\end{array}}\right] =
\left[{\begin{array}{cccc}
  0&1&0&0\\
  0&\frac{-(I+ml^2)b}{I(M+m)+Mml^2}&\frac{m^2gl^2}{I(M+m)+Mml^2}&0\\
  0&0&0&1\\
  0&\frac{-mlb}{I(M+m)+Mml^2}&\frac{mgl(M+m)}{I(M+m)+Mml^2}&0
\end{array}}\right]
\left[{\begin{array}{c}
  x\\ \dot{x}\\ \phi\\ \dot{\phi}
\end{array}}\right]+
\left[{\begin{array}{c}0\\
  \frac{I+ml^2}{I(M+m)+Mml^2}\\
  0 \\
  \frac{ml}{I(M+m)+Mml^2}
\end{array}}\right]u$$

In choosing a sample time, note that it is desired that the sampling frequency be fast compared to the dynamics of the system. One measure of a system's "speed" is its closed-loop bandwidth. A good rule of thumb is that the sampling frequency be at least 30 times larger than the closed-loop bandwidth frequency which can be determined from the closed-loop Bode plot.

Assuming that the closed-loop bandwidth frequencies are around 1 rad/sec for both the cart and the pendulum, let the sampling time be 1/100 sec/sample. The discretization method we will use is the zero-order hold ( 'zoh' ). For further details, refer to the Introduction: Digital Controller Design page. Now we are ready to use c2d function. Enter the following commands into an m-file . Running this m-file in the MATLAB command window gives you the following four matrices representing the discrete time state-space model.

Now we have obtained the discrete state-space model of the form:

$$\left[{\begin{array}{c}
x(k+1)\\ \dot{x}(k+1)\\ \*\phi(k+1)\\ *\dot{\phi}(k+1)
\end{array}}\right]=
\left[{\begin{array}{cccc}
1&0.01&0.0001&0\\
0&0.9982&0.0267&0.0001\\
0&0&1.0016&0.01\\
0&-0.0045&0.3119&1.0016
\end{array}}\right]
\left[{\begin{array}{c}
x(k)\\ \dot{x}(k)\\ *\phi(k)\\ *\dot{\phi}(k)
\end{array}}\right]
+
\left[{\begin{array}{c}
0.0001\\ 0.0182\\ 0.0002\\ 0.0454
\end{array}}\right]u(k)$$

The next step is to check the controllability and the observability of the system. For the system to be completely state controllable, the controllability matrix

$$ \mathcal{C} =
\left[{\begin{array}{ccccc}
B & AB & A^2B & \cdots & A^{n-1}B
\end{array}}\right]$$

must have the rank of n . The rank of the matrix is the number of linearly independent rows (or columns). In the same token, for the system to be completely state observable, the observability matrix

$$ \mathcal{O} =
\left[{\begin{array}{c}
C \\ CA \\ \vdots \\ CA^{n-1}
\end{array}}\right]$$

must also have the rank of n . These tests for controllability and observability are identical to the situation of continuous control except that now the state space model is discrete.

Since the number of state variables in our system is 4, the rank of both matrices must be 4. The function rank can give you the rank of each matrix. Adding the following commands to your m-file and running in the MATLAB command window will generate the results shown below.

This proves that our discrete system is both completely state controllable and completely state observable.

The schematic of a full-state feedback control system is shown below.

pole placement design matlab

The above response satisfies all of the design requirements, however, it was found assuming all state variables of the system are measurable. This assumption may not be valid for all systems. In this section, we develop a technique for estimating the state of the system based on the measured outputs and a model of the plant. The object that estimates the state of system is called an observer . Thus, in this section we will design a full-order state observer to estimate all of the system's state variables, including those that are measured. For further explanation on how an observer works, please consult your control textbook.

A basic schematic of the observer-based state-feedback system is shown below.

pole placement design matlab

Now we will obtain the overall system response including the observer. Add the following commands to your m-file and run to generate the response shown below.

pole placement design matlab

This response is almost identical to the response achieved when it was assumed that we had full access to the state variables. This is because the observer poles are fast, and because the model we assumed for the observer is identical to the model of the actual plant (including the same initial conditions). Therefore, all of the design requirements have been met with the minimal control effort expended. No further iteration is needed.

Published with MATLAB® 9.2

pole placement design matlab

Library homepage

  • school Campus Bookshelves
  • menu_book Bookshelves
  • perm_media Learning Objects
  • login Login
  • how_to_reg Request Instructor Account
  • hub Instructor Commons
  • Download Page (PDF)
  • Download Full Book (PDF)
  • Periodic Table
  • Physics Constants
  • Scientific Calculator
  • Reference & Cite
  • Tools expand_more
  • Readability

selected template will load here

This action is not available.

Engineering LibreTexts

10.2: Controllers for Discrete State Variable Models

  • Last updated
  • Save as PDF
  • Page ID 24434

  • Kamran Iqbal
  • University of Arkansas at Little Rock

Emulating an Analog Controller

The pole placement controller designed for a continuous-time state variable model can be used with derived sampled-data system model. Successful controller emulation requires a high enough sampling rate that is at least ten times the frequency of the dominant closed-loop poles of the system.

In the following we illustrate the emulation of pole placement controller designed for the DC motor model (Example 8.3.4) for controlling the discrete-time model of the DC motor. The DC motor model is discretized at two different sampling rates for comparison, assuming ZOH at the plant input.

Example \(\PageIndex{1}\)

The state and output equations for a DC motor model are given as:

\[\frac{\rm d}{\rm dt} \left[\begin{array}{c} {i_a } \\ {\omega } \end{array}\right]=\left[\begin{array}{cc} {-100} & {-5} \\ {5} & {-10} \end{array}\right]\left[\begin{array}{c} {i_a } \\ {\omega } \end{array}\right]+\left[\begin{array}{c} {100} \\ {0} \end{array}\right]V_a , \;\;\omega =\left[\begin{array}{cc} {0} & {1} \end{array}\right]\left[\begin{array}{c} {i_a } \\ {\omega } \end{array}\right]. \nonumber \]

The motor model is discretized at two different sampling rates in MATLAB. The results are:

\[T=0.01s: A_{\rm d} =\left[\begin{array}{cc} {0.367} & {-0.030} \\ {0.030} & {0.904} \end{array}\right],\; \; B_{\rm d} =\left[\begin{array}{c} {0.632} \\ {0.018} \end{array}\right],\; \; C_{\rm d} =\left[\begin{array}{cc} {0} & {1} \end{array}\right]. \nonumber \]

\[T=0.02s: A_{\rm d} =\left[\begin{array}{cc} {0.134} & {-0.038} \\ {0.038} & {0.816} \end{array}\right],\; \; B_{\rm d} =\left[\begin{array}{c} {0.863} \\ {0.053} \end{array}\right],\; \; C_{\rm d} =\left[\begin{array}{cc} {0} & {1} \end{array}\right]. \nonumber \]

For a desired characteristic polynomial: \(\Delta _{\rm des} (s)=s^{2} +150\,s+5000\), a state feedback controller for the continous-time state variable model was obtained as (Example 9.1.1): \(k^{T} =\left[\begin{array}{cc} {0.4} & {7.15} \end{array}\right]\).

We can use the same controller to control the corresponding sample-data system models.

The unit-step response of the closed-loop system is simulated in Figure 10.2.1, where both state variables, \(i_a\left(t\right)\) and \(\omega \left(t\right)\), are plotted.

clipboard_e29ed3918c27425662d5120784e9bbfac.png

We observe from the figure that the armature current has a higher overshoot at the lower sampling rate, though both models display similar settling time of about 100 msec.

Pole Placement Design of Digital Controller

Given a discrete state variable model \(\left\{A_{\rm d},\ B_{\rm d}\right\}\), and a desired pulse characteristic polynomial \(\Delta _{\rm des} (z)\), a state feedback controller for the system can be designed using pole placement similar to that of the continuous-time system (Sec. 9.1.1).

Let the discrete-time model of a SISO system be given as:

\[{\bf x}_{k+1} ={\bf A}_{\rm d} {\bf x}_{k} +{\bf b}_{\rm d} u_{k} , \;\; y_{k} ={\bf c}^T {\bf x}_{k} \nonumber \]

A state feedback controller for the discrete state variable model is defined as:

\[u_k=-{\bf k}^T{\bf x}_k+r_k \nonumber \]

where \({\bf k}^{T}\) represents a row vector of constant feedback gains and \(r_k\) is a reference input sequence. The controller gains can be obtained by equating the coefficients of the characteristic polynomial with those of a desired polynomial:

\[\Delta (z)=\left|z{\bf I-A}_{\rm d} \right|=\Delta _{\rm des} (z) \nonumber \]

The \(\Delta _{\rm des} (z)\) above is a Hurwitz polynomial (in \(z\)), with roots inside the unit circle that meet given performance (damping ratio and/or settling time) requirements. Assuming that desired \(s\)-plane root locations are known, the corresponding \(z\)-plane root locations can be obtained from the equivalence: \(z=e^{Ts}\).

Closed-loop System

The closed-loop system model is given as:

\[{\bf x}_{k+1} ={\bf A}_{\rm cl} {\bf x}_{k} +{\bf b}_{\rm d} r_{k} , \;\; y_{k} ={\bf c}^T {\bf x}_{k} \nonumber \]

where \({\bf A}_{\rm cl} =({\bf A}_{\rm d}-{\bf b}_{\rm d}{\bf k}^T)\).

Assuming closed-loop stability, for a constant input \(r_k=r_{\rm ss}\), the steady-state response, \({\bf x}_{\rm ss}\), of the system obeys: 

\[{\bf x}_{ss} ={\bf A}_{\rm cl} {\bf x}_{ss} +{\bf b}_{\rm d} r_{ss} ,\;\; y_{\rm ss} ={\bf c}^T {\bf x}_{ss} \nonumber \]

Hence, \(y_{\rm ss}={\bf c}^T\,({\bf A}_{\rm cl}-{\bf I})^{-1}\,{\bf b}_{\rm d}\,r_{\rm ss}\).

Example \(\PageIndex{2}\)

The discrete state variable model of a DC motor (\(T=0.02\)s) is given as: \[\left[\begin{array}{c} {i_{k+1} } \\ {\omega _{k+1} } \end{array}\right]=\left[\begin{array}{cc} {0.134} & {-0.038} \\ {0.038} & {0.816} \end{array}\right]\left[\begin{array}{c} {i_{k} } \\ {\omega _{k} } \end{array}\right]+\left[\begin{array}{c} {0.863} \\ {0.053} \end{array}\right]V_{k} , \;\; y_{k} =\left[\begin{array}{cc} {0} & {1} \end{array}\right]\left[\begin{array}{c} {i_{k} } \\ {\omega _{k} } \end{array}\right] \nonumber \]

The desired \(s\)-plane root locations for the model are given as: \(s=-50,\; -100.\)

The corresponding \(z\)-plane roots (\(T=0.02s\)) are obtained as: \(z=e^{-1} ,\; e^{-2}\).

The desired characteristic polynomial is given as: \(\Delta _{\rm des} (z)=z^{2} -0.95z+0.05.\)

The feedback gains \(k^T =[k_{1} ,\; k_{2} ]\), computed using the MATLAB ‘place’ command, are given as: \(k_{1} =0.247,\; k_{2} =4.435.\)

The closed-loop system matrix is given as: \(A_\rm d)= \left[\begin{array}{cc} {-0.080} & {-3.867} \\ {0.025} & {0.583} \end{array}\right]\).

An update rule for implementation of the controller on computer is obtained as: \(u_{k} =-0.247\, i_{k} -4.435\, \omega _{k} .\)

The closed-loop response has steady-state value of \(\omega _{\rm ss}=0.143 \;\rm rad/s\).

The step response of the closed-loop system is plotted in Figure 10.2.2, where the discrete system response was scaled to match the analog system response. The step response of the continuous-time system and that for the emulated controller gains are plotted alongside.

clipboard_e9ccc6b43c4082491c53a681502ca8cb5.png

Deadbeat Controller Design

A discrete-time system is called deadbeat if all closed-loop poles are placed at the origin \((z=0)\).

A deadbeat system has the remarkable property that its response reaches steady-state in \(n\)-steps, where \(n\) represents the model dimension.

The desired closed-loop pulse characteristic polynomial is selected as \(\Delta _{\rm des} (z)=z^{n}\).

To design a deadbeat controller, let the closed-loop pulse transfer function be defined as: \[T(z)=\frac{K(z)G(z)}{1+K(z)G(z)} \nonumber \]

The above equation is solved for \(K(z)\) to obtain: \[K(z)=\frac{1}{G(z)} \frac{T(z)}{1-T(z)} \nonumber \]

Let the desired \(T(z)=z^{-n}\); then, the deadbeat controller is given as: \[K(z)=\frac{1}{G(z)(z^{n} -1)} \nonumber \]

Example \(\PageIndex{3}\)

Let \(G(s)=\frac{1}{s+1} ;\) then \(G(z)=\frac{1-e^{-T} }{z-e^{-T} }\).

A deadbeat controller for the model is obtained as: \(K(z)=\frac{z-e^{-T} }{(1-e^{-T} )(z-1)}\).

Example \(\PageIndex{4}\)

The discrete state variable model of a DC motor for \(T=0.02\; \rm s\) is given as: \[\left[\begin{array}{c} {i_{k+1} } \\ {\omega _{k+1} } \end{array}\right]=\left[\begin{array}{cc} {0.134} & {-0.038} \\ {0.038} & {0.816} \end{array}\right]\left[\begin{array}{c} {i_{k} } \\ {\omega _{k} } \end{array}\right]+\left[\begin{array}{c} {0.863} \\ {0.053} \end{array}\right]V_{k} , \;\;y_{k} =\left[\begin{array}{cc} {0} & {1} \end{array}\right]\left[\begin{array}{c} {i_{k} } \\ {\omega _{k} } \end{array}\right] \nonumber \]

The state feedback controller is given as: \(u_{k} =-\left[k_{1} ,\, \, k_{2} \right]x_{k}\).

The closed-loop characteristic polynomial is obtained as: \[\Delta (z)=z^{2} +(0.863k_{1} +0.053k_{2} -0.95)z-0.707k_{1} +0.026k_{2} +0.111 \nonumber \]

For pole placement design, let \(\Delta _{\rm des} (z)=z^{2}\). By equating the polynomial coefficients, the deadbeat controller gains are obtained as: \(k_{1} =0.501,\; k_{2} =9.702\).

The update rule for controller implementation is given as: \[u_{k} =0.501\, \, i_{k} +9.702\, \, \omega _{k} \nonumber \]

The step response of the deadbeat controller (Figure 10.2.3) settles in two time periods. The response was scaled to match that of the continuous-time system.

An approximate deadbeat design can be performed by choosing distinct closed-loop eigenvalues close to the origin, e.g., \(z=\pm {10}^{-5}\), and using the 'place' command from the MATLAB Control Systems Toolbox.

The feedback gains for the approximate design are obtained as: \(k_{1} =0.509,\; k_{2} =9.702\). The resulting closed-loop system response is still deadbeat.

clipboard_ebdfc98111c6648a5cf1713d4bf80c26c.png

Feedforward Tracking System Design

A tracking system was previously designed by using feedforward cancelation of the error signal (Section 9.2.1). A similar design can be performed in the case of discrete systems.

Towards this end, let the discrete state variable model be given as: \[{\bf x}_{k+1} ={\bf A}_{\rm d} {\bf x}_{k} +{\bf b}_{\rm d} u_{k} , \;\;y_{k} ={\bf c}^T {\bf x}_{k} \nonumber \]

A tracking controller for the model is defined as: \[u_k=-{\bf k}^T{\bf x}_k+k_rr_k \nonumber \] where \({\bf k}^{T}\) represents a row vector of feedback gains, \(k_r\) is a feedforward gain, and \(r_k\) is a reference input sequence.

Assuming that a pole placement controller for the discrete system has been designed, the closed-loop system is given as: \[{\bf x}_{k+1}=\left({\bf A}_{\rm d}-{\bf b}_{\rm d}{\bf k}^T\right){\bf x}_k+{\bf b}_{\rm d}k_rr_k \nonumber \]

The closed-loop pulse transfer function is obtained as: \[T\left(z\right)={\bf c}^T_{\rm d}{\left(z{\bf I-A}_{\rm d}+{\bf b}_{\rm d}{\bf k}^T\right)}^{-1}{\bf b}_{\rm d}k_r \nonumber \] where \({\bf I}\) denotes an identity matrix. The condition for asymptotic tracking is given as: \[T\left(1\right)={\bf c}^T_{\rm d}{\left({\bf I-A}_{\rm d}+{\bf b}_{\rm d}{\bf k}^T\right)}^{-1}{\bf b}_{\rm d}k_r=1 \nonumber \]

The feedforward gain for error cancelation is obtained as: \(k_r=\frac{1}{T\left(1\right)}\).

Example \(\PageIndex{5}\)

The discrete state variable model of a DC motor (\(T=0.02\)s) is given as: \[\left[\begin{array}{c} {i_{k+1} } \\ {\omega _{k+1} } \end{array}\right]=\left[\begin{array}{cc} {0.134} & {-0.038} \\ {0.038} & {0.816} \end{array}\right]\left[\begin{array}{c} {i_{k} } \\ {\omega _{k} } \end{array}\right]+\left[\begin{array}{c} {0.863} \\ {0.053} \end{array}\right]V_{k} , \;\;y_{k} =\left[\begin{array}{cc} {0} & {1} \end{array}\right]\left[\begin{array}{c} {i_{k} } \\ {\omega _{k} } \end{array}\right] \nonumber \]

A state feedback controller for the motor model was previously designed as: \(k^T =[k_{1} ,\; k_{2} ]\), where \(k_{1} =0.247,\; k_{2} =4.435.\)

The closed-loop system is defined as: \[T\left(z\right)=\frac{0.367z+0.179}{z^2-0.503z+0.05}k_r \nonumber \]

From the asymptotic condition, the feedforward gain is solved as: \(k_r=6.98\).

The step response of the closed-loop system is shown in Figure 10.2.4.

clipboard_edca113b5d7dfbf45077bd40bafc3153a.png

Example \(\PageIndex{6}\)

The discrete state variable model of a DC motor (\(T=0.02\)s) is given as:

\[\left[\begin{array}{c} {i_{k+1} } \\ {\omega _{k+1} } \end{array}\right]=\left[\begin{array}{cc} {0.134} & {-0.038} \\ {0.038} & {0.816} \end{array}\right]\left[\begin{array}{c} {i_{k} } \\ {\omega _{k} } \end{array}\right]+\left[\begin{array}{c} {0.863} \\ {0.053} \end{array}\right]V_{k} , \;\;y_{k} =\left[\begin{array}{cc} {0} & {1} \end{array}\right]\left[\begin{array}{c} {i_{k} } \\ {\omega _{k} } \end{array}\right] \nonumber \]

A dead-beat controller for the motor model was designed as: \(k^T =[k_{1} ,\; k_{2} ]\), where \(k_{1} =0.501,\; k_{2} =9.702\).

The closed-loop system is defined as: \[T\left(z\right)=\frac{0.672z+0.328}{z^2}k_r \nonumber \]

From the asymptotic condition, the feedforward gain is solved as: \(k_r=12.77\).

The step response of the closed-loop system is shown in Figure 10.2.5.

clipboard_eaf6c75fb62a0c3b9c3294150ad9f04e5.png

Tracking PI Controller Design

A tracking PI controller for the discrete state variable model is designed similar to the design of continuous-time system (Figure 9.3.1). The tracking PI controller places an integrator in the feedback loop, thus ensuring that the tracking error goes to zero in the steady-state.

In the case of continuous-time system, the tracking PI controller was defined as: \(u=-{\bf k}^{T} {\bf x}+k_{i} \int (r-y)\rm dt\).

Using the forward difference approximation to the integrator, given as: \(v_k=v_{k-1}+Te_k\), an augmented discrete-time system model including the integrator state variable is formed as:

\[\left[\begin{array}{c} {{\bf x}(k+1)} \\ {v(k+1)} \end{array}\right]=\left[\begin{array}{cc} {{\bf A}_{\rm d} } & {\bf 0} \\ {-{\bf c}^T T} & {1} \end{array}\right] \left[\begin{array}{c} {{\bf x}(k)} \\ {v(k)} \end{array}\right]+\left[\begin{array}{c} {{\bf b}_{\rm d} } \\ {0} \end{array}\right]u+\left[\begin{array}{c} {\bf 0} \\ {T} \end{array}\right]r \nonumber \]

The state feedback controller for the augmented system is defined as:

\[u(k)=\left[\begin{array}{cc} {-{\bf k}^T } & {k_ i } \end{array}\right]\, \left[\begin{array}{c} {{\bf x}(k)} \\ {v(k)} \end{array}\right] \nonumber \]

where \(k_ i\) represents the integral gain. With the addition of the above controller, the closed-loop system is described as:

\[\left[\begin{array}{c} {{\bf x}(k+1)} \\ {v(k+1)} \end{array}\right]=\left[\begin{array}{cc} {{\bf A}_{\rm d} -{\bf b}_{\rm d} k^{T} } & {{\bf b}_{\rm d} k_{i} } \\ {-{\bf c}^T T} & {1} \end{array}\right] \left[\begin{array}{c} {{\bf x}(k)} \\ {v(k)} \end{array}\right]+\left[\begin{array}{c} {\bf 0} \\ {T} \end{array}\right]r(k) \nonumber \]

The closed-loop characteristic polynomial of the augmented system is formed as:

\[{\mathit{\Delta}}_a\left(z\right)=\left| \begin{array}{cc} z{\bf I-A}_{\rm d}+{\bf b}_{\rm d}k^T & -{\bf b}_{\rm d}k_i \\ -{\bf c}^T_{\rm d}T & z-1 \end{array} \right| \nonumber \]

where \({\bf I}\) denotes an identity matrix of order \(n\).

Next, we choose a desired characteristic polynomial of \((n+1)\) order, and perform pole placement design for the augmented system. The location of the integrator pole in the \(z\)-plane may be selected keeping in view the desired peformance criteria for the closed-loop system.

\[\left[ \begin{array}{c} i_{k+1} \\ {\omega }_{k+1} \end{array} \right]=\left[ \begin{array}{cc} 0.134 & -0.038 \\ 0.038 & 0.816 \end{array} \right]\left[ \begin{array}{c} i_k \\ {\omega }_k \end{array} \right]+\left[ \begin{array}{c} 0.863 \\ 0.053 \end{array} \right]V_k,\ \ {\omega }_k=\left[ \begin{array}{cc} 0 & 1 \end{array} \right]\left[ \begin{array}{c} i_k \\ {\omega }_k \end{array} \right] \nonumber \]

The control law for the tracking PI controller is defined as:

\[u_k=-k_1i_k-k_2{\omega }_k+k_iv_k \nonumber \]

where \(v_{k} =v_{k-1} +T(r_{k} -\omega _{k} )\) describes the output of the integrator. The augmented system model for the pole placement design using integral control is given as:

\[\left[ \begin{array}{c} i_{k+1} \\ {\omega }_{k+1} \\ v_{k+1} \end{array} \right]=\left[ \begin{array}{ccc} 0.134 & -0.038 & 0 \\ 0.038 & 0.816 & 0 \\ 0 & -0.02 & 1 \end{array} \right]\left[ \begin{array}{c} i_k \\ {\omega }_k \\ v_k \end{array} \right]+\left[ \begin{array}{c} 0.863 \\ 0.053 \\ 0 \end{array} \right]V_k+\left[ \begin{array}{c} 0 \\ 0 \\ 0.02 \end{array} \right]r_k \nonumber \]

The desired \(z\)-plane pole locations for a desired \(\zeta=0.7\) are selected as: \(z=e^{-1} ,\; e^{-1\pm j1}\).

The controller gains, obtained using the MATLAB ‘place’ command, are given as: \(k_{1} =0.43,k_{2} =15.44,\; k_{i} =-297.79.\)

An update rule for controller implementation on computer is given as:

\[u_k=-0.43i_k-15.44{\omega }_k+297.8v_k \nonumber \]

\[v_k=v_{k-1}+0.02\left(r_k-{\omega }_k\right) \nonumber \]

The step response of the closed-loop system is plotted in Figure 10.2.6. The step response of the continuous-time system (Example 9.1.1) is plotted alongside. The output in both cases attains steady-state value of unity in about 0.12sec.

clipboard_ea8f695d9639c458f7619cc7b76b4d269.png

Fusion of Engineering, Control, Coding, Machine Learning, and Science

Aleksandar Haber

Pole Placement With Integral Control Action to Eliminate Steady-State Error (State-Space Control Design)

admin

In this post, we explain how to integrate an integral control action into a pole placement control design in order to eliminate a steady-state error. The YouTube video accompanying this post is given below

First, we explain the main motivation for creating this tutorial. When designing control algorithms, we are primarily concerned with two design challenges. First of all, we have to make sure that our control algorithm behaves well during the transient response. That is, as designers we specify the acceptable behavior of the closed-loop system during the transient response. For example, we want to make sure that the rise time (settling time) is within a certain time interval specified by the user. Also, we want to ensure that the system’s overshoot is below a certain value. For example, below 10 or 15 percent of the steady-state value. Secondly, we want to make sure that the control algorithm is able to eliminate the steady-state control error.

In your introductory course on control systems, you have probably heard of a pole placement problem and the solutions. The classical pole placement method is used to stabilize the system or for improving the transient response. This method finds a state feedback control matrix that assigns the poles of the closed-loop system to desired locations specified by the user. However, it is not obvious how to use the pole placement method for set-point tracking and for eliminating steady-state error in set-point tracking design problems. This tutorial explains how to combine the pole placement method with an integral control action in order to eliminate steady-state error and achieve a desired transient response. The technique presented in this lecture is very important for designing control algorithms.

Consider the following state-space model:

\begin{align*}\dot{\mathbf{x}} & =A\mathbf{x}+Bu  \\y&=C\mathbf{x}\end{align*}

is stable and that the poles are placed at the desired locations (that are specified by the designer). The issue with this approach is that although we can place the poles at the desired locations, we do not have full control of steady-state error.

The basic idea for tackling this problem is to augment the original system ( 2 ) with an integrator of the error:

\begin{align*}x_{i}=\int \big(r-C\mathbf{x} \big) \text{dt}\end{align*}

We can write ( 5 ) compactly

\begin{align*}\begin{bmatrix}\dot{\mathbf{x}} \\ \dot{x}_{i}  \end{bmatrix} &=\begin{bmatrix}A & 0 \\ -C & 0  \end{bmatrix}\begin{bmatrix} \mathbf{x} \\ x_{i}  \end{bmatrix}+\begin{bmatrix} B \\ 0  \end{bmatrix}u+\begin{bmatrix} 0 \\ 1   \end{bmatrix}r  \\y&=\begin{bmatrix}C & 0  \end{bmatrix}\begin{bmatrix} \mathbf{x} \\ x_{i}  \end{bmatrix}\end{align*}

From the last system of equations, we can observe that we have formed a new state-space model, with the state variable:

\begin{align*}\begin{bmatrix} \mathbf{x} \\ x_{i}  \end{bmatrix}\end{align*}

The state-feedback controller now has the following form

\begin{align*}u=- \underbrace{\begin{bmatrix} K_{x} & K_{i} \end{bmatrix}}_{K}\begin{bmatrix} \mathbf{x} \\ x_{i}  \end{bmatrix} =-K_{x} \mathbf{x} - K_{i}x_{i}\end{align*}

By substituting the feedback control algorithm ( 8 ) in the state-space model ( 6 ), we obtain the following system

\begin{align*}\begin{bmatrix}\dot{\mathbf{x}} \\ \dot{x}_{i}  \end{bmatrix} &=\begin{bmatrix} A & 0 \\ -C & 0  \end{bmatrix}\begin{bmatrix} \mathbf{x} \\ x_{i}  \end{bmatrix}-\begin{bmatrix}B \\ 0 \end{bmatrix}\begin{bmatrix} K_{x} & K_{i} \end{bmatrix}\begin{bmatrix} \mathbf{x} \\ x_{i}  \end{bmatrix}+\begin{bmatrix} 0 \\ 1  \end{bmatrix}r \\ \begin{bmatrix}\dot{\mathbf{x}} \\ \dot{x}_{i}  \end{bmatrix} &=\begin{bmatrix} A & 0 \\ -C & 0  \end{bmatrix}\begin{bmatrix} \mathbf{x} \\ x_{i}  \end{bmatrix}-\begin{bmatrix} BK_{x} & BK_{i} \\0 & 0 \end{bmatrix}\begin{bmatrix} \mathbf{x} \\ x_{i}  \end{bmatrix}+\begin{bmatrix} 0 \\ 1  \end{bmatrix}r \\\begin{bmatrix}\dot{\mathbf{x}} \\ \dot{x}_{i}  \end{bmatrix} &=\begin{bmatrix} A-BK_{x} & -BK_{i} \\ -C & 0  \end{bmatrix}\begin{bmatrix} \mathbf{x} \\ x_{i}  \end{bmatrix}+\begin{bmatrix} 0 \\ 1  \end{bmatrix}r \end{align*}

The new system matrix

\begin{align*}A_{\text{new}}=\begin{bmatrix} A-BK_{x} & -BK_{i} \\ -C & 0  \end{bmatrix}\end{align*}

Next, we present MATLAB codes for implementing this control approach. The following code lines define the system, compute eigenvalues of the open-loop system, perform basic diagnostics, and compute the open-loop response.

The open-loop step response is given below.

pole placement design matlab

The open-loop system is asymptotically stable. However, we can observe that we have a significant steady-state error. To eliminate the steady-state error, we use the developed approach.

Next, we define the augmented system for pole placement, define desired closed-loop poles, compute the feedback control gain, define the close-loop system, compute the transfer function of the system, and compute the step response. The following code lines are used to perform these tasks.

The resulting step response of the system is shown in the figure below.

pole placement design matlab

A few comments about the presented code are in order. In code line 13, we define the closed-loop poles. We shift the open-loop poles to left compared to their original location in order to ensure a faster response. Also, we set an additional pole corresponding to the introduced integral action to be a shifted version of the open-loop pole with the minimal real part (maximal absolute distance from the imaginary axis). From the step response of the closed-loop system, we can observe that the steady-state error has been eliminated. Consequently, our control system with the additional integral action is able to successfully track reference set points. The computer transfer function of the closed-loop system is

\begin{align*}W(s)=\frac{614.6}{s^3 + 46.14 s^2 + 427.7 s + 614.6}\end{align*}

That would be all. A related post to this post and tutorial is a tutorial on how to compute a Linear Quadratic Regulator (LQR) optimal controller. That tutorial can be found here .

' src=

You might also like

Clear and concise explanation of fourier series with solved examples and python code, convert state-space models into transfer functions with matlab codes, clear and concise particle filter tutorial with python implementation- part 3: python implementation of particle filter algorithm.

MATLAB Answers

  • Trial software

You are now following this question

  • You will see updates in your followed content feed .
  • You may receive emails, depending on your communication preferences .

Pole placement design using place()

sami

Direct link to this question

https://www.mathworks.com/matlabcentral/answers/59676-pole-placement-design-using-place

   1 Comment Show -1 older comments Hide -1 older comments

Azzi Abdelmalek

Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/59676-pole-placement-design-using-place#comment_124568

Sign in to comment.

Sign in to answer this question.

Answers (0)

  • pole placement with prescribe a area for the eigenvalue

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

An Error Occurred

Unable to complete the action because of changes made to the page. Reload the page to see its updated state.

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

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)
  • 简体中文 Chinese
  • 日本 Japanese (日本語)
  • 한국 Korean (한국어)

Contact your local office

IMAGES

  1. Pole placement design

    pole placement design matlab

  2. Pole placement design

    pole placement design matlab

  3. Design of pole placement controller with integrator

    pole placement design matlab

  4. Experiment No. 8

    pole placement design matlab

  5. Control Design using Pole Placement

    pole placement design matlab

  6. Pole Placement Design Solved Example with MatLab ماتلاب بالعربي

    pole placement design matlab

VIDEO

  1. Pole Placement in Matlab using the "place" Command, 11/4/2016

  2. Pole placement design part 2

  3. Pole placement design part 4

  4. POLE PLACEMENT DAN LQR

  5. Pole placement design part 1

  6. 6 Pole Placement Design of D.T. Systems

COMMENTS

  1. Pole placement design

    Pole placement is a method of calculating the optimum gain matrix used to assign closed-loop poles to specified locations, thereby ensuring system stability. Closed-loop pole locations have a direct impact on time response characteristics such as rise time, settling time, and transient oscillations. For more information, see Pole Placement.

  2. Pole Placement

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

  3. Pole Placement

    Description Full Transcript Related Resources Pole Placement | State Space, Part 2 From the series: State Space Brian Douglas This video provides an intuitive understanding of pole placement, also known as full state feedback.

  4. Introduction: State-Space Methods for Controller Design

    Control Design Using Pole Placement Introducing the Reference Input Observer Design Modeling 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: (1) (2)

  5. 9.1: Controller Design in Sate-Space

    The pole placement design is facilitated if the system model is in the controller form (Section 8.3.1). In the controller form structure, the coefficients of the characteristic polynomial appear in reverse order in the last row of \(A\) matrix. ... The MATLAB Control System Toolbox includes the 'place' command that uses Ackermann's ...

  6. PDF Pole Placement Design Technique 8.2 State Feedback and Pole Placement

    Pole Placement Design Technique 8.2 State Feedback and Pole Placement Consider a linear dynamic system in the state space form In some cases one is able to achieve the goal (e.g. stabilizing the system or improving its transient response) by using the full state feedback, which represents a linear combination of the state variables, that is

  7. place (Function Reference)

    place. Pole placement design. Syntax. K = place(A,B,p) [K,prec,message] = place(A,B,p) Description. Given the single- or multi-input system. and a vector p of desired self-conjugate closed-loop pole locations, place computes a gain matrix K such that the state feedback places the closed-loop poles at the locations p.In other words, the eigenvalues of match the entries of p (up to the ordering).

  8. MATLAB Documentation: Pole placement design

    Description Given the single- or multi-input system ?x=Ax+Bu and a vector p of desired self-conjugate closed-loop pole locations, place computes a gain matrix K such that the state feedback u = - Kx places the closed-loop poles at the locations p. In other words, the eigenvalues of A - BK match the entries of p (up to the ordering).

  9. Designing Compensators (Getting Started)

    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 to convert other model formats to state space). In continuous time, such models are of the form. is the vector of control inputs, is the state vector, and ...

  10. Matlab

    Design a fEEdback gain controller for a 2nd and 3rd order system that's modeled in state-space representation via pole placement in Matlab.My video on conver...

  11. State Feedback Design using Pole Placement with MATLAB ...

    State Feedback Design using Pole Placement with MATLAB/SimulinkIn this video we will discuss the concept of pole placement technique, which is also known as ...

  12. State-Space Control Design

    Design LQR Servo Controller in Simulink. Design an LQR controller for a system modeled in Simulink ®. Pole Placement. Closed-loop pole locations have a direct impact on time response characteristics such as rise time, settling time, and transient oscillations. Pole placement uses state-space techniques to assign closed-loop poles.

  13. Experiment No. 8

    The video describes the basic concept of pole placement. The video then demonstrates the MATLAB simulation of pole placement in stabilizing the magnetic ball...

  14. Inverted Pendulum: Digital Controller Design

    Based on the poles found above, we will place the observer poles at [-0.2 -0.21 -0.22 -0.23]. These poles can be modified later, if necessary. We will use the MATLAB function place to find the matrix. Add the following code to your m-file and re-run in the command window to generate the observer gain matrix shown below.

  15. 10.2: Controllers for Discrete State Variable Models

    Figure 10.2.1 10.2. 1: The step response of the DC motor model with analog controller emulation: armature current (top); motor speed (bottom) We observe from the figure that the armature current has a higher overshoot at the lower sampling rate, though both models display similar settling time of about 100 msec.

  16. PDF State Feedback controller design using Pole-placement method and its

    Some more results on pole placement using different approaches can be seen in [8] and [4]. However in best of our knowledge there is no study on State feedback controller design using MATLAB. This paper has provided the generalized method and technique for solving pole placement problem by given algorithm which is much less

  17. PDF 4 Pole placement using polynomial methods

    Find the simplest controller C(s) such that the dominant closed-loop poles are at ¡3§j. Any other poles should be at ¡12. Solution: The plant is of order n = 2. A proper controller of order 1 exists that can place the poles arbitrarily. It has the form: C(s) = p1s+p0 l1s+l0 The characteristic polynomial has degree n + m = 2 + 1 = 3. Thus, we ...

  18. Control Design

    Using the pole placement technique, you can design a controller so that closed-loop system poles are placed in desired locations to meet design requirements such as rise time, overshoot, and settling time. This video shows how you can: Determine if a system is controllable by computing the rank of a controllability matrix.

  19. Pole Placement for the Inverted Pendulum on a Cart [Control ...

    Here we use the 'place' command in Matlab to design full-state feedback gains to specify the eigenvalues of the closed-loop system. This is demonstrated on ...

  20. Pole Placement With Integral Control Action to Eliminate Steady-State

    The classical pole placement design finds the feedback control matrix and the control law such that the closed-loop system (2) ... Next, we present MATLAB codes for implementing this control approach. The following code lines define the system, compute eigenvalues of the open-loop system, perform basic diagnostics, and compute the open-loop ...

  21. matlab

    I am about to design a low-pass filter with a zero/pole placement method in such a way that rejected frequencies are placed at $500\,\text{Hz}$ and their multiples. Are there any simple instructions to do it Matlab? Expected freq. response fo LPF with rejection exact freqs ...

  22. Pole placement design using place()

    Pole placement design using place () Follow 3 views (last 30 days) Show older comments sami on 23 Jan 2013 Vote 0 Link hi, i have this m.file : Theme Copy ew_place= [-8, -3, -3, -5, -6+5i, -6-5i]; K=place (A,B,ew_place);