## Re: [SeattleRobotics] Re: Robotic control algorithms

Expand Messages
• Robert ... I really don t see that. dP/dt (i.e. velocity) is self-perpetuating - hence momentum. Momentum gives rise to overshoot in a P controller. dV/dt
Message 1 of 75 , May 1, 2008
Robert

> A "large" Kp will not only produce high acceleration but also will
> overshoot (and over-correct). The longer the delay in reaching a stable
> speed after an applied correction, the worse the overshoot.

I really don't see that.

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.)

Peter
• Dave ... I hadn t realised that. I guess it s obvious when someone points it out. I knew that D was sensitive to noise but I d always been wary of filtering it
Message 75 of 75 , May 9, 2008
Dave

> In the real world, the D term is low pass filtered for frequencies
> above the loop response. The effect is to cap the D term gain for
> frequencies above the loop response.

I hadn't realised that. I guess it's obvious when someone points it out.

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.
> 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."

(That was dpa's statement. And graphs and robot.)

> I jumped to the conclusion that the 20 Hz was the servo pulse update
> rate. I hope my parachute opened.

Ah. I was searching for something subtle in the graphs.

> > If you remove the D term, check the overshoot and ringing.
> > I bet it will go up.

I just realised something. You were suggesting in your previous post that "a
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?

Peter
Your message has been successfully submitted and would be delivered to recipients shortly.