DPRG List

 [DPRG] PID Loop Question Message index sorted by: [ date ] [ thread ] [ subject ] [ author ] Previous message: [DPRG] PID Loop Question Next message: [DPRG] PID Loop Question Subject: [DPRG] PID Loop Question From: Randy M. Dumse rmd at newmicros.com Date: Mon Feb 22 13:47:22 CST 2010 ```Quinones, Jose said: Monday, February 22, 2010 12:34 PM > I am trying to get a better understanding of the PID Loop. > So far, I think I understand the Proportional aspect this good. Yes, that is a reasonable basic representation. > I think I have an idea of what Integral is. Not so good on Integral. The intergal is not for a big term, but more for a small term. In fact if the integral gets too big it's actually a known problem called "integral windup" or "integral runaway". Instead, if the result has been a little off for a long time, then the integral term is supposed to grow up enough to push the system back to where it should be (zero error). The problem is like this. When the proportional is really small, it makes a really small push. Well, that small push can be too small to actually cause system movement. If we model the action as pushing something to center, you can probably imagine nudging something might not work because of stiction of friction or what not. So for little changes where the P term is also very little, you could sit there off by a bit, and nothing would happen. But! If every time that little error is added, and all the error is of the same sign, meaning you're not hunting around the center, but actually sitting there a bit off center, then that Integral term will get big! Big enough to augment the underpowered P term, and push, and break loose of the stiction, and get the things centered again. So that's what the integral term does. It builds up over time to produce a force big enough to stand in for the P term, if the error is otherwise really small, but constant. > Not certain if I follow Derivative as well, but my > impression is that it tells us how quick the error > is changing and if so, then apply a correction. Yes, that's a right impression. The derivative is the difference between the error last time and this time. It works against the other two terms. You can think of it in the I term example above as seeing the I term got big enough to get the thing unstuck, and it starts moving, you don't want to overshoot past center, only to wind up on the other side of center, before the I terms gets wound back down to zero. To the D term moderates both the P and I terms once they start doing their jobs, lest they get to good. So that's the intuitive overview. Now, how's your physics? If you can understand the equations of motion as derived from Hooke's Law applied to Damped Harmoonic Motion is a 2-nd order differential equation, you can understand how these three terms came to be. http://hyperphysics.phy-astr.gsu.edu/HBASE/hframe.html You're adjusting the coefficients of the deplacement terms, so a damped oscillator would move from one position to another, the fastest possible way, with the least amount of overshoot and ringing. There are also slides there on critically damped, vs. under damped and over damped motion, below on that same page. They might help you gain perspective. PID is trying to make your motion system exactly critically damped, so motion happens as quickly, and with maximum precision. If not, there's a good tutorial here: http://www.engin.umich.edu/group/ctm/PID/PID.html And a simpler one often refered to here: http://www.embedded.com/2000/0010/0010feat3.htm Or if there is still questions in your mind, ask, and I'll try to offer simple answer. I've started to write a book on robomagellan concepts, and I could let you see a preliminary that discusses PID routines. Randy ``` Previous message: [DPRG] PID Loop Question Next message: [DPRG] PID Loop Question Message index sorted by: [ date ] [ thread ] [ subject ] [ author ] More information about the DPRG mailing list