requires(driveTrain);
this.maxTimeOut = maxTimeOut;
this.target = distance;
- this.zeroAngle = driveTrain.getAngle();
this.driveP = driveTrain.driveP;
this.driveI = driveTrain.driveI;
this.driveD = driveTrain.driveD;
this.gyroP = driveTrain.driveStraightGyroP;
this.driveController = new PIDController(driveP, driveI, driveD);
- this.driveController.setDoneRange(0.5);
+ this.driveController.setDoneRange(1.0);
this.driveController.setMaxOutput(1.0);
this.driveController.setMinDoneCycles(5);
}
protected void initialize() {
this.driveTrain.resetEncoders();
this.driveController.setSetPoint(this.target);
+ this.zeroAngle = driveTrain.getAngle();
}
@Override
protected void execute() {
double xVal = gyroP * (driveTrain.getAngle() - zeroAngle);
- double yVal = driveController.calcPID(driveTrain.getAvgEncoderDistance());
+ double yVal = driveController.calcPID(driveTrain.getRightEncoderDistance());
double leftDrive = yVal - xVal;
double rightDrive = yVal + xVal;