gazebosim / gazebo-classic

Gazebo classic. For the latest version, see https://github.com/gazebosim/gz-sim
http://classic.gazebosim.org/
Other
1.17k stars 476 forks source link

Underwater - added mass #2066

Open osrf-migration opened 7 years ago

osrf-migration commented 7 years ago

Original report (archived issue) by João Britto (Bitbucket: Joao Britto).


Hi,

Is there an implementation of hydrodynamics effect for underwater vehicles? Particularly the added mass and the fluid inertial forces?

I'd like to consider an added mass on my vehicle like a 6x6 matrix, to be taken in account altogether with the vehicle inertial ([m*eye(3x3), zeros(3x3); zeros(3x3), I]).

osrf-migration commented 7 years ago

Original comment by Musa Morena Marcusso Manhães (Bitbucket: musamanhaes).


Hello Joao,

my group has been working on simulation of underwater vehicles in Gazebo and simulating the added-mass forces is not very straightforward. The simulation can become unstable if the coefficients of the added-mass matrix are larger than the vehicle's mass, among other issues. The package we developed is soon going to be available on GitHub and we have a work around that issue for now. You can see some preliminary results we recorded for the EU-project we are participating here https://www.youtube.com/watch?v=6V_TR9i0k1Q. As soon as it is online, I can provide you the link for it.

osrf-migration commented 7 years ago

Original comment by Musa Morena Marcusso Manhães (Bitbucket: musamanhaes).


Hi Joao, the uuv_simulator package is now available on GitHub (https://github.com/uuvsimulator/uuv_simulator).

osrf-migration commented 7 years ago

Original comment by João Britto (Bitbucket: Joao Britto).


Hi Musa,

Thanks for the reply. I've realized about the instability caused by added-mass with previous acceleration. I'll check how the work around is done. Is there a way to validate that it's done right? The dynamics is quite complicated to validate, especially with the coupling terms in several DoF movements.

osrf-migration commented 7 years ago

Original comment by Musa Morena Marcusso Manhães (Bitbucket: musamanhaes).


I've been trying to work on validation within the project we are, but it is indeed very difficult. The biggest issue is that to properly simulate the added-mass forces, the changes would have to be applied directly in the physics engine. It is still unclear if the effort would be worth the improvements on the simulation. Did you implement your own plugin to compute the hydrodynamic forces?

osrf-migration commented 7 years ago

Original comment by João Britto (Bitbucket: Joao Britto).


the changes would have to be applied directly in the physics engine

Agreed.

I've been trying to work on validation

I was planning to compare the output of gazebo with an underwater-model simulator, upon the same parameters and under the same control efforts.

Yeah, I've been trying to do it.

osrf-migration commented 6 years ago

Original comment by João Britto (Bitbucket: Joao Britto).


Hi,

After a while, I was able to include the added-mass effect in our simulation. A trick was used to make Gazebo computing the desired acceleration by applying a compensated effort. I found that this compensated effort needs to be proportional to the current effort applied in the vehicle (before physics update). Also, as Matrix6 is required, I used 4 Matrix3 to implement it. It would be nice to have Matrix6 in Ignition.

I think that using this method, and providing access to the forces to be manipulated before physics update, an underwater plugin can properly simulates the added mass effect. This method also doesn't require a custom physics engine for the underwater environment.

Here is the paper with more details.

Any question or feedback is welcome.