if (Math.abs(shooterMotorLeft.getVelocity().getValueAsDouble() - shooterTargetSpeed) < ShooterConstants.TORQUE_CURRENT_CONTROL_TOLERANCE) {
phase = FlywheelPhase.MAX; // we need to recover from ball velocity in order to be back to idle
} else {
- phase = FlywheelPhase.CONSTANT_TORQUE;
+ phase = FlywheelPhase.CONSTANT_TORQUE;
}
}
public class ShooterConstants {
//TODO: find these values
- public static final double FEEDER_RUN_POWER = 0.3; // meters per second??
+ public static final double FEEDER_RUN_POWER = 0.5; // meters per second??
public static double SHOOTER_VELOCITY = 30.0; // meters per second
public static final double SHOOTER_GEAR_RATIO = 36.0 / 24.0; // gear ratio from motors to shooter wheel
// public static final double SHOOTER_LAUNCH_DIAMETER = 0.0762; // meters (3 inches)
public static final double EXIT_VELOCITY_TOLERANCE = 1.0;
// for bang bang
- public static final double TORQUE_CURRENT_CONTROL_TOLERANCE = 20; // 20 amps
+ public static final double TORQUE_CURRENT_CONTROL_TOLERANCE = 10; // velocity (rotations per second)
}
// 8 velcocity is too little