Skip to content

sastry-group/Mechanism-Design-for-AAM

Repository files navigation

Mechanism Design Algorithms for Vertiport Reservation and Airspace Allocation for AAM

This is a repository with the following mechanism design algorithms showcased with Advanced Air Mobility applications but can be used for other applications with :

  • Fisher Market with Linear Constraints
  • Ascending Auction

This repository is associated with the following papers:

Note: Make sure you have Python 3 and pip installed on your system before proceeding with the installation.

Installation

You need to get a Gurobi license, there is a free regular academic version. You can follow their steps to get their license installed in the system.

To install and run the BlueSky simulator, follow these steps:

  1. Clone the repo

    git clone https://github.com/sastry-group/Mechanism-Design-for-AAM.git
  2. We recommend creating a virtual environment using venv:

    cd Mechanism-Design-for-AAM
    python3 -m venv mechanism-design
  3. Activate the virtual environment:

    • For Windows:
      .\mechanism-design\Scripts\activate
    • For macOS/Linux:
      source mechanism-design/bin/activate

    (Use deactivate to exit the virtual environment when finished)

  4. Install the required dependencies using pip:

    pip3 install -r requirements.txt
  1. Running the IC-package:

    1. Create database in .test_cases
    2. cd ic/
    3. To create the scenario based on the case run python3 ic/case_random_generator.py
    4. python3 ic/main.py --file test_cases/case1.json --scn_folder /scenario/TEST_IC --method "vcg"
  2. To compare First-come, First-served to our approach, run

    python3 ic/plot_sw_and_congestion_vs_lambda_ff_and_vcg.py --file "test_cases/case2.json" --scn_folder "/scenario/TEST_IC" --method "ff"

    which will use stored data. To recreate the data, delete the file ic/results/sw_and_congestion_vs_lambda_ff_and_vcg.pkl and rerun. The output is shown below. First-come, first-served vs vcg (our) approach Figure 1. We compare our approach to a first-come, first-served approach across different values of lambda (trade-off between minimizing congestion costs and maximizing sum of valuations). Our approach creates a Pareto frontier of the trade-off, which the other approach is inside of. Congestion costs are the sum of C() for all vertiports and times, and the sum of valuations is the sum of the valuations of the allocated requests.

Below are Bluesky instructions.

For more detailed installation instructions and troubleshooting, please refer to the BlueSky Wiki.

10 years of BlueSky!

This year marks BlueSky's tenth anniversary, which we are celebrating with a two-day workshop on November 8-9. workshop programme

BlueSky - The Open Air Traffic Simulator

Open in Visual Studio Code GitHub release GitHub all releases

PyPI version shields.io PyPI - Downloads PyPI license PyPI pyversions

BlueSky is meant as a tool to perform research on Air Traffic Management and Air Traffic Flows, and is distributed under the GNU General Public License v3.

The goal of BlueSky is to provide everybody who wants to visualize, analyze or simulate air traffic with a tool to do so without any restrictions, licenses or limitations. It can be copied, modified, cited, etc. without any limitations.

Citation info: J. M. Hoekstra and J. Ellerbroek, "BlueSky ATC Simulator Project: an Open Data and Open Source Approach", Proceedings of the seventh International Conference for Research on Air Transport (ICRAT), 2016.

BlueSky Releases

BlueSky is also available as a pip package, for which periodically version releases are made. You can find the latest release here: https://github.com/TUDelft-CNS-ATM/bluesky/releases The BlueSky pip package is installed with the following command:

pip install bluesky-simulator[full]

Using ZSH? Add quotes around the package name: "bluesky-simulator[full]". For more installation instructions go to the Wiki.

BlueSky Wiki

Installation and user guides are accessible at: https://github.com/TUDelft-CNS-ATM/bluesky/wiki

Some features of BlueSky:

  • Written in the freely available, ultra-simple-hence-easy-to-learn, multi-platform language Python 3 (using numpy and either pygame or Qt+OpenGL for visualisation) with source
  • Extensible by means of self-contained plugins
  • Contains open source data on navaids, performance data of aircraft and geography
  • Global coverage navaid and airport data
  • Contains simulations of aircraft performance, flight management system (LNAV, VNAV under construction), autopilot, conflict detection and resolution and airborne separation assurance systems
  • Compatible with BADA 3.x data
  • Compatible wth NLR Traffic Manager TMX as used by NLR and NASA LaRC
  • Traffic is controlled via user inputs in a console window or by playing scenario files (.SCN) containing the same commands with a time stamp before the command ("HH:MM:SS.hh>")
  • Mouse clicks in traffic window are use in console for lat/lon/heading and position inputs

Contributions

BlueSky can be considered 'perpetual beta'. We would like to encourage anyone with a strong interest in ATM and/or Python to join us. Please feel free to comment, criticise, and contribute to this project. Please send suggestions, proposed changes or contributions through GitHub pull requests, preferably after debugging it and optimising it for run-time performance.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors