Skip to main content

Motor Safety Wrapper

Disclaimer: WIP and untested; tune limits on your robot. Custom code built on WPILib APIs.

Code (Java)

public class MotorSafety {
private final SlewRateLimiter slew;
private final double clamp;

public MotorSafety(double maxChangePerSec, double clamp) {
this.slew = new SlewRateLimiter(maxChangePerSec);
this.clamp = clamp;
}

public double safe(double requested) {
double c = MathUtil.clamp(requested, -clamp, clamp);
return slew.calculate(c);
}
}