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

Re: [SeattleRobotics] Re: Robotic control algorithms

Expand Messages
  • Robert F. Scheer
    ... I agree mostly however some people would tune the flat ground Kp to be larger than you assume is wise to get higher accel at the expense of borderline
    Message 1 of 75 , Apr 30, 2008
      On Wed, 2008-04-30 at 20:53 -0700, silverfish_21@... wrote:
      > Thank you all for responding!
      >
      > Let me draw the following thought expirement on over
      > shoot / undershoot before returning to the original
      > vein of the discussion.
      >
      > If a P only velocity system is tuned for travel on
      > level ground to hit an arbitrary speed S given by PWM
      > output = Kp * E where E is the commanded speed minus
      > the actual speed, then I think we would both agree
      > that the same robot when traveling up hill will never
      > achieve the commanded speed because the Kp term is
      > sized to achieve speed S for a given loading. Without
      > an I term the gain and the error remain constant and
      > the feedback loop can not catch up. Imagine then the
      > same setup with the robot traveling downhill.
      >
      > Interpreting the wording offered up thus far by all
      > respondants I believe we are all in agreement on the
      > preceeding, it just helps to put it into words.

      I agree mostly however some people would tune the flat ground Kp to be
      larger than you assume is wise to get higher accel at the expense of
      borderline instability. This would tend to be able to meet the speed
      target uphill as well. It may be worth pointing out that precise and
      even stable speed control is not very important to most robots.

      >
      > Back towards the vein of my original posting. Over
      > the years I have implemented a number of differential
      > drive robots and I have always implemented PI for the
      > left side, PI for the right side running
      > independantly, and factored 1/4 of the P term from the
      > left side into the right and vice versa giving a
      > simple linking between. I've noticed in a few places
      > (Flynn & others) that they have implemented PID
      > between the two sides and I was looking for feedback
      > there.
      >

      I've seen this in books also, but haven't done.

      > In addition if I find someone out there doing this, I
      > am curious to talk with them about update rates of the
      > various systems in relation to each other...

      This would be interesting to learn more about.

      It would also be interesting to get some comments about various
      predictive and hybrid predictive/reactive control schemes people have
      experience with. I hope that's not too far out of the boundaries you
      wanted for this topic.

      - Robert
    • 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.