|
[DPRG] Processing unit for mobile robot
Subject: [DPRG] Processing unit for mobile robot
From: Eric Sumner
kd5bjo at gmail.com
Date: Fri Apr 25 10:36:51 CDT 2008
I forgot to copy this to the list.
---------- Forwarded message ----------
From: Eric Sumner <kd5bjo at gmail.com>
Date: Fri, Apr 25, 2008 at 10:35 AM
Subject: Re: [DPRG] Processing unit for mobile robot
To: rmd at newmicros.com
> > When jitter seems to be a
> > problem, is it possible to ask what time it is and write code
> > that uses the actual delta time since the last iteration,
>
> I wonder. I've been thinking on PID and what doubling or
> halving the periods would do to the gains, and I can't see the
> answer is linear. Roughly doubling the I term update rate
> would halve the gain (to totalize the right number to get the
> same output ). While the D-term gain would need to be
> doubled. But the P term gain while somewhat near the same
> value, would need to be turned down, but i would not at all be
> a linear change. So a PID routine with an unstable update
> period is not something I could say made obvious sense.
Actually, it does. The fully proper form of a discrete PID controller is:
e_i += Dt * e
e_d = (e - e_p) / Dt
e_p = e
u = k_p * e_p + k_i * e_i + k_d * e_d
for each time step. Usually, we assume that Dt (the sampling period)
is constant, and then it gets folded into the k_p and k_i gains
because that requires less processing during execution. If you have
an unstable sampling period, you can't do that. So long as the
sampling rate is fast enough, this formulation should produce the same
results regardless of the sampling rate for any set of gains.
-- Eric
>
> Randy
>
>
>
>
> _______________________________________________
> DPRGlist mailing list
> DPRGlist at dprg.org
> http://list.dprg.org/mailman/listinfo/dprglist
>
More information about the DPRG mailing list
|