Skip to content

Repository files navigation

Auto ATC v1

Auto ATC v1 is a research prototype for running autonomous Air Traffic Control experiments on top of a modified copy of openScope v6.28.0. The repository combines:

  • Python training and inference code for trajectory/controller models.
  • A Selenium/websocket bridge that lets Python drive the openScope simulator.
  • OpenSky data download and preprocessing utilities.
  • Docker files for a reproducible GPU-enabled environment.

This is a legacy research repository. Some experiment analysis scripts and trained artifacts were intentionally removed or moved to other repositories before publication. The code here is most useful as a reference implementation and as a runnable base for reproducing the training, inference, and simulator-interaction workflows.

Repository Layout

Path Purpose
atc/src/ Core model, dataset, storage, training, inference, and simulator-interaction code.
websocket/ Flask-SocketIO bridge used by the openScope browser session.
opensky/ OpenSky/Trino download and preprocessing utilities.
openscope-6.28.0/ Vendored and modified openScope simulator source.
env/ Conda, pip, and webdriver environment files.
document/ Setup and operation notes.

Generated datasets, checkpoints, plots, and interaction outputs are not included.

Quick Start

1. Clone and prepare local config

git clone <repo-url>
cd Auto-ATC-v1
cp .env.dev.example .env.dev
cp .env.prod.example .env.prod

Edit .env.dev and .env.prod if you want different Docker image names or tags.

2. Build with Docker

Docker is the recommended path because the project depends on CUDA, Chrome, ChromeDriver, Python, and Node.

bash ./build.sh dev
bash ./build.sh prod

Then start an interactive container:

docker run -it --rm --shm-size 32G --gpus all \
  -v ./atc/save:/home/user/atc/save \
  -v ./atc/opensky_save:/home/user/atc/opensky_save \
  -v ./atc/extra_save:/home/user/atc/extra_save \
  atc-sim:latest

See Docker for more detail.

3. Run the main workflows

Training:

cd /home/user/atc
python3 ./src/train.py --training-config ./src/training_config.ini

Inference:

python3 ./src/inference.py \
  --save-folder ./save/example-inf \
  --ckpt-path ./save/example/ckpt/000010.pt \
  --device cuda:0 \
  --batch-size 1024

Simulator interaction:

python3 ./src/interaction.py \
  --num-proc 5 \
  --num-exp 2 \
  --save-folder ./save/example-int \
  --ckpt-folder ./save/example/ckpt \
  --ckpt-idx "0:10000:2500" \
  --num-timestamps 5000 \
  --nargs-try-ils 0 \
  --nargs-take-idx 6 8 10 12 \
  --device cuda:0 \
  --save-plot

The historical experiment notes are summarized in Run Log. The raw private run log was sanitized before publication because it contained local machine paths.

Documentation

  • Installation: host tools for Docker, Node, and Conda.
  • Docker: image build, runtime volumes, and display forwarding.
  • Websocket: Python websocket bridge setup and usage.
  • openScope: notes for the vendored simulator.
  • Run Log: sanitized examples based on historical experiment commands.
  • OpenSky: data download configuration.

Notes

  • The default airport in the included config is RJTT (Tokyo International Airport, Japan).
  • The sample training config uses placeholder paths under /path/to/Auto-ATC-v1/; update them before running.
  • openScope is vendored here because this project depends on local modifications to v6.28.0.

Disclaimer: This readme was AI-generated. (Created using Codex GPT-5.5 with medium reasoning.)

About

Official repo for "Auto-ATC: A Diffusion-Transformer-Based Automatic Air Traffic Control System"

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages