# Re: ITAE poly/roots reference?

Anyone know where I can find characteristic polynomials and their roots for 1st-5th order systems-- in terms of wn (omega n)?
Thanks,
Bo
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Perry (Chemical Engineer's Handbook) has methods for finding roots for up to quartic equations.

<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>

Here's the normalized polynomials up to 8th order for ITAE
Order Denominator 1 s + 1 2 s^2 + 1.4s + 1 3 s^3 + 1.75s^2 + 2.15s + 1 4 s^4 + 2.1s^3 + 3.4s^2 + 2.7s + 1 5 s^5 + 2.8s^4 + 5.0s^3 + 5.5s^2 + 3.4s + 1 6 s^6 + 3.25s^5 + 6.60s^4 + 8.60s^3 + 7.45s^2 + 3.95s + 1 7 s^7 + 4.475s^6 + 10.42s^5 + 15.08s^4 + 15.54s^3 + 10.64s^2 + 4.58s + 1 8 s^8 + 5.20s^7 + 12.80s^6 + 21.60s^5 + 25.75s^4 + 22.20s^3 + 13.30s^2 + 5.15s + 1
dave y.
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Are you saying that these are the poles that minimize the ITAE? Interesting. What about the zeros?
Peter Nachtwey
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
napisa�(a):

We have to remember that these are poles of desired (criteria -minimize ITAE) transfer function.
Let say, I demand this P plant to be 1/(s+1) when closed loop :).
Zeros? Do we really need zeros after all? Never! They are always quite problematic (funny nonminimumphase responses, disturbance passing etc.).
--
Mikolaj

<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
wrote:

Wouldn't have the roots for these too, would ya'?
I'm also quite curious as to how these polys are found/derived. Anyone here know?
Thanks,
Bo
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>

If these the polynomials do minimize the ITAE then these coefficients can be calculated using a minimization program. What else? If have calculated the PID gains that result in the minimum ITAE using Mathcad but I found the answers always change depending on how the SP was changed, the initial size of the error and whether the controller output goes into saturation. I never considered that tabulating the coefficients would be of any value because these values changes as the conditions mentioned above change. I did my experiments because some one had suggested that minimizing the ITAE is the way to tune PIDs. I am not convinced.
Peter Nachtwey
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>

Very interesting. I would have thought these would be independent of the variables you mentioned and instead only a function of the plants natural response. I keep digging...
Bo
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>

no zeros. just poles.

not offlhand. just stick the coefficients into matlab.

don't know myself, but here's a paper where the coefficients are shown:
http://mechatronics.ece.usu.edu/ece7360/references/dmcs123.pdf
below's the reference the above paper cites. i haven't seen it, maybe someone here can get it and post?
Graham, D. and R. C. Lathrop (1953). The synthesis of �optimum� transient response: Criteria and standard forms. Trans. AIEE Part II (Applications and Industry) 72, 273-288.
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>

I think this data is bogus. It is probably correct if you don't take into account that factors that I mentioned above however reallity is much different. One can calculate the combined transfer function of both the plant and the controller. The ITAE can be mathematically determined differentiating that then finding the minimum. The problem with combining the controller and plant is that the limits of the controller can not be taken into account. This includes saturation limits and sample rates. Even the time over which the ITAE is minimized will affect the optimal PID gains.
Peter Nachtwey
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
On Mon, 16 Oct 2006 22:48:10 -0700, "Peter Nachtwey"

If you mean are the cofficients listed bogus, I don't think so. A couple of them I've seen in other sources. But why not try a few step responses and see if they look pretty good or not. For example, they should be better than Butterworth poles.
Regarding your other comments, guess I don't see the point. The polynomials are supposed to have roots which give an optimal response in the ITAE sense. Gives the RL junkies or the pole placement gurus something to shoot for. What's that got to do with whether your controller is saturating or not?
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
dave y. wrote:

OK, they are probably fine an ideal world.

These characteristic equations you provided are for closed loop transfer functions that assumes all the PID gains are in the feedback path except for the integrator gain. I have run four simulations using a second order underdamped position system as my model. This model has a damping factor of .1 which usually makes tuning 'interesting'. I used the minimizing routine in Mathcad to find the gains that minimize the ITAE.
ITAE0 T=0.001 Step=0.1 Simulation Time = 0.1 ITAE1 T=0.0001 Step=0.1 Simulation Time = 0.1 ITAE2 T=0.001 Step=0.2 Simulation Time= 0.1 ITAE3 T=0.001 Step=0.2 Simulation Time=0.2
ftp://ftp.deltacompsys.com/public/PDF/ITAE0.pdf ftp://ftp.deltacompsys.com/public/PDF/ITAE1.pdf ftp://ftp.deltacompsys.com/public/PDF/ITAE2.pdf ftp://ftp.deltacompsys.com/public/PDF/ITAE3.pdf
These things that I changed should not change where the optimal poles are placed for minimum ITAE but in reality they do.
The optimal poles are on page 3/7. The optional gains and paramters are on page 5/7. .

In an ideal world under ideal conditions maybe.

