From: Tim Wescott on
On 05/25/2010 10:41 AM, claudegps wrote:
> On 25 Mag, 18:10, Tim Wescott<t...(a)seemywebsite.now> wrote:
>> On 05/25/2010 09:00 AM, claudegps wrote:
>>
>>> [cut]
>>>> What resources does the phone give you beyond the GPS? I understand
>>>> that there is some inertial measurement going on, but my understanding
>>>> is that it is more for gesture recognition, which really doesn't put it
>>>> in a class to work for this sort of thing.
>>
>>> There should be just a 3 axis accelerometer, a very cheap/small one.
>>> You can't get much help from that... :)
>>
>>> Best way may be to improve the GPS reception using A-GPS and try have
>>> a good visibility of the sky.
>>
>> Not just an accelerometer. Where you really need help with the combined
>> IMU/GPS solution is in the gyro, which has to be good relative to the
>> speed at which the earth-relative acceleration vector on the IMU and
>> antenna is changing (i.e. the more jerk there is, and the more different
>> directions it occurs, the better off you are).
>
> I understand. I was referring that the iPhone, as far as I know, does
> not have gyro but only the accelerometer.

I know. They _really_ didn't make it for that, but the price would have
been absurd if they had.

> Not sure about the magnetometer... I think some Nokias have it, but no
> gyro around.
> Take into account MEMS accelerometer are in 3$ range for 1k pcs...
> gyro are at 20$ !! :) (very rough pricing.... just to give an
> idea)

Yup. And that's for gyros that would be dismal at this sort of
application -- they probably wouldn't help at all for just walking around.

>> You _could_ get by with a cheap set of gyros, but only if you had a lot
>> of guaranteed motion of the platform -- and even then a cheap gyro is a
>> heck of a lot less cheap than a cheap accelerometer!
>
> Having a complete set of inertial measurements could certainly help.
> I think that if those hardware would be available, then the iPhone SW
> (or the GPS sw... wherewere the main KF runs...). should already be
> able to do a tightly coupled integration of the data for the best
> performance.

An iPhone probably has the processing horsepower, but as mentioned the
IMU capability just doesn't cut it.

And your written English is just fine. Had you not apologized for it I
wouldn't have known.

--
Tim Wescott
Control system and signal processing consulting
www.wescottdesign.com
From: andreivig on
On an iPhone I have a GPS and 3 axis accelerometer. I can also get the
heading. I use the GPS data for my navigation, but as I said this is
sometimes really bad. Sometimes I receive a position with an error within
100 to 400 meters.

Is there any algorithm that I could use to optimize/smoothen this data?

From my readings, a solution would be the kalman filter but I don't know
how to build the model/equations in order to calculate the gain and the
covariance.

I found some code here but the equations does not seem right:
http://github.com/lacker/ikalman/




From: claudegps on
On 26 Mag, 09:00, "andreivig" <vig.andrei(a)n_o_s_p_a_m.gmail.com>
wrote:
> On an iPhone I have a GPS and 3 axis accelerometer. I can also get the
> heading. I use the GPS data for my navigation, but as I said this is
> sometimes really bad. Sometimes I receive a position with an error within
> 100 to 400 meters.
>
> Is there any algorithm that I could use to optimize/smoothen this data?

Maybe that you can just try to filter out the "bad" fixes by looking
at the solution status.
If you can have access to GPS data like N. of satellites used in the
solution, their CN0 and DOPs you can determine which fixes have a good
probability to be accurate and which ones have a really poor accuracy
(few satellites, low CN0s, high DOPs)

From: andreivig on

>Maybe that you can just try to filter out the "bad" fixes by looking
>at the solution status.
>If you can have access to GPS data like N. of satellites used in the
>solution, their CN0 and DOPs you can determine which fixes have a good
>probability to be accurate and which ones have a really poor accuracy
>(few satellites, low CN0s, high DOPs)
>
>

The data that I receive from the GPS is :
- coordinates : x, y;
- altitude
- horizontal accuracy
- vertical accuracy
- speed
- course
- heading(optional)

I don't have access to number of satellites and so on.

Which algorithm is best suited to improve coordinates data based on the
other inputs I have?
From: Tim Wescott on
On 05/26/2010 12:00 AM, andreivig wrote:
> On an iPhone I have a GPS and 3 axis accelerometer. I can also get the
> heading. I use the GPS data for my navigation, but as I said this is
> sometimes really bad. Sometimes I receive a position with an error within
> 100 to 400 meters.
>
> Is there any algorithm that I could use to optimize/smoothen this data?
>
> From my readings, a solution would be the kalman filter but I don't know
> how to build the model/equations in order to calculate the gain and the
> covariance.
>
> I found some code here but the equations does not seem right:
> http://github.com/lacker/ikalman/

You got the long, nice, detailed, "no", and it didn't take. Let me try
again:

No.

Did it work that time?

In case you're wondering why, go to behindthename.com and look up
'Kalman'. You will find that it does not mean "magic". It means
"remainder" (why they named a king "remainder" is beyond me, but they did).

So a "Kalman filter" is not a "magic filter". It is just a filter
designed using a method that -- under certain narrow conditions --
guarantees that your filter is the best possible filter. But, being an
earthly construct by earthly people that has to work on earth, it can
only find the best possible filter, it can't find an impossible filter.

I'm not sure what you're reading, so I don't know if it's wrong or if
you're not reading it closely enough. As already stated, a three-axis
accelerometer _along with_ a three axis gyro is sufficient. A
three-axis accelerometer plus a good compass isn't good enough -- the
compass will only give your orientation in two out of the possible three
dimensions, which will leave the accelerometer data more or less
useless. Bind the iPhone so that it is somehow always exactly level and
you can use the compass -- but you'd need to be _always_ level to within
the accuracy of your compass, and if you think about it that's a pretty
absurd requirement.

--
Tim Wescott
Control system and signal processing consulting
www.wescottdesign.com