private double computeDampingReductionRatioParallelToMotion(double parallelError) { double reductionRatio = MathTools.clipToMinMax(tangentialDampingGains.getKdReductionRatio(), 0.0, 1.0); double deadband = tangentialDampingGains.getParallelDampingDeadband(); double maxError = tangentialDampingGains.getPositionErrorForMinimumKd(); if (Double.isInfinite(deadband) || deadband > maxError || (Math.abs(parallelError) < deadband)) { return 1.0; } else { double slope = (1.0 - reductionRatio) / (maxError - deadband); return 1.0 - slope * (Math.abs(parallelError) - deadband); } } }
private double computeDampingReductionRatioParallelToMotion(double parallelError) { double reductionRatio = MathTools.clamp(tangentialDampingGains.getKdReductionRatio(), 0.0, 1.0); double deadband = tangentialDampingGains.getParallelDampingDeadband(); double maxError = tangentialDampingGains.getPositionErrorForMinimumKd(); if (Double.isInfinite(deadband) || deadband > maxError || (Math.abs(parallelError) < deadband)) { return 1.0; } else { double slope = (1.0 - reductionRatio) / (maxError - deadband); return 1.0 - slope * (Math.abs(parallelError) - deadband); } } }
public void set(TangentialDampingGains tangentialDampingGains) { if (tangentialDampingGains != null) { set(tangentialDampingGains.getKdReductionRatio(), tangentialDampingGains.getParallelDampingDeadband(), tangentialDampingGains.getPositionErrorForMinimumKd()); } }
public void set(TangentialDampingGains tangentialDampingGains) { if (tangentialDampingGains != null) { set(tangentialDampingGains.getKdReductionRatio(), tangentialDampingGains.getParallelDampingDeadband(), tangentialDampingGains.getPositionErrorForMinimumKd()); } }