Ardusub 4.1.0 working with waterlinked uw gps?

Before trying update to 4.1.0 (with companion), is waterlinked uw gps integration supposed to work
with 4.1.0?

Hi @Boko,

Yes, it should work fine to use ArduSub 4.1 with the Water Linked UGPS, when using it with our Companion software :slight_smile:

There’s also now an extension available for it via the Extension Manager in the latest BlueOS beta image. We haven’t properly tested the extension yet though, so you’re welcome to try it out if you want to but we can’t yet guarantee it will work as expected (please let us know any issues if you do end up trying it!).

By the way, sorry for the delay on this - I asked about it at the time and then forgot to get back to you before I went away.

1 Like

Hi @EliotBR
I can confirm that Ardusub 4.1.0 integration works with Waterlinked, using Companion.
As before, no setup needed, Companion just starts sending depth and catching position.

I am going to set up a separate BlueOS system next year to be able to test there.
Checking to get a grip of what should be done.
From my point of view there are two things that must be done with BlueOS:

  1. Sending UWGPS position to sub for getting position in QGC etc.
    Is this still by sending NMEA GGA (via UDP) to ?
    Easy done with python on topside computer, using WL examples:
    GitHub - waterlinked/examples: Water Linked Underwater GPS API examples

  2. Depth of ROV must be sent to Waterlinked UW GPS
    There are examples on Waterlinkeds swagger site:
    Waterlinked API - Swagger UI
    (Or using Python examples linked above)
    I guess this should be written in Python, running on BlueOS? (or better topside?)
    How to get depth parameter from Pixhawk?
    Are there any info to start from, maybee in Companion code for WL?

Hi @Boko

The UGPS extension is almost done. It’s at the point where all it requires now is testing (and possibly debugging).

Get in touch when you setup the BlueOS system, and hopefully we have everything working by then.
If anyone wants to give it a try, the v1.0.1 UGPS should work (and testing is VERY welcome).

Good working, thanks!
I have a preliminary setup missing hardware.
Is there a way to simulate depth and temp without BAR30 connected to Pixhawk?
Manually trying to offset “ground press****” is not allowed from QGC.

Log from BlueOS extension now:

ensuring we get VFR_HUD at 5 Hz
getting http://host.docker.internal/mavlink2rest/mavlink/vehicles/1/components/1/messages/VFR_HUD/status/time/frequency
frequency for VFR_HUD is 2.4285714626312256
ensuring we get SCALED_PRESSURE2 at 1 Hz
getting http://host.docker.internal/mavlink2rest/mavlink/vehicles/1/components/1/messages/SCALED_PRESSURE2/status/time/frequency
frequency for SCALED_PRESSURE2 is 0
scanning for Water Linked underwater GPS...
getting http://host.docker.internal/mavlink2rest/mavlink/vehicles/1/components/1/messages/VFR_HUD/message/alt
getting http://host.docker.internal/mavlink2rest/mavlink/vehicles/1/components/1/messages/SCALED_PRESSURE2/message/temperature
Error:  could not convert string to float: b'None'

I don’t believe so, unless you simulate a Bar30 with a microcontroller or something that’s connected to the I2C port.

It may be possible to simulate depth by sending it via VISION_POSITION_ESTIMATE MAVLink messages or something, but that doesn’t help with how to provide the temperature which (as shown in your error message) the BlueOS UGPS extension currently tries to extract from the autopilot’s SCALED_PRESSURE2 output messages.

Now running a testsystem only for workshop tests of BlueOS.
As pressure/temperature sensor 2 I run a I2C BMP280
That might be the problem that is not easy solved?

No position in QGC from WL system
WL system get temp and depth from BlueOS
BlueOS waterlinked extension works, log is OK

I get temperature and depth in QGC, but I can not calibrate pressure in QGC “Sensor not connected”
Offseting pressure (depth) in QGC is possible, but do not show on display or to WL

Blue OS 1.1.0 -Beta 12
Ardusub 4.1.0
Pixhawk 1 mRo (2.4.6 bought from BlueRobotics 2017)
Raspberry 3B
I2C BMP280

ESC’s, servos etc as standard

BMP280 is not one of the registered water-type pressure sensors, so ArduSub won’t accept it as a valid source of depth.

Now got a little erratic BR BAR30 running.
Values is drifting, might be good for testing on land.
This is for testing only, so no hurry!
My purpose is to help testing BlueOS WL GPS Extension.

Blue OS 1.1.0 -Beta 13
Ardusub 4.1.0
Pixhawk 1 mRo (2.4.6 bought from BlueRobotics 2017)
Raspberry 3B

In QGC temperarature jumps between correct 22 deg C and minus ~100,
Correct temperature is always correct received in Waterlinked, not drifting.

Depth is drifting a bit from sensor, is offseted 100 meters in QGC (to always give positive depth),
In QGC showing from 30 to 150 meters,
In Waterlinked received depth is 0 meters.
Offseting depth (pressure sensor) in parameters effect QGC, but not depth in Waterlinked.
(Working with companion, offseting depth shows in Waterlinked.)

ROV heading correct received in Waterlinked

Done a lot of restarts, deleted and added extension again, no difference

Extension log says running correct
Position of ROV correct in Waterlinked
No position showing up in QGC
(Lots of “EKF IMU1 forced reset” specially when offseting depth, if that is related)

On land Waterlinked always report locator position as “not valid”, but WL system show locator postion.
With Companion positioning works on land with status “not valid”

1 Like

Hi @williangalvani and @EliotBR ,

I want to integrate the UGPS with QGC. I am running BlueOS 1.1.0 and Ardusub 4.1.

I have installed the extension:

But its not showing on the side bar:

Is there any documentation I can read or procedure I can follow?

The UGPS is setup with A1 locator and G2 antenna with external GPS are working:

Which message in Mavlink JSON can I check to see if its already there?

The current version of the UGPS extension does not have its own UI page, so does not create a listing in the sidebar.

We’ve updated the readme with some usage instructions:

Assuming the UGPS is detected and working (which should be visible in the extension logs), the extension sends GPS_INPUT MAVLink messages to the autopilot, and I believe the autopilot will likely send corresponding GPS_RAW_INT messages to the topside, as well as regular GLOBAL_POSITION_INT messages with its filtered position estimates.