This project demonstrates the Air-traffic-control Language Interface presented in the paper: Leveraging Large Language Models as an Interface to Conflict Resolution for Human-AI Alignment in Air Traffic Control.
The goal of this project is to experiment with LLM interface between Air Traffic Controllers and conflict resolution tools.
See the uv documentation.
On Linux/macOS run
curl -LsSf https://astral.sh/uv/install.sh | shand on Windows run
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"uv syncAstral's uv automatically installs ALI inside a virtual environment. Let's activate this environment:
- Linux/MacOS:
source .venv/bin/activate - Windows:
.venv\Scripts\activate
This project requires access to a running Ollama service.
To setup your own server (for up-to-date instructions, see the official documentation on Github or website):
-
Install ollama
curl -fsSL https://ollama.com/install.sh | sh -
Pull a model, here
llama3.1:8b:ollama pull llama3.1:8b
-
Start the server:
ollama serve
You should have now a running Ollama server on 127.0.0.1:11434, with llama3.1:8b available.
You can test your setup:
curl http://localhost:11434/api/chat -d '{
"model": "llama3.1:8b",
"messages": [
{ "role": "user", "content": "why is the sky blue?" }
]
}'Will return a long list of generated words.
For the list of available models: ollama/models
Enter the IP of your Ollama API in the config.ini.
Based on the setup example above, the config.ini must be:
[ollama]
ollama_ip = 127.0.0.1:11434
ollama_model = llama3.1:8bThis work was tested with llama3.1:8b, llama3.1:70b (quantization_level: Q4_K_M).
To test your installation:
pytestOnce your installation is complete, simply run the ali demo with:
aliThe demo will load the default scenario scenarios/01_minimal_ali_example which contains:
- a policy, the list of rules to follow.
- a bluesky scenario, generating two aircraft on a collision route.
The demo will start two windows:
- the bluesky radar screen, displaying aircraft.
- a web interface, displaying the different steps of the conflict resolution.
The demo follows the steps:
- conflict detected
- generating a list of possible solutions to resolve the conflict
- filtering the solutions according to the filtering rules
- sorting the solutions according to the sorting rules
- scheduling the commands from the best solution
This project requires bluesky ATC simulator package.
If the pip installation fails to install bluesky, it can be manually installed as follows:
# activate your virtual environment
git clone https://github.com/TUDelft-CNS-ATM/bluesky.git
cd bluesky
uv pip install -e .Depending on your Ollama setup, it is probable to fail the tests:
tests/test_0_ollama-api.py::test_chat_seedtests/test_0_ollama-api.py::test_chat_greedy
These test are only useful to pass if you want to execute reproducible results.
Failure does not impact the usage of this module.
This work was realized thanks to the contributions of:
-
DLR Institute of Aerospace Medicine
for the use case based on the LOKI project and workshops with ATCOs, and their expertise in Human Factors.
-
DLR Institute of Flight Guidance
for the concept of Single Controller Operation and their expertise in Air Traffic Control.
-
DLR Institute for AI Safety and Security
for developing the concept and algorithm for the ATC Language Interface, developing this prototype, and performing the experiments.
For accurate citation of this work, refer to the corresponding metadata in the CITATION.cff file associated with this work.
To cite our paper:
@INPROCEEDINGS{11257297,
author={Berro, Charles and Deligiannaki, Fotini and Stefani, Thomas and Christensen, Johann Maximilian and Gerdes, Ingrid and Köster, Frank and Hallerbach, Sven and Raulf, Arne},
booktitle={2025 AIAA DATC/IEEE 44th Digital Avionics Systems Conference (DASC)},
title={Leveraging Large Language Models as an Interface to Conflict Resolution for Human-AI Alignment in Air Traffic Control},
year={2025},
pages={1-10},
keywords={Large language models;Natural languages;Filtering algorithms;Safety;Air traffic control;Research and development;Optimization;Synthetic data;Strain;Sorting;Air Traffic Control;Single Controller Operation;Large Language Models},
doi={10.1109/DASC66011.2025.11257297}
}
