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
Author Message
vandelay



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


Post19 Dec 2007 6:40   GPS in Kalman filter: any thoughts?

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: 116
Helped: 2
Location: Norway


Post23 Dec 2007 8:40   

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 5:08   Re: GPS in Kalman filter: any thoughts?

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: 116
Helped: 2
Location: Norway


Post11 Jan 2008 19:04   Re: GPS in Kalman filter: any thoughts?

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 11:05   GPS in Kalman filter: any thoughts?

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: 392
Helped: 44


Post27 Jan 2008 13:40   Re: GPS in Kalman filter: any thoughts?

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
calm



Joined: 17 Oct 2005
Posts: 271
Helped: 5


Post02 Apr 2008 4:24   GPS in Kalman filter: any thoughts?

do this to quicker evaluate new algorithms, as porting MATLAB to C++ is relatively painless.
Back to top
Post new topic  Reply to topic    EDAboard.com Forum Index -> Digital Signal Processing
Page 1 of 1 All times are GMT + 2 Hours


Abuse
Administrator
Moderators
topic RSS 
sitemap