Drone path planning exercise for debugging drone algorithms.
This project uses standard C++ 14. To build you will need to install cmake:
$ cd ./drone-path-planning
$ mkdir ./build
$ cd ./build
$ cmake ..The CMake project will generate a solution file you can use to debug in Visual Studio or just open the folder with VS Code. To run tests:
$ ctest -C Debug From the build directory
$ make testThere is a test in the path_planner_test.cc named filter_larger_path() that
will apply several filters to the elevation profile output by the path planner.
The output is filter_large_path.json in the form:
[
{
"name": <path_name>,
"path": [...]
},
...
]There is also a small python script that produces plots for each of the paths
in file. The legend shows the "name" of each plot which consist of the
original elevation along the path and the above-ground-level elevation. Each
of the filter paths from the test are also shown:
There's an environment.yml file that can be used to install the dependencies
necessary for plotting the path. This can be installed using
Miniconda:
$ conda env create -f ./environment.ymlTo run the plotter from the root directory just:
$ python ./tests/plot_data.py --data ./filter_large_path.json