USBL as GPS input

Does anyone on this forum has experience with using USBL positioning for automatic positioning of the ROV?

We are planning to generate an output (GGA string) from our survey software (Qinsy) that the pixhawk can use for automatic station keeping. I can imagine that we need quite some smoothing as the USBL position will be quite noisy (+/- 1m) and the update rate quite low (1Hz) but it would be very interesting to see if it works. Hopefully we can do some testing in the next few weeks.

Hi Klaas,

I don’t know of anyone who has done this yet but there are a few people who are interested. I think it will work pretty well right off the bat. Most GPS units have larger than 1m circular error and also have fairly low update rates. That should be fine for the current position holding algorithms.


Hi Klaas,

Qinsy can do that for sure, you’ll need to define a Generic output in your Qinsy database. Then when online you can select which messages you want to send the ROV pixhawk and the node position you want to send.

Your ROV will need to be defined too in the qinsy db as well as your vessel where the usbl transducer is attached, with the correct usbl drivers. What USBL system are you planning to use?

USBL usually states an accuracy of 0.5& of the water depth, and as rusty says, your GPS will be about 1m accurate depending on the conditions and possible corrections you can get.

If you have any more questions, don’t hesitate, I do this on a daily basis, being a hydrographic surveyor.




1 Like

Hi Jim,

We are building the BlueROV with a few colleagues as sort of a hobby project in our company (all hydrographic surveyors)

We use ROV’s in projects but mainly “industry standard” units like SAAB seaeye falcon or similar. Our opinion is that this is all based on 90’s technology and it should be possible to get better results for far less money.

Our company owns various USBL systems (Sonardyne Scout, Nexus Easytrack and KB Hipap 351P)

I understand we can use the generic output, I just can’t seen to find any info on what sort of string the pixhawk expects. Is this just normal GGA string or does it need more info? The pixhawk manual isn’t very clear in this.

I hope that we have some time in the comming weeks to test it as I am very anxcious to see if we can get this working. Would be nice to see until what current speeds it’s possible to stay in position.

1 Like

ArduSub expects VTG, RMC, and GGA sentences.


edit: correct VGA to VTG


Hey Klaas,

I don’t know much about the pixhawk firmware, or the ardusub version. But you can for sure simulate a GPS string on the GPS input of the pixhawk.

On the ardusub version maybe Jacob can say on which interface you should send the GGA string.


Klaas, please get in touch with me. You can send me a message on youtube:


Hi Jacob,

Sorry for me not responding over the last few weeks but I have been a but busy.

I have checked your youtube uploads and it would be very interesting to test this with USBL position instead of GPS.

We are still working on our ROV (strugling with power supply trough tether) so we are not in the phase of testing this with USBL. I hope we will have some time in the comming weeks to do some work.