public void setOrientationDampingRatios(double dampingRatio) { getOrientationGains().setDampingRatios(dampingRatio); } }
public void setPositionDampingRatios(double dampingRatio) { getPositionGains().setDampingRatios(dampingRatio); }
private PID3DConfiguration createHandOrientationControlGains() { boolean runningOnRealRobot = target == RobotTarget.REAL_ROBOT; double kp = 100.0; double zeta = runningOnRealRobot ? 0.6 : 1.0; double maxAccel = runningOnRealRobot ? 10.0 : Double.POSITIVE_INFINITY; double maxJerk = runningOnRealRobot ? 100.0 : Double.POSITIVE_INFINITY; DefaultPID3DGains gains = new DefaultPID3DGains(); gains.setProportionalGains(kp); gains.setDampingRatios(zeta); gains.setMaxFeedbackAndFeedbackRate(maxAccel, maxJerk); return new PID3DConfiguration(GainCoupling.XYZ, false, gains); }
public void set(double kp, double kd, double maxFeedback, double maxFeedbackRate, double positionDeadband) { setKp(kp); setKd(kd); setMaximumFeedback(maxFeedback); setMaximumFeedbackRate(maxFeedbackRate); setPositionDeadband(positionDeadband); }
public PDController(YoPDGains pdGains, String suffix, YoVariableRegistry registry) { super(suffix, registry); this.proportionalGain = pdGains.getYoKp(); this.derivativeGain = pdGains.getYoKd(); this.positionDeadband = pdGains.getYoPositionDeadband(); }
public DefaultPIDSE3Gains() { positionGains = new DefaultPID3DGains(); orientationGains = new DefaultPID3DGains(); }
/** * Will create a new gains according to the provided gain configuration. * * @param suffix the name of the gains will be attached to all YoVariables. * @param configuration and initial values for the gains. * @param registry the registry to which the tuning variables are attached. */ public DefaultYoPIDSE3Gains(String suffix, PIDSE3Configuration configuration, YoVariableRegistry registry) { this(suffix, configuration.getPositionConfiguration(), configuration.getOrientationConfiguration(), registry); }
@Override public double[] getDerivativeGains() { DefaultYoPID3DGains.fillFromMap(kdMap, tempDerivativeGains); return tempDerivativeGains; }
@Override public double[] getProportionalGains() { fillFromMap(kpMap, tempProportionalGains); return tempProportionalGains; }
public void setDampingRatios(double dampingRatioX, double dampingRatioY, double dampingRatioZ) { dampingRatios[0] = dampingRatioX; dampingRatios[1] = dampingRatioY; dampingRatios[2] = dampingRatioZ; updateDerivativeGains(); }
@Override public void setDerivativeGains(double derivativeGainX, double derivativeGainY, double derivativeGainZ) { derivativeGains[0] = derivativeGainX; derivativeGains[1] = derivativeGainY; derivativeGains[2] = derivativeGainZ; updateDampingRatios(); }
private PID3DConfiguration createHeadOrientationControlGains() { boolean runningOnRealRobot = target == RobotTarget.REAL_ROBOT; double kpX = 5.0; double kpYZ = 20.0;//40.0; double zeta = runningOnRealRobot ? 0.4 : 0.8; double maxAccel = 18.0; double maxJerk = 270.0; DefaultPID3DGains gains = new DefaultPID3DGains(); gains.setProportionalGains(kpX, kpYZ, kpYZ); gains.setDampingRatios(zeta, zeta, zeta); gains.setMaxFeedbackAndFeedbackRate(maxAccel, maxJerk); return new PID3DConfiguration(GainCoupling.YZ, false, gains); }
public void setOrientationDampingRatios(double dampingRatioX, double dampingRatioY, double dampingRatioZ) { getOrientationGains().setDampingRatios(dampingRatioX, dampingRatioY, dampingRatioZ); }
public void setPositionDampingRatios(double dampingRatioX, double dampingRatioY, double dampingRatioZ) { getPositionGains().setDampingRatios(dampingRatioX, dampingRatioY, dampingRatioZ); }
/** * Will create a new set of gain parameters according to the provided configuration. * * @param suffix the name of the gains will be attached to all parameters. * @param configuration and default values for the gains. * @param registry the registry to which the tuning variables are attached. */ public ParameterizedPIDSE3Gains(String suffix, PIDSE3Configuration configuration, YoVariableRegistry registry) { this(suffix, configuration.getPositionConfiguration(), configuration.getOrientationConfiguration(), registry); }
@Override public double[] getDerivativeGains() { fillFromMap(kdMap, tempDerivativeGains); return tempDerivativeGains; }
private PID3DConfiguration createHandPositionControlGains() { boolean runningOnRealRobot = target == RobotTarget.REAL_ROBOT; double kp = 100.0; double zeta = runningOnRealRobot ? 0.6 : 1.0; double maxAccel = runningOnRealRobot ? 10.0 : Double.POSITIVE_INFINITY; double maxJerk = runningOnRealRobot ? 100.0 : Double.POSITIVE_INFINITY; DefaultPID3DGains gains = new DefaultPID3DGains(); gains.setProportionalGains(kp); gains.setDampingRatios(zeta); gains.setMaxFeedbackAndFeedbackRate(maxAccel, maxJerk); return new PID3DConfiguration(GainCoupling.XYZ, false, gains); }
private PID3DGains createPelvisOrientationControlGains() { double kp = 100;//600.0; double zeta = 0.4;//0.8; double maxAccel = Double.POSITIVE_INFINITY; double maxJerk = Double.POSITIVE_INFINITY; DefaultPID3DGains gains = new DefaultPID3DGains(GainCoupling.XYZ, false); gains.setProportionalGains(kp); gains.setDampingRatios(zeta); gains.setMaxFeedbackAndFeedbackRate(maxAccel, maxJerk); return gains; }
private PID3DGains createChestOrientationControlGains() { double kp = runningOnRealRobot ? 100.0 : 100.0; double zeta = runningOnRealRobot ? 0.7 : 0.8; double maxAccel = runningOnRealRobot ? 12.0 : 18.0; double maxJerk = runningOnRealRobot ? 180.0 : 270.0; DefaultPID3DGains gains = new DefaultPID3DGains(GainCoupling.XYZ, false); gains.setProportionalGains(kp); gains.setDampingRatios(zeta); gains.setMaxFeedbackAndFeedbackRate(maxAccel, maxJerk); return gains; }