Curious about some links posted for "Understand PID control"

I didn't want to confuse a someone and hijack a thread so I waited to start this one.

Jerry posted this links

formatting link
I don't see how the stated advantages 1 through 4 can be justified? This reminds of the threads posted a few years ago about the I-PD being the best form of PID.

  1. Is the damping determined by where the poles of the CLTF are place?
  2. I agree that the I-PD is almost problem free when it comes to integrator wind up but a PID can be implemented so its wind up will handle saturation nicely. I think this is implementation dependent.
  3. I would think a PID would follow a ramp better because the zeros in the CLTF introduced by the PID extend the CLTF's bandwidth.
  4. Again, I don't see how I-PD can respond to a disturbance better than a PID because the I-PD CLTF bandwidth is not as high as that of a PID.

This will give the PID priest hood something to ponder.

Peter Nachtwey

Reply to
Peter Nachtwey
Loading thread data ...

Yes. I would rather word it that damping is determined by where the poles happen to fall, because pure pole-placement design will lead you down the garden path -- successful pole-placement design is done when you have a pretty good grasp of where the poles would go in a robust system; forcing them to that safe place works, but attempting to place them arbitrarily usually results in pain.

Yes, and there are good ways to implement integrator saturation, including ones that will give you a controlled overshoot for fast overall settling (if overshoot is allowable).

If you only know how to fix integrator windup by simple integrator limiting then I-PD will be better with regards to overshoot.

I'll defer _that_ question to Jerry.

I will comment, though, that sometimes I'll put derivative into my forward path and sometimes I won't, depending on the problem at hand and the expected nature of the command (i.e. if I know the command won't have any steps I'll be more likely to include the derivative).

For equal closed-loop poles the linear response to a _disturbance_ should be exactly the same; it's only the response to a _command_ that will differ because of the zeros in the forward path.

Usually if I'm worried about integrator windup I limit the integrator state based on the proportional gain and error, so the integrator state is no larger than that which would cause the output to saturate with just the proportional term thrown in -- even if that means having the integrator state oppose the proportional term.

I have used an I-PD-like approach once, however, when I needed to control a plant to hold four different outputs to four different maxima (one "real" controlled variable and three things that needed to be kept in their safe regions). In this case I had four PD filters followed by a minimum function, so any of the four could pull the output integrator down but they all had to be below target for the output to rise. The system worked very well at transitioning control from one output variable to another, although for other reasons it went into production with only two output variables under such control.

Reply to
Tim Wescott

Hey Jerry -- could you toss a block diagram or two in there? I'm not sure I'm visualizing the two loops well enough.

Reply to
Tim Wescott

Yes, I opt for over damped or critically damped. The point is the poles for both PID and I-PD are placed the same way. Therefore the advantage #1 is not valid.

Yes, but a PID that is well designed will not use simple intetgrator limiting. I claim that advantage is only partially valid because well designed PIDs will handle saturation just as well

You have brought up a good point that Jerry's link doesn't. It depends. Jerry's link just says I-PD is better. One must use the right PID form depending on the application.

I agree and that contridicts the advantage in Jerry's link.

it's only the response to a _command_ that

Again I agree.

The example your article integrates error. Do you really integrate error in your applications?

so the integrator state

That is another fine point that isn't listed in the links. Not even in your link.

That is a good example of using the right tool for the application. I worry about the affect those. that say there is only one best form of PID, have on rookies. Those that say there is only one best form of PID or the derivative gain doesn't need to be used make me cringe. It perpetuates the ignorance.

I think Jerry needs to update or replace that Phelan document. I-PD is good. I-PD just isn't best in all cases. I-PD is just one of many tools.

Peter Nachtwey

Reply to
Peter Nachtwey

...

We do many things with software that aren't feasible with hardware. What I dubbed I-PD -- not Phelan's term -- is easy to implement with op-amps (and diodes for the integrator limiter).

An unadulterated PID follows a ramp with constant error after the start-up transient, The error term is has the form of the step response of an R-C low pass. [1 - exp(-xt)] An I-PD responds to a ramp with the same initial form as a PID, but the error decays asymptotically to zero even while the ramp command continues, as if the error were capacitively coupled.

An I-PD controller with integrator limiting converts a step input (which no physical load can follow) to a ramp at the load that uses the maximum available power (or allowed mechanical load, etc.).

...

Jerry

Reply to
Jerry Avins

...

+
Reply to
Jerry Avins

Yes

but the error decays asymptotically to zero

No. What would make the error decay asymptotically to zero during the ramp? The type (0,1,2) of the CLTF doesn't change just because one changes the controller from a PID to I-PD.

? I don't believe it, at least not a linear ramp. As the error decreases the rate at which the integrator term increases slow down so the response is as you pointed out above. The response is exponential. If you want to call that a ramp then fine.

