Underwater GPS recv data

Hi Jacob, we are comparing the accelerometer (from the onboard imu) with the gps values (From the Waterlink underwater gps system).
To get the values we use
gps = autopilot.recv_match(type=‘LOCAL_POSITION_NED’,blocking=True)
imu = autopilot.recv_match(type=‘RAW_IMU’,blocking=True)
then I get imu.xacc and gps.x from the python robot.

while measuring I draw the ROV through the water (I have tried with motor input, with same result). When plotting the accelerometer data and gps values it is seen, that accelerometer responds before the gps.


Time is in seconds, Position is in meter.

Try plotting the GPS_RAW_INT position, the local_position_ned is fused position. There is a parameter for gps delay lag, though if it is more than a second or so, there is probably a larger issue somewhere else in the system that needs to be addressed.

Also, doesn’t it make sense for the position to lag the acceleration? You need to accelerate for some time to build up appreciable velocity and be displaced. Though again, maybe this is too much lag.

Hello Jacob,

We are using the Under Water GPS with and without the BlueROV2. With that we are looking for compilable position and time data. Does the GPS unit store data? Or do we need to write a script? Please in any case can you help?