mirror of
https://github.com/WallabyLester/RBF-aPID-Controller.git
synced 2026-02-05 19:55:52 +08:00
Test for the aPID update.
This commit is contained in:
@@ -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__':
|
||||
|
||||
Reference in New Issue
Block a user