Home

Awesome

3dpatrolling

Authors: Luigi Freda, Mario Gianni, Fiora Pirri, Abel Gawel, Renaud Dubé, Roland Siegwart and Cesar Cadena

Maintainer: Luigi Freda

This repository provides part of the C++ implementation behind our paper titled 3D Multi-Robot Patrolling with a Two-Level Coordination Strategy. The software allows testing the proposed multi-robot strategy within a V-REP simulation environment. The multi-robot laser SLAM implementation is available here.

NEW: Check out our new paper and the related project 3DMR: 3D Multi-Robot Exploration, Patrolling, and Navigation. 3DMR extends and improves 3dpatrolling. Here, you can find a list of new features we added.

Related publications

Please cite this work if you make use of our system in your projects:

3D Multi-Robot Patrolling with a Two-Level Coordination Strategy
L. Freda, M. Gianni, F. Pirri, A. Gawel, R. Dubé, R. Siegwart, C. Cadena
Autonomous Robots, Springer, 2018.

Project webpage

Videos and further information can be found on the project webpage.

<p align="center"> <img src="images/two-floor-ring.gif" alt="V-REP simulation 3dpatrolling" height="150" border="1" /> <img src="images/3d_patrolling_corridor.png" alt="V-REP simulation 3dpatrolling" height="150" border="1" /> <img src="images/3d_patrolling.png" alt="V-REP simulation 3dpatrolling" height="150" border="1" /> </p>

Prerequisites

3dpatrolling requires ROS. We designed and tested the framework under Ubuntu 14.04. We recently ported it on Ubuntu 16.04 and 18.04. It should be easy to compile the framework in other platforms. NEW: check out our new project 3DMR for Ubuntu 20.04 support.


How to install and compile 3dpatrolling

Here you can find a quick install procedure (tested under Ubuntu 16.04 and 18.04). Open a new terminal and get into the root folder of this repo. Run the following commands:

Now, you're ready to test the patrolling system or the path planner (see the next sections). If something goes wrong, please, sumbit an issue.

You can find some manual installation details in the file INSTALL.md.


Overview

3dpatrolling is a stack of ROS packages organized in two main workspace folders (with suffix _ws):

Main scripts

Open a new terminal and from the root folder of this repo you can:

Once you have sourced the workspaces, you're ready to test the patrolling system and the path planner (see the next sections).


Test the patrolling system

See this README.md file.

<p align="center"> <img src="images/animated.gif" alt="V-REP simulation 3dpatrolling" width="300" border="1" /> <img src="images/crossroad.gif" alt="V-REP simulation 3dpatrolling" width="300" border="1" /> </p>

Test the path planner

See this README.md file.

<center> <img src="images/navigation.png" alt="RVIZ and V-REP" width="800" border="1" /> </center>

3dpatrolling Qt GUI

You can launch the patrolling system or the path planner system by using the 3dpatrolling PyQt GUI. Open a new terminal, enter in the root folder of the repo 3dpatrolling and run:
$ ./main.py

<center> <img src="images/3dpatrolling-gui.png" alt="RVIZ and V-REP" width="250" border="1" /> </center>

Read the patrolling README.md and the path planner README.md for further details on the available options.


License

The 3dpatrolling stack contains different ROS packages. Each package comes with its own license. Where nothing is specified, a GPLv3 license applies to the software.


Contributing to 3dpatrolling

We would be very grateful if you would contribute to the code base by reporting bugs, leaving comments and proposing new features through issues and pull requests. Please feel free to get in touch at freda(at)diag(dot)uniroma1(dot)it. Thank you!

Note: the 3dpatrolling software was extracted from the private TRADR repository. In order to prepare and open source the patrolling system (reducing dependencies and make it a self-contained framework), a substantial amount of refactoring was carried out and some functionalities were rewritten. Although great care was taken during this process, it is possible we introduced performance regressions and these have not been discovered yet.


Credits