Skip to content

ahzay/efficientparafoilgrid

Repository files navigation

Efficient Parafoil Grid

Overview

The Efficient Parafoil Grid generates efficient guidance strategies for parafoil systems. The project's primary focus is on guiding a parafoil system toward a circular target with fixed initial coordinates and deployment velocity while minimizing energy consumption.

Code Structure

The codebase consists of several key components:

  • attributes.cpp and attributes.h: Define the attributes of the parafoil system, including dynamics and control functions.
  • cmdlineoptions.cpp and cmdlineoptions.h: Handle command-line options for the program.
  • main.cpp and main.h: The main entry point of the program, responsible for initializing the system and starting the simulation.
  • parameters.cpp and parameters.h: Define the parameters of the parafoil system and the simulation.
  • state.cpp and state.h: Represent the state of the parafoil system, including position, velocity, and orientation.
  • visualizer.cpp and visualizer.h: Provide visualization tools for the simulation.

Command-Line Options

The efficientparafoilgrid executable requires the following command-line arguments:

  • The first argument is an integer representing the depth of the grid.
  • The second argument is a double representing the velocity V.
  • The third argument is a double representing the time step dt.
  • The fourth argument is a double representing the initial angle psi_init.
  • All subsequent arguments are doubles representing possible control inputs us.

Example usage:

./efficientparafoilgrid 10 5.0 0.1 0.5 1.2 1.4 1.6

In this example, the depth of the grid is 10, the velocity V is 5.0, the time step dt is 0.1, the initial angle psi_init is 0.5, and the control inputs us are 1.2, 1.4, and 1.6.

Dependencies

  • CMake (version 3.25 or higher)
  • C++ compiler supporting C++23 standard
  • ALGLIB library for mathematical calculations
  • OpenMP for parallel programming

Building and Running

To build the project, navigate to the project directory and use CMake:

mkdir build && cd build
cmake ..
make

To run the program, execute the binary from the build directory with desired options:

./efficientparafoilgrid --target 200 200 --radius 10 --velocity 2.5

Acknowledgments

This project is used for the article "A Hybrid Optimal Controller for Parafoil Systems" by Rémi Pédenon-Orlanducci, Ahmad Zaydan, Sofiane Achiche, and David Saussié.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published