I will pay for tutoring on Unscented Kalman filter

Hey ya,

I want to understand how to implement the UKF on two projects I am working on. The first project is about a floating device and the second project is about a land rover. do you think you can guide me through the process? I then need to implpement it on a github project: example https://github.com/mithi/fusion-ukf

Regards,

Yannis

Wait for @jremington to join this topic.

1 Like

waiting..
Thank you :slight_smile:

Start here

1 Like

Dear @jremington

the reason I am writing on the "Jobs & paid consultancy" section of this forum is because I have already tried the "Google it" method . Being a middle aged father of 2 leaves me with much limited spare time and the learning curve is very steep especially if you are not a pro engineer & you want to implement GPS, IMU & baro data. I am calling someone to help me understand how to design the model so I can kickstart my project.

The first thing a competent, potential tutor will want to know is why you think you need to implement a UKF and on what equipment. The UKF is model-specific, resource intensive and not simple to implement.

To attract a tutor, I suggest to describe the project goal, explain the reasoning behind the decision to implement a UKF, and to identify the sensors to be used, as well as the computing power available to the task.

Hint: the link pointed to in the OP describes UKF fusing of lidar and radar position/velocity data, which has very little to do with "GPS, IMU & baro data", and nothing at all to do with orientation. So very large portions of that code must first be understood and then rewritten, to be useful for a different application. It would probably be easier to start over.

Thank you for your answer,

the idea here is to use cheap GPS devices like the u-blox NEO6 and not a DGPS system with RTK.
I would like to implement a UKF on arduino because after extensive research (on Google) I think it is the best method (from what I could read and understand) to process gaussian noise for non linear systems like the GPS (please see here and here). I know that the filter is model specific and that you have to add Newton's equations for motion for acceleration and gravity. I understand that it's not simple.

The goal of this project has two parts:

  1. to process parsed GPS data and calculate the position of a stationary floating device in an open sea environment
  2. to process parsed GPS data and calculate the position of the same floating device while moving ( with a speed of approx. 5knots)

I think that apart from the GPS, an IMU and a Barometer are needed. I dont know how to calculate the computing power. About the link: it was just an axample of what I would like to do. If I had found a like with a GPS and an IMU I wouldnt be writing in this forum in the first place.

So I am calling anyone interested in helping me (with a fee of course) on how to design the motion and measurements models and implement them on C++.

Kind regards,

Y

There appear to be some research in this area:
https://www.ion.org/publications/abstract.cfm?articleID=6294

Thank you

Hello
Take some time and make research for information here:

Have a nice day and enjoy coding in C++.

thank you @paulpaulson :slight_smile:

I still don't understand the goal of the project. Are you trying to filter out the "random" GPS errors to get better position data? What does the barometer do for you in that context?

Good question, since by definition (post #7) the platform is at sea level. Predict the weather?

The barometer will correct GPS & IMU data for the z axis.

At sea level, Z is customarily zero.

Since the barometric elevation is always referenced to some position, usually sea level, it is completely useless in the situation you describe.

Yes, the goal is to filter GPS noise. I need the barometer bcause it will filter out the noise from the accelerometer and the GPS on the z axis. I will also have a secondary device on a different level.

on a lake. where there are waves and IMU there is noise

Makes no difference if you are on a lake, and waves are of course irrelevant to barometric pressure elevation estimates.

But I'm curious why you stated "calculate the position of a stationary floating device in an open sea environment". Was this a typo, or intended to mislead?

A good starter project would be to learn how to use a barometer to estimate relative elevation.

OK forget the baro. GPS and IMU fusion. Is there anyone available for Paid Consultancy?

Respectfully, I do not think that Arduino is the best platform based upon careful reading of the Research paper I just read referring to the realtime use of UKF.

PDF too large to attach, but you can download the research paper from:
https://www.researchgate.net/figure/Test-2-Processing-time-using-KF-and-UKF-on-Raspberry-Pi-and-Intel-Edison_tbl4_325566066

For the given case, 20 ms is the
maximum processing time permitted to transform the inputs and to apply the estimator. This sampling rate (50 Hz) is forced by the low-cost sensors.
Table 4 contains both processing time for Raspberry Pi 3 Model B and Intel Edison when computing KF and UKF. The mean and maximum processing time are calculated in order to quantify both devices performance. The devices stability has been determined with the processing time mean deviation. Results show that processing times for Intel Edison are higher than the Raspberry Pi 3 model B ones.

Anyway, you sound as if you are a bit frustrated, but IMO the Arduino platform is unlikely to satisfy your needs. Unfortunately, while I can follow the math, a much deeper understanding would be necessary to implement the necessary algorithms on a proper platform and meet your integration requirements; I suspect others in the forum are in a similar situation.

Good luck,

Ray