本文整理了Java中us.ihmc.robotics.math.YoSignalDerivative
类的一些代码示例,展示了YoSignalDerivative
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。YoSignalDerivative
类的具体详情如下:
包路径:us.ihmc.robotics.math.YoSignalDerivative
类名称:YoSignalDerivative
[英]This class computes the derivative of the input signal in two different ways. The first way is the common differentiation using the DT. The second way is a less noisy differentiation that waits for a change in the signal. In this case can be specified a tolerance to detect the change in the signal.
[中]这个类用两种不同的方式计算输入信号的导数。第一种方法是使用DT进行公共微分。第二种方法是一种噪声较小的微分,等待信号发生变化。在这种情况下,可以指定一个公差来检测信号的变化。
代码示例来源:origin: us.ihmc/ihmc-robotics-toolkit-test
@Before
public void setUp() throws Exception
{
YoVariableRegistry registry = new YoVariableRegistry("testRegistry");
yoSignalDerivative = new YoSignalDerivative("test", registry);
}
代码示例来源:origin: us.ihmc/ihmc-robotics-toolkit-test
@ContinuousIntegrationTest(estimatedDuration = 0.0)
@Test(timeout = 30000)
public void checkResetToZero()
{
yoSignalDerivative.initialize(DifferentiationMode.ON_SIGNAL_CHANGE, 1.0, 0.5, 3.0);
yoSignalDerivative.resetToZero();
double derivative = yoSignalDerivative.getDerivative(1.5, 1);
assertEquals(1.5, derivative, epsilon);
}
}
代码示例来源:origin: us.ihmc/ihmc-robotics-toolkit-test
@ContinuousIntegrationTest(estimatedDuration = 0.0)
@Test(timeout = 30000)
public void checkSetDifferentiationMode()
{
yoSignalDerivative.setDifferentiationMode(DifferentiationMode.ON_SIGNAL_CHANGE);
DifferentiationMode differentiationMode = yoSignalDerivative.getDifferentiationMode();
assertEquals(DifferentiationMode.ON_SIGNAL_CHANGE, differentiationMode);
yoSignalDerivative.setDifferentiationMode(DifferentiationMode.USING_DT);
DifferentiationMode differentiationMode2 = yoSignalDerivative.getDifferentiationMode();
assertEquals(DifferentiationMode.USING_DT, differentiationMode2);
}
代码示例来源:origin: us.ihmc/ihmc-robotics-toolkit-test
@ContinuousIntegrationTest(estimatedDuration = 0.0)
@Test(timeout = 30000)
public void checkDTMode()
{
yoSignalDerivative.initialize(DifferentiationMode.USING_DT, 0.5, 0.0, 0.0);
DifferentiationMode differentiationMode = yoSignalDerivative.getDifferentiationMode();
assertEquals(DifferentiationMode.USING_DT, differentiationMode);
double derivative = yoSignalDerivative.getDerivative(1, 0.5);
assertEquals(1, derivative, epsilon);
double derivative2 = yoSignalDerivative.getDerivative(0.5, 1);
assertEquals(-1, derivative2, epsilon);
double derivative3 = yoSignalDerivative.getDerivative(4, 2);
assertEquals(3.5, derivative3, epsilon);
double derivative4 = yoSignalDerivative.getDerivative(4, 3);
assertEquals(0.0, derivative4, epsilon);
}
代码示例来源:origin: us.ihmc/ihmc-robotics-toolkit
signalDerivative = new YoSignalDerivative(name, registry);
signalDerivative.setDifferentiationMode(DifferentiationMode.USING_DT);
signalDerivative.resetToZero();
代码示例来源:origin: us.ihmc/ihmc-robotics-toolkit
public void initialize(DifferentiationMode mode, double initialSignal, double initialTime, double initialDerivative)
{
initialize(mode, DEFAULT_TOLERANCE, initialSignal, initialTime, initialDerivative);
}
代码示例来源:origin: us.ihmc/IHMCRoboticsToolkit
public void initialize(DifferentiationMode mode, double tolerance, double initialSignal, double initialTime, double initialDerivative)
{
setDifferentiationMode(mode);
previousDerivative.set(initialDerivative);
previousSignal.set(initialSignal);
previousTime.set(initialTime);
lastSignalChange.set(initialSignal);
timeAtLastSignalChange.set(initialTime);
this.tolerance.set(tolerance);
}
代码示例来源:origin: us.ihmc/IHMCRoboticsToolkit
public YoSignalDerivative(String name, YoVariableRegistry registry)
{
this.name = name;
differentiationMode = new EnumYoVariable<DifferentiationMode>(name + "_differentiationMode", registry, DifferentiationMode.class);
previousDerivative = new DoubleYoVariable(name + "_previousDerivative", registry);
previousSignal = new DoubleYoVariable(name + "_previousSignal", registry);
timeAtLastSignalChange = new DoubleYoVariable(name + "_timeAtLastSignalChange", registry);
previousTime = new DoubleYoVariable(name + "_previousTime", registry);
tolerance = new DoubleYoVariable(name + "_tolerance", registry);
lastSignalChange = new DoubleYoVariable(name + "_lastSignalChange", registry);
tolerance.set(DEFAULT_TOLERANCE);
resetToZero();
}
代码示例来源:origin: us.ihmc/IHMCRoboticsToolkit
double velocity = signalDerivative.getDerivative(value.getDoubleValue(), timeInCurrentMode.getDoubleValue());
if(velocity > Double.MAX_VALUE || velocity < -Double.MAX_VALUE)
velocity = 0.0;
signalDerivative.getDerivative(value.getDoubleValue(), timeInCurrentMode.getDoubleValue());
代码示例来源:origin: us.ihmc/ihmc-robotics-toolkit-test
@ContinuousIntegrationTest(estimatedDuration = 0.0)
@Test(timeout = 30000)
public void checkConstructor()
{
String name = yoSignalDerivative.getName();
assertEquals("test", name);
}
代码示例来源:origin: us.ihmc/IHMCRoboticsToolkit
signalDerivative = new YoSignalDerivative(name, registry);
signalDerivative.setDifferentiationMode(DifferentiationMode.USING_DT);
signalDerivative.resetToZero();
代码示例来源:origin: us.ihmc/ihmc-robotics-toolkit-test
@ContinuousIntegrationTest(estimatedDuration = 0.0)
@Test(timeout = 30000)
public void checkSignalChangeModeWithDefaultTolerance()
{
yoSignalDerivative.initialize(DifferentiationMode.ON_SIGNAL_CHANGE, 0.0, 0.1, 4.0);
DifferentiationMode differentiationMode = yoSignalDerivative.getDifferentiationMode();
assertEquals(DifferentiationMode.ON_SIGNAL_CHANGE, differentiationMode);
double derivative = yoSignalDerivative.getDerivative(0.0, 0.25);
assertEquals(4.0, derivative, epsilon);
double derivative2 = yoSignalDerivative.getDerivative(1, 0.5);
assertEquals(2.5, derivative2, epsilon);
double derivative3 = yoSignalDerivative.getDerivative(0.5, 1);
assertEquals(-1, derivative3, epsilon);
double derivative4 = yoSignalDerivative.getDerivative(4, 2);
assertEquals(3.5, derivative4, epsilon);
double derivative5 = yoSignalDerivative.getDerivative(4, 3);
assertEquals(3.5, derivative5, epsilon);
}
代码示例来源:origin: us.ihmc/IHMCRoboticsToolkit
public void initialize(DifferentiationMode mode, double initialSignal, double initialTime, double initialDerivative)
{
initialize(mode, DEFAULT_TOLERANCE, initialSignal, initialTime, initialDerivative);
}
代码示例来源:origin: us.ihmc/ihmc-robotics-toolkit
public void initialize(DifferentiationMode mode, double tolerance, double initialSignal, double initialTime, double initialDerivative)
{
setDifferentiationMode(mode);
previousDerivative.set(initialDerivative);
previousSignal.set(initialSignal);
previousTime.set(initialTime);
lastSignalChange.set(initialSignal);
timeAtLastSignalChange.set(initialTime);
this.tolerance.set(tolerance);
}
代码示例来源:origin: us.ihmc/ihmc-robotics-toolkit
public YoSignalDerivative(String name, YoVariableRegistry registry)
{
this.name = name;
differentiationMode = new YoEnum<DifferentiationMode>(name + "_differentiationMode", registry, DifferentiationMode.class);
previousDerivative = new YoDouble(name + "_previousDerivative", registry);
previousSignal = new YoDouble(name + "_previousSignal", registry);
timeAtLastSignalChange = new YoDouble(name + "_timeAtLastSignalChange", registry);
previousTime = new YoDouble(name + "_previousTime", registry);
tolerance = new YoDouble(name + "_tolerance", registry);
lastSignalChange = new YoDouble(name + "_lastSignalChange", registry);
tolerance.set(DEFAULT_TOLERANCE);
resetToZero();
}
代码示例来源:origin: us.ihmc/ihmc-robotics-toolkit
double velocity = signalDerivative.getDerivative(value.getDoubleValue(), timeInCurrentMode.getDoubleValue());
if(velocity > Double.MAX_VALUE || velocity < -Double.MAX_VALUE)
velocity = 0.0;
signalDerivative.getDerivative(value.getDoubleValue(), timeInCurrentMode.getDoubleValue());
代码示例来源:origin: us.ihmc/ihmc-robotics-toolkit-test
@ContinuousIntegrationTest(estimatedDuration = 0.0)
@Test(timeout = 30000)
public void checkSignalChangeModeWithUserTolerance()
{
yoSignalDerivative.initialize(DifferentiationMode.ON_SIGNAL_CHANGE, 0.1, 0.0, 0.0, 0.0);
DifferentiationMode differentiationMode = yoSignalDerivative.getDifferentiationMode();
assertEquals(DifferentiationMode.ON_SIGNAL_CHANGE, differentiationMode);
double derivative = yoSignalDerivative.getDerivative(1, 0.5);
assertEquals(2, derivative, epsilon);
double derivative2 = yoSignalDerivative.getDerivative(0.5, 1);
assertEquals(-1, derivative2, epsilon);
double derivative3 = yoSignalDerivative.getDerivative(4, 2);
assertEquals(3.5, derivative3, epsilon);
double derivative4 = yoSignalDerivative.getDerivative(4, 3);
assertEquals(3.5, derivative4, epsilon);
double derivative5 = yoSignalDerivative.getDerivative(4.09, 4);
assertEquals(3.5, derivative5, epsilon);
double derivative6 = yoSignalDerivative.getDerivative(4.108, 5);
assertEquals(0.036, derivative6, epsilon);
}
代码示例来源:origin: us.ihmc/IHMCRoboticsToolkit
private void performModeChangeAction(double time)
{
modeChanged = true;
timeModeChanged.set(time);
timeInCurrentMode.set(time - timeModeChanged.getDoubleValue());
signalDerivative.initialize(DifferentiationMode.USING_DT, value.getDoubleValue(), timeInCurrentMode.getDoubleValue(), valueDot.getDoubleValue());
}
代码示例来源:origin: us.ihmc/ihmc-robotics-toolkit
private void performModeChangeAction(double time)
{
modeChanged = true;
timeModeChanged.set(time);
timeInCurrentMode.set(time - timeModeChanged.getDoubleValue());
signalDerivative.initialize(DifferentiationMode.USING_DT, value.getDoubleValue(), timeInCurrentMode.getDoubleValue(), valueDot.getDoubleValue());
}
内容来源于网络,如有侵权,请联系作者删除!