? I don't believe it. Doesn't it depend on the integrator gain and the error? If the error isn't very big the output will not use all the available power.

¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

Peter Nachtwey

Reply to
Peter Nachtwey

Defer that.

Let's assume a velocity servo, which is what I blocked out in an earlier post. (A position servo would require an additional feedback term, raising the order of the system.) The integrate time constant is much less than a PID's slow-acting "reset". When a step is commanded, the integrator quickly ramps up to the limit. During integrator ramp-up, the motor's acceleration ramps up too, but it will have not picked up much speed by the time the power is limited. That means that there will be very little feedback at the pseudo-derivative summing node, and almost all of the integrator's output is effective drive. As the motor picks up speed, the feedback at the PD node cancels some of the drive, but the bounds network compensates by allowing the integrator output to increase. Ignoring the details of the linear region, By the time the motor reaches the commanded speed, the output of the integrator is exactly what is needed to keep it there at whatever load is on it. The integrator stops ramping, and there is no overshoot. With a narrow proportional range, the system behaves like a bang-bang servo, but no element of it saturates.

The integrator has a very short time constant compared to PID. Even a small error would drive the output close to saturation in a short time if the bound arrangement allowed it. Remember: the bound measures what happens at the actuator and adjusts the integrator accordingly. Because of that, in response to a step, the feedback signal and the integrator output rise together to maintain maximum drive at the actuator.

Classical servo equations are normalized, usually to the integrator's time constant. With such curves, PID and I-PD look similar. The difference becomes evident in real time. A critically damped I-PD system reaches its setpoint in about 1/3 the time it takes a 4% overshoot PID to settle.

Jerry

Reply to
Jerry Avins

I understand that but Phelan's point 3 says response to a ramp. Not a step input.

What is a classical servo equation? What is normalized?

NO! Not possible because the PID has a higher bandwidth. A properly designed PID will handle saturation with out overshoot just fine and ramp into the setpoint just a few milliseconds faster than the I-PD. WHY, because the PID's control output will jump directly to saturation if the error and gain is large enough and a I-PD's control output will ramp up given the same gains. Therefore the PID will respond just a little faster.

Peter Nachtwey

¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Reply to
Peter Nachtwey

Not Phelan's point: my paraphrase. I may have had in mind the action when a higher derivative is included, but I don't think so. I don't have hos book or my notes handy.

Response time measured in units of integrator time constant.

What do you base that on?

That's hard to do with a strictly analog approach. With digital tweaks, approaching I-PD performance isn't too hard. but I find it /ad hoc/.

I think you're confused. An I-PD's integrator typically had a shorter time constant than a PID's. As for saturation, what matters is that the output saturate rapidly. What happens to the integrators is (as the Chinese often say to us) an internal matter.

Jerry

Reply to
Jerry Avins

I measure response in terms of a desired characteristic equation. The link I posted shows what I mean. ftp://ftp.deltacompsys.com/public/PDF/Mathcad%20-%20t1p1%20i-pv%200.pdf Tim Wescott has Mathcad and can verify the .pdf. I will send him the .mcd file if he wants.

I was asking you what you based the advantages in your link on and I haven't got an answer that I like yet, but I will go first anyway. See the link. Notice that the I-PV or I-PD does not follow a ramp without error. Notice also that the response to a step is faster with a PID than the I-PV. Compare the ITAE values.

DO YOU SEE ANY OVER SHOOT? Notice the implementation is very simple, not ad hoc. Doesn't it make sense that the control system with highest bandwidth will respond to high frequency moves faster? I don't see why this is so difficult to see even for a rookie.

Who said the control is limited to analog only? I have never used an analog controller that I remember.

What is ad hoc? Check out the link Notice the PID and I-PV implementation is very simple and very similar except for necessary differences. One can see the PID out performs the I-PV making the same change in the set point using the same gains. Isn't it obvious that a PID with zeros will have a higher bandwidth than the I-PV so the PID will respond faster to a step which has very high frequency components?

I am not confused. The link should show that.

Why? Why not the same as in my example. If you make the integrator time constant faster in the I-PV than in the PID it is no wonder you think the I-PV is faster but that is not a apples to apples comparison.

The PID saturates faster and gives it a few millisecond head start to the set point. I hope everyone can see that.

I know the example in the link above is a position system an not a temperature system. If you want a temperature example then see this: ftp://ftp.deltacompsys.com/public/PDF/Mathcad%20-%20TempPID.pdf

Peter Nachtwey

¯¯¯¯¯¯¯¯¯¯¯¯
Reply to
Peter Nachtwey

...

