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

Adding an example comparing Particle filters and kalman filters using track fusion #875

Merged
merged 11 commits into from
Apr 19, 2024

Conversation

A-acuto
Copy link
Contributor

@A-acuto A-acuto commented Oct 13, 2023

This PR adds an example were we do tracking fusion using partial tracks obtained by different sensors and compares how an Extended Kalman filter results are similar or different to a Particle filter.

This PR also adds a solution to use Tracks2GaussianDetectionFeeder for Particle States (and not only Gaussian states) as discussed and solved in #854

I will add further examples (or enhance this one) regarding track fusion when other algorithms are presented (Covariance inflation)

@A-acuto A-acuto requested a review from a team as a code owner October 13, 2023 14:12
@A-acuto A-acuto requested review from sdhiscocks and spike-dstl and removed request for a team October 13, 2023 14:12
@jswright-dstl jswright-dstl self-requested a review October 17, 2023 13:18
track_fusion_tracker.detector = Tracks2GaussianDetectionFeeder(dummy_detector_KF)
track_fusion_tracker.__iter__()
_, tracks = next(track_fusion_tracker)
KF_fused_track.update(tracks)
Copy link
Contributor

Choose a reason for hiding this comment

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

This line is causing the first cell at the start of Section "3) Run the trackers..." to fail on build with the following errors;
On CircleCI "ValueError: Mime type rendering requires ipython but it is not installed"
On local build "ValueError: All detections must have the same timestamp"

Copy link
Contributor

@nperree-dstl nperree-dstl left a comment

Choose a reason for hiding this comment

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

Some suggestions to improve overall readability but the key thing is the comment on lines 553-554 which I think is what is causing the docs to fail.

docs/examples/track_fusion_example.py Outdated Show resolved Hide resolved
docs/examples/track_fusion_example.py Outdated Show resolved Hide resolved
docs/examples/track_fusion_example.py Outdated Show resolved Hide resolved
docs/examples/track_fusion_example.py Outdated Show resolved Hide resolved
docs/examples/track_fusion_example.py Outdated Show resolved Hide resolved
docs/examples/track_fusion_example.py Outdated Show resolved Hide resolved
docs/examples/track_fusion_example.py Outdated Show resolved Hide resolved
Copy link
Contributor

@nperree-dstl nperree-dstl left a comment

Choose a reason for hiding this comment

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

Documentation renders correctly now, just a couple more minor comments/suggestions but otherwise looks good!

docs/examples/track_fusion_example.py Outdated Show resolved Hide resolved
docs/examples/track_fusion_example.py Outdated Show resolved Hide resolved
docs/examples/track_fusion_example.py Outdated Show resolved Hide resolved
docs/examples/track_fusion_example.py Outdated Show resolved Hide resolved
Copy link
Contributor

@nperree-dstl nperree-dstl left a comment

Choose a reason for hiding this comment

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

Just noticed one more inconsistency in documentation but otherwise happy!

plotter.fig

# %%
# 2) Initialise the trackers components
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
# 2) Initialise the trackers components
# 2. Initialise the trackers components

docs/examples/track_fusion_example.py Outdated Show resolved Hide resolved
docs/examples/track_fusion_example.py Outdated Show resolved Hide resolved
@sdhiscocks sdhiscocks merged commit b91035c into dstl:main Apr 19, 2024
4 of 6 checks passed
@A-acuto A-acuto deleted the track_fusion_example branch May 30, 2024 10:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants