patrykcieslak / stonefish

Stonefish - an advanced C++ simulation library designed for (but not limited to) marine robotics.
https://stonefish.readthedocs.io/
GNU General Public License v3.0
126 stars 32 forks source link

Added simple quadratic rudder simulation with lift and drag #17

Closed nilsbore closed 3 years ago

nilsbore commented 3 years ago

Approximation from this thesis, which uuv_simulator also uses.

Tested with our version, which is quite similar, but we should check that this builds and runs before merging.

A companion PR for the ROS part will follow.

nilsbore commented 3 years ago

I added these actuators to our vehicle if you wanna try with that.

nilsbore commented 3 years ago

Do you want me to add anything else in this PR? If there is a better rudder model in the future, it could replace this one at that point.

patrykcieslak commented 3 years ago

I have one doubt about the operation of this actuator. When you have the velocity of water perpendicular to the rudder what happens? Because the model is saying that lift is proportional to angle which is not true. The lift is rising with angle until you reach the stall angle and then it is making the opposite effect. I know this is a very simplified model and I guess it can only approximate small angles but I am worried for the effects when you have a water current perpendicular to the vehicle....what will happen? It will not behave very strange? Maybe we can limit the lift force and make it disappear when the angle is too high. Can you test it please?

nilsbore commented 3 years ago

I will check, that gives me an excuse to play with the water currents in stonefish also!

nilsbore commented 3 years ago

Closing in favour of https://github.com/patrykcieslak/stonefish/pull/19