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
- Host: GitHub
- URL: https://github.com/awebox/awebox
- Owner: awebox
- License: lgpl-3.0
- Created: 2019-04-26T09:12:42.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2025-12-13T22:19:40.000Z (about 1 month ago)
- Last Synced: 2026-01-11T02:16:05.942Z (4 days ago)
- Language: Python
- Homepage:
- Size: 19.2 MB
- Stars: 30
- Watchers: 5
- Forks: 21
- Open Issues: 20
- Releases: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: COPYING
README.md
AWEbox
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.
-
Get a local copy of the latest
aweboxrelease:git clone https://github.com/awebox/awebox.git -
Install using pip
pip3 install awebox/ -
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
- Name: awebox
- Login: awebox
- Email:
- Kind: organization
- Description:
- Website:
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/49553965?v=4
- Repositories: 1
- Last ynced at: 2023-03-02T19:50:32.121Z
- Profile URL: https://github.com/awebox
GitHub Events
Total
- Create event: 1
- Release event: 1
- Issues event: 2
- Watch event: 5
- Issue comment event: 11
- Push event: 16
- Pull request review comment event: 2
- Pull request review event: 5
- Pull request event: 21
- Fork event: 2
Last Year
- Create event: 1
- Release event: 1
- Issues event: 2
- Watch event: 4
- Issue comment event: 11
- Push event: 11
- Pull request review comment event: 2
- Pull request review event: 5
- Pull request event: 13
- Fork event: 1
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 | 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:
- imtek.uni-freiburg.de: 2
- dtu.dk: 1
- cfdclu15.ugent.be: 1
- cagir.com.tr: 1
- kiteswarms.com: 1
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
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
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 2
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
- 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
- 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
- actions/checkout v2 composite
- actions/setup-python v2 composite
Score: -Infinity