OpenMORE is a library that provides a framework for managing robot's trajectory execution with online path replanning. It also includes several state-of-the-art sampling-based path replanning algorithms.
The goal of OpenMORE is to provide an efficient and flexible tool that simplifies the use of existing path replanning algorithms while also enabling the development and testing of new ones.
Check this paper for more information.
OpenMORE is based on ROS and MoveIt to get information about the environment and collision checking. Currently, it supports Ubuntu 20.04 with ROS Noetic. We are actively working on extending compatibility to ROS 2 Humble.
At its core, OpenMORE is organized into three key packages:
replanners_lib: A library implementing state-of-the-art sampling-based path replanning algorithms.replanners_managers_lib: Provides the framework for executing robot trajectories with real-time path replanning.trajectories_processors_lib: Provides and interface to convert paths into trajectories and for trajectory interpolation.
For detailed information on each package, refer to the official documentation.
While some OpenMORE's packages are ROS-independent, others require compilation within a ROS workspace (e.g.,replanners_managers_lib). This tutorial assumes that OpenMORE and all its dependencies are installed within the same workspace.
Before proceeding, ensure you have the necessary dependencies installed. You can use the provided deps.repos file and vcstool. Follow these instructions:
- Install vcstool:
sudo apt install python3-vcstool- Set up a catkin workspace:
mkdir -p ~/openmore_ws/src
cd ~/openmore_ws
catkin init
catkin config --extend /opt/ros/$ROS_DISTRO- Clone
OpenMOREand its dependencies:
cd ~/openmore_ws/src
git clone --recurse-submodules https://github.com/JRL-CARI-CNR-UNIBS/OpenMORE.git
vcs import < OpenMORE/deps.repos
rosdep install --from-paths . --ignore-src -r -y- Finally, build the workspace:
cd ~/openmore_ws
catkin build -cs
source devel/setup.bashNote that dependency cnr_param requires the environment variable CNR_PARAM_ROOT_DIRECTORY to be defined. For example, you can define it in the ~/.bashrc file as follows:
export CNR_PARAM_ROOT_DIRECTORY="/tmp/cnr_param"This is the folder used by cnr_param to save parameters. See the dedicated GitHub page for more information.
A docker file is also available. Open a terminal, move into the folder where you have saved the docker file and run the following command:
sudo docker build -f dockerfile_OpenMORE -t openmore .
Once completed, run the container:
xhost +
sudo docker run -it --net=host --gpus all \
--env="NVIDIA_DRIVER_CAPABILITIES=all" \
--env="DISPLAY" \
--env="QT_X11_NO_MITSHM=1" \
--volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \
openmore
Then, inside the container you can try the library.
To get started with OpenMORE, refer to the following resources:
- Replanners Tutorials: Learn how to use and implement new path replanners.
- Replanner Managers Tutorials: Explore how to create and manage replanner architectures.
Additionally, the openmore_ros_examples repository provides practical examples of using OpenMORE exploiting MoveIt for managing the planning scene.
This repository is a work in progress and is continuously evolving. As such, it is not free of bugs. Please be careful if you use it on real hardware and ensure all necessary safety measures are in place.
If you find errors or if you have some suggestions, please let us know.
We are actively seeking support for further development. If you're interested, please reach out via email at mailto::[email protected].
Future works:
- Compatibility with ROS2
Plain text:
C. Tonola, M. Beschi, M. Faroni and N. Pedrocchi, "OpenMORE: an open-source tool for sampling-based path replanning in ROS," 2023 IEEE 28th International Conference on Emerging Technologies and Factory Automation (ETFA), Sinaia, Romania, 2023, pp. 1-4, doi: 10.1109/ETFA54631.2023.10275365.
BibTex:
@INPROCEEDINGS{openmore,
author={Tonola, Cesare and Beschi, Manuel and Faroni, Marco and Pedrocchi, Nicola},
booktitle={2023 IEEE 28th International Conference on Emerging Technologies and Factory Automation (ETFA)},
title={{OpenMORE: an open-source tool for sampling-based path replanning in ROS}},
year={2023},
volume={},
number={},
pages={1-4},
doi={10.1109/ETFA54631.2023.10275365}}
- Cesare Tonola (mailto::[email protected])
- Manuel Beschi (mailto::[email protected])
OpenMORE is developed with CNR-STIIMA and University of Brescia.
This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No. 820807. This website reflects only the author’s view and the European Commission is not responsible for any use that may be made of the information it contains.


