This project focuses on the development of a Java application to simulate a ́team of firefighting robots operating autonomously in a natural environment.
It has a 3d isometric graphical interface and complex strategies to calculate the shortest path while optimizing the coordination of the robots have been implemented.
For more details and visuals, see the report available in English and French.
-
assets: assets used for the project
-
cartes: some examples of data files
-
bin/gui.jar: Java archive containing the GUI classes.
-
doc: the documentation (API) of the classes. Entry point: index.html
To get a local copy up and running follow these simple example steps.
-
Clone the repo
git clone https://github.com/julienbrs/fire-extinguishing-simulation.git
-
make
builds the executables and libraries of the source files -
make clean
: suppression des fichiers .class dans bin
-
make exeCarte : run the test TestCarte
-
make exeRobots : run the test TestRobot
-
make exeDijkstra : run the test TestDijkstra
-
make exeSimulateurOK : run the test TestSimulateurOK
-
make exeChemin : run the test TestChemin
-
make exeSimulateur : run the testSimulation
-
make exeStrategie : run the testStrategie
-
make exeOptimisationB : run the optimisation test (b)
-
make exeSimulateurPropagation : run the optimisation test (c)
We have provided a shell script to run the simulation with or without fire propagation for any map.
The usage is ./testCarte.sh <n> <PATH_TO_MAP>
n is 1 to run the simulation with fire propagation, and 0 if we want a normal simulation.
There are 4 test files available.
It is possible to plot the performance graphs of the algorithms thanks to a result file, by calling the trace_graphe() function in the main.py program The file must have the format: time_divide, time_naive, nb_points
Bourseau Julien - Made in 2nd year at Ensimag - julien.bourseau@gmail.com
Project Link: https://github.com/julienbrs/fire-extinguishing-simulation