Thread: PID Control
View Single Post
  #2   Spotlight this post!  
Unread 07-04-2007, 04:34
Jizvonius's Avatar
Jizvonius Jizvonius is offline
Registered User
AKA: Jevawn Roberts
FRC #1002 (CircuitRunners)
Team Role: College Student
 
Join Date: Apr 2004
Rookie Year: 1997
Location: Atlanta, Georgia
Posts: 46
Jizvonius is just really niceJizvonius is just really niceJizvonius is just really niceJizvonius is just really nice
Send a message via AIM to Jizvonius
Re: PID Control

One way to deal with the buildup of error for the I term is to implement anti-windup in you control loop. Basically this limits the effects of the huge error at the beginning of your motion.

There are many ways of implementing this in practice. One way is simply to turn off your I term (as in not summing the error) until your error is small enough.

Another way is to have an error buffer that will only store so many values before it overwrites them (Limiting the error buildup). The error buffer is summed for your I term implementation. This way the large error at the beginning of the motion will be overwritten by the time the motion is nearly complete (for large movements).

Finally, I terms generally have a slow response and are used to eliminate very small steady state error. In an application such as a balancing robot, a PD loop will respond much faster albeit with some steady state error.

There is much more than this to PID control, but it's late. Hope that this helped.
__________________
Jevawn Roberts
Georgia Tech Mechanical Engineering Senior
Co-Leader - GT FIRST
gtfirst@robojackets.org

1997-2007 w00t for robots!

108-132-408-832-1002
5 teams worth of head scratching