graph_core
is an open-source C++ library for sampling-based robot path planning. It provides essential tools for solving path planning problems, includes state-of-the-art algorithms, and streamlines the development of new algorithms.
🚧 Update in Progress! 🚧
We're currently working on documentation. Expect new changes in the next weeks. Stay tuned!
See this page for tutorials.
graph_core
depends on Eigen3, which can be installed with
sudo apt update
sudo apt -y install libeigen3-dev
Furthermore, it relies on the following packages:
- cnr_logger: Logging package.
- cnr_param: Package to read and set parameters. It depends on cnr_yaml.
- cnr_class_loader: Provides a way to load classes as plugins.
For detailed instructions on downloading and installing these dependencies, refer to the cnr_common page.
Follow these steps to compile and install graph_core
using CMake:
-
Set the workspace directory path:
export PATH_TO_WS=path_to_your_ws
-
Compile and install
graph_core
:cd $PATH_TO_WS mkdir -p build/graph_core cmake -S src/graph_core/graph_core -B build/graph_core -DCMAKE_INSTALL_PREFIX=$PATH_TO_WS/install make -C build/graph_core install
According to the cnr_common instructions, add the following lines to your ~.bashrc
file:
if [[ ":$PATH:" != *":path_to_your_ws/install/bin:"* ]]; then
export PATH="path_to_your_ws/install/bin:$PATH"
fi
if [[ ":$LD_LIBRARY_PATH:" != *":path_to_your_ws/install/lib:"* ]]; then
export LD_LIBRARY_PATH="path_to_your_ws/install/lib:$LD_LIBRARY_PATH"
fi
if [[ ":$CMAKE_PREFIX_PATH:" != *":path_to_your_ws/install:"* ]]; then
export CMAKE_PREFIX_PATH="path_to_your_ws/install:$CMAKE_PREFIX_PATH"
fi
Replace path_to_your_ws/install
with the actual path to your install folder. These settings are necessary to make the installed libraries visible. However, graph_core
can also be compiled in both ROS1 and ROS2 workspaces. For a ROS1 workspace, ensure you have set catkin config --install
. In this case, you do not need to export the paths as shown above.