Quote:
|
Originally Posted by 10intheCrunch
True, the integral is going to be in the wrong direction at times, and you are going to have a slower response time because your joystick is not hooked directly to the motor values coming from your program. But best to leave out? No...
Without an integral in our program there would be no way for us to control our arm, much less control it with a ball. The integral needs to build up to maintain zero velocity when the lever arm and torque is great, or the arm will simply fall. There really is no way to manage it dynamically otherwise.
We suggest you use the PID loop to control velocity, because that's what's coming out of your joystick. Position may be very tricky, and as Jay and I said, the position system just generates its own velocity value. Don't knock PI loops until you've tried them! We would never have done so well without it.
|
I was thinking about PID loops in situation with rapidly changing w, and the phase lag time of the I term causing problems when this occured to me, and i was wondering if anybody had any input, wanted to tell my why i'm wrong, or if they had tried this before:
The PI algorithm that we use for everything uses a data element we invented called a CSStack for the I term. Its basically a dynamic variable lenght mutable circular buffer. It seems to me that response could be improved by dropping certian old values from the buffer in times of rapid w change. What about dynamically changing Ki according to the derivitave of w? Any input? What other sorts of optimizations have people made to the basic PID algorithm? Is anybody using somethign other than some variation of a PID controller?