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 test
There 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.yml
To run the plotter from the root directory just:
$ python ./tests/plot_data.py --data ./filter_large_path.json