|
Tuning PID Code
Help us, Kevin, you are our only hope! Or someone else...
Our programming guy (robotaddict -- my son as it turns out) has written single-stick code based heavily on Kevin's PID code routines. It's been a long, difficult road for a student who had little C experience at the beginning of the season, but the code seems to work pretty well. The wild oscillations are gone, and the robot is drivable. But there are some problems. I'm hoping some of you with real-world PID experience can give John -- er, I mean robotaddict -- some guidance of final debugging. We also use these routines for aiming and autonomous, so it is important that he fix them. John and the programming mentors have tweaked the P,I, and D settings a LOT, but the perfect blend of settings has been elusive.
1. The controls are pretty sensitive. Turning is especially twitchy.
2. Can someone describe the PID tuning process in even more detail than Kevin does in the comments in his code. Careful descriptions of what the robot is doing in relation to each of the control settings would be especially appreciated.
3. The robot nearly drives in a straight line, but gently drifts to one side in a long (say 30-40 feet) drive.
Thank you SO MUCH in advance.
__________________
Exothermic Robotics Club, Venturing Crew 2036
VRC 10A, 10B, 10D, 10Q, 10V, 10X, 10Z, and 575
|