PID Sensor Help

Does PID require some sort of sensor, like a tracking wheel or others, or can it be done with the sensors inside of a VEX smart motor?

Any help would be greatly appreciated!

It can be done with sensors inside the motor. But personally for better accuracy use tracking wheels.


Any sensor that returns a range of values (not just a 1 or a 0, or pressed or unpressed) can be used for PID. Most teams simply use encoders as they are the easiest to implement.

Tracking wheels are not necessary, but will help with any slop in your drivetrain and any wheel slippage that may occur during autonomous movements. They will also ensure constant tracking even if the robot’s wheels are lifted off of the ground.


Thanks for your help! Do you have an idea how I would do this?

A PID can be used for any case where you change one value to get another value to a target, where both values are in a range. For instance, you could have a PID change voltage to get to a certain speed, or change speed to travel a certain distance. This means the sensor you use depends on what you are trying to do with the PID.

My team has always just used the motor encoders for our drive PID, and as long as it’s tuned fine we haven’t had problems. Tracking wheels are probably slightly better, but not necessary to be accurate.