Thread: PID
View Single Post
  #1   Spotlight this post!  
Unread 24-04-2013, 22:22
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,089
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
Re: PID

Quote:
Originally Posted by rawrxp View Post
PID (stands for proportional, integral, and derivative) is a control loop where the feedback is used as an adjustment for the next iteration.
If your control algorithm does input/process/output, then the feedback is used as an adjustment for the present iteration.

Quote:
the sensors that you stated will give you back a current value. You can subtract your current from your setpoint to get your error.
the OP may think you are talking about amps here.

Quote:
The way that most people understand PID is thinking about it as a function graph where the x-axis is the number of iterations and the y-axis is your error (setpoint - current). Now this function (let's call it f(x)) is your basic function for your error versus iterations that is constantly growing as your PID loop continues.
The error should be decreasing, not growing, if the controller is working properly.

Quote:
You add all of these together to get a PID value to send to your motor.
True for the WPILib Java implementation, but other languages (like LabVIEW) use a different form of PID. The 2013 WPILib PID also has a feedforward term.


Quote:
Now, the proportional value is pretty self-explanatory. It decreases as the error becomes smaller or as you approach your setpoint. Thus, it gives a huge boost at the beginning and reduces its effectiveness as the error decreases. A P-only loop will result in oscillation.
Not true as an unqualified general statement. It depends on what you are controlling, and how high you crank up the gain.


Quote:
The integral term ... can "predict" where the power level will go next and try to compensate.
I think you are confusing the integral term with the derivative term.


Reply With Quote