/ros-multirobot-search-rescue

MultiRobot Simulation using Python and Gazebo for Search and Rescue operations.

Primary LanguagePython

ros-multirobot-search-rescue

MultiRobot Simulation using Python and Gazebo for Search and Rescue operations.

Example 3D maps generated by a swarm of drones exploring: quadrotor_3d.png uav1_3d.png uav2_3d.png

Python only

See algorithms folder.

Gazebo

Dependencies

Clone my fork of hector-quadrotor-noetic into your catkin workspace, as instructed here: https://github.com/anaammostafiz/hector-quadrotor-noetic

Install the rtabmap_ros package.

sudo apt install ros-noetic-rtabmap-ros

Installation

Clone this repository into your catkin workspace.

git clone https://github.com/tellsiddh/ros-multirobot-search-rescue.git

Compile your catkin workspace.

catkin_make

How to Use

  1. Launch the Gazebo maze world or sphere world with three drones.
roslaunch rtab_package maze3drones.launch
roslaunch rtab_package sphere3drones.launch
  1. Launch the mapping nodes.
roslaunch rtab_package mapping3drones.launch
  1. Launch the frontier exploration. You can optionally launch the potential field spreader first, and then kill it when the drones reach equilibrium.
roslaunch move_package pot_spread3.launch
roslaunch move_package swarm_frontier.launch
  1. Visualize the 2D exploration in rviz. You may need to move the rviz view to find the drones.
roslaunch move_package swarm_rviz.launch

Post-processing

The .db files containing 2D, 3D, and image data are stored in your ~/.ros folder. To view, merge, and export the results, follow RTAB-Map tutorials.

Note: On consecutive mapping sessions, make sure to move or delete the old .db files.