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

Filters should accept new data, especially Kalman Filter #2

Open
translunar opened this issue Mar 6, 2014 · 4 comments
Open

Filters should accept new data, especially Kalman Filter #2

translunar opened this issue Mar 6, 2014 · 4 comments

Comments

@translunar
Copy link
Member

Many of these timeseries filters are really useful for robotics — but only if they can accept new inputs.

For example, Kalman filters are used to interpret GPS data in turn-by-turn mapping software. Given this data from the iPhone accelerometers, and these map constraints, where am I likely to be located?

But that requires the filter to be able to update with new information. How would we accomplish this in Statsample-Timeseries as currently written? Can it already be done?

Kalman filters can actually incorporate any kind of data — sensors, gravity, thrust, etc. For this purpose they're often used in spacecraft navigation. Here, too, they need to be able to accept new inputs.

@jtprince
Copy link
Member

jtprince commented Mar 6, 2014

Kalman filters are incredibly useful--we've used them for isotope trace finding in mass spec, and I was surprised with just how efficient and robust they are. +1 this feature request.

@v0dro
Copy link
Member

v0dro commented Aug 2, 2015

@MohawkJohn Could you please elaborate on what exactly you mean by accepting new inputs?

Currently if you want to process any timeseries you just need to call the Kalman Filter class with Statsample::TimeSeries::Arima::KalmanFilter.new(time_series, p, q, r). From what I can understand sending in new data would involve simply creating a new ...::KalmanFilter object with new data.

How would your approach be different?

@v0dro
Copy link
Member

v0dro commented Aug 2, 2015

OK I have something in mind for dynamically appending data.

How about a << operator for the KalmanFilter object so that data can be appended to the time series on the fly?

@translunar
Copy link
Member Author

The most common use of Kalman filtering is in spacecraft navigation
software, where they process sensor updates in real time to produce
position, velocity, and attitude estimates (among other things).

I've learned a lot more about KFs since writing this ticket, and you could
probably have "writing a Ruby Kalman filter" as an entire GSoC project and
then still have more to do, FYI.
On Sun, Aug 2, 2015 at 5:22 AM Sameer Deshmukh [email protected]
wrote:

OK I have something in mind for dynamically appending data.

How about a << operator for the KalmanFilter class so that data can be
appended to the time series on the fly?


Reply to this email directly or view it on GitHub
#2 (comment)
.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants