Test for the aPID update.

This commit is contained in:
Andru Liu
2024-10-09 20:15:50 -07:00
parent d3aeed33ce
commit a2ba49fdf7

View File

@@ -14,6 +14,9 @@ class TestAdaptivePIDTf(unittest.TestCase):
self.input_dim = 3
self.rbf_model = RBFAdaptiveModel(self.n_centers, self.input_dim)
self.apid = AdaptivePIDTf(self.Kp, self.Ki, self.Kd, self.rbf_model)
self.target = 10.0
self.measured_value = 8.0
self.dt = 0.1
def test_initialization(self):
""" Test initialization of the controller."""
@@ -26,6 +29,18 @@ class TestAdaptivePIDTf(unittest.TestCase):
self.assertEqual(self.apid.integral, 0)
self.assertEqual(self.apid.derivative, 0)
def test_update(self):
""" Test the update method."""
control_signal = self.apid.update(self.target, self.measured_value, self.dt)
self.assertIsInstance(control_signal, float)
self.assertEqual(self.apid.prev_err, self.apid.error)
integral = self.apid.integral
self.assertAlmostEqual(integral, (self.target - self.measured_value) * self.dt)
derivative = self.apid.derivative
self.assertAlmostEqual(derivative, (self.target - self.measured_value)/self.dt)
if __name__ == '__main__':