Git Product home page Git Product logo

fire_extinguisher_bot_using_ros's Introduction

Fire_Extinguisher_Bot_Using_ROS

This repository consists of all the work done on the Aries project Fire Extinguisher Bot using ROS.

DESCRIPTION:

We have to create an autonomous fire extinguisher bot using Robot Operating System (ROS) and Gazebo software for simulation. We detect the fire using image-processing and detection using open-cv2. After detecting it our bot uses SLAM algorithm to reach the target area using g-mapping.

OUR ACCOMPLISHMENTS ->

  1. Firstly, we have made the detection of fire (or flame) using image_processing and fire detection techniques.
  2. We have also made the turtle bot to move automatically to desired location once the location is provided to the bot.

FILES -> This repository consists of the following files:

Turtlebot3_slam.zip ->

SLAM (simultaneous localization and mapping) is a method used for autonomous vehicles that lets you build a map and localize your vehicle in that map at the same time. SLAM algorithms allow the vehicle to map out unknown environments. The turtlebot3_slam package provides roslaunch scripts for starting the SLAM

Flame_Detection.py -

This file contains the information about the basic code for detection of flame (or fire)

Turtlebot3_navigation.zip -

Navigation is to move the robot from one location to the specified destination in a given environment. For this purpose, a map that contains geometry information of furniture, objects, and walls of the given environment is required. The Navigation enables a robot to move from the current pose to the designated goal pose on the map The turtlebot3_navigation provides roslaunch scripts for starting the navigation. turtlebot3_teleop.zip - Once SLAM node is successfully up and running, TurtleBot3 will be exploring an unknown area of the map using teleoperation. It contains scripts which provide teleoperation using the keyboard for TurtleBot3.

screen_capture_1 .webm -

This is a live demonstration of making a map for our turtlebot using SLAM and g_mapping.

Screen_capture_2.webm -

This is a live demonstration of navigation of our bot to a given location point.

Working photos.docx -

This word document consists of some of the live working pics of our project, for example making a map for our turtlebot and about the navigation of the bot to a desired location.

Procedure->

Install ROS on Remote PC

$ sudo apt update $ sudo apt upgrade $ wget https://raw.githubusercontent.com/ROBOTIS-GIT/robotis_tools/master/install_ros_melodic.sh $ chmod 755 ./install_ros_melodic.sh $ bash ./install_ros_melodic.sh

Install TurtleBot3 via Debian Packages.

$ sudo apt-get install ros-melodic-dynamixel-sdk $ sudo apt-get install ros-melodic-turtlebot3-msgs $ sudo apt-get install ros-melodic-turtlebot3

Part 1 Builiding the Map Run SLAM Node:

Run roscore from Remote PC-> $ roscore

Open a new terminal and launch turtle bot-> roslaunch turtlebot3_bringup turtlebot3_robot.launch

Open a new terminal to launch slam-> roslaunch turtlebot3_slam turtlebot3_slam.launch

Run Teleoperation Node:

Open a new terminal-> roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

Use following keys to navigate the map w/x : increase/decrease linear velocity a/d : increase/decrease angular velocity space key, s : force stop

Start exploring and drawing the map

Save Map:

Open a new terminal-> $ rosrun map_server map_saver -f ~/map

After Saving map, close all the nodes.

Part 2 Navigating In Map:

Run Roscore if Closed-> $ roscore

Launch the turtlebot again-> $ roslaunch turtlebot3_bringup turtlebot3_robot.launch

Launch the Navigation-> $ roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=$HOME/map.yaml

Estimate Initial Pose:

Click the 2D Pose Estimate button in the RViz menu.

  1. Click on the map where the actual robot is located and drag the large green arrow toward the direction where the robot is facing.
  2. Repeat step 1 until the LDS sensor data is overlaid on the saved map.

Set Navigation Goal:

  1. Click the 2D Nav Goal button in the RViz menu.

  2. Click on the map to set the destination of the robot and drag the green arrow toward the direction where the robot will be facing.

    OR

Open the New terminal and the node file to specify xy coordinate and yaw $ rosrun turtlebot3_slam navigate_goal.py

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.