// It will limit it to time given (in seconds) to go from zero to full throttle.
// A small open loop ramp (0.25) helps with tread wear, tipping, etc
public static final double OPEN_LOOP_RAMP = 0.1;
+
+ // limits maximum rate of change for motor
+ public static final double CLOSE_LOOP_RAMP = 0.0;
public static final double WHEEL_CIRCUMFERENCE = 2*Math.PI*WHEEL_RADIUS;
double velocity = desiredState.speedMetersPerSecond/DriveConstants.WHEEL_RADIUS/2/Math.PI*DriveConstants.DRIVE_GEAR_RATIO;
Logger.recordOutput("desired vel" + moduleConstants.ordinal(), velocity);
- double feedforward = desiredState.speedMetersPerSecond * moduleConstants.getDriveV();
+ double feedforward = velocity * moduleConstants.getDriveV();
driveMotor.setControl(
velocityRequest
.withVelocity(velocity)
driveMotor.getConfigurator().apply(config);
driveMotor.getConfigurator().apply(new MotorOutputConfigs().withInverted(DriveConstants.INVERT_DRIVE_MOTOR));
driveMotor.getConfigurator().apply(new OpenLoopRampsConfigs().withDutyCycleOpenLoopRampPeriod(DriveConstants.OPEN_LOOP_RAMP));
- driveMotor.getConfigurator().apply(new ClosedLoopRampsConfigs().withDutyCycleClosedLoopRampPeriod(0.0));
+ driveMotor.getConfigurator().apply(new ClosedLoopRampsConfigs().withDutyCycleClosedLoopRampPeriod(DriveConstants.CLOSE_LOOP_RAMP));
driveMotor.setNeutralMode(DriveConstants.DRIVE_NEUTRAL_MODE);
}