Object Tracking via Sensor Fusion
Can you outrun the Big Bad Kalman filter ?
Some linear, extended and unscented movement tracking Kalman filters, with a fun twist
Run ObjectTracker.m
and make sure all files are in the same directory. Set your scenarios using the dropdowns.
Press Play
and enjoy :-)
Go for Developer Mode
if you want to generate your own custom data and play around with the trackers:
Model Parameters | Filter Tuning | Extra Sensor |
---|---|---|
Note You can control the Seal if you own an Arduino + MPU IMU sensor suite, this is how it works.
To achieve this, you may choose
Command Driven
instead ofSimulation
for the Running Mode.
Demos
Noob level: defeat the linear Kalman filter
The Shark can only chase you in a linear fashion
Test each of your runs:
Experienced: defeat the extended Kalman filter
The Shark is getting help from a Seagull, who acts like a sensor for detecting your non-linear movements
Measure your performances:
Note You can trick the shark by moving fast in a non-linear manner
This way you can make the filter diverge due to wrong partial derivative computation
Legendary: defeat the unscented Kalman filter
No more linear covariance transforms, the Shark has unlocked the Unscented Transform ability
And see how far your can get:
How this madness was designed:
engineered:
and programmed:
with the following workflow:
and if you made it this far...
here is the whole thing explained in detail (Vampire language):
Cite As
Andrei Moraru (2024). Object Tracking via Sensor Fusion (https://github.com/AndreiMoraru123/2D-Tracker), GitHub. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxTags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Versions that use the GitHub default branch cannot be downloaded
Version | Published | Release Notes | |
---|---|---|---|
1.0.1 | Hi! I had actually left some personal file paths so the code would crash on other machine. I commented them out |
|
|
1.0.0 |
|