Do you have an Integral term?
The value of the input to the motor is going to be Kp*(E)+FF. Let’s ignore the FF for just a moment, so KP*E.
Now, giving your numbers, E=(5700-1862)=3838. Now, what value of input is required to get to 1872. Obviously, it depends on how much weight and friction, and what gear ratio, etc, is needed, so I’m going to make up a number. In order to reach 1872, you have to provide an input of .2.
Now, what is your gain on KP. I’ll just make up a number (not really) of 5.211x10-5.
Say, isn’t 5 x 10-5 the example given by RevRobotics? Hmmm…
So, now, suppose you start your loop, and the motor isn’t spinning. That means the input to the motor will be Kp * E, and E is 5700, so it will apply 5700 * .00005211=.29, and the motor will start moving.
Now, it will be getting a little bit closer to the set point, so the error will drop. What happens when it reaches 1872? In that case, the value will be equal to 0.2, which is exactly the speed required to spin it at 1872. So the control loop will tell it to apply 0.2, and that is enough to spin it at 1872, and there it will sit.
To get it moving, you have to provide an I term. Now, as it sits at 1872, the error will accumulate, and push it forward.
Note that a D term won’t do any good. Once it hits the steady state value at 1872, the value of D will drop to zero, so no matter what the value of KD is, the D term won’t provide any input.
You can shift the point where it stops by providing a FF term, but all that does is shift the point. It doesn’t fix the problem. There will be some point where KP*E+FF will be exactly what is required to spin the motor at that speed, and that will be the steady state value. Put in an I term.
ETA: (But see Oblarg’s reply below. I was being very theoretical, knowing that there will always be a steady state error unless there is an I term, but in terms of practical performance, if you measure what it takes to get to your setpoint, and then use that as an FF term, your performance may very well be better than trying to achieve zero steady state error with an I term.)