Hello again to the wonderful people who are helpful in forums,
I’m mostly looking for confirmation on how the water linked gps should work and be integrated with the ROV since I cannot currently test on mine. I should specify that we have the explorer’s kit with the U1 locator.
Once we get the water linked gps thing on the same network as our ROV, is getting the sub to use the location data from it as simple as setting the correct IP and port from the companion web interface?
I read the guide for setting it up; however, it jumps straight to the thing working seamlessly with QGC and the sub once the network stuff is done, so I wanted some clarification that this was all I had to do.
As far as software setup, you just need to set up the networking. Once, that is right, the companion software will automatically detect the waterlinked master on the network and start communicating with it, and your location should just pop up in qgc.
Additionally, I was wondering how this system handles disconnection from the locator. As in, how will the sub handle not being able to detect the U1 locator (out of range, dies, etc.)?
What I would like to do is make it so that if the WaterLinked GPS loses the locator, the sub will switch to start using nmea data passed to it over UDP port 27000.
My current understanding is that if it is passed in nmea data over UDP and the underwater gps system, it will attempt to use both and QGC would simply display whichever one was updated most recently.
As such, I’m thinking that I could have both positioning systems running (WaterLinked system and sending nmea through UDP), but modify underwater-gps.py such that it blocks the UDP port while it is receiving good data from the locator.
I would appreciate if someone could point out any errors or suggest any improvements in this plan
Is there any indication for when the ROV is using the location from the WaterLinked system?
I’m just looking for something I can use to discern if the ROV is trying to use the position from the WaterLinked system in the case that it cannot find the U1-Locator (and thus loses the GPS position of the ROV) so that I can switch to an alternate positioning system
Hmm, well I had meant to programatically detect if it was getting location from WaterLinked system.
Are there any parameters that would indicate this or mavlink messages that would be sent if the ROV suddenly stopped receiving inputs from the WaterLinked system?
As I think I stated in another post, the goal is to automatically switch to using an alternate system if the WaterLinked system fails
From the Underwater GPS side it is detected.
The connection with the Locator-U1 is monitored by the Underwater GPS and if it is lost (out of range, out of water) you will get a warning in the Underwater GPS GUI and no position. (Technically the position (/api/v1/position/global) will return a HTTP 500 error and a warning will be present in /api/v1/warnings/)
Looks to me like you will probably not get a position in QGC when the Locator is out of range (*). @jwalser Can probably clarify if there is a way to detect using mavlink.
It looks like our underwater-gps.py driver in companion does not handle the HTTP 500 error that @wlkh mentioned, and just assumes that the waterlinked position is always valid when the system is present. As a result, I think that you may not be able to detect this circumstance by mavlink, the position information may just remain the same.