- This project solves a sub-problem related to another mission planning project for drones and UAVs. You can find another sub-problem of the mission planning project in this article.
- Note: Please refer to extract-article.pdf to learn more on the construction of the algorithm.
Install tkinter
sudo apt-get install python3-tk
- Clone the repo
git clone https://github.com/mdiamantino/cyclic-flight-plan-travelling-salesman-problem.git
- Enter the cloned directory and create a virtual environment
cd cyclic-flight-plan-travelling-salesman-problem/
python3 -m venv venv
- Activate the virtual environment
. venv/bin/activate
- Install requirements
pip3 install -r requirements.txt
-
Run demo.py to find the cyclic path of maximal coverage inside the polygon [(0, 0), (6, 10), (6, 20), (10, 10), (10, 20), (14, 10), (14, 20), (20, 10), (14, 0), (14, 6)]
python3 demo.py
-
Or, use your own polygon's coordinates and vision radius : a value representing the field of vision of the drone (refer to the brief article). This value should be a multiple of 0.5 AND where 0.5 is the minimum value):
python3 main.py
-
Or, use the project as module:
- (if you are using the command-line interface)
python3
>>> from flight_plan_generator import get_best_route
- get_best_route(YOUR COORDINATES HERE, YOUR vision_radious HERE, [debug=True|False]) Example:
>>> get_best_route([(5, 0), (2, 2), (0, 6), (6, 6), (6, 14), (12, 12), (16, 8), (20, 15), (20, 5), (16, 0)], 0.5, debug=True)
Mark Diamantino Caribé - Mark.Diamantinocaribe@student.kulevuen.be - LinkedIn
Project Link: https://github.com/mdiamantino/cyclic-flight-plan-travelling-salesman-problem