Pid in IQ

I am currently in the process of learning PID. It’s pretty interesting! I am curious as to how helpful other people on the forums have found it useful for their robot(s) in IQ.

  1. Is it helpful for autonomous?
  2. Is it helpful for drive control?
  3. Will it mess up the motors internal PID?

Thanks for your help!

1 Like

It is good for both auto and driver modes. It makes things a little smoother. A few games ago a team used it to get the arm to be the right height to transfer rings to the post. They also used the sonar on the front to ease up to the field wall to place rings there.

I know we are getting to the point that there is an API for everything. I don’t think you need to be able to code one (so many examples cough Chief Delphi cough Stack Exchage) but knowing how to use one and be able to tune it is good enough.

( Waiting for being able to call VEX:: BRAIN ::WIN(auto) in 2022 ) :slight_smile:


Interesting! Do you remember the team number?

Do you think it will make my auton more consistent? Asking for a friend.

Does this mean that there is a PID api for IQ?


Well, yes, functions like Motor.setVelocity will use PID internally to get the motor to spin at the target velocity.


Do commands in IQ apis use PID internally enough to make it obsolete to use external PID?

That would depend on how well the built-in PID works for what you want to control. For many things it will work well enough, for others it may be better to write your own PID routine.


The team that did the PID for their arm was one of my 5th grade teams.

The key to auto routines is having sensors to help with the positioning. For direct drive (arms) the motor sensor will work. But for wheels you need additional sensors. On a drive base you are fighting wheel friction against the floor tiles and that can change slightly from field to field.