-
Notifications
You must be signed in to change notification settings - Fork 0
Roadmap
The goal of this phase is to create a unit testing framework that will be used to test the implementation of the estimation algorithms.
-
Define assertion functions that test a specific condition and either pass or fail the test. Use the following functions:
-
assertTrue(condition)
: Passes the test if thecondition
is true, fails otherwise. -
assertFalse(condition)
: Passes the test if thecondition
is false, fails otherwise. -
assertEquals(expected, actual)
: Passes the test if theexpected
andactual
values are equal, fails otherwise.
-
-
Define a
Test
class that is inherited by other classes. TheTest
class should have the following methods:-
setUp()
: A method that is called before each test method to initialize any objects or data structures required for the test. -
tearDown()
: A method that is called after each test method to clean up any resources allocated during the test. -
runTest()
: The method that actually performs the test.
-
-
Define a
TestSuite
class for storing instances of classes inherited from the Test class. TheTestSuite
class should have the following methods:-
addTest(test)
: A method that adds a test to the suite. -
runTests()
: A method that runs all the tests in the suite.
-
-
Define a
testRunner()
function that runs all the tests defined in theTestSuite
. It should call each test method and report the results of each test. -
Define reporting functions to report the results of the tests. Use the following function for now:
-
consoleReport(suite)
: A method that writes the results of the tests to the console. It could print the name of each test and whether it passed or failed.
-
The goal of this phase is to create a Matrix class that will be used in the implementation of the estimation algorithms.
-
Implement the Matrix class with the following operations:
- Addition and subtraction of matrices
- Scalar multiplication of matrices
- Matrix multiplication
- Transpose of a matrix
- Determinant of a matrix
- Inverse of a matrix
-
Write tests for the Matrix class using the unit testing framework to ensure it works as expected.
The goal of this phase is to implement the Kalman filter using the Matrix class.
-
Implement the Kalman filter with the following methods:
-
initialize(state, covariance)
: A method to set the initial state and covariance. -
predict()
: A method to predict the next state and covariance. -
update(measurement)
: A method to update the state and covariance using measurements.
-
-
Write unit tests for the Kalman filter to ensure it works as expected.
In future phases, we will implement other filters and methods.