Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   PID Loop Constants (http://www.chiefdelphi.com/forums/showthread.php?t=154749)

arushshah1 04-02-2017 17:58

PID Loop Constants
 
I was browsing through the WPILib guide on PID Subsystems and I came upon this sample code:

public class Wrist extends PIDSubsystem { // This system extends PIDSubsystem

Victor motor = RobotMap.wristMotor;
AnalogInput pot = RobotMap.wristPot();

public Wrist() {
super("Wrist", 2.0, 0.0, 0.0);// The constructor passes a name for the subsystem and the P, I and D constants that are used when computing the motor output
setAbsoluteTolerance(0.05);
getPIDController().setContinuous(false);
}

I'm not sure why the code is setting the I and D constants to 0. Is it to only make it a P loop? Are there any benefits of using only P over PID?

aryker 04-02-2017 18:22

Re: PID Loop Constants
 
You are correct, setting the I and D constants to zero makes it a P controller rather than a PID controller.

To answer your question, sometimes a P loop is all that is needed to get the system behaving the way you need it(although usually at least the D constant is also required in FRC robots). It's important to note that when you are tuning a PID controller, you typically start with the P value and leave the I and D at 0. For more information about tuning a PID controller, I'd recommend this Wikipedia article as a starting point. It's not the only way to tune a PID controller by any means, but it is the most widely used.

arushshah1 04-02-2017 18:24

Re: PID Loop Constants
 
Great, thanks so much!


All times are GMT -5. The time now is 00:12.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi