What values do you use for PID?

So after seeing and replying to this: https://vexforum.com/showthread.php?p=340249#13, I was curious to see what other teams often use for their kP, kI and kD values.

Obviously I know values change for the robot, I treat each robot unique when I tune the PID on them. And obviously it also depends on the code. But just out of curiosity, what sorts of values/range of values do you often use?

Generally, I use:
kP - 0.2 to 0.8
kI - 0.005 to 0.05
kD - 0.1 to 2.0

I have heard that for a 1:1.6 (speed setting on 393 motor with IME), setting kP to 1.0 can work really well.

I have also heard from someone who uses kP = 15, kI = 0.5, and kD = 2.0…

I didn’t really want to derail that other thread, so I decided to make a new one, and because I’m just a bit curious so I want to know what sorts of values people use.

~Curious George

24C for Sack Attack had a 4" Omni drive powered by six 393 motors in their high speed configuration (1:1.6). Before we switched to strictly P control, these are the constants we used for our PID control loops:

KP: 0.5
KI: 0.6
KD: 0.3

KP: 0.85
KI: 0.55
KD: 0.2

Remember, the KP values had been tuned, but the others may or may not have been tuned correctly, especially with the tuned P value. I forget how late we changed from PID to strictly P, and how long we spent tuning the I and D values.


Not sure these are very useful, this was from the arm on one of last years robots.

Kp = 0.008
Ki = 0.0
Kd = 0.01

We (well I) calculate the drive in the range of -1.0 to 1.0 rather than -127 to +127, that probably explains why Kp is much smaller than you mighty expect. I generally try and avoid using integral.