No description available
The project in this repository is a multi-robot coverage path planning (mCPP) module, utilizing STC and DARP. This work has been presented, evaluated and tested in the Autonomous Robots journal. The implemented algorithm is optimized in order to efficiently cope with real-life multi-UAV coverage missions, utilizing a novel optimization scheme based on simulated annealing algorithm. The overall methodology achieves state-of-the-art performance in mCPP problem (see comparison with simulated evaluation here).
An on-line instance of an end-to-end mission planner utilizing this mCPP module can be found here: https://choosepath.ddns.net/
In addition, a demonstrative video of the platform can be found here, including examples of missions' creation, management and execution, real-life operations, and indicative results that can be acquired.
The figure above, shows four examples of missions generated by this mCPP algorithm and visualized through the mission planning platform mentioned above.
The algorithm receives as input the following:
As an output, the algorithm provides set of waypoints (path), for each vehicle involved in the mission, in order to cooperatively completely cover the ROI.
In the src/main/resources folder is included a JSON file, containing input parameters for an example mission with 3 vehicles. The input variables are included in the JSON with the same order as described above.
In the out/artifacts/mCPP_optimized_DARP_jar you can find the project packed in a jar file. The jar expects as an input the path for a JSON file as the one included in the resources. To run the jar from its current location with the json in the resources folder run:
java -jar mCPP-optimized-DARP.jar "../../../src/main/resources/inputVariables.json"
The Main class of the project expects as argument the path for such a JSON file as well. You can find the JSON file needed to run the main in the resources folder, as shown below:
"src/main/resources/inputVariables.json"
In the src/test.java folder you can find the Poly2Waypoints class. In this class you can find the definition of some example input variables to run the project, with the same order as described above.
A simple map tool where you can create polygons over a map and copy the coordinates, and a simple matlab code to visualize the output of this project are also included in the "src/main/resources/" folder.
Platform's demonstrative video
Platform's on-line hosted instance
Article's page
arXiv page
Paper's results repo
DARP original Java implementation repo
DARP recent Python implementation repo
DARP paper
DARP Medium article
@article{Apostolidis_2022,
doi = {10.1007/s10514-021-10028-3},
url = {https://doi.org/10.1007%2Fs10514-021-10028-3},
year = 2022,
month = {jan},
publisher = {Springer Science and Business Media {LLC}},
author = {Savvas D. Apostolidis and Pavlos Ch. Kapoutsis and Athanasios Ch. Kapoutsis and Elias B. Kosmatopoulos},
title = {Cooperative multi-{UAV} coverage mission planning platform for remote sensing applications},
journal = {Autonomous Robots}
}
{ "mcpServers": { "mcpp-optimized-darp": { "command": "java", "args": [ "-jar", "mCPP-optimized-DARP.jar", "../../../src/main/resources/inputVariables.json" ] } } }
Related projects feature coming soon
Will recommend related projects based on sub-categories