Usage

The core library is plain C++ and can be used in any C++ project with CMake support.

Moreover, we provide catkin and ament/colcon wrapper packages to conveniently use the library in ROS and ROS2 workspaces.

ROS1 Workspace

For using graph_msf in a ROS1 workspace, we provide a package called graph_msf_catkin. This package is exposing all graph_msf functionalities to the workspace, which can be used to compile the library with the catkin build system. To use graph_msf in a ROS1 workspace, you can directly include the graph_msf_catkin in you package.xml and CMakeLists.txt files as follows:

Package.xml:

<build_depend>graph_msf_catkin</build_depend>
<exec_depend>graph_msf_catkin</exec_depend>

CMakeLists.txt:

# Set the dependencies for your package
set(CATKIN_PACKAGE_DEPENDENCIES
        graph_msf_catkin
        # Add other dependencies here
)

# Find catkin and any catkin packages
find_package(catkin REQUIRED COMPONENTS
        ${CATKIN_PACKAGE_DEPENDENCIES}
        message_generation
)

# Catkin Package
catkin_package(
        CATKIN_DEPENDS ${CATKIN_PACKAGE_DEPENDENCIES}
        DEPENDS EIGEN3
        INCLUDE_DIRS include
        LIBRARIES ${PROJECT_NAME}
)

# Includes
include_directories(
        include
        ${catkin_INCLUDE_DIRS}
        # Add other include directories here
)

# Link against graph_msf and its dependencies
target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES})
add_dependencies(${PROJECT_NAME} ${catkin_EXPORTED_TARGETS})

ROS2 Workspace

Under construction.