This package provides:
- multirobot navigation system for Turtlebot3 robots in a topological environment
- planner that dispatches patrolling goals to all the robots
- patrolling strategy, being the minimization of the idleness of each point of interest defined in the topological map
- multirobot patrolling simulation, based on the above requirements
- analysis of the performance of the simulation, based on the trade-off between idleness and intra-robot interference
Most Python files are commented, so the purpose of the scripts (and thus the respecting nodes) won't be covered here unless strictly necessary.
-
ROS Melodic version
-
Gazebo as virtualizer, thus you'll need to have it installed. If you don't, refer to this ROS Wiki guide.
-
Turtlebot3 as virtual robot. As of version 1.0.0, no other robots are supported. Gladly accepting pull requests.
-
RViz as debugging and visualising tool. It should come with every ROS distro.
-
Python 2.7 and external modules such as:
- numpy
- matplotlib
- cv2
- webcolors
- networkx
- termcolor
they all can be installed using
pip
- Create a new environment for your simulations (or use one of the three that has been provided)
- Create a topological map for the environment
- Configure the simulation parameters to suit your needs.
- Run the simulation using one of the provided launch files. For example, using the
office
environment, executeroslaunch multirobot_interference start.launch environment:=office
- If you've chosen to save the simulation's performance data, run the analysis tool.