How to tune PIDF
Last updated
Last updated
Swerve steering/angle/azimuth motors have PID wrapping enabled at the topmost and bottommost point (e.g "front" and "back") when tuning your PID you may want to test with left or right translation.
YAGSL has PIDF values in pidfproperties.json
within the swerve module folder.
This has been hashed and boiled down to the simplest form like this before.
P: if you’re not where you want to be, get there.
I: if you haven’t been where you want to be for a long time, get there faster
D: if you’re getting close to where you want to be, slow down.
Video found by 78 found by this CD Post
Another good way to describe it from CTRE is
Manual tuning typically follows this process:
Set , and to zero.
Increase until the output starts to oscillate around the setpoint.
Increase as much as possible without introducing jittering to the response.
WPILib has lots of great documentation including PID so I would highly encourage you to check it out!
The PIDF values will vary for every robot so tuning and testing are required. Here are some starting points I have documented with the types of motor controllers they correspond to.