I don't see any PID overshoot. How is that possible? When a PID has settled on the setpoint, its integrator, in the absence of a load, is zero. The integrator charges -- to saturation if the command is large -- before the setpoint is reached, and must be discharged by an error signal of the opposite sense (i.e. overshoot) before steady state is achieved. The overshoot is always the same fraction of the linear region. Is the linear region in your simulation zero?

...

Jerry

Reply to
Jerry Avins

More thoughts on the issue. As far as I can see, you have chosen the same integrator gain for both the PID and I-PD simulations. I-PD's typically run with 3 to 10 times the K1 that would make a PID unstable.

For an interesting comparison, simulate the effects of step and ramp loads on both systems.

I was wrong about following a ramp load. What I wrote applies to a system a degree higher, one with a second pseudo derivative (needing one differentiation) added.

jerry

Reply to
Jerry Avins

I know. Customers don't like overshoot. The point is that that the PID and I-PV will not overshoot if the gains are chosen properly and one makes just the smallest effort to manage the integrator windup.

You are thinking within the narrow confines of analog circuits. This is a digital implementation that 'discharges' the integrator when the set point jumps and then the integrator windup up to 0. I know it is backwards from what you are familiar. You can see the integrator limit is simple. It uses a technique that Tim Wescott mentioned above. I called it a fine point.

Again you are thinking analog. If I implemented a PID, like Tim Westcott does in his article, it would overshoot as you expect. The point I am making is that PID doesn't need to overshoot. This is just a implementation detail. My example is very simple and requires no more code that Tim's PID implementation in his article

I added more to the .pdf ftp://ftp.deltacompsys.com/public/PDF/Mathcad%20-%20t1p1%20i-pv%201.pdf I added the PID response to a ramp and both PID and I-PD response to a sine wave.

Also, NO ONE CAUGHT THE NON-MINIMUM PHASE PROBLEM WITH MY PID IN THE MY PREVIOUS .PDF!!! Notice the second feedback gain, the velocity feedback or derivative gain in the K array, is negative. One can see from the equation for the velocity feed back gain that it will be negative if lambda, the desired corner frequency of the 3 poles of the desired characteristic equation, is too low. I increased the desired pole locations in the second link above. The I-PD will work well with negative feedback gains a PID will not. Sometimes negative feedback gains are required for critically damped response. Odd but it works. I asked if anyone has tried negative feed back gains a couple months ago and no one responded.

Peter Nachtwey

Reply to
Peter Nachtwey

-- snip --

We were afraid (well, I was at least).

I recently had to convince a client that they _really_ didn't want to fix a problem with a control rule change; they _really_ wanted to change their plant, instead. I wasn't making much headway until I pointed out that the compensator had unstable zeros in it -- then they listened.

Reply to
Tim Wescott

On Wed, 09 Nov 2005 21:35:29 -0800, Tim Wescott proclaimed to the world:

I worked with negative gains once but it was a fix for a bad control design to take out instability. In this case the system needed to have a fast response but there was a lot of hysteresis in the final control element. Negative feedback was used at the element to the main controller to dampen oscillation. It worked.

Be well,

HoP

The preceding message represents personal opinions and/or advice that may prove incorrect or harmful. But then maybe not. Feel free to disregard.

------- Words have no Warranty ------ ------- No View without Merit ------

Reply to
HoPpeR© trading at 1492¥

I call it an ad hoc solution, the kind I implemented also with analog servos. That was easier to do once transmission gates became available. With bounded I-PD, it is unnecessary.

A classical PID, whether implemented as an analog or digital circuit must overshoot. If it doesn't, then it's something else and should have another name. "Encrusted PID" sounds derogatory. Do you have another suggestion. (For God's sake, don't suggest "enhanced"!) Abraham Lincoln once asked his cabinet, "If you call a tail a leg, how many legs does a sheep have?" He replied to the answer "five", "No; four. Calling a tail a leg doesn't make it one." Calling a controller with no overshoot a PID doesn't make it one. Don't confuse the rookies. :-)

Intuition is wrong, then. The I-PD integrator gain is much higher.

I will fix the ramp-following statement. I don't see how you come to your bandwidth conclusion. Try a velocity servo with a real motor/tach combination both ways, using the highest practical Ki in each case.

I coined I-PD to mean integral/pseudo derivative. What does I-PV mean?

I agree that TC is an odd way to express it. If you post a copy of this, I'll add this response.

Jerry

