electronics forum

Rules | Recent posts | topic RSS | Search | Register  | Log in

GPS in Kalman filter: any thoughts?


Post new topic  Reply to topic    EDAboard.com Forum Index -> Digital Signal Processing -> GPS in Kalman filter: any thoughts?
Author Message
vandelay



Joined: 16 Aug 2007
Posts: 122
Helped: 2
Location: Norway


Post19 Dec 2007 5:40   

gps kalman filter


I have previously made orientation sensing Kalman filters employing gyros plus accelerometers, used for tilt-correcting magnetometers.

Now I want to look into GPS movement tracking as well, my initial thought that I am looking for feedback on is this;

In addition to angle (Θ), angular velocity (ω), and gyroscope bias (b) already in the state vector, I am thinking to implement states for position (p), speed (s), and acceleration (t) along the respective (body-fixed) axes.

For the predictor function I am thinking to use t= measured acceleration on axis minus gravity component (differentiable function of Θx,Θy). This is mapped to speed by sk+1=sk+tk*dt, speed is mapped to position by pk+1=pk+sk*dt.

Then, in the corrector, I plan to apply the GPS position through Kalman gain..

Have anyone here done this? Any thoughts or corrections?

Any feedback will be greatly appreciated.

- Kjetil
Back to top
vandelay



Joined: 16 Aug 2007
Posts: 122
Helped: 2
Location: Norway


Post23 Dec 2007 7:40   

kalman filter gps


So far, I've expanded the filter with a speedometer, and fused in the magnetometer. The speedometer should increase reliability of the gravity reference since (if I assume the vehicle mounted to the unit is travelling in direction of it's nose) I can account for sideways or upwards/downwards acceleration as a function of forward speed and angular velocity. Thus, the filter will no longer mistakenly assume these components to be gravity.

The states is expanded from 6 states to 13 states, where I now model [angle, angular velocity, gyro bias] for all 3 axes plus x axis speed and xyz acceleration components (components contributing to speed, gravity excluded)

I am thinking this will be a nice upgrade before I step all the way into GPS.. It is one step up the ladder..

while my predictor jacobian is nice and clean, my state to sensor output jacobian is really messed up with BIGBIGBIG trigonometric squareroot etc expressions that will need calculation every update. Producing the expected magnetometer reading seem to be the heaviest task. Seems like I will need to move up from dsPIC to DSP.. Neutral

A question;
While I can model z (up) and y (left/right) axis acceleration as a function of forward (x) speed and angular velocities, I can think of no reference for x axis acceleration except the speedometer... Should I predict that the speed of next frame is that of the current vk+1=vk, modelling the acceleration prediction as ak+1=vk/dt, and expect the correction to update the velocity state based on speedometer? will magic then track the x axis acceleration Question

I guess I'll find out, but I'm a bit puzzled... I can geometrically construct the gravity vector from angle states and add the z and y axis acceleration, but I still need the x axis acceleration to produce the complete expected measurement...
Back to top
brmadhukar



Joined: 21 Jun 2002
Posts: 844
Helped: 29


Post11 Jan 2008 4:08   

gps kalman


Have you used the Kalman filter in real time using dsPIC for Navigation? That is quite an achievement!!!!

I had used a DSP for just integrating Odometer and Murat Gyro

BRM
Back to top
vandelay



Joined: 16 Aug 2007
Posts: 122
Helped: 2
Location: Norway


Post11 Jan 2008 18:04   

magnetometer kalman


Not quite.. While I implemented an orientation tracking Kalman filter on dsPIC, I've now ported my project to the computer. The dsPIC now reads sensors and IIR filter the results, then uploads it to the PC over USB every update. On the PC a "real-time" emulator C++ program now does the filtering. I did this to quicker evaluate new algorithms, as porting MATLAB to C++ is relatively painless, plus I have a much higher headroom on FLOPS performance.

The dsPIC is actually quite powerful for filters that is not too complex. Running my old filter (6-state, augmented), I estimated a performance of over 200KFLOPS on an dsPIC30F3013 @120MHz (30MIPS), and with optimized code I could do analog sampling by A/D interrupt, digital IIR filtering, 400Hz Kalman update as well as 100Hz upload rate to SPI master, the dsPIC running as slave. This was the max performance I could get from the chip and I had to mess around alot with different interrupt priorities to avoid timing problems.
Back to top
Jackwang



Joined: 12 Nov 2004
Posts: 167
Helped: 2


Post27 Jan 2008 10:05   

kalman filter acceleration


you can refer the book: Global Positioning Systems, Inertial Navigation, and Integration.
http://www.edaboard.com/viewtopic.php?t=35068&highlight=gps
Back to top
melc



Joined: 08 Apr 2005
Posts: 394
Helped: 45


Post27 Jan 2008 12:40   

dspic kalman


Jackwang wrote:
you can refer the book: Global Positioning Systems, Inertial Navigation, and Integration.
http://www.edaboard.com/viewtopic.php?t=35068&highlight=gps



The topic or post you requested does not exist (it was removed)
OK, now works.
Back to top
Google
AdSense
Google Adsense




Post27 Jan 2008 12:40   

Ads




Back to top
calm



Joined: 17 Oct 2005
Posts: 264
Helped: 5


Post02 Apr 2008 3:24   

kalman dspic


do this to quicker evaluate new algorithms, as porting MATLAB to C++ is relatively painless.
Back to top
LubinKerhuel



Joined: 13 Jan 2009
Posts: 1


Post13 Jan 2009 23:07   

kalman gps


A solution to easily port filtering (IIR, kalman and so on) from matlab to dsPIC is to use Simulink, and the blockset for dsPIC available on : http://www.kerhuel.eu

With this blockset, a simulink schematic can be compiled and so as to get in a one click process the .hex and .coff file ready to be uploaded on the dsPIC.

One example of an IMU using accelerometers and rate gyro is available on: http://www.kerhuel.eu/wiki/index.php5?title=Miniature_Inertial_Measurement_Unit_-_IMU

You could download this blockset for dsPIC on:
http://www.kerhuel.eu/wiki/index.php5?title=Download

I hope you will enjoy it!

Lubin
Back to top
Arabic versionBulgarian versionCatalan versionCzech versionDanish versionGerman versionGreek versionEnglish versionSpanish versionFinnish versionFrench versionHindi versionCroatian versionIndonesian versionItalian versionHebrew versionJapanese versionKorean versionLithuanian versionLatvian versionDutch versionNorwegian versionPolish versionPortuguese versionRomanian versionRussian versionSlovak versionSlovenian versionSerbian versionSwedish versionTagalog versionUkrainian versionVietnamese versionChinese version
Post new topic  Reply to topic    EDAboard.com Forum Index -> Digital Signal Processing -> GPS in Kalman filter: any thoughts?
Page 1 of 1 All times are GMT + 1 Hour
Similar topics:
Extended kalman filter algorithm code in 'c' for GPS-ins . (1)
Kalman Filter (4)
Kalman filter (2)
Kalman filter (9)
kalman filter (1)
kalman filter (4)
kalman filter (2)
kalman filter simulation (3)
ANY BODY WORKED ON KALMAN FILTERS??? (1)
source code on kalman filter (4)


Abuse || Administrator || Moderators || Support us || sitemap
topic RSS