Official implementation of the UBMK 2024 paper.
Emirhan Balcı*, Mehmet Sarıgül, Barış Ata
https://github.com/user-attachments/assets/98fd3670-67ee-4d0e-8e2f-89cab301a495
Robots are becoming more prevalent and consequently utilized in numerous fields due to the latest advancements in artificial intelligence. Recent studies have shown promise in the human-robot interaction where non-experts are capable of handling the collaboration with robots. Whereas traditional interaction approaches are compact and rigid, natural language communication offers a coherent approach that allows interaction to be more versatile. The utilization of large language models (LLMs) makes it possible for non-expert users to take place in human-robot communications and manipulate robots to perform complex tasks such as aerial navigation, obstacle avoidance, and pathfinding. In this paper, we performed an experimental study to compare the performances of LLMs based on the generated source code from prompts to perform aerial navigation tasks in a simulated environment. The few-shot prompting technique is applied to LLMs such as ChatGPT, Gemini, Mistral, and Claude on Microsoft's AirSim drone simulation. We defined three test cases based on UAV-based aerial navigation, specified model prompts for each test, and extracted ground-truth trajectories for the test cases. Finally, we tested the models on the simulator with predefined prompts to compare the predicted trajectories with ground truth. Our findings indicate that no single model surpasses all test cases, using LLMs for aerial navigation remains a challenging task in robotic applications.
13/09/2024: The study is accepted by UBMK 2024! 🎉
10/08/2024: The paper with the code, dataset, and prompts is submitted to the conference.
[!IMPORTANT] The project was written/tested on Windows. Thus, it does not guarantee functionality on other operating systems, and it is recommended to run it on Windows.
conda env create -f environment.yml
conda activate llm-env
pip install airsim
git clone https://github.com/CheesyFrappe/Prompting-LLMs-for-Aerial-Navigation.git
API-KEY
field of the ./src/config.json
file.settings.json
to C:\Users\<username>\Documents\AirSim\
..\run.bat
from the simulation folder.python chatgpt_airsim.py --testname first_test --model gpt-3.5-turbo
C:\Users\<username>\Documents\AirSim\
.evaluation.py
to obtain the results and plot the trajectories.
python evaluation.py --reference_path ../dataset/first_test.txt --predicted_path <path-to-predicted-trajectory>