Hi all,
We are having an issue with our new Bluerov Heavy, it functioned fine when in the shop pool using the builders PC - but since connecting my own PC the unit will not hold pitch in depth hold mode.
Depth hold mode functions correctly when ROV is level.
When ROV is pitched (or rolled sideways) the depth hold stops functioning as needed. For example, if pitched at 30 degrees, and forward movement input is applied, ROV will drive downwards, reverse will drive the ROV upwards, both on the 30 degree pitch. If up thrust is applied, ROV drives up but on an angle at 90 degrees to its pitch. If ROV is rolled sideways, and lateral thrust is applied, same issue. All in depth hold mode.
We know the ROV is reading depth correctly as it displays correctly and holds depth when no thrust is applied, we know GYRO is functioning as we see input when manipulating by hand.
This behavior is by design. The joystick inputs are interpreted in vehicle frame. So, if you send a command to move forward but the front of the ROV is facing down, it will unlock depth and move down.
Can you tell us more of your use case? We could have a limit angle where the behavior changes, allow forcing depth hold regardless of pilot input, or even somehow interpret the joystick inputs in earth-frame.
I had understood that the vehicle should maintain its pitch and adjust its motor inputs to move forward in the water at the same depth - is this incorrect?
Our use will be for mapping sea floors, I had hoped to run the vehicle about a meter from the ground pitched at around 30-45 degrees and drive along like this. I would then have our full lighting pointing directly ahead of the ROVs actual angle, and have the ability to tilt camera up or down to achieve underneath and forward. I hope that makes sense.
Can you confirm if the ROV is supposed to be able to maintain a moving depth hold whilst pitched?
Yes, that is incorrect (at least for 4.0). The vehicle tries to hold depth, but the pilot is still in control, and any inputs not in the horizontal plane will make the depth change.
You could try Ardusub 3.5. It has its own drawbacks, though. The depth-hold in 3.5 only outputs to the vertical thrusters, with will likely cause a drift when pitched, there are also maximum lean angles for pitch and roll (as configurable parameters). But the depth lock will keep engaged until with touch the throttle stick.
I see 2 possible ways to get this working.
Ardusub 3.5 and its own drawbacks
Pitch all the way to 90 degrees, that way the throttle stick will move and the forward stick will control depth.
I believe this is a common enough use-case to justify the functionality. It will take some careful consideration, though. And I can’t give you any forecast of when this will get done.
My thoughts right now are:
Should this be done with the baro? a laser rangefinder/ping1d could work better.
How to toggle into this mode without confusing users
Yes, the dvl would work, but we would have to limit the pitch angle so the seabed is always in range. It could also be used pointing forward to actually lock to whatever is being looked at.
Hi William
I will mirror Etiennes statements - at the 1m from seabed our transects will be at, our rangefinder isn’t the most reliable. Perhaps having the option to toggle input for this alternate depth attitude hold mode would be useful.
As for how to enter this mode without confusing things - the term depth hold could be made more literal, it seems currently that the ROV enters a sort of stabilise mode when the aforementioned case is applied (whilst still calling itself depth hold)- depth hold could mean exactly that, control/attitude can be anything, but depth stays exactly the same except for when up/down input is received.