Software and tutorial see
http://diydrones.com/profiles/blog/show ... %3A2134119
https://github.com/simondlevy/TinyEKF
Using extended kalman filter with oXs
Moderator: rainer
-
- Posts: 308
- Joined: Fri Nov 08, 2013 9:56 pm
- Country: -
Re: Using extended kalman filter with oXs
Is this implimented now in oxs?
I wonder if it could make the bmp180 more precise and good enough for vario tones now?
I wonder if it could make the bmp180 more precise and good enough for vario tones now?
Re: Using extended kalman filter with oXs
The original openXvario code used a kalman filter (and some kind of average) to smooth the pressure from the baro sensor.
In fact it was a very basic filter as it could not perform a fusion of data coming from another sensor (because it had only one measured data : the pressure). It has been demonstrated that this implementation generates exactly the same result as an much simple exponential smoothing.
So oXs uses now exponential smoothing (in fact several and a kind of differential exponential smoothing) when only baro sensor is used.
Those kinds of filters are controled by a parameter that let you select the level of smoothing.
If you have a very noisy sensor, you can play with this parameter in order to increase the smoothing. Still there is a drawback: the result becomes less sensitive and the reaction time increases. So you can't get the same result with a noisy sensor as from a better one.
Currently I added to oXsthe possibility to get data from an imu6050. It allows to fusion the data from a baro with the vertical acceleration from imu.
This fusion is performed by a Kalman filter based on the code made some one that use it for a paragliding sensor.
It seems that this version has a much lower reaction time that the one using only a baro.
Still tests have to be continue in order to check if it is not to noisy (there are 3 parameters that could be adjusted) and if rotation of the glider does not have a too big negative impact.
If you want you can test it. Any feedback is welcome.
In fact it was a very basic filter as it could not perform a fusion of data coming from another sensor (because it had only one measured data : the pressure). It has been demonstrated that this implementation generates exactly the same result as an much simple exponential smoothing.
So oXs uses now exponential smoothing (in fact several and a kind of differential exponential smoothing) when only baro sensor is used.
Those kinds of filters are controled by a parameter that let you select the level of smoothing.
If you have a very noisy sensor, you can play with this parameter in order to increase the smoothing. Still there is a drawback: the result becomes less sensitive and the reaction time increases. So you can't get the same result with a noisy sensor as from a better one.
Currently I added to oXsthe possibility to get data from an imu6050. It allows to fusion the data from a baro with the vertical acceleration from imu.
This fusion is performed by a Kalman filter based on the code made some one that use it for a paragliding sensor.
It seems that this version has a much lower reaction time that the one using only a baro.
Still tests have to be continue in order to check if it is not to noisy (there are 3 parameters that could be adjusted) and if rotation of the glider does not have a too big negative impact.
If you want you can test it. Any feedback is welcome.
-
- Posts: 308
- Joined: Fri Nov 08, 2013 9:56 pm
- Country: -
Re: Using extended kalman filter with oXs
I did download the IMU code from github, but it did not compile in arduino, BTW the GPS code currently on github also does not seem to work with my gy-63 now either, but the size of the GPS file is smaller then the older version I downloaded a while back which does work.
I expect this is all because you are just testing different versions out?
I have the gy-86 ready mounted on an arduino to test
I expect this is all because you are just testing different versions out?
I have the gy-86 ready mounted on an arduino to test