# Follower PID Tuning
This is the last tuning step. Here, you will tune the closed loop feedback controller. This should improve your path following dramatically.
There are two alternative opmodes for this process,
It is recommended to run the
BackAndForth opmode to get a set of coarse PID gains and then run the same process using
FollowerPIDTuner for further fine tuning.
BackAndForth opmode simply travels in a straight line back and forth. It is easy to see major errors in translation and heading PID accumulate here.
FollowerPIDTuner will follow a large square. The bot will turn counterclockwise on each corner. If your heading is off, your entire square is destroyed and you have to keep resetting the bot. It's quite arduous. Use the
BackAndForth opmode for initial tunings and then continue to further fine tune with
BackAndForthopdmode via the RC.
Then, connect to the RC phone's wifi network. The password to the network is located in the
Program and Managemenu.
192.168.49.1:8080/dashwith a phone RC or
192.168.43.1:8080/dashwith a Control Hub.
Ensure that you have the
Fieldview selected in the top right.
You should see two lines and two circles being drawn: green for the target position and blue for your bot's actual position.
Look for the
SampleMecanumDrivein the right sidebar. Open that dropdown. You should be seeing two options:
TRANSLATION_PID. Both options are located in the
HEADING_PIDfirst. Just keep increasing
kPuntil the robot starts to keep an accurate heading. This was around 8 in my experience, although your mileage may vary. You should not need to adjust
TRANSLATION_PIDnext. Once again, keep increasing
kPuntil the robot starts to adjust itself and follows the path. This was also around 8 in my experience, although your mileage may vary. You should not need to adjust
Once that's tuned, you should be done! Remember that any changes in Dashboard must be reflected in the appropriate file. So, you should copy-paste your numbers into the PID object in
Feel free to run the same tuning process with
FollowerPIDTuner. This is encouraged for further accuracy.
You should be done! Go on to the
SplineTestto ensure that your following is accurate.
Note: Earlier I mentioned that you should not need to use
kDfor your follower PID's. Those are just basic guidelines.
kDactually indirectly functions as a P Controller on pose velocity. Therefore, setting
kDto a non-zero value (1 or something), IF you are using feedforward instead of velocity pid, may help keep your pose velocity constant across battery voltages. DO NOT set
kDif you are using drive velocity PID as they will overlap and fight each other.
# Temporary Informal Video
Temporary informal video while the polished, edited videos are in production. Quality is atrocious but hopefully it helps 😃