{"id":25578988,"url":"https://github.com/bradleynull/drone-path-planning","last_synced_at":"2026-05-04T14:42:29.050Z","repository":{"id":274340282,"uuid":"287376702","full_name":"bradleynull/drone-path-planning","owner":"bradleynull","description":"C++ example for parsing maps and planning paths based on given drone parameters","archived":false,"fork":false,"pushed_at":"2020-08-13T20:48:59.000Z","size":188,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-26T18:25:11.402Z","etag":null,"topics":["cpp","drone","pathplanning","robotics"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bradleynull.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-13T20:45:18.000Z","updated_at":"2023-09-08T15:55:41.000Z","dependencies_parsed_at":"2025-01-26T18:25:23.226Z","dependency_job_id":"af12f181-79cc-4794-ac49-ce0b8f356bff","html_url":"https://github.com/bradleynull/drone-path-planning","commit_stats":null,"previous_names":["bradleynull/drone-path-planning"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bradleynull%2Fdrone-path-planning","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bradleynull%2Fdrone-path-planning/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bradleynull%2Fdrone-path-planning/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bradleynull%2Fdrone-path-planning/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bradleynull","download_url":"https://codeload.github.com/bradleynull/drone-path-planning/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239952604,"owners_count":19723922,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","drone","pathplanning","robotics"],"created_at":"2025-02-21T03:45:16.572Z","updated_at":"2026-03-30T00:30:21.412Z","avatar_url":"https://github.com/bradleynull.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# drone-path-planning\n\nDrone path planning exercise for debugging drone algorithms.\n\n## Dependencies \n\nThis project uses standard C++ 14. To build you will need to install `cmake`:\n\n* [CMake](https://cmake.org/download/)\n\n## Build\n\n```bash\n$ cd ./drone-path-planning\n$ mkdir ./build\n$ cd ./build\n$ cmake ..\n```\n\n### Building and running on Windows\n\nThe CMake project will generate a solution file you can use to debug in Visual \nStudio or just open the folder with VS Code. To run tests:\n\n```bash\n$ ctest -C Debug \n```\n\n### Building and running on Linux\n\nFrom the `build` directory\n\n```bash\n$ make test\n```\n\n### Analyzing Data\n\nThere is a test in the `path_planner_test.cc` named `filter_larger_path()` that \nwill apply several filters to the elevation profile output by the path planner.\nThe output is `filter_large_path.json` in the form:\n\n```json\n[\n    {\n        \"name\": \u003cpath_name\u003e,\n        \"path\": [...]\n    },\n    ...\n]\n```\n\nThere is also a small python script that produces plots for each of the paths\nin file. The legend shows the `\"name\"` of each plot which consist of the \noriginal elevation along the path and the above-ground-level elevation. Each\nof the filter paths from the test are also shown:\n\n![Filtered Path Data](docs/media/filter_example.png)\n\nThere's an `environment.yml` file that can be used to install the dependencies\nnecessary for plotting the path. This can be installed using \n[Miniconda](https://docs.conda.io/en/latest/miniconda.html):\n\n```bash\n$ conda env create -f ./environment.yml\n```\n\nTo run the plotter from the root directory just:\n\n```bash\n$ python ./tests/plot_data.py --data ./filter_large_path.json\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbradleynull%2Fdrone-path-planning","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbradleynull%2Fdrone-path-planning","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbradleynull%2Fdrone-path-planning/lists"}