LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

GPS navigation

I am trying to use LabVIEW 6.1 to autonomously steer a buoy via GPS navigation.  My problem is I'm not sure how to read the GPS data in real time and compare it to pre loaded coordinates.  The buoy is supposed to be able to correct its course based on the GPS coordinates it receives in order to reach its final destination.  So, I need to read the data, compare the data, and then use two motors to steer the buoy back on course to the correct position.  Does anybody have any pointers or was this much to vague?  I have only recently started learning LabVIEW so any help would be appreciated.
0 Kudos
Message 1 of 14
(4,965 Views)
0 Kudos
Message 2 of 14
(4,957 Views)
Most GPS have a serial (RS-232) connection that use the NEMA-183 protocol to send the current position. I have a GARMIN GPS 12, that can send data over the serial connection. If your GPS has the serial output then it can be read and parsed using labview. You can check the GPS for serial and then connect it to a PC a view the data using HyperTerminal. Once you know the format then you can extract the data you need and compare it to where you want to go.
 
I will try to get a sample of the output from my GPS to show you what you would be looking for.
 
Robin
 
EDIT: I guess we were posting at the same time.

Message Edited by rgambin on 06-15-2007 10:56 AM

Message 3 of 14
(4,956 Views)
The antenna I am using outputs using RS-232 through hyperterminal.  The output contains multiple strings of GPGSA, GPRMC, GPGGA, and GPGSV data.  I guess I am struggling to really grasp how to set up a VI that can read and compare data.  Like I said, I am just starting to use the program.  I really don't know much so far.
0 Kudos
Message 4 of 14
(4,948 Views)
Robin:
 
You still get 5 stars for great information!Smiley Very Happy
0 Kudos
Message 5 of 14
(4,945 Views)
Adamoutlaw:
 
See if this helps clear that up:
Message 6 of 14
(4,940 Views)
Thanks for all of the help and information so far.  From what I can determine about my particular system, I need to use the GPGGA string.  I have a better understanding of each value included in the string now (thanks Matt) so is there a way to only read that string and sort through it for time, lat, and long data?

Thanks,

Adam Outlaw
0 Kudos
Message 7 of 14
(4,934 Views)

NMEA0183 has many strings often you can just look at 1 string like the $GPRMC which will give you long lat heading speed and time, this will be good for most applications.  There are a few drivers for nmea GPS units.  If you only need to look at 1 string writing the driver is trivial.  On first call initialize the VISA serial, set the baud (4800) stop start and other params.  in a loop, read all bytes at port, concatinate this to a string passed to a shift register and parse it for the command ie $GPRMC.....$ then parse out the parameters needed for the application.

 

Paul

Paul Falkenstein
Coleman Technologies Inc.
CLA, CPI, AIA-Vision
Labview 4.0- 2013, RT, Vision, FPGA
0 Kudos
Message 8 of 14
(4,932 Views)

Adamoutlaw:

Just for clarification, you cannot read just the one string. In RS-232 you have to read the whole buffer, then parse out what you need...

suggestion for this is pattern matching http://zone.ni.com/reference/en-XX/help/371361B-01/glang/match_pattern/ and then simply splitting the "after match" portion (the required information) at the number of bytes you expect.

0 Kudos
Message 9 of 14
(4,927 Views)
Give me your email address.  I developed VI's that were used to autonomously steer a vehicle using GPS and a predefined course.
Message 10 of 14
(4,920 Views)