GPS for ROV Surface Navigation


Hi friends:
Its a long time from my last contribution to the Forum. “Fortunately” Im being really really busy with a lot of work.
I would like to point a few things about NMEA.
Allowing this protocol for the ROV could open a wide range of applications, but not all NMEA sentences could allow for them.
My recomendation is not using any GP__ sentence. Albeit they are native in all GPS devices, the information formatting system is very limited.
I’d go for the $AISVDO sentences. Information is compressed into a coded data chain, that today is compatible with all the navigation software.
AISVDO includes all GP-- data, plus “ship” identification and activity information into a shorter message. At the same time, allows for traking systems to read those datas.
Today, all chartplotters and GIS systems read AIS data better than GP-- sentences.
Being AIS the actual standard, data can be very easily shared and monitorized through Internet. Increasing the RF signal range for allowing remote control, comes also easier, as AIS data can be trasfered via marine VHF radio in two channels (86 and 87) located around 162 MHz, with an effective range of 5 miles with a 5Watts output.(My company is actually building a VTS tower, hence the data Im providing come from real tests).
Control commands can be included into the AISVDI channel, which range is only limited by the land station particulars.
AIS is directly compatible with any autopilot that could be designed, as it includes all required data.
The only problem with AIS, is the data compression and coding , but I could help with that, as I wrote a few months ago, a data coding/compression data software that mix and compress GPS, IMU and ROV particulars, into an AISVDO chain, able to be sent via TCP/IP or marine VHF radio.

For AIS decoding, plotting and sharing, there is a lot of free software in the net.

About autopilots …
Best way is a NMEA compatible autopilot, becouse it could read remote sentences that could be sent from any place via internet or VHF included into the AIS sentence.
Checking the AP accuracy is performed by means of programmed standard search patterns that are executed by the AP alone.
Standard used maneuvers are: Full, Williamson and Scharnow turns that provide a lot of information about the evolution curves, “rudder” response and system errors.

Kind regards


NMEA sentences return coordinates in WSG84 format. This format is very useful for big areas and marine Mercator projections, but as your post points, UTM is better for smaller coverages.

Anyway, moving from WSG to any other projection system is just a matter of simple math.


Got a chance to fly a VideoRay Pro 4 with “Co Pilot” ( ) and lemme tell you, this is the future of ROV control. It used a GPS to acquire its position on the surface and then doppler to update the position while underwater. The display showed a “cookie crumb” trail of your track overlayed on a chart that also included your sonar image from a BlueView sonar. Made flying blind a piece of cake.

Back on topic, I think using a simple GPS mounted on the ROV will get you maybe 1/4 of the way there, which isn’t a bad start. I’ll be interested to see how this develops.


I have always thought that @Jim_Trezzo system is a good starting basis for a potential Doppler system as well as both long and short baseline acoustic positioning

And as always a mix of systems will most likely be the final answer with Surface GPS as @Kevin_K is discussing a great starting point

Would be interested to hear a bit more about your experiences with the VideoRay Pro 4 with “Co Pilot”


It was very similar to APM’s “Mission Planner” and all the other quadcopter control apps. The screen shows an overlay of a marine chart and you can point and click on the touch screen to create a track for the ROV to follow. You can even update it while it’s enroute to the next waypoint. There’s a graphic along the right side which shows the bottom, surface and what depth the ROV is at. The biggest difference with “Mission Planner” is that the image from the BlueView sonar is painted on the same screen, so you have sonar+chart+your track all displayed together. That way if something appears on the sonar you can point and click on it for the ROV to investigate. Extremely powerful tool.


I also have some common interest in this work. I will need to build some GPS Buoys that send acoustic signals to the ROV from the surface. The buoys may have wi-fi and be remotely controlled/coordinated from a central device (ex. laptop on a vessel). The signal (pulse) would be either on a regular schedule or on-demand from the central device. An approach called TDoA (time difference of arrival) can be used and is much more like GPS. It does not require time of flight to be calculated.

There are a few papers on this topic:
Underwater Localization and Tracking of Physical Systems
Localization of autonomous underwater vehicles by floating
acoustic buoys: A set membership approach

The papers tend to use sophisticated uw modems, but I have some ideas where this can be eliminated if I use unique frequencies for each buoy.

After I get my circuit boards up and running, I can try some of this.


@badevguru Now that I’ve got some time, I’m digging into your program and trying to get it to work.

  1. I pulled out one of my Rev B’s that still had the BBB factory image on it.
  2. Copied the files to “etc/init.d”
  3. Created the folder “user/local/var/run”
  4. Shut down the BBB
  5. Plugged in the Garmin OEM USB module (works on my laptop) and plugged in an ethernet cable.
  6. Powered on the BBB and typed in “”, but it didn’t get me anywhere.

I thought I gave everything a good read, but what am I forgetting to do here?


The idea you discussed here is the pretty cool. We can see the information using the Google earth just by using GPS and NMEA0183. I want to know how the NME0183 sends the data using tether instead of wirelessly? Should we use it wirelessly also? How it updates the data on the Google earth?

pcb assembly cost


Hey Sorry for the delay. Did you apt-get install gpsd?


Hey no worries, I’m watching all the work you’re doing on GitHub and getting everyone else’s ROV’s up and running :smile:

No, I haven’t figured out how to install it to get it to run properly? I know how to SSH in now (got the firmware for the extra ESC’s loaded) so if there is something I can follow, please point me to it, I couldn’t really find anything when I Googled how to install programs on a BBB.

@darbwallach12 Well, we’re trying to do how the OpenROV software works and have the BBB act as a sever and just push the data via the to the laptop on a webpage. we wouldn’t need to be independently wireless at that point. Brian got it to work and I’m just trying to figure out how to install it.

Maybe it will have implications for Trident down the road.


can use the GPS underwater?


No, a GPS antenna does not work well underwater and must stay on the surface even if the GPS electronics is underwater.