Data fusion using extended kalman filter

In summary: This can be used to improve the accuracy of the sensor data by allowing the Kalman filter's prediction step to have a cleaner signal to work on...I'm sorry that I cannot give more precise advice. However, I hope this helps in some way.In summary, the conversation is about data fusion of redundant sensor data and whether the accuracy of the final state would be greater than the accuracy of the most accurate sensor used in the extended Kalman filter (EKF). The project involves using multiple sensors, including an IMU, gyro, and odometry, and the question is whether it would be worth running an
  • #1
sethu_chidam
4
0
I am presently working with data fusion of redundant sensor data, basically trying to put together data from an IMU, a gyro and odometry...
My question is whether the accuracy of the final state be greater than the accuracy of the most accurate sensor used in the ekf?

Thanks in advance for the help!
-Sethu
 
Physics news on Phys.org
  • #2
sethu_chidam said:
I am presently working with data fusion of redundant sensor data, basically trying to put together data from an IMU, a gyro and odometry...
My question is whether the accuracy of the final state be greater than the accuracy of the most accurate sensor used in the ekf?

Thanks in advance for the help!
-Sethu

I'm not sure I understand the logic of your question. Are you asking if the accuracy of the signal from the filtered aggregate data would be greater than the most accurate signal (by your definition) in the aggregate (or "fused") signal data?
 
  • #3
SW VandeCarr said:
I'm not sure I understand the logic of your question. Are you asking if the accuracy of the signal from the filtered aggregate data would be greater than the most accurate signal (by your definition) in the aggregate (or "fused") signal data?

Yes, that is exactly my question... The project I am working on has a few redundant sensors...and i was wondering if it would be worth running an ekf
 
  • #4
sethu_chidam said:
Yes, that is exactly my question... The project I am working on has a few redundant sensors...and i was wondering if it would be worth running an ekf

Are you planning on using multiple sensors or just one? If it's the latter, then I would just run the most accurate one. The fact that you're using the extended filter indicates you have a non-linear situation. These are very sensitive to the initial state. If that state is an outlier on the Gaussian curve (for either the state transition or measurement noise) your model may fail. Given you already have an accurate sensor (a good signal to noise ratio), you won't get any improvement by aggregating it with noisier sensors unless I'm missing something here.
 
Last edited:
  • #5
I am running multiple sensors... My sensors and their outputs are as follows:

1. IMU- linear velocity, yaw velocity and pitch velocity
2. Gyro - yaw velocity
3. odometry - linear velocity and yaw velocity

My IMU and gyro are quite accurate... As of now I am using linear velocity from the odometry, yaw velocity from the gyro and pitch velocity from the IMU

I was wondering if I could put all the 3 together so that i can get a more accurate result so that even if one of the sensors fail i still have others to compensate.
Also my sensors operate asynchronously.

My initial plan was to build 2 ekf's(one for the IMU data and one for the gyro data) and run them in parallel(depending on which type of sensor data comes in, that corresponding ekf is executed) and using the odometry data in the prediction stage.

but now I'm not sure if doing that will be the best idea

Any suggestion regarding this?

Thanks!
 
  • #6
I really can't speak to the technical issues of your situation. This is a math forum, not an engineering forum. From a mathematical perspective, the Kalman filter (usually) requires a specification of the desired final state. It's not clear to me what this is, but if it's your best sensor, you're already there, and your problem would seem to be bringing other sensors to that point if you need multiple sensors.

A simple way to look at the filtering process is the so called Pontryagin Minimum Principle for minimizing the integral:

[tex] J(\mu) = \int_{0}^{T} g(x, \mu) dt [/tex] where [itex]0\leq t \leq T [/itex]

and where [itex]x(t)[/itex] is the system state which is connected to the desired state (control input) [itex]\mu(t)[/itex] by:

[tex]\frac{dx}{dt}=f(x,\mu); x(0)=x_0[/tex]
 
Last edited:
  • #7
