SkillAgentSearch skills...

Nanoplan

nanoplan is a header-only C++11 library for search-based robot planning.

Install / Use

/learn @jsford/Nanoplan
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<p align="center" width="100%"> <img width="100%" src="images/logo.svg"> </p> <p align="right"> <img src="https://github.com/jsford/nanoplan/workflows/Unit%20Tests/badge.svg"> </p>

nanoplan is a header-only C++11 library for search-based robot planning. The primary design goals are correctness, ease-of-use, and efficiency (in that order). nanoplan currently supports Dijkstra, A*, Lifelong Planning A*, and (Coming Soon!) D* Lite.

Demo

The demo included with nanoplan generates a 2d maze and searches for a path from the top-left to the bottom-right. New obstacles appear with each iteration. Depending on the search algorithm you select, replanning is much more efficient than planning from scratch.

<p align="center" width="100%"> <img width="60%" src="images/demo.gif"> </p>

Installation

git clone github.com/jsford/nanoplan/
cd nanoplan
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
sudo make install

Usage

CMake find_package

Use CMake and find_package to consume an installed version of nanoplan.

project("nanoplan-example")

find_package(nanoplan CONFIG REQUIRED)

add_executable(${PROJECT_NAME} src/main.cpp)
target_link_libraries(${PROJECT_NAME} nanoplan::nanoplan)

CMake add_subdirectory

Alternatively, you can use add_subdirectory to include nanoplan in your project without installing it to the system.

project("nanoplan-example")

add_subdirectory(nanoplan)

add_executable(${PROJECT_NAME} src/main.cpp)
target_link_libraries(${PROJECT_NAME} nanoplan::nanoplan)

Header-only

You can always grab the entire include/nanoplan/ directory and drop it into your project.

Acknowledgements

Thank you to Carnegie Mellon's Search Based Planning Lab and Professor Maxim Likhachev for inventing and publishing many of the algorithms implemented in nanoplan.

The nanoplan logo is based on "Robot thinker", original art licensed from studiostoks.

View on GitHub
GitHub Stars15
CategoryDevelopment
Updated2y ago
Forks3

Languages

C++

Security Score

80/100

Audited on Mar 26, 2024

No findings