ufechner7 / KiteModels.jl

Kite and tether models for the simulation of kite power systems
https://ufechner7.github.io/KiteModels.jl/
MIT License
11 stars 3 forks source link

Add abstract vehicle interface #56

Open ufechner7 opened 3 months ago

ufechner7 commented 3 months ago

Make it possible to mount the kite power system on a moving vehicle, e.g. for ship propulsion.

1-Bart-1 commented 3 months ago

Very interested in this one, thats what I am trying to achieve :)) If you give me some hints I can try to see if I can implement it on the 3 line model.

1-Bart-1 commented 3 months ago

I think it would be easier to change the global wind rather than to move the points? Apparent wind = global wind - kite speed. As long as the system is moving at constant speed this wouldn't have any effect on the physics. Also, the speed of the moving vehicle for ship propulsion could depend on the propulsion force of the kite.

ufechner7 commented 3 months ago

Well, if the kite pulls the ship comes a little bit out of the water. It should be possible to include this effect in the model. Then there is hydrodynamic damping. And finally waves will have an impact.

1-Bart-1 commented 3 months ago

What do you mean with hydrodynamic damping? The resistance of the water slowing the boat down? So the most difficult part of the problem would be modeling how a boat moves when it is connected to a kite.

1-Bart-1 commented 3 months ago
pos = SVector{div(T,6)+1}(if i==1 SVector(0.0,0,0) else SVector(pos1[:,i-1]) end for i in 1:div(T,6)+1)
vel = SVector{div(T,6)+1}(if i==1 SVector(0.0,0,0) else SVector(vel1[:,i-1]) end for i in 1:div(T,6)+1)

And then the stationary point has to be added to the state and derivative vectors, instead of being assumed zero?

ufechner7 commented 3 months ago

I discussed this topic with a colleague. We came to the conclusion that the ship model could be a function pos, vel = f(force) that relates the position and velocity of the ground station to the tether force vector at the ground. We could create a new package ShipModels.jl that provides this function. I could create a very simplistic version of it and leave it ship engineers to provide a more sophisticated implementation.