Thanks for the reply... I'll try implementing it and post results later... Thanks!
 
  • #8
sethu_chidam said:
Thanks for the reply... I'll try implementing it and post results later... Thanks!

You're welcome.
 
  • #9
sethu_chidam said:
I am running multiple sensors... My sensors and their outputs are as follows:

1. IMU- linear velocity, yaw velocity and pitch velocity
2. Gyro - yaw velocity
3. odometry - linear velocity and yaw velocity

My IMU and gyro are quite accurate... As of now I am using linear velocity from the odometry, yaw velocity from the gyro and pitch velocity from the IMU

I was wondering if I could put all the 3 together so that i can get a more accurate result so that even if one of the sensors fail i still have others to compensate.
Also my sensors operate asynchronously.
Any suggestion regarding this?

Thanks!

There are two separate ideas here; Sensor failure can be detected without resorting to a Kalman filter; These sensors are not grossly different... Merely calibrating the sensors at an intial time under two extreme conditions of motion, pitch, or yaw -- so that you can scale them to match numerically allows you to detect failure by simply noting when the values become different by more than an arbitrary threshold that you choose; Determine a sigma from continual measurements that 68% of the data falls within, then just choose a confidence interval to detect the sensor giving unreasonable data...

The remaining problem is to decide *which* sensor is giving the false data after the failure is detected. This can be something as simple as noting which sensor abruptly changed its value, or as failures typically are of the whole sensor at once -- noticing which sensor is the locus of multiple discrepancies.

As to improving the accuracy, a Kalman filter may be of use -- but I haven't enough experience with them to prove the issue. I generally have found other ways that are simpler (computationally) to implement.

But -- as another idea; Being able to skew the sampling time from your sensors in a random manner, or physically injecting noise into the signal converting electronics may also allow you to improve the accuracy of the measurements. Typical conversion processes cause a truncation of data at a certain bit depth (a floor operation); by being able to generate electrical/signal noise equivalent to about half the least significant bit's analog signal's magnitude -- one can detect sub-lsb data by re-sampling and averaging. This is very useful for low frequency signals, and in your case -- that would be when the device is moving "slowly" -- and at a time where drift becomes quite appreciable...

Also, this technique is useful to remove aliasing from sampling eg: Nyquist frequency -- by randomly changing the exact time that the sample is taken by a small fraction of the sampling time.

Best wishes. !
 

1. What is data fusion?

Data fusion is the process of combining data from multiple sources to create a more accurate and complete understanding of a system or phenomenon. This can involve integrating data from different sensors, technologies, or models.

2. What is the extended Kalman filter?

The extended Kalman filter is a mathematical algorithm that uses a system model and measurement data to estimate the state of a system over time. It is an extension of the traditional Kalman filter and is often used in situations where the system is non-linear.

3. How does data fusion using extended Kalman filter work?

Data fusion using extended Kalman filter involves using the extended Kalman filter algorithm to combine data from multiple sources. The algorithm takes into account the system model and the measurement data to generate a more accurate estimate of the system state.

4. What are the benefits of using data fusion with extended Kalman filter?

Data fusion using extended Kalman filter can result in more accurate and reliable estimates of the system state compared to using a single data source. It can also help reduce the effects of noise and errors in the data.

5. How is data fusion using extended Kalman filter used in scientific research?

Data fusion using extended Kalman filter is commonly used in areas such as robotics, navigation, and remote sensing. It is also used in scientific research to integrate data from various sources and improve the accuracy of measurements and predictions.

Similar threads

  • Engineering and Comp Sci Homework Help
Replies
1
Views
799
Replies
6
Views
2K
  • Set Theory, Logic, Probability, Statistics
Replies
1
Views
1K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
2
Views
2K
  • General Engineering
Replies
1
Views
2K
  • General Engineering
Replies
9
Views
5K
Replies
24
Views
10K
  • General Engineering
Replies
2
Views
2K
  • General Math
Replies
6
Views
6K
Replies
1
Views
2K
Back
Top