AVSLab / basilisk

Astrodynamics simulation framework
https://hanspeterschaub.info/basilisk
ISC License
148 stars 61 forks source link

Feature/830 892 912 filter architecture refactor #776

Closed thibaudteil closed 3 months ago

thibaudteil commented 3 months ago

Description

Refactor the current filter architecture classes. The primary goal is to strongly type the states in order to be able to identify different components to the state vector, all the while gathering main functionalities in interfaces to minimize code duplication and facilitate testing.

The first commit creates a kalman filter interface The second commits create or refactor the state, measurement, and dynamics classes which are implemented in set in filter implementations The rest of the commits refactor existing filter under this interface, removing a lot of fields from the modules

Verification

The tests were almost unchanged and pass

Documentation

Documentation was updated and new files were added

Future work

This approach could extend to the covariance, which is a bit more involved to type according to the state given the cross correlations