mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-20 00:51:42 +00:00
Remove percent tolerance from PID controller
It breaks the unit system badly; the tolerance member variable has different units depending on percent vs absolute. Absolute tolerance is a lot more natural than percent tolerance anyway.
This commit is contained in:
committed by
Peter Johnson
parent
0ca8d667d2
commit
ff8b8f0a8a
@@ -117,8 +117,8 @@ public class PIDTest extends AbstractComsSetup {
|
||||
me.reset();
|
||||
}
|
||||
|
||||
private void setupAbsoluteTolerance() {
|
||||
m_controller.setAbsoluteTolerance(absoluteTolerance);
|
||||
private void setupTolerance() {
|
||||
m_controller.setTolerance(absoluteTolerance);
|
||||
}
|
||||
|
||||
private void setupOutputRange() {
|
||||
@@ -127,7 +127,7 @@ public class PIDTest extends AbstractComsSetup {
|
||||
|
||||
@Test
|
||||
public void testInitialSettings() {
|
||||
setupAbsoluteTolerance();
|
||||
setupTolerance();
|
||||
setupOutputRange();
|
||||
double reference = 2500.0;
|
||||
m_controller.setSetpoint(reference);
|
||||
@@ -143,7 +143,7 @@ public class PIDTest extends AbstractComsSetup {
|
||||
|
||||
@Test
|
||||
public void testSetSetpoint() {
|
||||
setupAbsoluteTolerance();
|
||||
setupTolerance();
|
||||
setupOutputRange();
|
||||
double reference = 2500.0;
|
||||
m_controller.setSetpoint(reference);
|
||||
@@ -152,7 +152,7 @@ public class PIDTest extends AbstractComsSetup {
|
||||
|
||||
@Test(timeout = 10000)
|
||||
public void testRotateToTarget() {
|
||||
setupAbsoluteTolerance();
|
||||
setupTolerance();
|
||||
setupOutputRange();
|
||||
double reference = 1000.0;
|
||||
assertEquals(pidData() + "did not start at 0", 0, me.getMotor().get(), 0);
|
||||
|
||||
Reference in New Issue
Block a user