Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
5f38f46
Add KPS5
ufechner7 Apr 11, 2025
d57eec9
Bugfixes
ufechner7 Apr 11, 2025
b2ff2c8
Add test_kps5.jl
ufechner7 Apr 11, 2025
b8e0625
Cleanup
FrisoBroekhuizen Apr 11, 2025
d6dbd01
Importing packages works
FrisoBroekhuizen Apr 14, 2025
7934a7c
Efforts in structuring code 14/04
FrisoBroekhuizen Apr 14, 2025
c08b813
Additional changes
FrisoBroekhuizen Apr 14, 2025
cc34be9
Cleaner debugging
FrisoBroekhuizen Apr 14, 2025
0b8c6ec
Works until integrator part
FrisoBroekhuizen Apr 15, 2025
6f68256
Video runs now
FrisoBroekhuizen Apr 16, 2025
678fde8
Side view and front view added as a boolean
FrisoBroekhuizen Apr 17, 2025
e7f224a
error resolved concerning rho of air instead of tether in aerodynamic…
FrisoBroekhuizen Apr 17, 2025
a577bab
Typo fixed bridle
FrisoBroekhuizen Apr 17, 2025
2884899
Relative compression stiffness added from settings, along with wind d…
FrisoBroekhuizen Apr 17, 2025
fec93c2
Atmospheric model added
FrisoBroekhuizen Apr 17, 2025
90e2770
Final code 17/04 not fully working yet
FrisoBroekhuizen Apr 17, 2025
543dd11
final commit 17/04
FrisoBroekhuizen Apr 17, 2025
0a4d73b
Exactly this code works in tethers.jl but not here
FrisoBroekhuizen Apr 18, 2025
d1b3c88
Add files to .gitignore
ufechner7 Apr 21, 2025
42b7e3b
Bugfix
ufechner7 Apr 21, 2025
f370d04
Add example_kps5.jl
ufechner7 Apr 21, 2025
39356d4
Remove two libraries from Project.toml
ufechner7 Apr 21, 2025
0ba3db8
Cleanup
ufechner7 Apr 21, 2025
d5cd1df
Small fix regarding the packages
ufechner7 Apr 21, 2025
8e4af33
Cleanup
ufechner7 Apr 21, 2025
b08cf39
Merge branch 'main' into kps5_uwe
ufechner7 Sep 18, 2025
be003b9
Merge branch 'main' into kps5_uwe
ufechner7 Oct 10, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 0 additions & 12 deletions data/settings.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -68,18 +68,6 @@ kps4:
smc: 0.0 # steering moment coefficient [-]
cmq: 0.0 # pitch rate dependant moment coefficient [-]
cord_length: 2.0 # average aerodynamic cord length of the kite [m]

kps4_3l:
radius: 2.0 # the radius of the circle shape on which the kite lines, viewed
# from the front [m]
bridle_center_distance: 4.0 # the distance from point the center bridle connection point of
# the middle line to the kite [m]
middle_length: 1.5 # the cord length of the kite in the middle [m]
tip_length: 0.62 # the cord length of the kite at the tips [m]
min_steering_line_distance: 1.0 # the distance between the left and right steering bridle [m]
# line connections on the kite that are closest to each other [m]
width_3l: 4.1 # width of the kite [m]
aero_surfaces: 3 # the number of aerodynamic surfaces to use per mass point [-]

bridle:
d_line: 2.5 # bridle line diameter [mm]
Expand Down
142 changes: 142 additions & 0 deletions data/settings_kps5.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
system:
log_file: "data/log_8700W_8ms" # filename without extension [replay only]
# use / as path delimiter, even on Windows
log_level: 2 # 0: no logging
time_lapse: 1.0 # relative replay speed
sim_time: 5 # simulation time [sim only]
segments: 6 # number of tether segments
sample_freq: 20 # sample frequency in Hz
zoom: 0.03 # zoom factor for the system view
kite_scale: 3.0 # relative zoom factor for the 4 point kite
fixed_font: "" # name or filepath+filename of alternative fixed pitch font, e.g. Liberation Mono

