Society of Robots - Robot Forum
Electronics => Electronics => Topic started by: airman00 on April 25, 2009, 02:04:39 PM
-
Hi everyone,
Was thinking about GPS for robotics today and a google search wasn't able to answer some of my questions.
I don't have any experience with GPS regarding robotics and it seems to me that the GPS sensor that everyone uses (the Parallax GPS Sensor) just gives coordinates. Is there any way to combine street maps with the GPS sensor so that you could figure out a driving route, but all the while keeping it in the realm of microcontrollers - no laptop interface ?
If you can't save a map overlay onto a microcontroller and do the processing onboard the microcontroller, can you perhaps use a commercial GPS model(that has the street maps loaded onto it) and then communicate with the GPS device using serial from a microcontroller, telling the GPS the address of a destination and receiving from the GPS how much further it is to the destination, what action to do next , take a left, take a right,etc.)
-
The standard approach is to convert GPS coordinates into KML and display them directly in a Google Maps viewer.
Take a look over on diydrones.com - there is a ground station using LabView that is open source as part of the ArduPilot project - this might give you some ideas.
Update: here's a link which includes a description of the ground station. it's intended for airplanes, but could easily modified for ground operation -
http://diydrones.com/profiles/blogs/ardupilot-21-released-setup (http://diydrones.com/profiles/blogs/ardupilot-21-released-setup)
-
**Reviving Topic**
I'm back to working on putting GPS maps on a microcontroller. Basically building my own GPS device for use in one of my projects.
I know how to get coordinates but I need to store the maps on the microcontroller. Meaning the microcontroller is handling everything and it calculates which turns to make, when to make them, etc. I'd like to start with a microcontroller reading its current position through a GPS module and then calculating route to a preprogrammed destination. Maps would of course be preprogrammed as well. How can I run routing software on a microcontroller? Is there any way to port a GPS mapping software from a cell phone or palm pilot onto a different microcontroller?
Update: here's a link which includes a description of the ground station. it's intended for airplanes, but could easily modified for ground operation -
http://diydrones.com/profiles/blogs/ardupilot-21-released-setup (http://diydrones.com/profiles/blogs/ardupilot-21-released-setup)
Thats for running on a computer, I want the microcontroller to do all the mapping.
-
People like Garmin produce maps that fit onto microSD cards for use by handheld GPS devices.
So first you need to link microprocessor to microSD card - easy enough using an SPI interface (I've just done it myself and it will be in next release of my C library).
Then you need to know the format of the map data on the microSD card - this may be proprietary (ie a problem) or in a standard hard driver format like FAT-16 or FAT-32 etc.
Elektor magazine did an article on using a GPS module (similar to the Parallax one) linked up to a PC to download POIs (points-of-interest in this case the location of speed trap cameras) - it then operated stand alone to give a warning of traps ahead. Check their site - they may give software downloads that could be useful.
Route planning:- so if you manage to figure out the format of the map data then you still need a 'best route;' algorithm ie 'no motorways vs no toll routes vs main roads only'. Sort of critical path analysis.
So you may be able to get the code in a ATMega640 but will still need something like a 2gb micro sd card to hold the read only map data
Interesting project - keep us informed
-
Also heres a cool thing that sends gps feedback via cell phone you could probably mod it in someway to hook into a computer and the computer share mapping information with the micrcontroller...
http://www.opengpstracker.org/build.html (http://www.opengpstracker.org/build.html) just an idea