Loading ...
Sorry, an error occurred while loading the content.

Re: [SeattleRobotics] Re: Robotic control algorithms

Expand Messages
  • Peter Balch
    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 2:33 AM
    • 0 Attachment
      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
    • Peter Balch
      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 3:32 PM
      • 0 Attachment
        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.