I’m working with the BlueROV2s for an undergrad senior design project. My team is attempting to build better feedback control into an existing software that uses mavros and openCV to send thruster commands (existing software based on the bluerov-ros-playground).
To do this, we’re looking for a way to convert the input PWM commands into something more tangible (velocity, position, etc). Does anyone have any data on the steady-state velocity of the vehicle at various PWM values? I found this page from 2020 that hooked a DVL up with the vehicle, it’s a while ago but is there any raw data from that experiment?
Sounds like an exciting project - no doubt we’ll be seeing more of you and your team members
There is no direct fully-predictive relationship between input commands to vehicle motion, because the motion depends on the properties and currents of the water it’s travelling in. In addition, there are a few (user-settable) mechanisms that can be used to alter the output PWM value ranges (which are sent to the ESCs) - there’s some discussion of those here.
The most accurate predictive motion estimates would likely stem from monitoring the output PWM values (either directly, as part of your control algorithm if you’re modifying ArduSub, or via the SERVO_OUTPUT_RAW MAVLink messages that are sent from the autopilot board to the ground station). From there you may be able to gain some useful insights from the performance charts/data in the T200 technical details, but the resulting vehicle motion would depend on thruster transients, as well as how water flows around the vehicle being used, which depends on the mass distribution and drag characteristics.
I’d recommend you start from this post, and the posts it links to. As you get more into the controls design I’d suggest searching the forum for key phrases like “control algorithm”, to get a sense of what others have worked on and achieved previously, which may help guide your work, or provide resources that can help you achieve what you want to