In reality the controller is one transfer function and the plant is another. In between there is a D to A converter that is limited to + or - 10 volts. When that limit is reached your equations don't represent the real system anymore. Even the sample time affects the ITAE as you can see. Another item I missed is that the feed back resolution also affects the minimum ITAE. How do your perfect transfer functions take that into account?
If tuning PID by minimizing ITAE really worked there would be many more people using it.
BTW, I don't really recommend doing motion control like this because it would be hard on equipment, but if a customer really wants to get into position quickly I can make it happen no problem.
Peter Nachtwey
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Tell you what--I've put together a little Matlab script that plots an ITAE step response along with a Butterworth for comparison. It's listed below.
How about you coming up with your systems closed loop transfer function, normalizing it to 1 rad/sec to allow comparing, and sticking it in the routine below to see if you can beat ITAE.
I'm thinking that maybe to get a fair evaluation of the response vs. pole placement issue that using derivative action to jazz up the response is not allowed. If this is not right then someone can correct me.
The script is below for a 4th order system, you can easily change the order as long as you have the ITAE cofficients handy for your particular order.
Matlab Script:
%... create prototype 4th order butterworth system
disp('Butterworth Prototype') sys_BW=tf(1,[1.0000 2.6131 3.4142 2.6131 1.0000])
%... create prototype 4th order ITAE system
disp('ITAE Prototype') sys_ITAE=tf(1,[1 2.1 3.4 2.7 1]);
%... step response
dt=.01;t=[0:dt:20]';u=ones(size(t)); y1=step(sys_BW,t); y2=step(sys_ITAE,t); plot(t,y1,'B',t,y2,'R');legend('BW','ITAE');grid;shg
%... compute ITAE errors
BW_Error=dt*trapz(t.*abs(y1-u)) ITAE_Error=dt*trapz(t.*abs(y2-u))
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
dave y. wrote:

You can see the ITAE for my transfer functions is given in the .pdf files. See the variable ERR.
I spent my time doing the same thing you are doing. ftp://ftp.deltacompsys.com/public/PDF/Mathcad%20-%20ITAE%203%20Pole.mdi Excuse the .mdi Microsoft Document Interface.
This verifies the 3 pole tranfer function you presented. The coefficents that I calculated by minimizing the ITAE are very close to yours. However, what do you do with your transfer functions? Your transfer function is for an open loop system. Mine are for a closed loop systems.

The main difference between your transfer function's response and mine is that yours is that the coefficient for s^0 is 1 and and mine is not.
Peter
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Dave Y, I read the link you provided. I can see what these equations are used for now. I was computing PID gains to minimize the ITAE. We are trying to do two separate things. Your equations are just ideal characteristic equations that give a desired response and provide pole locations. For instance I often use (s+lambda)^4 so I get four poles at -lambda and therefore have no overshoot. I can make my response faster or slower by changing the values of lamda. Likewise your equations can be used the same way but each term of s must be divide by omega before being raised to a power. In both cases these coefficients are used to determine the PID gains.
But you should realize that if you want to minimize the ITAE on a real system the control output will be driven to saturation as in my earlier examples and changing the value of omega in your ITAE characteristic equations will not make the system move any faster.
BTW, I tried to determine the coefficients for a 4 poles systems. My coefficents came close but not close enough. These people that determined these coefficients must have used a more mathematical way than my brute force minimizing technique. The 4 pole solution in the link took serveral minutes using Mathcad.
Dave Y, you don't know how they computed these values back in 1953 without a computer do you?
Peter Nachtwey
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>

Yes that's right. The ITAE poles are just a goal for your system design. If you can move your closed loop poles there, then great. But it's impossible to get your system to move faster than it's slowest open loop poles allow. When you put a large command into your system, saturating the control driver, that's it, you can't go any faster no matter what kind of loop you wrap around it.

Sorry, don't know. If you're a student then maybe you have access to that 1953 paper and could post it here?
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
dave y. wrote:

I am not a student. I make motion controllers. If you google groups you can find all the posts made by a person. I always use this tool to find out who I am talking to.
I searched the internet for Graham, D. and R. C. Lathrop (1953) and found several references at sites that make you pay. Other than that the link you posted was the only useful info. I just want to know why there is a difference between my coefficients and Graham and Lathrop coefficients for the 3 pole and 4 pole solutions. They are close but not that close. I wonder if Graham and Lathrop were able to find formulas to calculate the poles exactly or did they have to use an iterative technique that is less accurate than mine. I want to know who is right. I tried initializing the coefficents to the values for the 4 pole solution and then minimizing. If these coefficients are right then they should not move but they did. They moved to the 4-pole solution I posted a link to.
What are the minimum ITAEs you got? They should be similar.
Peter Nachtwey
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>

Sorry about that. I rarely access these groups via the goodle website, I use the Agent. But that was hardly a slam. I wouldn't mind being back in school. :-)

I searched google books and found a reference that talked about using optimization code to find the coefficients, so that's probably an indication there is no direct solution. I only looked at a couple, maybe there's some better ones.
"Computer Simulation Analysis of Biological and Agricultural Systems" By Huang K. Huang, Barney K. Huang
Search Link I used. See pages 217, 218, 219.

I haven't been working that problem. Guess I willing to accept that the published coefficients are the right ones. If I was to pursue it further, I would probably start looking at text books (not the ones I have at home). That's why access to a university library would be handy.
dave y.
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
dave y. wrote:

I wouldn't. Minimizing alogorithms and computer power has improved quite a bit since 1953.
Peter Nachtwey
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
On 22 Oct 2006 10:19:53 -0700, "Peter Nachtwey"

I'm cool with that. I don't have any current need fo rITAE anyway, so give it a shot and be sure and publish here what you come up with. Still, I would be suprised if those coefficients are wrong. I tried a couple and their step response looks pretty good, certainly good enough for pole placement purposes.