Does anyone have an example of a proportional-loop for flywheel rpm? I have used a p-loop for my drive base, but I’m not sure how to make one for my 2-motor flywheel. For reference, here is my old drive base p-loop function:
void proportionalDrive (vex::directionType type, int targetInches, int power)
{
FrontLeft.resetRotation ();
FrontRight.resetRotation ();
double encoderAverage = (FrontLeft.rotation (vex::rotationUnits::raw)
+ FrontLeft.rotation (vex::rotationUnits::raw))/2;
int targetTicks = (targetInches*225) / M_PI;
float kP = 0.3;
while (fabs(encoderAverage) < targetTicks)
{
int error = FrontLeft.rotation (vex::rotationUnits::raw)
- FrontRight.rotation (vex::rotationUnits::raw);
setLeftDrive (type, power - error * kP);
setRightDrive (type, power + error * kP);
vex::task::sleep (20);
}
stopLeftDrive ();
stopRightDrive ();
}