Pole assignment state feedback design example using Mathematica
Nasser M. Abbasi
Nov 29, 2014
Detailed step by step showing how to design a gain vector K for single input system in state space such that the system has desired pole locations.
Define the A and B matrices for state space x’=Ax+Bu
convert to controllable form (we call this the target system)
Obtain controllability matrix for original system
Obtain controllability matrix for target system
Obtain T, the transformation matrix
Verify T
define the gains as unknowns. These are what we will determine using pole assignment
generate the closed loop state feedback A matrix using the traget A,B system
Find the CharacteristicPolynomial of the above matrix
Extract the coefficients so we can compare them to the design polynomial below
Generate the design polynomial from the desired pole locations
Extract the coefficients of the design polynomial
Solve for the gains by comparing coefficients of design polynomial with the closed loop polynomial
Convert the gain vector to original space using the transformation T found above
verify the original space now has designed eigenvalues with this gain vector
Using packaged function for design
The above design is implemented in my package now using the function nma`getStateGainVector. Here are examples using it
Another example
Turn on the flag to see the steps made in the design