thesis

Parametric Paraglider Modeling

https://github.com/pfheatwole/thesis

Science Score: 41.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.8%) to scientific vocabulary

Keywords

flight-dynamics flight-simulation paraglider
Last synced: 6 months ago · JSON representation ·

Repository

Parametric Paraglider Modeling

Basic Info
Statistics
  • Stars: 9
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
flight-dynamics flight-simulation paraglider
Created about 7 years ago · Last pushed almost 4 years ago
Metadata Files
Readme License Citation

README.rst

Parametric Paraglider Modeling
==============================

.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.6383051.svg
   :target: https://doi.org/10.5281/zenodo.6383051

This repository contains the source material for my Master's thesis:
`Parametric Paraglider Modeling `__

The project develops a parametric paraglider flight dynamics model suitable for
simulating flight trajectories under typical flight conditions. Its motivating
purpose is to approximate the flight dynamics of commercial paraglider wings
using only basic technical data.

To enable its use in common engineering applications (such as control modeling
and statistical filtering) the dynamics are encoded as differential equations
(``ẋ = f(x, u)``). An implementation of the dynamical system (including
a rudimentary flight simulator) is available as a Python library under
a permissive open source license: https://github.com/pfheatwole/glidersim/


Backstory
---------

The motivating goal was to learn wind patterns from sets of recorded paraglider
flights. The primary difficulty is that flight records are position-only time
series data, so extracting wind information requires a causal relationship
between paraglider motion and the underlying wind field. That causal link is
provided by the paraglider dynamics. If the dynamics of the paraglider that
created a flight are known, it may be possible to use statistical filtering to
perform probabilistic flight reconstruction; specifically, the problem requires
generating probability distributions over the paraglider state, control inputs,
and wind vectors.

Unfortunately, flight records do not include a dynamics model of the glider
that generated the data (in fact, they frequently omit any description of the
glider at all), so the dynamics model itself is uncertain. Thus, performing
flight reconstruction over a large number of flight tracks requires more than
a single dynamics model: it needs an entire distribution of models. Developing
models is time consuming and requires extensive construction details that are
not readily available, so the new goal was to create a tool that can generate
paraglider models from publicly available information. Specifically, I wanted
a dynamics model that is parametrized by the most readily available wing data:
user manuals, pictures, and physical measurements. This paper develops such
a parametric model.


Building
--------

This document was produced using `Sphinx `__.

To rebuild the document from its source:

.. code-block:: bash

   $ git clone https://github.com/pfheatwole/thesis.git
   $ cd thesis
   $ python -m venv .venv
   $ source .venv/bin/activate
   $ pip install -r requirements/build.txt
   $ make html

Many of the figures were produced by scripts using the Python library. To run
any Python scripts that depend on `pfh.glidersim
`__ :

.. code-block:: bash

   $ git clone https://github.com/pfheatwole/thesis.git
   $ cd thesis
   $ python -m venv .venv
   $ source .venv/bin/activate
   $ pip install -r requirements/develop.txt
   $ python source/figures/paraglider/belloc/belloc.py  # for example

Citation (CITATION.bib)

@mastersthesis{heatwole2022ParametricParagliderModeling,
  title = {Parametric {{Paraglider Modeling}}},
  author = {Heatwole, Peter F.},
  year = {2022},
  month = mar,
  doi = {10.5281/zenodo.6383051},
  abstract = {Dynamic simulations are invaluable for studying system behavior, developing control models, and running statistical analyses. For example, paraglider flight simulations could be used to analyze how a wing behaves when it encounters wind shear, or to reconstruct the wind field that was present during a flight. Unfortunately, creating dynamics models for commercial paraglider wings is difficult: not only are detailed specifications unavailable, but even if they were, a detailed model would be laborious to create. To address that difficulty, this project develops a paraglider flight dynamics model that uses parametric components to model commercial paraglider wings given only limited technical specifications and knowledge of typical wing design. To validate the model design and implementation, an aerodynamic simulation of a reference paraglider canopy is compared to wind tunnel measurements, and a dynamic simulation of a commercial paraglider system is compared to basic flight test data. The entirety of the models and example wings are available as an open source library built on the Python scientific computing stack},
  school = {California Polytechnic State University, San Luis Obispo}
}

GitHub Events

Total
  • Watch event: 1
Last Year
  • Watch event: 1

Dependencies

requirements/build.in pypi
  • Sphinx >=4.4.0
  • furo >=2022.2.23
  • sphinxcontrib-bibtex *
  • sphinxcontrib-svg2pdfconverter *
