Home        Store        Docs        Blog

Position hold. Waterlinked

(Alexis Gaziello) #1

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.


(Jacob) #2

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.

(Alexis Gaziello) #3

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.

(Jacob) #4

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 https://github.com/bluerobotics/qgroundcontrol/releases

(Alexis Gaziello) #5

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: https://www.youtube.com/watch?v=doYs5kI83jc
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,