initial:
l_tether: 10 # initial tether length [m]
elevation: 45 # initial elevation angle [deg]
v_reel_out: 0.5 # initial reel out speed [m/s]
depower: 25.0 # initial depower settings [%]

solver:
abs_tol: 0.0006 # absolute tolerance of the DAE solver [m, m/s]
rel_tol: 0.001 # relative tolerance of the DAE solver [-]
solver: "DFBDF" # DAE solver, IDA or DFBDF or DImplicitEuler
linear_solver: "GMRES" # can be GMRES or LapackDense or Dense (only for IDA)
max_order: 4 # maximal order, usually between 3 and 5 (IDA and DFBDF)
max_iter: 200 # max number of iterations of the steady-state-solver

steering:
c0: 0.0 # steering offset -0.0032 [-]
c_s: 2.59 # steering coefficient one point model; 2.59 was 0.6; TODO: check if it must be divided by kite_area
c2_cor: 0.93 # correction factor one point model
k_ds: 1.5 # influence of the depower angle on the steering sensitivity
delta_st: 0.02 # steering increment (when pressing RIGHT)
max_steering: 16.834 # max. steering angle of the side planes for four point model [degrees]
cs_4p: 1.0 # correction factor for the steering coefficient of the four point model

depower:
alpha_d_max: 31.0 # max depower angle [deg]
depower_offset: 23.6 # at rel_depower=0.236 the kite is fully powered [%]

kite:
model: "data/kite.obj" # 3D model of the kite
physical_model: "KPS4" # name of the kite model to use (KPS3 or KPS4)
version: 1 # version of the model to use
mass: 6.2 # kite mass incl. sensor unit [kg]
area: 10.18 # projected kite area [m²]
rel_side_area: 30.6 # relative side area [%]
height_k: 2.23 # height of the kite [m]
alpha_cl: [-180.0, -160.0, -90.0, -20.0, -10.0, -5.0, 0.0, 20.0, 40.0, 90.0, 160.0, 180.0]
cl_list: [ 0.0, 0.5, 0.0, 0.08, 0.125, 0.15, 0.2, 1.0, 1.0, 0.0, -0.5, 0.0]
alpha_cd: [-180.0, -170.0, -140.0, -90.0, -20.0, 0.0, 20.0, 90.0, 140.0, 170.0, 180.0]
cd_list: [ 0.5, 0.5, 0.5, 1.0, 0.2, 0.1, 0.2, 1.0, 0.5, 0.5, 0.5]

kps4:
width: 5.77 # width of the kite [m]
alpha_zero: 4.0 # should be 4 .. 10 [degrees]
alpha_ztip: 10.0 # [degrees]
m_k: 0.2 # relative nose distance; increasing m_k increases C2 of the turn-rate law
rel_nose_mass: 0.47 # relative nose mass
rel_top_mass: 0.4 # mass of the top particle relative to the sum of top and side particles
smc: 0.0 # steering moment coefficient [-]
cmq: 0.0 # pitch rate dependant moment coefficient [-]
cord_length: 2.0 # average aerodynamic cord length of the kite [m]

kps5:
c_spring_kite: 614600.0 # unit spring constant coefficient of the kite springs [N]
damping_kite_springs: 473.0 # unit damping coefficient [Ns]
rel_mass_p2: 0.25 # rel mass of p2
rel_mass_p3: 0.25 # rel mass of p3
rel_mass_p4: 0.25 # rel mass of p4 and p5

bridle:
d_line: 2.5 # bridle line diameter [mm]
l_bridle: 33.4 # sum of the lengths of the bridle lines [m]
h_bridle: 4.9 # height of bridle [m]
rel_compr_stiffness: 0.25 # relative compression stiffness of the kite springs [-]
rel_damping: 6.0 # relative damping of the kite spring (relative to main tether) [-]

kcu:
kcu_model: "KCU1" # name of the kite control unit model, KCU1 or KCU2
kcu_mass: 8.4 # mass of the kite control unit [kg]
kcu_diameter: 0.4 # diameter of the KCU for drag calculation [m]
cd_kcu: 0.47 #nonzero, changed form 0.0 tp 0.47 # drag coefficient of the KCU [-]
power2steer_dist: 1.3 # [m]
depower_drum_diameter: 0.069 # [m]
tape_thickness: 0.0006 # [m]
v_depower: 0.075 # max velocity of depowering in units per second (full range: 1 unit)
v_steering: 0.2 # max velocity of steering in units per second (full range: 2 units)
depower_gain: 3.0 # 3.0 means: more than 33% error -> full speed
steering_gain: 3.0

tether:
d_tether: 4 # tether diameter [mm]
cd_tether: 0.958 # drag coefficient of the tether
damping: 473.0 # unit damping coefficient [Ns]
c_spring: 614600.0 # unit spring constant coefficient [N]
rho_tether: 724.0 # density of Dyneema [kg/m³]
e_tether: 55000000000.0 # axial tensile modulus of Dyneema (M.B. Ruppert) [Pa]
# SK75: 109 to 132 GPa according to datasheet

winch:
winch_model: "AsyncMachine" # or TorqueControlledMachine
max_force: 4000 # maximal (nominal) tether force; short overload allowed [N]
v_ro_max: 8.0 # maximal reel-out speed [m/s]
v_ro_min: -8.0 # minimal reel-out speed (=max reel-in speed) [m/s]
drum_radius: 0.1615 # radius of the drum [m]
max_acc: 4.0 # maximal acceleration of the winch [m/s²]
gear_ratio: 6.2 # gear ratio of the winch [-]
inertia_total: 0.204 # total inertia, as seen from the motor/generator [kgm²]
f_coulomb: 122.0 # coulomb friction [N]
c_vf: 30.6 # coefficient for the viscous friction [Ns/m]
p_speed: 10000.0 # proportional gain of the winch speed controller [-]
i_speed: 2500.0 # integral gain of the winch speed controller [-]

environment:
v_wind: 9.5 # wind speed at reference height [m/s]
upwind_dir: -180 # upwind direction (0 is form North, clockwise positive) [deg]
temp_ref: 15.0 # temperature at reference height [°C]
height_gnd: 0.0 # height of groundstation above see level [m]
h_ref: 6.0 # reference height for the wind speed [m]

rho_0: 1.225 # air density at zero height and 15 °C [kg/m³]
alpha: 0.08163 # exponent of the wind profile law
z0: 0.0002 # surface roughness [m]
profile_law: 3 # 1=EXP, 2=LOG, 3=EXPLOG, 4=FAST_EXP, 5=FAST_LOG, 6=FAST_EXPLOG
# the following parameters are for calculating the turbulent wind field using the Mann model
use_turbulence: 0.0 # turbulence intensity relative to Cabauw, NL
v_wind_gnds: [3.483, 5.324, 8.163] # wind speeds at ref height for calculating the turbulent wind field [m/s]
avg_height: 200.0 # average height during reel out [m]
rel_turbs: [0.342, 0.465, 0.583] # relative turbulence at the v_wind_gnds
i_ref: 0.14 # is the expected value of the turbulence intensity at 15 m/s.
v_ref: 42.9 # five times the average wind speed in m/s at hub height over the full year [m/s]
# Cabauw: 8.5863 m/s * 5.0 = 42.9 m/s
height_step: 2.0 # use a grid with 2m resolution in z direction [m]
grid_step: 2.0 # grid resolution in x and y direction [m]




# needed:
# springcomstamt_bridle
# springcomstamt_tether
# rel_damping_kite:
3 changes: 3 additions & 0 deletions data/system_kps5.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
system:
sim_settings: "settings_kps5.yaml" # simulator settings

Loading
Loading