Position hold. Waterlinked

We have been testing the Waterlinked kit with our Bluerov2 and it actually works great for positioning. However we could not manage to make the position hold flight mode work. When the mode is activated the rov starts moving full power in a (what seems) random direction.
I know this modes are still in development but in demos found on youtube posted a few years ago it seemed to work. Any ideas on where should I start to find the problem? Should I install the unstable but more developed version? I am currently running ardusub 3.5.3.


The position controller needs to be tuned. The default gains are not appropriate for the ROV. You can see the tuning options in the Vehicle Setup page if you enable the advanced settings in the Application Settings page.

OK. Thanks. We are talking about POS_XY_P?
I will tune it next time we use the rov. Any default value you recommend with the classic vectored frame?

Should I have read this info somewhere? I would recommend to implement it in the doc.

I could not find the advanced settings in the application settings page. I am runnning on linux qgc v3.3.1 appimage. I found the parameter in the parameter list of the vehicle setup page.

There’s parameters for position, velocity and acceleration in the xy plane. POS_XY_P is one of them, yes.

We have not come up with good defaults yet.

We can make a set of proper defaults for the BlueROV2, this is the real solution. It is not in the doc because position hold, auto mode and guided are still in development anyway.

You should get QGC here if you are using ArduSub Releases · bluerobotics/qgroundcontrol · GitHub


Hello Jacob,
After going through some tests we got weird results.

We tried to tune them with the classic Ziegler-Nichols method.

The proportional gain (POS_XY_P) did not seem to have any effect. Even when we put a gain of 2000.

The derivative gain (VEL_XY_P) when little (~0.5-0.8) seemed to work pretty good to maintain position after pushes. Similar to the video uploaded: Water Linked Underwater GPS: Position Hold with BlueROV2 - YouTube
However when ouputs where given through the joystick to change the position of the rov, similar as we would do to the depth hold mode to give a new depth, the rov just started moving into a weird direction.

The integrator gains (VEL_XY_I and VEL_XY_IMAX) had to be set to 0 or the ROV also moved weirdly.

I know the position flight modes are still in development an maybe the PID is just not adapted to the ROV however I could not understand why setting the proportional gain to really high numbers did not make the ROV go crazy.
I noticed that the max value was 2.0 but you could force the saving. Maybe there is a security in the code to avoid setting too high numbers.

Maybe I did not take into account some parameters or I misunderstood those I used. If you have got any comments do not hesitate in responding :slight_smile:

Best regards,

Thanks for the observations @alexis. The issue is simply that the position hold is not yet stable, and we still need to determine the best set of gains for the ROV.

I looked around on the forum without finding the answer. How is station keeping engaged from the control? Is there a setup page for this. I use a different system than the Waterlinked - Blueprint subsea - But station keeping should work nevertheless?

Station keeping aka Position hold mode is not considered stable for general use.

…i think one of the problems in this system is that they dont take the layers of water(saltiness ,temperature,dept) into the measurement? result is that the acustic travel in different speed in diffrent layers…thats normal for Offshore eqi. then you calibrate the system by going down to the bottom first to measure…but at this price, i dont think we should compare to Kongsberg Transponders , or Any of theese systems :wink:

…to have a Station keep thats Working, you need a whole new setup, to a price we can dream of, this system dont measure waterlayers, so its what you pay, its what you get… Acustics will never be accurate as long as the system dont know the saltiness of the layers of water down…(and the ocean is bouldt in layers) and to have Station Keep you need an precise reading of position, Altimeter Also. Dept is Not enough. So i dont think we shuld hope for a Schilling HD the first year :wink:

Ok, let me rephrase it: Lets call it DP instead of station keeping. I am not after cm precision, I am more after the capability of the ROV to be able to stay positioned in an area even if there is some current, just so you can let go the stick without being swept to far away. The GO TO function should enable this ?

1 Like

…guess you would need a beacon(or 4?) on the seabed then?.. but i see your idea :wink: … following :wink:

Not on the seabed but on the ROV and on the mothervessel barge or whatever platform you are operating from.

…and when your boat is drifting then?..your position will drift!..you need a fixed point on seabed…after what i have experienced and learned ? Just like DP as you said ( when we get to a location, we put i beacon down and measure the waterlayers at the same time, and this is all for DP and transponder calibration) …guess they do it for a reason, but im NOT a survey guy so ;D

You dont have to install a DP beacon to be on DP. The vessel position is derived from the GPS. The signal tranfers to the trancducer which again communicate to the rov beacon. Vessel position i not relevant as all position is being relative position. As long as the GPS is giving the vessel position then the rov knows its RELATIVE position.
The DP beacon on the seabed Will help keep the vessel and rov in relative position If the GPS fails during operation. Velocety checks are important for optimal accuracy.
In fact, If you are operating with 2 rovs you can ‘park’ one at the seabed and use it as a DP becon.
So, as long as you know Your position in space, dosent matter where it is, then the rov knows its position in space as well.

1 Like