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

Kalman filters #29

Open
hpmax opened this issue Nov 27, 2020 · 0 comments
Open

Kalman filters #29

hpmax opened this issue Nov 27, 2020 · 0 comments

Comments

@hpmax
Copy link
Contributor

hpmax commented Nov 27, 2020

My friend has been looking at the Kalman filter and cannot understand the process covariance matrix. The current matrix is:

[ Td^4/4 Td^3/2
Td^3/2 Td^2] * var_x_accel

The more common matrix for this sort of application is:

[ Td^3/3 Td^2/2
Td^2/2 Td] * var_x_accel

The Q(1,1) term appears to have a /4 instead of a /3, this could be nothing more than fat fingering. Our simulations have shown this doesn't make much difference either way. The other difference obviously is there is an extra Td term, hence there's could be written as:

[Td^3/4 Td^2/2
Td^2/2 Td] * Td * var_x_accel

It's worth noting that var_x_accel is treated as a constant( .3) and Td, when this was originally written, was treated as a constant (0.05). So, as long as Td is a constant this could just be rolled into var_x_accel. Of course, Td is now mostly accurate and no longer a constant (also, I halved Td when switching from 50ms sample rate to 25), so... Does anyone see a good reason for the extra Td or can we just assume this is wrong?

63% response time to a step is about 1.5 seconds. Does this seem reasonable or do we want to change the settling time? What's a good limit on how much noise we allow to get through the filter also? Do we want this to be in-flight adjustable or have multiple filters with different response times?

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

1 participant