Skip to content

OPR-Project/OpenPlaceRecognition-ROS2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenPlaceRecognition-ROS2

The ROS2 wrapper is intended for:

  • 🔌 Easy integration of multimodal localization into robots and autonomous systems based on ROS2.
  • 🚘 Application in existing robotic platforms and autopilots running ROS2.
  • ⚙️ Rapid deployment of neural network-based global localization methods into real-world ROS2 projects.

Check out out OpenPlaceRecognition library. It is a library for place recognition and localization, which includes a collection of datasets, including ITLP-Campus. The library provides a unified API for loading datasets, training and evaluating models, and performing place recognition tasks. The library is designed to be easy to use and extensible, allowing researchers and developers to quickly experiment with different models and datasets.

Installation

Requirements

Hardware

  • CPU: 6 or more physical cores
  • RAM: at least 8 GB
  • GPU: NVIDIA RTX 2060 or higher (to ensure adequate performance)
  • Video memory: at least 4 GB
  • Storage: SSD recommended for faster loading of data and models

Software

  • Operating System:

    • Any OS with support for Docker and CUDA >= 11.1. Ubuntu 20.04 or later is recommended.
  • Dependencies (if not using Docker):

If you want to install all dependencies manually, please refer to the Advanced Installation section of the OpenPlaceRecognition documentation for detailed instructions.

The only additional dependency is ROS2. Please refer to the ROS2 Humble installation guide for instructions on how to install it.

Quick start

It is highly recommended to use the provided Dockerfile to build the environment. The scripts to build, run and enter the container are provided in the docker/ directory. You can use the following commands:

# 0. clone the repository and init submodules
git clone https://github.com/OPR-Project/OpenPlaceRecognition-ROS2.git
cd OpenPlaceRecognition-ROS2
git submodule update --init --recursive

# 1. build the image
bash docker/build.sh

# 2. start the container and mount the data directory
bash docker/start.sh [DATA_DIR]

# 3. enter the container
bash docker/into.sh

To use OpenPlaceRecognition library in the container, you need to install it first. Run the following command inside the container:

pip install -e ~/ros2_ws/dependencies/OpenPlaceRecognition

Running nodes

Build the workspace

Inside ros2_ws/ directory, run the following command:

colcon build --packages-select open_place_recognition opr_interfaces

Run the nodes

Open the new terminal and run:

source ros2_ws/install/setup.bash

Run the place recognition node using launch file:

ros2 launch open_place_recognition place_recognition_launch.py

Run the visualizer node using launch file:

ros2 launch open_place_recognition visualizer_launch.py

License

Apache 2.0 license

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •