This package shall implement different models of ground stations for airborne wind energy systems. A ground station has the following components:
- motor/generator
- brake (optional)
- gearbox (optional)
- drum
Currently implemented is a model of the 20kW ground station from Delft University of Technology. In addition, a generic, torque controlled winch without brake is implemented. The torque controlled winch can operate both with a set_torque or with a set_speed. If a set_speed is provided, then a PI controller for is used that compares the actual speed and the set speed and controls the torque. The async generator cannot be used with a set_torque, only with a set_speed which is equal to the synchronous speed of the motor/ generator.
First, install Julia 1.12 or 1.13. Then launch Julia and install this package using the package manager.
using Pkg
pkg"add WinchModels"AbstractWinchModel
AsyncMachine
TorqueControlledMachine
MatlabMachinecalc_acceleration(wm::AsyncMachine, speed, force; set_torque=nothing, set_speed=nothing, use_brake = false)
calc_acceleration(wm::TorqueControlledMachine, speed, force; set_torque=nothing, set_speed=nothing, use_brake = false)
calc_acceleration(wm::MatlabMachine, speed, force; set_torque=nothing, set_speed=nothing, use_brake = false)
calc_force(wm::AsyncMachine, set_speed, speed)
update_winch_state!(wm, set_speed; use_brake=false, speed=nothing, force=nothing)The MatlabMachine is the model of the AsyncMachine, implemented in Matlab by the function
async_machine_step.m, which must be on the Matlab path. It needs Matlab R2020b or newer and
using MATLAB (package extension WinchModelsMATLABExt). Matlab is called once per time step, in
update_winch_state!, which gets the reel-out speed and the tether force at the start of the step;
within the time step, calc_acceleration(...; update_state=false) uses the linearization around
that point. The Matlab function, examples and documentation are part of KiteControllers.jl, see
Winch Model in Matlab.
calc_reactance
calc_inductance
calc_resistance
calc_coulomb_friction
calc_viscous_friction
smooth_signusing WinchModels, BenchmarkTools, KiteUtils
set = se()
wm = AsyncMachine(set)
@benchmark calc_acceleration(wm, 7.9, 8.0, 100.0)On i7-7700K 17ns for Julia, 1050ns with Python.
This project is licensed under the MIT License. Please see the below WAIVER in association with the license.
Technische Universiteit Delft hereby disclaims all copyright interest in the package “KiteModels.jl” (models for airborne wind energy systems) written by the Author(s).
Prof.dr. H.G.C. (Henri) Werij, Dean of Aerospace Engineering
- Research Fechner for the scientific background of this code
- the package KiteUtils
- the packages KiteModels and KitePodModels and AtmosphericModels
- the package RobustKiteControllers which provides path following controllers, but no reel-in control yet.
- the packages WinchControllers, KiteControllers and KiteViewers
- the VortexStepMethod


