This package provides:
- a path following figure of eight controller
Planned:
- a controller for flying circles
- a parking controller, that keeps the nose of the kite pointing into the wind and thus keeps it in a steady state airborne as long as their is sufficient wind
- the figure-of-eight path-following guidance: the types
FigureEightControllerandFigureEightSettingsand the functionsfigure_eight_path,calc_attractor,navigate_fig8,set_path_center!,path_tangent - the curvature feasibility check
check_pattern_feasible(withmin_turn_radius,path_min_radius,path_radius_profile) — a pattern tighter than the kite's minimum turn radius cannot be tracked at any PID tuning, so this is worth running before a simulation, not after turn_rate_coeffs, the identified turn-rate-law coefficientsc1,c2and steeringdelaythe feasibility check needs, interpolated in depower fromdata/turn_rate_coeffs.yamlfig8_metrics/print_fig8_metrics, headless quality metrics for a flown runFC_Settings, every tuning parameter of a figure-of-eight run, loaded fromdata/fc_settings.yaml- the types
ParkingControllerandParkingControllerSettingsand the functionslinearize,calc_steering,navigate— the NDI/turn-rate building blocks for the planned parking controller; unit-tested, but not yet driven end-to-end in an example (see TODO)
examples/simple_fig8.jl flies the figure-of-eight controller on the TU Delft V3 kite,
using V3Kite.jl as the plant.
For easy use of the examples and scripts it is suggested to install the package using git:
git clone https://github.com/OpenSourceAWE/SimpleKiteControllers.jl
cd SimpleKiteControllers.jl/bin
./install
./create_sys_image
cd ..
./bin/run_juliaThe step create_sys_image is not strictly needed and takes 15-60 min. Skip it if you are short of time.
Then, from a Julia REPL in this repository:
menu()This function will show the following menu:
Choose example to run or `q` to quit:
> select_project.jl - choose which system project (150m/200m/300m) to fly
select_sim_time.jl - choose the simulation time (default or a specific value)
select_plots.jl - choose which figures to show (pattern/time series/aerodynamics)
simple_fig8.jl - fly the figure-of-eight pattern (minutes!)
simple_fig8_plots.jl - plot the last logged run of active project
quit
The first three entries allow you to change the simulation settings. The script simple_fig8.jl runs the simulation and displays the results. The script simple_fig8_plots.jl allows you to analyse the results of simulations you run in the past.
- add examples for using the parking controller
- the figure-of-eight path follower (Fernandes_2022)
is implemented, but the entry state machine, the winch force mode and the heading PID
still live in
examples/simple_fig8.jlrather than in a controller type
A fully working set of flight path controllers and planners can be found here: KiteControllers.jl
