Skip to content

Latest commit

 

History

History
72 lines (51 loc) · 1.61 KB

README.md

File metadata and controls

72 lines (51 loc) · 1.61 KB

drone-path-planning

Drone path planning exercise for debugging drone algorithms.

Dependencies

This project uses standard C++ 14. To build you will need to install cmake:

Build

$ cd ./drone-path-planning
$ mkdir ./build
$ cd ./build
$ cmake ..

Building and running on Windows

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 

Building and running on Linux

From the build directory

$ make test

Analyzing Data

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:

Filtered Path Data

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