This project aims to improve autonomous robotics for Urban Search and Rescue (US&R) scenarios. In US&R operations, robots are used to explore partially collapsed buildings and locate trapped victims. The robot generates a map of the building and marks the location of victims.
This project will use squared fiducial markers, called ArUco markers, to represent the victims. A turtlebot3, the explorer, will be used to locate the markers . A second turtlebot3, the follower, will then be deployed to retrieve the markers' indicated victims. A ROS package in C++ following OOP concepts has been developed for this project.
Summary of tasks achieved:
- Created and stored the map of the environment using
gmapping
package. - Navigated explorer through the map using
move_base
for different target locations accessed from parameter server (Detecting victims). - Broadcasted and created transforms between /marker_frame and /map frames for follower.
- Based on this, the follower visits the ArUco markers in fashion of increasing tag IDs (Rescuing victims)
16x_USR.1.mp4
The documentation for this project can be found at this link Documentation.
- The detailed problem statement and additional background information can be found here. Problem_Statement
- The main report which dicusses our approach in great detail can be found here. Report
These are the instructions to get started on the project. To get a local copy up and running follow these simple steps.
- ROS 1 with Turtlebot3 installed
- Catkin workspace
catkin_ws
- OS - Linux (tested)
Installing the dependencies and running the code.
- Clone the repo
git clone https://github.com/KACHAPPILLY2021/urban_search_and_rescue.git
- To install navigation and slam dependencies
cd ~/urban_search_and_rescue/script
sudo chmod a+rwx install.bash
./install.bash
- Copy the ROS package
final_project
and place it insidecatkin_ws/src
and buildcatkin build final_project
- Save this command in
bashrc
file for loading ArUco markers in gazeboexport GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:/home/<username>/catkin_ws/src/final_project/models
To run this project, only two commands are required.
- Source the workspace
- To start Gazebo and RViz, and for setting parameters on the Parameter Server and spawning robots:
roslaunch final_project multiple_robots.launch
- Open new terminal and run the node:
rosrun final_project final_project_node
Distributed under the MIT License. See MIT for more information.