requirements/build.txt pypi
  • alabaster ==0.7.12
  • babel ==2.9.1
  • beautifulsoup4 ==4.10.0
  • certifi ==2021.10.8
  • charset-normalizer ==2.0.10
  • docutils ==0.17.1
  • furo ==2022.2.23
  • idna ==3.3
  • imagesize ==1.3.0
  • jinja2 ==3.0.3
  • latexcodec ==2.0.1
  • markupsafe ==2.0.1
  • packaging ==21.3
  • pybtex ==0.24.0
  • pybtex-docutils ==1.0.1
  • pygments ==2.11.2
  • pyparsing ==3.0.7
  • pytz ==2021.3
  • pyyaml ==6.0
  • requests ==2.27.1
  • six ==1.16.0
  • snowballstemmer ==2.2.0
  • soupsieve ==2.3.1
  • sphinx ==4.4.0
  • sphinxcontrib-applehelp ==1.0.2
  • sphinxcontrib-bibtex ==2.4.1
  • sphinxcontrib-devhelp ==1.0.2
  • sphinxcontrib-htmlhelp ==2.0.0
  • sphinxcontrib-jsmath ==1.0.1
  • sphinxcontrib-qthelp ==1.0.3
  • sphinxcontrib-serializinghtml ==1.1.5
  • sphinxcontrib-svg2pdfconverter ==1.2.0
  • urllib3 ==1.26.8
requirements/develop.in pypi
  • black * development
  • flake8 * development
  • flake8-black * development
  • flake8-bugbear * development
  • flake8-commas * development
  • flake8-comprehensions * development
  • flake8-docstrings * development
  • flake8-import-order * development
  • flake8-rst-docstrings * development
  • pfh.glidersim >=2022.03.0a development
  • sphinx-autobuild * development
requirements/develop.txt pypi
  • alabaster ==0.7.12 development
  • attrs ==21.4.0 development
  • babel ==2.9.1 development
  • black ==21.12b0 development
  • certifi ==2021.10.8 development
  • charset-normalizer ==2.0.10 development
  • click ==8.0.3 development
  • colorama ==0.4.4 development
  • cycler ==0.11.0 development
  • docutils ==0.17.1 development
  • flake8 ==4.0.1 development
  • flake8-black ==0.2.3 development
  • flake8-bugbear ==22.1.11 development
  • flake8-commas ==2.1.0 development
  • flake8-comprehensions ==3.8.0 development
  • flake8-docstrings ==1.6.0 development
  • flake8-import-order ==0.18.1 development
  • flake8-rst-docstrings ==0.2.5 development
  • fonttools ==4.29.0 development
  • idna ==3.3 development
  • imagesize ==1.3.0 development
  • jinja2 ==3.0.3 development
  • kiwisolver ==1.3.2 development
  • livereload ==2.6.3 development
  • llvmlite ==0.38.0 development
  • markupsafe ==2.0.1 development
  • matplotlib ==3.5.1 development
  • mccabe ==0.6.1 development
  • mypy-extensions ==0.4.3 development
  • numba ==0.55.0 development
  • numpy ==1.21.5 development
  • packaging ==21.3 development
  • pathspec ==0.9.0 development
  • pfh.glidersim ==2020.03.0a development
  • pillow ==9.0.1 development
  • platformdirs ==2.4.1 development
  • pycodestyle ==2.8.0 development
  • pydocstyle ==6.1.1 development
  • pyflakes ==2.4.0 development
  • pygments ==2.11.2 development
  • pyparsing ==3.0.7 development
  • python-dateutil ==2.8.2 development
  • pytz ==2021.3 development
  • requests ==2.27.1 development
  • restructuredtext-lint ==1.3.2 development
  • scipy ==1.7.3 development
  • six ==1.16.0 development
  • snowballstemmer ==2.2.0 development
  • sphinx ==4.4.0 development
  • sphinx-autobuild ==2021.3.14 development
  • sphinxcontrib-applehelp ==1.0.2 development
  • sphinxcontrib-devhelp ==1.0.2 development
  • sphinxcontrib-htmlhelp ==2.0.0 development
  • sphinxcontrib-jsmath ==1.0.1 development
  • sphinxcontrib-qthelp ==1.0.3 development
  • sphinxcontrib-serializinghtml ==1.1.5 development
  • toml ==0.10.2 development
  • tomli ==1.2.3 development
  • tornado ==6.1 development
  • typing-extensions ==4.0.1 development
  • urllib3 ==1.26.8 development