Improving GPS

42 views
Skip to first unread message

G. Kudryavtseva(2)

unread,
Mar 17, 2013, 2:09:15 AM3/17/13
to hbrob...@googlegroups.com
Hello all,
Does anyone have any suggestions on improving GPS accuracy/fix?
I have already enabled WAAS, but that does not seem to do much. At 9 sattelites I get about 10-15 feet
accuracy (most of the time). 
 
Also, for some reason, when I tested the GPS at the Menlo Park Tech Shop, I got 11 satellites inside of the building! While at my house in Sunnyvale I can't even get a 10 sattelite fix outside. I wonder how its going to be in San Mateo at Robogames...
 
What I've noticed is that 2 satellites change so much, that I can almost get 1 meter of accuracy when connected to more than 11 sattelites, compared to that of 9.
 
Is there any trick that I missed? 
 
I am using the Adafruit Ultimate GPS Breakout v3 with the TinyGPS library.
 
Thanks,
Boris 
 
 

Alex Sy

unread,
Mar 17, 2013, 4:48:32 AM3/17/13
to hbrob...@googlegroups.com
A long answer to provide some explanation.   Pick what ever is useful to you.
 
Getting 10-15 feet is normal for standard GPS, you will find that it mostly drifts within a 30ft circle  (10m CEP).  It gets worse with multipath, which is when the signal from the satellite is reflected from the side of a building causing the distance to seem to be longer.  It also gets worse if the PDOP (position dilution of precision) is too high, this is when the satellites are not positioned in as large a triangle as possible.  One cause of that is if the GPS is blocked from seeing as close to the horizon as possible (up to 10 degrees from the horizon).   Note that getting satellite signals below 10 degrees from horizon starts getting worse due to atmospheric effects. 
 
Depending on the GPS you use, you may have a setting called a mask, set it to 10 degrees if you are mostly outdoors with no high building nearby, if you are near buildings, then increase it to match the angle from the horizon to the top of the building.  This setting is not available in NMEA but requires that you use the native/binary protocol of the GPS unit.  Another setting is called filter dynamics which may have airplane, or land vehicle or water vehicle, you should set it to land vehicle mode.  This allows the GPS to filter with the assumpion of relatively low acceleration, and variable altitude.  You could also set things like HDOP, PDOP masks, which basically tell the GPS to only accept position calculations that meet that mask value.  The bad part is that if the satellites it can see are not able to meet that level, then you do not get any position data.
 
If you have a really good GPS receiver (survey quality, with carrier phase), good to centimeters accuracy, then you can also modify the GPS antenna by putting it inside several concentric cans, and line it with the black foam used to protect chips from static damage.  This will minimize multipath effects and really get the accuracy of the receiver.  This is not useful for the cheap GPS since they are not that accurate to begin with.
 
Sensitivity for most GPS is in the -150 to -163 dbm, which is approaching the limit of noise.  A typical outdoor GPS signal is around -140dbm, (showing up as about 35-40db C/No) so you do not need to buy the most sensitive receiver.   This gives some headroom to pick up satellites indoors especially if you are on the top floor of a home and it is not concrete or metal roof.  Even though the spec may look sensitive, a GPS receiver needs a strong signal -140dbm to intially find the satellite, then it can use a weaker signal -155 to -160 dbm to track it.
 
Do you know what GPS chipset the Parallax unit uses?
 
Since you are using this for Robomagellan, you should not rely on GPS alone, you will have to add some way to locate the cones using some form of video camera and image processing.  The GPS gets you going towards the area of the cone, and as you approach, you start looking for orange, then as you approach closer, you start checking the size and possibly shape.  This can use notebooks or Beagle board or RaspBerryPI, running OpenCV or RoboRealm.  You can also use something like CMUCAM etc.
--
You received this message because you are subscribed to the Google Groups "HomeBrew Robotics Club" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hbrobotics+...@googlegroups.com.
To post to this group, send email to hbrob...@googlegroups.com.
Visit this group at http://groups.google.com/group/hbrobotics?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

G. Kudryavtseva(2)

unread,
Mar 18, 2013, 7:49:46 PM3/18/13
to hbrob...@googlegroups.com
I read what you sent me, but decided against it. I already wrote most of my code, and there is three weeks until Robogames, so I do not want to make to many changes. I am using differential GPS because it seems easier. However, I will consider using the solution stated in the article for next year.
 
Boris.
----- Original Message -----
Sent: Sunday, March 17, 2013 10:39 AM
Subject: [HBRobotics] Re: Improving GPS

without tweaks suggested by Alex a standard GPS will pick up reflections from buildings, trees etc. - and your position reading will jump dozens of meters.
Even in ideal conditions 3 meters is very good precision.
For smooth and precise navigation you will need to fuse readings from IMU and GPS, an example is in attached article.


G. Kudryavtseva(2)

unread,
Mar 18, 2013, 7:58:28 PM3/18/13
to hbrob...@googlegroups.com
Thanks for the long explaination, I appreciate it.
However, I do not know how to talk to my GPS' binary protocol. I tried looking online, but with no success.
________
 
I do not know which chipset the Parallax GPS unit uses. You can try searching on web corresponding to your GPS unit model.
 
Boris. 

Alex Bravo

unread,
Mar 19, 2013, 1:40:30 AM3/19/13
to Home Brew Robotics Club, geli...@fortsun.com

After reading attached articles I can't help but wonder how that approach is different from the proprietary InvenSense fusion algorithm used in Galaxy Nexus/Nexus 7.

This article also make me more confident that a modern smartphone would be a good source of position information in competition like RoboMagellan.

I wonder why more people are not using smart phones in RoboMagellan? Is it the cost of the phone or the difficulty of converting phone sensors info into wheel movements?

On Mar 17, 2013 8:40 PM, "Sergei Grichine" <vital...@gmail.com> wrote:
without tweaks suggested by Alex a standard GPS will pick up reflections from buildings, trees etc. - and your position reading will jump dozens of meters.
Even in ideal conditions 3 meters is very good precision.
For smooth and precise navigation you will need to fuse readings from IMU and GPS, an example is in attached article.


Reply all
Reply to author
Forward
0 new messages