ROBOTC.net forums
http://www.robotc.net/forums/

PID control questions
http://www.robotc.net/forums/viewtopic.php?f=52&t=4208
Page 1 of 1

Author:  gus [ Mon Feb 06, 2012 5:45 pm ]
Post subject:  PID control questions

My team wants to implement either motor encoder control or PID control into our autonomous for more accurate maneuvering. With the encoders, we would set the number of degrees we want the wheel to turn. But, from what I have seen, PID control would be easier. So does PID just let you run the motors as you would normally, except with a more accurate speed? As in, PID control just adjusts the motor's power to account for other variables that might be slowing it down/speeding it up, no?

This also begs another question. If we enable PID control, and set a motor to 100 power, then how is the PID controller going to give the motor extra power when it needs it? Wouldn't it already be at maximum power? Because if this, it may be necessary to use, say, 95 as the max power of motors, so PID can increase the power.

If we get PID working in autonomous, we might as well enable it in teleop for more consistent control, correct?

Also, I have heard of problems where a robot's motors can slow down to 65% speed in automomous, possibly due to PID control. Has anyone heard of this?

Finally, PID control is just added with the following line, correct?
Code:
nMotorPIDSpeedCtrl[motorX] = mtrSpeedReg;

When the above line is implemented, it should make the standard "turn on motor, wait 3 seconds, turn off motor"-type autonomous movements more accurate, right?

Thanks a lot, an answer to any of these questions will be very helpful.

Author:  RadioDude [ Tue Feb 07, 2012 11:10 pm ]
Post subject:  Re: PID control questions

We did a lot of experiments with PID vs non-PID for both Autonomous and TeleOp modes. Our programmer suggests:
1. Using PID control for Autonomous gave us repeatability and accuracy - within 1 inch most of the time. We used it effectively. Consider testing and using it for Auto.
2. PID didn't benefit the Drivers because they are running "real-time" and the Drivers are the "PID Controller". Tests indidcated the Robots (two teams) ran faster without PID and that the Drivers could easily handle "Full-Tilt Boogie" during TeleOp. Consider disabling PID control for TeleOp.
3. We saw an article or video that stressed that one SHOULD NOT use 100 during PID because the PID system can't properly maintain control. One should use something less than 100. I think we picked and used 90 as the maximum when using PID contol enabled.
4. We tested using PID max speed commands and got very strange operations. See the post in this forum about "HiTechnic Motor/Controller PID - Very Strange Behavior". Perhaps you'd help test that problem out and let us know your results. Currently we don't recommend using the PID max speed since we never got it to work as expected.

The opinions expressed are solely those of the late-night programming team - you may get different results.
Scott - Radio Dude
Devin - Senior Team Programmer - cool name yet to be determined

Author:  gus [ Wed Feb 08, 2012 12:28 am ]
Post subject:  Re: PID control questions

RadioDude wrote:
We did a lot of experiments with PID vs non-PID for both Autonomous and TeleOp modes. Our programmer suggests:
1. Using PID control for Autonomous gave us repeatability and accuracy - within 1 inch most of the time. We used it effectively. Consider testing and using it for Auto.
2. PID didn't benefit the Drivers because they are running "real-time" and the Drivers are the "PID Controller". Tests indidcated the Robots (two teams) ran faster without PID and that the Drivers could easily handle "Full-Tilt Boogie" during TeleOp. Consider disabling PID control for TeleOp.
3. We saw an article or video that stressed that one SHOULD NOT use 100 during PID because the PID system can't properly maintain control. One should use something less than 100. I think we picked and used 90 as the maximum when using PID contol enabled.
4. We tested using PID max speed commands and got very strange operations. See the post in this forum about "HiTechnic Motor/Controller PID - Very Strange Behavior". Perhaps you'd help test that problem out and let us know your results. Currently we don't recommend using the PID max speed since we never got it to work as expected.

The opinions expressed are solely those of the late-night programming team - you may get different results.
Scott - Radio Dude
Devin - Senior Team Programmer - cool name yet to be determined

Thanks! I just saw your thread on the strange behavior. I will test it on ours, and let you know of our results.

I am not very familiar with that code in your thread (I'm new to PID and encoders), but that seems to only apply to using encoder values and PID control at the same time. Is that correct?

Also, would you/your programmers recommend a pure-PID autonomous, without the use of encoders/encoder values? Or does it only noticeably improve accuracy while using encoders?

Page 1 of 1 All times are UTC - 5 hours [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/