replanners_lib
is a C++ library that offers a suite of sampling-based path replanning algorithms. These algorithms are designed to rapidly adjust or modify the robot's current path, responding to dynamic environmental changes within tens to few hundreds of milliseconds. Unlike traditional path planning algorithms that compute paths from scratch and require longer computation times, path replanning leverages prior search information to significantly accelerate the process of finding a new, valid path.
This library is part of the OpenMORE
project, which provides a comprehensive set of tools to develop and execute sampling-based path replanning algorithms during robot motion.
replanners_lib
relies on graph_core
for foundational classes essential to sampling-based path planning.
This is the list of the currently implemented replanners:
You can build with colcon
using colcon build
.
Alternatively, compile with CMake following these steps:
- Setup the environment and build
mkdir -p openmore_ws/build/replanners_lib && cd openmore_ws
cmake -S replanners_lib -B build/replanners_lib -DCMAKE_INSTALL_PREFIX=${HOME}/openmore_ws/install
make -C build/replanners_lib install
- Add the path to the install folder in the
.bashrc
file so that other packages will be able to find it:
if [[ ":$PATH:" != *":$HOME/openmore_ws/install/bin:"* ]]; then
export PATH="$HOME/openmore_ws/install/bin:$PATH"
fi
if [[ ":$LD_LIBRARY_PATH:" != *":$HOME/openmore_ws/install/lib:"* ]]; then
export LD_LIBRARY_PATH="$HOME/openmore_ws/install/lib:$LD_LIBRARY_PATH"
fi
if [[ ":$CMAKE_PREFIX_PATH:" != *":$HOME/openmore_ws/install:"* ]]; then
export CMAKE_PREFIX_PATH="$HOME/openmore_ws/install:$CMAKE_PREFIX_PATH"
fi
While replanners_lib
is ROS-free, it can utilize graph_display
for debugging if ROS is available. graph_display
provides functionalities to display paths, trees, etc., in Rviz and is integrated into some replanners for debugging purposes. If ROS and graph_display
are available and sourced this opion is ON by default, but you can disable it by setting -DUSE_GRAPH_DISPLAY=False
If you are using ROS 1 and want to include replanners_lib
into a ROS package, download it in a catkin workspace and set catkin config --install
to make other ROS packages able to find it.
Visit this page for tutorials on how you can use a replanner or implement a new algorithm using replanners_lib
.