View unanswered posts | View active topics It is currently Thu Nov 20, 2014 4:59 pm






Reply to topic  [ 3 posts ] 
PID control questions 
Author Message
Rookie

Joined: Mon Feb 06, 2012 5:32 pm
Posts: 6
Post 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.


Mon Feb 06, 2012 5:45 pm
Profile
Rookie

Joined: Thu Jan 19, 2012 2:00 pm
Posts: 2
Post 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


Tue Feb 07, 2012 11:10 pm
Profile
Rookie

Joined: Mon Feb 06, 2012 5:32 pm
Posts: 6
Post 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?


Wed Feb 08, 2012 12:28 am
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 3 posts ] 

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  



Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.