GPS is the heart of any robomagellan-esque robot; my AVC bot is no different. I wanted a high performance GPS that could deal with the challenges around the Sparkfun building including an urban canyon on the west side, trees, and very little tolerance for error all around the course.
Sparfkun did a comparison between various GPS modules they sell. The long and short of it is that of all the modules tested, the Locosys LS20031, based on a MediaTek chipset, seems to have dealt best with the challenges around the building.
Another factor of importance was update rate. Most GPS modules update at 1Hz but a few provide fixes more frequently. The LS20031 is one of those, providing fixes at 5 Hz out of the box. Adjustable baud rate is helpful, too, so that the data sent by the GPS is sent quickly, reducing lag between fix time and processing, and ensuring sufficient time between updates for processing.
The replacement (thanks SFE) didn't work at first either. It couldn't pick up a single satellite. Now I was really frustrated and wondering if it was time to bring in the good luck rubber chicken to ward away the evil gremlins. More on this momentarily.
|Pharos iGPS 500,|
The downside is the fixed 1Hz update rate and 4800bps data rate. EDIT: After the 2011 AVC I contacted Pharos support and obtained the pinout. I can now adjust baud rate and choose which NMEA sentences are transmitted. Cool.
Upon arrival, I got a solid fix using the device as originally intended, hanging off a USB to serial adapter. After converting to pin headers, performance degraded considerably and I was worried that somehow I was jinxing GPS modules.
But performance improved when I constructed an extension cable and moved the module away from the breadboard. It still wasn't great.
Finally I decided to power it with the same 5V as the USB adapter, instead of 3.3V. That did the trick. The fix was as good as ever.
Back to the LS20031
I decided to try the same approach with the Locosys. The module either really doesn't like to sit next to a breadboard, or next to the mbed, or maybe both. With long wires attaching it to the breadboard, it quickly got a solid fix outdoors and works beautifully. Now I'm in business!