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

Re: [SeattleRobotics] Re: Robotic control algorithms

Expand Messages
  • Peter Balch
    From: Kevin Ross You seem to be referring to any mismatch between desired and actual speed as overshoot . I m simply referring to what is
    Message 1 of 75 , May 2, 2008
      From: "Kevin Ross" <kevinro@...>

      You seem to be referring to any mismatch between desired and actual speed as
      "overshoot". I'm simply referring to what is called "overshoot" in
      discussions of controllers. For instance, the first graph in
      http://en.wikipedia.org/wiki/PID_controller
      shows overshoot. The word "overshoot" is used in that technical sense
      throughout the article and throughout any discussion of PIDs.

      > your simulation must be
      > broken. Simple laws of physics will ALWAYs apply. There is a reason that
      > PID
      > exists, not just P.

      The laws of physics predict that there will be overshoot using a P
      controller that controls the position of a motor. The laws of physics
      predict that there will NOT be overshoot using a P controller that controls
      the speed of a motor.

      There are many PID controllers on the web. Can you find one that
      demonstrates overshoot in a speed controller. (Remember, most of the demos
      are of position controllers.)

      > Sorry, momentum is a force.

      Momentum is not a force in any physics textbook I've ever read.

      > momentum is a force. A force over time causes acceleration.

      So "momentum over time causes acceleration"? Not in this universe.

      > The momentums change in
      > speed is going to cause overshoot.

      What does "the momentums change in speed" mean?

      The laws of our universe make it so that a mass tends to resist a change in
      velocity. That's momentum. A mass does not resist a change in acceleration.


      That's why momentum causes overshoot in a position controller. And why
      momentum cannot cause overshoot in a speed controller. There's a fundamental
      difference between a position controller and a speed controller.

      >>> 6) Changes in the mass of your robot
      >> That has no effect on overshoot. It only affects the rate of response.
      > If your controller is outputting a force to keep a robot at a speed, and
      > the
      > mass of the robot changes, the robot is going to accelerate.

      There will be a mismitch in speed which will be corrected by the controller.
      There will be no overshoot.


      If there is no sensor and power-control lag then a P controller will not
      cause overshoot. Other "real-world" factors may cause a speed mismatch but
      the controller itself will not cause overshoot.

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