Waterlinked GPS inside

Waterlinked GPS inside


Juanmi Taboada
Juanmi Taboada
Waterlinked GPS inside

During our operations, very often, we use a Waterlinked Underwater GPS. This helps us to keep track in 3D of our movements and link video recording’s timing and telemetry to specific places. These experiments were done together with Andalú Sea. Some examples of these 3D tracks are:

Waterlinked GPS – ROV Navigation inside the harbour
Waterlinked GPS – ROV Navigation Open Water

Thanks to this technology, we can position the ROV when it is under the water, but…

How does it work?

Using the Master Waterlinked GPS System (3), the boat knows the ROV’s position under the water thanks to some pulses that the ROV is sending using a Locator (1) installed. This Locator (1) sends pulses every n-seconds, and those pulses are listened to by the Antenna or Receivers (2), which transmits those pulses to the Master (3).

In general, the Master (3) can compute a lot of information about positioning:

  • Acoustic data (1+2) will be processed to triangulate the position of the ROV Under the water regarding the Antennas or Receivers (2) position.
  • Master (3) reads the Global position from a GPS Chip installed in Master (3). This way, Master (3) can find its position on the Earth.
  • Rov’s Global Position is inferred from Acoustic Position + Global Position.

How is the acoustic position accurately inferred?

To determine the relationship between Acoustic and Global positioning, the Waterlinked GPS requires pairing the Locator (1) with the Master (3) before getting to the water.

The Locator (1), which has a GPS Chip installed, can synchronize its timing with the available GPS satellites. Once the Locator (1) is synchronized, it sends pulses.

The Master (3) is also synchronized with the available GPS satellites and will start reading those pulses.

When Antenna (2) is set, the system can accurately find out the position of the ROV (distance from the antenna) using synchronized timing. The Master (3) knows when precisely the Locator is sending its pulses. Now it can infer the delay and the distance from each Receiver in the Antenna (2) to the Locator (1).

The rest is just maths.

How to set up a Waterlinked GPS?

Our Waterlinked GPS is set up with an Antenna (2).

The first thing to do is to attach it properly to the boat, so it will not move. Both the Antenna (2) and the Master (3) have a printed arrow on them, so it is mandatory to point both in the same direction when the Antenna (2) and the Master (3) is attached to the boat.

Close correctly the Locator (1), link it with Master (3), attach it to your ROV, and put it in the water (so it will start sending its position):

Start the pairing process as pointed by the instructions, and once ready, your ROV is prepared for duty.

You can get the full User Manual for Waterlinked GPS here.

How to read data with Python?

I did a few basic programs to read data from a Waterlinked GPS and save it in files. Then others can plot the information on your screen using Matplotlib or convert it to GPX or KML format used by Google Maps.

You can find those visiting Waterlinked GPS on GitHub.

Let’s get more technical

The system is composed by:

1.- Master (3), a connection box outside the water that will communicate with the computer using a wifi connection (the box works in AP mode with ESSID “UnderwaterGPS” and Password “waterlinked”, the connection box will not deliver a DHCP connection so you must set your own one using 192.168.7.x IP address):

40-pin Molex Interface

SignalPinPinSignalFunction
GPIO 2*12GPIO 3
D1 TX+34D1 TX-Locator-D1
D1 RX+56D1 RX-|
GND7812 VPower out
R1 TX+910R1 TX-Receiver-D1
R1 RX+1112R1 RX-|
GND131412 VPower out
R2 TX+1516R2 TX-Receiver-D1
R2 RX+1718R2 RX-|
GND192012 VPower out
R3 TX+2122R3 TX-Receiver-D1
R3 RX+2324R3 RX-|
GND252612 VPower out
R4 TX+2728R4 TX-Receiver-D1
R4 RX+2930R4 RX-|
ANT RX 1+3132ANT RX 1-Antenna
ANT RX 2+3334ANT RX 2-|
ANT RX 3+3536ANT RX 3-|
ANT RX 4+3738ANT RX 4-|
A1 TX+3940A1 TX-Locator-A1
Used to control relays for switching between Receivers and Antenna.
6-pin NMEA 0183 GPS + PPS (not currently implemented)
SignalPinPinSignal
GND1212 V
NMEA GPS TX34NMEA GPS RX
NMEA GPS PPS56GND
6-pin NMEA 0183 Compass (not currently implemented)
SignalPinPinSignal
GND1212 V
NMEAS COMPASS TX34NMEA COMPASS RX
NC56GND
6-pin NMEA 0183 Out (not currently implemented)
SignalPinPinSignal
GND1212 V
NMEA OUT34NC
NC56GND
16-pin TTL GPIO
SignalPinPinSignal
GND1212 V
DNC34DNC
DNC56DNC
DNC78DNC
GND910PPS OUT
GND1112PPS IN
GPIO 01314GPIO 1
GND15163.3 V
Note: TTL voltage 3.3 V (5.0 V tolerant)
2-pin MicroFit 3.0 Power
SignalPinPinSignal
GND12VIN*
10 – 30 VDC, 0.7 A (12 V nominal).

2.- Antenna (2), several sensors that will be held underwater near the water line:

3.- API Access:

4.- Locator (1): this is one of the most important parts, and we will describe it in detail.

Locator (1) in detail

The external USB-C connector and switch ON button will be pushed when the cap is attached and closed. There is also a potentiometer it may be used for channel configuration:

Switch ON/OFF button + USB C
Potentiometer

There is a serial number on the motherboard. I believe this is the serial number of the sensor itself when configured by the manufacturer:

Serial Number

The entire sensor is enclosed in a tube filled with epoxy glue. After removing the cover (tube), we can see the battery:

Full sensor uncovered

The model number and RoHS certification:

Model number Locator U1 41006-2
RoHS Certification

Mainboard:

Mainboard

Battery Fey PA-UL-LNB19-R001:

Fey PA-UL-LNB19-R001

Which can provide until 1.2A at 4.2V:

1.2A at 4.2V
QR Code

The main chip is a uBlox NEO M8T:

uBlox NEO M8T
uBlox NEO M8T
uBlox NEO M8T
uBlox NEO M8T

FPGA Altera 10M16SAU169C8G:

FPGA Altera 10M16SAU169C8G
FPGA Altera 10M16SAU169C8G

DAC conversor TxDAC AD9704BCP:

DAC conversor TxDAC AD9704BCP

Technical documentation

Show Comments (0)

Comments

Related Articles

Alioli ROV Submarine Drone Software Framework for Arduino
Arduino

Alioli ROV Submarine Drone Software Framework for Arduino

In this post, I describe how my own Arduino Framework for Alioli ROV Submarine Drone works. In my last post about Alioli ROV Submarine Drone, I wrote, “Learn how to Build an...

Posted on by Juanmi Taboada
Likinweather
Data Acquisition

Likinweather

Our new software to control weather stations in real-time is finished. Using the power of Likindoy and a mix of Google Maps and AJAX, we got Likinweather working. Likinweather has...

Posted on by Juanmi Taboada