|
Re: Turn-to-angle PID tuning
Quote:
Originally Posted by Tom Bottiglieri
|
Quote:
|
Originally Posted by Jared Russel
This is a constant source of annoyance for doing precise turning with high-friction wheels. Some solutions that have worked for us in the past:
1) Figure out what the minimum required output is to get the robot to turn at all. If the PID output is less than this magnitude, output this magnitude (with the same sign as the PID output).
2) Instead of using your heading PID loop to generate PWM commands directly, use it to generate velocity commands that a second PID loop on each side of the drive will attempt to follow. Note that good velocity control at low speeds requires a really fast control loop and accurate velocity measurement. The CAN Talon SRX and CTRE Mag Encoder have impressed us in this regard.
3) Motion profiling can help (a bit) to ensure that the robot smoothly glides to its final heading, but this method works best in conjunction with 1 and/or 2.
|
Well, this is quite nicely consistent with our observations. We're already implementing suggestion 2) but we're handling PID in the 50hz main loop which is probably unable to handle the low speeds adequately. Minimum output it is!
Thanks for the help, both (or all three?) of you.
If anyone has input for a good P value for the "drive straight" loop, though, it'd still be greatly appreciated.
__________________
"Mmmmm, chain grease and aluminum shavings..."
"The breakfast of champions!"
Member, FRC Team 449: 2007-2010
Drive Mechanics Lead, FRC Team 449: 2009-2010
Alumnus/Technical Mentor, FRC Team 449: 2010-Present
Lead Technical Mentor, FRC Team 4464: 2012-2015
Technical Mentor, FRC Team 5830: 2015-2016
|