awebox

Modelling and optimal control of single- and multiple-kite systems for airborne wind energy.
https://github.com/awebox/awebox

Category: Renewable Energy
Sub Category: Wind Energy

Keywords from Contributors

optimize archiving measur transforms generic compose observation conversion projection animals

Last synced: about 16 hours ago
JSON representation

Repository metadata

Modelling and optimal control of single- and multiple-kite systems for airborne wind energy

README.md

AWEbox

build
License: LGPL v3

AWEbox is a Python toolbox for modelling and optimal control of multiple-kite systems for Airborne Wind Energy (AWE). It provides interfaces that aim to take away from the user the burden of

  • generating optimization-friendly high-fidelity system dynamics for different modeling options.
  • formulating and solving the trajectory optimization problem efficiently and reliably, also for long time horizons
  • postprocessing and visualizing the solution and performing quality checks
  • tracking MPC design and solver generation for closed-loop simulations

The main focus of the toolbox are rigid-wing, lift- and drag-mode multiple-kite systems.

Single-kite optimal trajectory Dual-kite optimal trajectory (reel-out)

Implemented aircraft models

  • Ampyx AP2 (6DOF)
  • MegAWES (6DOF)
  • point-mass model with lift and roll control (3DOF)

Installation

awebox runs on Python 3. It depends heavily on the modeling language CasADi, which is a symbolic framework for algorithmic differentiation. CasADi also provides the interface to the NLP solver IPOPT.
It is optional but highly recommended to use HSL linear solvers as a plugin with IPOPT.

  1. Get a local copy of the latest awebox release:

    git clone https://github.com/awebox/awebox.git
    
  2. Install using pip

    pip3 install awebox/
    
  3. In order to get the HSL solvers and render them visible to CasADi, follow these instructions. Additional installation instructions can be found here.

Getting started

To run one of the examples from the awebox root folder:

python3 examples/ampyx_ap2_trajectory.py

Acknowledgments

AWEbox has been developed under the supervision of Prof. Dr. Moritz Diehl (University of Freiburg, Germany) and has received financial support from the company Kiteswarms GmbH through an industrial research project as well as from the EU Horizon 2020 programme under the Marie Skłodowska-Curie grant agreement No 642682 (AWESCO) and from the German DFG via Grant No 525018088 (MAWERO).

Citing awebox

Please use the following citation:

De Schutter, J.; Leuthold, R.; Bronnenmeyer, T.; Malz, E.; Gros, S.; Diehl, M. AWEbox: An Optimal Control Framework for Single- and Multi-Aircraft Airborne Wind Energy Systems. Energies 2023, 16, 1900. https://doi.org/10.3390/en16041900

and see also:

Harzer, J,; De Schutter, J.; Diehl, M. Numerical Trajectory Optimization of Airborne Wind Energy Systems With Stroboscopic Averaging Methods, IEEE Control Systems Letters 2025 (9), pp. 703-708. https://doi.org/10.1109/LCSYS.2025.3577225


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 9 days ago

Total Commits: 1,365
Total Committers: 8
Avg Commits per committer: 170.625
Development Distribution Score (DDS): 0.423

Commits in past year: 89
Committers in past year: 3
Avg Commits per committer in past year: 29.667
Development Distribution Score (DDS) in past year: 0.607

Name Email Commits
Jochem De Schutter j****r@i****e 787
rcleuthold r****d@g****m 478
Jakob Harzer j****r@i****e 35
Thilo Bronnenmeyer t****o@k****m 26
Hasan Berkay Çağır b****y@c****r 24
Thomas Haas t****h@c****e 11
dependabot[bot] 4****] 3
Michael K. McWilliam m****c@d****k 1

Committer domains:


Issue and Pull Request metadata

Last synced: 28 days ago

Total issues: 31
Total pull requests: 163
Average time to close issues: about 2 months
Average time to close pull requests: about 2 months
Total issue authors: 6
Total pull request authors: 8
Average comments per issue: 1.13
Average comments per pull request: 0.99
Merged pull request: 128
Bot issues: 0
Bot pull requests: 9

Past year issues: 2
Past year pull requests: 21
Past year average time to close issues: N/A
Past year average time to close pull requests: 24 days
Past year issue authors: 2
Past year pull request authors: 4
Past year average comments per issue: 0.0
Past year average comments per pull request: 0.86
Past year merged pull request: 10
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/awebox/awebox

Top Issue Authors

  • jdeschut (19)
  • rcleuthold (6)
  • ufechner7 (2)
  • jcrismer (2)
  • thilobro (1)
  • Laxnring (1)

Top Pull Request Authors

  • jdeschut (112)
  • rcleuthold (17)
  • thilobro (9)
  • dependabot[bot] (9)
  • JakobHarz (7)
  • pilotmm (4)
  • thfhaas (4)
  • abavoil (1)

Top Issue Labels

  • bug (3)
  • enhancement (3)

Top Pull Request Labels

  • dependencies (9)

Package metadata

proxy.golang.org: github.com/awebox/awebox

  • Homepage:
  • Documentation: https://pkg.go.dev/github.com/awebox/awebox#section-documentation
  • Licenses: lgpl-3.0
  • Latest release: v1.0.1 (published 4 months ago)
  • Last Synced: 2026-01-11T21:29:11.001Z (3 days ago)
  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent packages count: 5.309%
    • Average: 5.488%
    • Dependent repos count: 5.666%

Dependencies

requirements.txt pypi
  • Pillow ==9.2.0
  • casadi ==3.5.5
  • cycler ==0.11.0
  • fonttools ==4.34.4
  • kiwisolver ==1.4.4
  • matplotlib ==3.5.2
  • numpy ==1.23.1
  • packaging ==21.3
  • pyparsing ==3.0.9
  • python-dateutil ==2.8.2
  • scipy ==1.9.0rc3
  • six ==1.16.0
  • tk ==0.1.0
setup.py pypi
  • Pillow ==9.2.0
  • casadi ==3.5.5
  • cycler ==0.11.0
  • fonttools ==4.34.4
  • kiwisolver ==1.4.4
  • matplotlib ==3.5.2
  • numpy ==1.23.1
  • packaging ==21.3
  • pyparsing ==3.0.9
  • python-dateutil ==2.8.2
  • scipy ==1.9.0rc3
  • six ==1.16.0
  • tk ==0.1.0
.github/workflows/python-app.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite

Score: -Infinity