|
Re: Velocity PID Programming: Terms dependent on time
Quote:
Originally Posted by Tom Line
Several of the simplified position PID's I've seen fail to mention you need to incorporate time into your formulas for the I and D terms.
So, it seems that would carry over to a velocity PID.
Let's say I have a simple velocity PID in pseudo-code.
Desired_Velocity - Actual_Velocity * Prop Gain = Prop_Term;
This_Velocity_Error - Last Velocity Error =Der_Term;
Sum_Errors * Int_Gain = Int_Term;
Last_PID_Output = Feed_Forward;
PID Output = Prop_Term + Der_Term + Int_Term + Feed_Forward;
Which of these terms need to be normalized by dividing them by the loop timing?
|
You're missing parentheses in the term for proportional gain. Anyway, if the loop is always run at the same frequency, dividing in the loop time is unnecessary, as the tuned gains can account for the loop time. If it is not constant, the I and D gains are divided by the loop time.
__________________
2012 Utah Regional Rookie All-Star
2013 Phoenix Regional Judge's Award for "design process and prototyping"
2014 Hub City Regional Quality Award, Arizona Regional Excellence in Engineering Award
2015 Arizona East Regional Creativity Award, Winner
2016 Arizona North Regional Finalist, Arizona West Excellence in Engineering Award, Finalist
|