The coordination_oru package provides an online coordination method for multiple robots.

The main features of the package are:

  • Goals can be posted and paths computed online
  • Precedences are inferred online, accounting for robot dynamics via provided dynamic models
  • Very few assumptions are made on robot controllers
  • The coordination method is not specific to a particular motion planning technique

The algorithm provided by this implementation is detailed in the following paper:

Federico Pecora, Henrik Andreasson, Masoumeh Mansouri, and Vilian Petkov. A loosely-coupled approach for multi-robot coordination, motion planning and control. In Proc. of the International Conference on Automated Planning and Scheduling (ICAPS), 2018.

The Java source code is provided under the GPL3 license. It uses the Meta-CSP Framework library for representing trajectory envelopes, and includes a basic 2D robot simulation and a simple built-in motion planner (which depends on the OMPL and MRPT libraries). The coordination package can also be used in conjunction with ROS and the navigation_oru stack to obtain a fully implemented stack for multi-robot coordination and motion planning.

The software is available on GitHub.