Skip to content

C++ example for parsing maps and planning paths based on given drone parameters

Notifications You must be signed in to change notification settings

bradleynull/drone-path-planning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

C++ example for parsing maps and planning paths based on given drone parameters

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published