P.S. There is another way to look at the "pseudo derivative" inner loop. Consider a simple velocity servo. A good PM or separately excited motor is quite good on its own. (It's nearly perfect with negative compounding.) Reducing the excitation actually brakes the motor. Driven by a current source with velocity feedback, it retains that characteristic. Driven by a voltage source with velocity feedback, it becomes so highly damped that the inertia is nearly swamped by the electrically created viscous damping, reducing the order of the system, as seen at the summing point into the power amplifier, by one. Such a system is stable with an integral-only controller for small signals, and also stable for large signals if the integrator is bounded by conditions at the output.

Jerry

Reply to
Jerry Avins

I don't care what you call it. You can see it works and that is what is important to me and my customers. The limiting technique is simple and only a little different from Tim Wescott's in his article. Is Tim's PID integrator limiting ad hoc too? I have other schemes that are far more complicated and don't work as well.

Yes, in position or final value form. Not in velocity or incremental form. (OT, I hate the terms position and velocity form because it has nothing to do with position or velocity. This too confuses the rookies.)

If it doesn't, then it's something else and should have

PID with dynamic integrator limiting. Tim's example uses fixed integrator limiting. I think that is simple enough and easy to remember.

WAIT, I am using the same integrator gain for both the PID and I-PD in my .PDFs. I am initializing Ki once and using the same Ki through out the .PDF I am doing a apples to apples comparison so the CEs ( characteristic equations ) have the poles in the same place. I can easily change the lambda so the poles are far to the left ( higher corner frequency ) and compare them. THE ONLY THING THAT IS DIFFERENT IS THE PID HAS ZEROs. This calls for another .PDF of bode plots for PID, PI-D and I-PD. This will show the difference in the response.

ftp://ftp.deltacompsys.com/public/PDF/Mathcad%20-%20T0C1%20Bode.pdf

Many PLCs use the PI-D form. AB has for a while

This shows the only difference between these forms is where the P and D gains are applied in the loop. If the P and the D gains are in the forward path the bandwidth will be higher. It has NOTHING to do with integrator time constants or gains. The difference is in the zeros. Even the rookies can see that.

Just check out the link above. I feel like I should write a book. "Peter Ponders Practical PID or what every ad hoc name you call it"

The problem you are seeing is the noise and quantizing errors being amplified by the zeros. If one needs faster response be prepared to pay for better, higher resolution and less lag, feedback devices. It is these two problem that discourage people from using the derivative and higher order gains.

I consider them to be almost the same. I-PV is just the state feedback term. Each state, position, velocity, acceleration and jerk, can be used for feedback and have its own gain. The simple case I-PV or I-PD just means the derivative or velocity feedback gain in feedback path. The derivative in the feedback path means one is actually taking the derivative of the PV. In some case one could read the position from a take rather than differentiate positions. It is a fine difference. From a control theory point of view I don't see where there is a difference between I-PD and I-PV. It is a implementation detail.

I am also surprised no one has commented on the way I calculate gains symbolically. Matlab is good for getting answer quickly with out understanding the process. Mathcad is better when used symbolically. The symbols make it much easy to see the relationship between the different variables.

So what do the equations say about the relationship between the integrator and proportional gain?

Peter Nachtwey Delta Computer Systems, Inc.

Reply to
Peter Nachtwey

To compare like things, use, say, half the integrate gain that just induces instability. When comparing the performance of a Ferrari and an

18 wheeler, would you have them both carry 50 tons?

What I dubbed I-PD has only an integrator in the forward path and proportional and pseudoderivative feedback in the reverse path within the proportional band. Outside that, the feedback is primarily via the bounds circuit.

Recall the block diagram I posted on 11/6:

+
Reply to
Jerry Avins

When the goal is to move 50 tons, yes. The Ferrari loses.

Yes, that is why your ciruit has no zeros and it doesn't have the band width of a PID Can't you see that. I do think your circuit is a little different from mine.

My I - PD

G*alpha SP ------>+-----Ki/s -----+-------+------ --------- -----+------- PV | | | s + alpha | -PV -Kp -Kd*s | | | | | +--------------+--------+------------------------+ My PID +------Ki/s------+ | | G*alpha SP-------+-------+----- Kp-------+---- ----------- -----+---------PV | | | s + alpha | -PV +------Kd*s----+ | | | +--------------------------------------------------+

In the denominator my transfer functions you see ( Ki/s + Kp + Kd*s) Your I-PD would have (Kp*Ki/s+Kd*s) I think, It is hard to figure out what you really meant by your diagram.

What is the transfer function? I can tell by that and it is easier to right. You should have been able to compare your I-PD with my version of I-PD to check for a difference.

Yes, I think so but doesn't make any difference to the statement about PID overshooting. It doesn't need to if you limit the integrator correctly.

Check this site out. Mike Borrello has two technotes that apply. One is about the pseudo derivative and the other is about integrator windup. In the pseudo derivative article he say the characteristic equations of the PI and what he calls PDF (Pseudo Derivative Control) One can see the only difference is in the numerator which is what I am saying. Now he, like you, says the PI overshoots which it will unless using only a simple integrator limit.. See his technote about Control windup. There he mentions limiting the integrator the same way I do.

formatting link
Peter Nachtwey

Reply to
Peter Nachtwey

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.