awebox
Modelling and optimal control of single- and multiple-kite systems for airborne wind energy
Science Score: 49.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 4 DOI reference(s) in README -
○Academic publication links
-
✓Committers with academic emails
4 of 10 committers (40.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (17.9%) to scientific vocabulary
Repository
Modelling and optimal control of single- and multiple-kite systems for airborne wind energy
Basic Info
Statistics
- Stars: 29
- Watchers: 5
- Forks: 21
- Open Issues: 20
- Releases: 1
Metadata Files
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.gitInstall 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
- Name: awebox
- Login: awebox
- Kind: organization
- Repositories: 1
- Profile: https://github.com/awebox
GitHub Events
Total
- Create event: 1
- Release event: 1
- Issues event: 2
- Watch event: 5
- Issue comment event: 10
- Push event: 15
- Pull request review comment event: 2
- Pull request review event: 5
- Pull request event: 20
- Fork event: 2
Last Year
- Create event: 1
- Release event: 1
- Issues event: 2
- Watch event: 5
- Issue comment event: 10
- Push event: 15
- Pull request review comment event: 2
- Pull request review event: 5
- Pull request event: 20
- Fork event: 2
Committers
Last synced: 6 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Jochem De Schutter | j****r@i****e | 761 |
| rcleuthold | r****d@g****m | 446 |
| Jakob Harzer | j****r@i****e | 35 |
| Thilo Bronnenmeyer | t****o@k****m | 26 |
| Hasan Berkay Çağır | b****y@c****r | 24 |
| Jochem De Schutter | J****r@i****e | 24 |
| Thomas Haas | t****h@c****e | 11 |
| dependabot[bot] | 4****]@u****m | 3 |
| Jochem De Schutter | j****r@h****m | 2 |
| Michael K. McWilliam | m****c@d****k | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 31
- Total pull requests: 141
- Average time to close issues: about 2 months
- Average time to close pull requests: about 1 month
- Total issue authors: 6
- Total pull request authors: 8
- Average comments per issue: 1.13
- Average comments per pull request: 1.03
- Merged pull requests: 118
- Bot issues: 0
- Bot pull requests: 6
Past Year
- Issues: 2
- Pull requests: 25
- Average time to close issues: N/A
- Average time to close pull requests: 16 days
- Issue authors: 2
- Pull request authors: 4
- Average comments per issue: 0.0
- Average comments per pull request: 0.32
- Merged pull requests: 14
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- jdeschut (19)
- rcleuthold (6)
- ufechner7 (2)
- jcrismer (2)
- thilobro (1)
- Laxnring (1)
Pull Request Authors
- jdeschut (111)
- rcleuthold (16)
- thilobro (9)
- dependabot[bot] (9)
- JakobHarz (5)
- pilotmm (4)
- thfhaas (4)
- abavoil (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 1
proxy.golang.org: github.com/awebox/awebox
- Documentation: https://pkg.go.dev/github.com/awebox/awebox#section-documentation
- License: lgpl-3.0
-
Latest release: v1.0.0
published 8 months ago
Rankings
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