Re: [SeattleRobotics] Re: Robotic control algorithms
> A "large" Kp will not only produce high acceleration but also willI really don't see that.
> overshoot (and over-correct). The longer the delay in reaching a stable
> speed after an applied correction, the worse the overshoot.
dP/dt (i.e. velocity) is self-perpetuating - hence momentum. Momentum gives
rise to overshoot in a P controller.
dV/dt (i.e. acceleration) is not self-perpetuating. There is no equivalent
of momentum for acceleration. Hence velocity cannot overshoot in a P
controller. (Assuming all the caveats in my last post about instant power
control and no sensor lag.)
> In the real world, the D term is low pass filtered for frequenciesI hadn't realised that. I guess it's obvious when someone points it out.
> above the loop response. The effect is to cap the D term gain for
> frequencies above the loop response.
I knew that D was sensitive to noise but I'd always been wary of filtering
it because filters introduce delay and delay causes oscillation.
> > To start with, there is a delay in the system of 1/20 sec at 20 Hz.(That was dpa's statement. And graphs and robot.)
> I took a guess from your statement: "Here is a plot of a PD velocity
> controller, showing the controller variables and output for
> 6 seconds at 20 Hz, 120 samples, for my SR04 robot."
> I jumped to the conclusion that the 20 Hz was the servo pulse updateAh. I was searching for something subtle in the graphs.
> rate. I hope my parachute opened.
> > If you remove the D term, check the overshoot and ringing.I just realised something. You were suggesting in your previous post that "a
> > I bet it will go up.
conventional D term cannot compensate for this [20mS] delay". Therefore the
D term isn't there for that purpose. It's a velocity controller so D is not
there because of momentum. It must be there simply for "balancing the I and
D terms". So if you remove both I and D then you wouldn't expect extra
overshoot and ringing.
And why can't D compensate for a fixed delay?