Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

31 estimator ekf refactor #68

Merged
merged 26 commits into from
Jul 12, 2024
Merged

31 estimator ekf refactor #68

merged 26 commits into from
Jul 12, 2024

Conversation

iandareid
Copy link
Collaborator

The refactor is complete! There is now an a class that has all of the tools to make an EKF. It has a few functions to make this easier, specifically:

propagate_model' - Propagates model for the prediction step. measurement_update- Updates the state estimate based on the predicted measure and the actual measure.single_measurement_update` - If it is preferred you can update one measurement at a time.

I tested both of the methods of one measure at a time or all at once. Both are functional there was a minor improvement for the all-at-once.

There will be a lot of conflicts since the renaming happened.

What are y'all's thoughts on the implementation?

iandareid added 22 commits June 26, 2024 16:32
The propagate model and measurment updates have been put in a callable
format. There is also error checking for the inputs. UNTESTED
Some functions were needed to update on each call so we have to pass
the functions.
Checks will largely be made at compile time which will remove the
benefit of our checks so I removed them.
Fixed the definitions to make more sense for the propagate and
measurment updates.
The attitude estimation are now happening using the ekf, it has been
tested and it works as well as the previous.
Showed what each line is doing, in an effort to make it clear what to do
if you want to add a sensor.
This actually has a marginal increase in position accuracy. Mainly it
allows you to only define 2 functions and get your estimate. It also
does not have the same issue where the course estimate is bad if you use
a very slightly older estimate.
It would be nice to have a more clean abstraction that binds the
funcitons. I think that would improve readablity. I tried this but it
was too complex, and not worth it. Instead I put them all in a function
at the bottom with an explanation.
@iandareid iandareid added the enhancement New feature or request label Jul 12, 2024
@iandareid iandareid self-assigned this Jul 12, 2024
@iandareid iandareid linked an issue Jul 12, 2024 that may be closed by this pull request
Copy link
Collaborator

@bsutherland333 bsutherland333 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, nice work

@iandareid iandareid merged commit f2761da into main Jul 12, 2024
2 checks passed
@iandareid iandareid deleted the 31-estimator-ekf-refactor branch July 12, 2024 15:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Full State Estimator
2 participants