I have prepared a simulator of the mentioned robot in MATLAB software, and during the simulation, I realized that if the mass of the robot is less than 16 kg, the robot becomes unstable.

The question is, is the mass of the robot really 11.5 kg, or is there a mistake in providing technical details?

Hi @9914574, welcome to the forum

Our standard BlueROV2 specifies a weight in air of 11-12 kg with default ballast and our battery. The BlueROV2 Heavy should be a little bit heavier than that, because it has some additional frame features, two extra thrusters, and some extra buoyancy foam, so I expect the 11.5 kg value is likely either incorrect, or is not including the battery weight. I’ve asked internally for confirmation.

That said, I wouldn’t expect the additions from the BlueROV2 Heavy upgrade kit to be more than 4 kg, so it’s likely still below your 16 kg threshold. Do you know in which way the robot is ‘unstable’ in your simulation? How detailed is the simulation? At a guess there are likely factors involved that you’ve left out, or there’s some kind of mistake in your motion update calculations.

thanks for your reply.

In the simulation, the mass of the robot is assumed to be 11.5 kg according to the technical information given on the site. I assumed the body device on the center of the robot’s buoyancy and the center of mass is 2 cm lower than the center of buoyancy.

I assumed the moments of inertia, added mass coefficients and drag coefficients according to the attached article.

What happens during the simulation is that after a short period of time, the values of the linear and angular velocities, along with the Euler angles, tend to infinity.

reference article:

That PhD thesis was written in 2018, since which the base BlueROV2 kit has undergone some changes (see the Revision History in the Technical Details), including adding two extra ballast weights as part of the kit, and changing the buoyancy foam from rectangular to machined blocks.

Assuming it’s up to date, the provided weight range in our technical details should be for the latest version of the vehicle, not for the version from 4 years ago. That said, both those changes would have *increased* the weight (in air), so if anything the weight corresponding to the coefficients in that thesis may have been slightly lower than our current number.

A numerically unstable physical simulation means somewhere the physical modelling is failing to observe conservation of energy. That could be

- in the vehicle characterisation factors
- e.g. negative mass, infinite thrust, etc
- at a guess this seems somewhat unlikely - even if they’re slightly wrong the simulation should still
*work*, it just may not be accurate - that said, there’s some possibility you’ve incorrectly copied something from the thesis, or that there’s a typo in the thesis that you’ve copied without realising it doesn’t make sense

- failing to observe model limitations
- e.g. the PhD assumes sufficiently low speeds that lift can be ignored
- this is occurring here, but is likely the result of an issue somewhere else, rather than the cause of the issue you’re having

- in the motion calculations / updates
- e.g. negative drag, incorrect gravity, incorrectly using the time-step in the update amounts, etc
- I expect this is the most likely cause - have you tried simulating a much simpler system and seeing if it also fails with seemingly reasonable factors?

I checked the suggested items and there was no problem.

Only one thing caught my attention. I set the added mass parameter for moving along the transverse axis equal to the added mass parameter along the longitudinal axis, the simulation is much better and more logical.

Is it possible that the values given in the thesis have errors?

Unfortunately no.

Because hydrodynamic coefficients were not available for a simpler submarine system. For this reason, I preferred to use the same system whose values of hydrodynamic coefficients are presented in the aforementioned thesis.

It’s always possible for things to have errors.

In the case of that thesis, I’ve come across it before but am not super familiar with it. I’m not aware of anyone who has validated the coefficients it provides, so it’s possible there were mistakes in determining them, or just that there were typographical mistakes when writing the thesis, or when you copied the values from the thesis.

It’s also of course possible that they’re correct, in which case there’s likely an error somewhere in your simulation (or just a different simulation approach that is using a coefficient in a different way to how the thesis author intended).

Did you find out what was causing the instability in your model? I have set up a Matlab/Simulink simulation using the model from the same thesis. When actuating only the horizontal thrusters to go forward in the x-direction and keeping all the vertical thrusters at zero input, ROV pitches a little bit which is expected since horizontal thrusters are below the CG. However, when I exceed control input beyond 30% for each horizontal thruster, ROV basically goes into a steep pitch up position. That does not seem to be the accurate. I am trying to figure out what may cause this behavior.

The reason for vertical movement is what you mentioned.

Because of body coordinate system is placed on center of buoyancy and center of mass is placed below it and also all functions are evaluated in body coordinate system, this movement is predictable and true.

In my thesis, I prepared 3D simulation cod to create desired maneuver.

according to observations from simulation some different total forces which is addind in right of functions is chosen.

when simulation finished, if the desigred maneuver is done, respect to equation 4.36

aforementioned thesis, thrust coefficient extracted and inputs calculate.