A multi-sensor based fire fighting robot with wireless control and visual system

Firefighting bot is a kind of robot by which we can detect the fire and extinguish it at the same time. In our project, we built a kind of robot that can automatically detect the location of the fire and can reach closer to the affected point and extinguish it as soon as possible. The extra advantage of our project is we built the robot both in autonomous and remote control mode. The remote control part is pretty much different from the other project because we used an android application to control the robot from the outside through the WIFI. The application is not directly connected with the robot. The robot and the application are both connected to the same server so that the application can give the command from anywhere from the word and the robot will get that command from the server through the WIFI system.


INTRODUCTION
In the history of the world, accidents from the fire are alarming and devastating. From the service, we ensure that damage to the fire accident we will find that it both cost life and wealth. So, to prevent this kind of accident or to save the lives, fire extinguisher robots will play a vital role. Another thing is that the rescuers of this accident have a great risk of their lives when they rescue the victims. The place of the fire accident is so much important because if the fire occurs in the place of chemical mills or garments or gas and petrol stations, it not only affects the particular area but also affects the area around. This type of accident also costs a huge life and a polluted environment. Fire accidents in garments area cost the most damage in present time.
So, at that time we should not rely on humans to save us from fire, that is the reason we built a robot that can sense the fire and extinguish it at the same time. Our project is not only sensing but also extinguish the fire at the same time. Basically, we made this robot in a sense of monitoring the whole area around it, and if fire occurred then it will reach that point by sense the fire and try to extinguish it. Another interesting part of this robot is that it will work both day and night mode. The remote control part will help us to find out the exact location of the fire. The interesting feature of this robot is it has a visual system by which we can visualize what is happening around the robot and what action we should provide to extinguish the fire.

Motivation
At present, the world is moving with the help of technology. The accidents are part of our life, we can't prevent it but with the help of technology er can we can reduce the damage. Now a day's fire accident is an alarming problem, in this type of situation we badly need a high technology-based robot which can perform in a deadly situation and save the life of the victims.
In many situations, the firefighting robot can save lives. The worker of the fire brigade worker also can help the victims. The firefighter people risk their lives. Sometimes the firefighting people also give up their lives to save the victims. So, it is high time to build a fire extinguisher to save the damage as soon as possible. The robot can reach a place that is impossible to reach for a firefighter worker. The robot can also monitor the building at the same time so that if a fire occurred the robot takes action as early as possible.

Project Details
There are two parts to this project: Autonomous part and the Remote control part. We used 4 Flame sensors. The Arduino mega gets the value from the sensors. The sensor can give both digital value and analog value at the same time. But for this project, we used digital vale. The digital values are 0 and 1. The flame sensor gives the digital value 1 if there is no flame detected. If the flame is detected the sensors will give the vale 0. We used the flame sensor on left, right, and middle position of the robot, so that if the fire occurred on any of this side it will go closer to the fire by moving left-right, and forward. The Arduino mega get the value and give the command to the motor driver, then the motor driver drive the wheel.
There are also 2 ultrasonic sensors, by using the sensors the robot detects the obstacle and move left or right and again try to get closer to the fire. If the middle and bottom flame sensor detects the fire at the same time then the robot will stop and start the water pump and extinguish the fire. The middle top flame also calculates the analog value so that it can go around 7 feet closer to the fire.
This part is based on -• NodeMCU • Motor and wheels • A remote-control application (Blynk) • IP camera.
The second part is NodeMCU controlled the wheels using the blink application. We used the Blynk application to control the robot. Actually, to make the remote we have to make an interface in the Blynk application. We burn the code to NodeMCU with the corresponding key provided by the Blynk server. If we command the application it will store the data to the server and the server sends the data to the NodeMCU. Then the NodeMCU commands the motor driver to move according to the given data. We can also control the autonomous mode by the Blynk application. If we turn on the switch of autonomous mode in that application the autonomous mode will turn on and work with the Arduino mega.
By using the application, we can control the robot anywhere from the world using the WIFI. We use the Blynk application. We also used a visualized system in our robot by using an IP camera. When there will be so much dense area around the robot we can visualize the environment around the robot using the Ip camera. If the area has so much smoke, we will turn the autonomous part by which the robot will automatically take his action according to the environment.

Multiple Sensors based Fire Extinguisher Robot based on DTMF
In this project, they are 3 types of sensors. The extinguisher can also perform with the DTMF and Bluetooth remote control module. It is also based on GPS and GSM technology. The three sensors are flame sensors, temperature sensors, and smoke sensors There are three types of modes the first modes. The first mode is to control the robot with the DTMF remote control, second mode is the robot can control by the Bluetooth remote and the last part is an autonomous part. In the autonomous part, the robot will take input from the sensors and move close to the fire to extinguish it [1].

Development and Implementation of Arduino Microcontroller-based Dual-mode Fire Extinguishing Robot
The paper includes two parts of fire extinguisher system. A two-mode firefighting robot that works in both manual and automated mode is presented in this paper. Arduino microcontroller is used as the head of processing and control unit of the robot it gives command to every other component of the robots and also takes inputs from various sensors or input medium or input components. When a fire is detected in the long-range flame sensor, here with range they mean the sensor that can detect up to 400mm. The long-range sensors were placed on either end of the robot, the robot will turn in the direction of the flame and moves forward until the value of short-range flame sensor, hereby short-range sensor means the sensor that can detect fire in the range of 200mm. It is installed or set up in the center. They took the lower threshold value. When the value of the center flame sensor is below defined threshold value, then the robot will stop and initiate the pumping mechanism. To operate the robot in manual mode, a Bluetooth module is used. The Bluetooth System is connected to smartphones by using a Bluetooth module. All the data can be transmitted through the Bluetooth module. The Bluetooth device can be configured to receive corresponding serial data for controlling the whole robot. The robot is controlled through an app using Bluetooth serial control. There is an override button that is used to switch from one mode to another. Any time the robot can be configured from manual to autonomous by the override button [2].

Automatic Fire Extinguisher Robot
In this paper, they have presented a multi sensor-based real-time monitoring system that is applicable to the fire-fighting or fire extinguishing robot. In the paper, they have presented multiple interfaces based on real-time monitoring systems that can also be applicable in home automation system. The security system of the home and building contains a fire fighting robot, security devices, supervise computers, remote supervise computer, GSM modem, wireless RF controller security module, and appliance control modular. The main controller of the fire-fighting robot is a microprocessor. The microprocessor is also supported by different voltage regulators crystal oscillators registers etc. For a better and quick response, they have programmed assembly language to control the mobile robot to acquire sensor data and programmed the supervised system and remote supervised system using Visual Basic to receive security information from wireless RS232 interface and design a general user interface on the supervised computer. They used an adaptive fusion method to detect the fire. Adaptive fusion technique is the technique that all the sensors data are fashioned in such a way that the robot can easily collide them and take the best solution. Radio control base station is used for the remote supervised system. The Radio control system usually works with six channels. Each channel can provide data communication with the base station simultaneously [3].

Develop a Multiple Interface Based Fire Fighting Robot
In this system, they built a robot that can detect the fire using the 2 flame sensors and move towards the fire. It also avoids the obstacle with the help of ultrasonic sensors and IR sensors. The firefighting robot is constructed using an aluminum frame. The contour of the robot is a cylinder. The diameter is 50 cm, and height is about 130 cm. It also has a remote control system which is based on GUI which is implemented on touch screen to display system status. If a fire occurred the robot go direction of the fire using the sensors and extinguish the fire [4].

TECHNICAL DESCRIPTION
The entire multi-level system consists of several components that support the project to be useful in all aspects. The components are described below for a better understanding of the project.
Flame sensor: Flame sensor is a type of sensor that can detect the flame from a certain distance. It mainly responds to the presents of a flame. The response depends on the installation. The flame sensors faster and accurate than the heat and smoke sensors because the mechanism is used to detect the flame. A flame sensor can give digital and analog output at the same time.
Flame sensors are used to detect the flame. Flame sensor module has photodiode to detect the light is actually ultraviolet ray and op-amp to adjust the sensitivity. It is used to detect fire and provide HIGH signal upon detection. In our robot, we used these sensors because it is specially made for this purpose to detect fire. It gives two types of values. It gives a digital output when it detects fire. It also gives an analog output by which we can measure how big or how much closer the fire is to the robot [5].
Ultrasonic sensor: An ultrasonic sensor is a type of sensor that measures the distance of an object in front of it by using the ultrasonic sound wave. Then it converts the electronic sound to an electrical signal. The sensor throws a sound wave in front of it and receives the wave reflected back from the object. This senor is more effective because the waves of the ultrasonic sensor can reflect off from a glass object or also from a liquid surface and catch the received wave [6].
BTS7960 43A motor driver: Then we used the BTS7960 Motor Driver which can take load up to 43A. We need the connection with the motor driver to drive the motors in different directions. This driver is a fully integrated high current and also half-bridge for motor driver applications. The driver's operating voltage is 24v maximum and continuous current is 43A maximum. It also did not overheat to drive the motors continuously.
The BTS7960 is a fully integrated high current half-bridge module. Which works for heavy load motors and also for heavy load motor applications. Interfacing the driver to a microcontroller has made it easy for the features like logic level inputs, diagnosis with current sense level, slower rate and adjust, dead time generation, and protection against over-temperature, over-voltage, under-voltage, over current and short circuit by the integration of driver IC. The BTS7960 provides a cost-optimized solution for the protection of high current PWM motors.it also drives with very low board space consumption.
We use these motor drivers because we have very powerful wiper motors to carry the high weight of the robot. The high amp motors need to regulate voltage and current and also give command simultaneously, because of this purpose we use BTS motor drivers.
Relay: Relay is basically a switch. We used relay because it will turn on from an input of Arduino and gives the other component its desire voltage to turn on. In our project, we used 2 channel relay.
IP camera: We have used an IP camera to visualize the environment in front of our car. IP camera means internet protocol camera. We connect the camera using the mobile application. We can control the camera at 360 degrees with the help of the application.
Windshield wipers: Windshield wipers are powered by a small electric motor, usually attached to the firewall or under the cowl (the area under the windshield's base). The motor activates a linkage that moves the wiper arms back to front. On the vehicles with a rear window wiper, a separate motor powers the one in the rear portion of the vehicle.
These motors can easily take up to 20kg of load. Our robot normally weighs 9kgs. The robots have to carry at least 20 kg of weight because we want to make it real life implementable. The most important part is these motors work well at 12 volts. So we did not need any extra power source for these motors.
Fire extinguisher: The extinguishing part is done by the Fire Stop spray. A fire extinguisher spray is an active fire protection spray mechanism used to extinguish or control small fires, often in emergency situations like in the building, house, car, kitchen, or hotels.
This product is portable, non -poison, and environment-friendly, isolation property. It is also not flammable, with no explosives.
Chemical: For extinguishing, we also used Potassium carbonate. We dissolved it into the water. We used it because it extinguishes the fire faster than the water.
Arduino Mega: The Arduino Mega is a microcontroller board based on the At Mega 2560. It consists of fifty-four (54) input Hasan and Bhuiyan or output pins that helped us to implement any kind of system smoothly according to the need of our project. We have used Arduino Mega to control the wheel through the motor driver. We also used the Arduino Mega to power up the other extinguisher [7]. ESP8266 (NodeMCU): For communication we used the ESP8266 (NodeMCU). It is another type of Arduino by which we can connect to the WIFI system. We used the ESP8266 to connect the robot to the WIFI system so that we can control the robot using our Android application.
We have used the Blynk application to control the robot through the Node MCU. NodeMCU is an open-source Lua based firmware. Which is used for the ESP8266 WIFI module. It uses an on-module flash-based SPIFFS file system. SPIFFS is a special file system that a file has to be inside a folder to run or to upload. NodeMCU is implemented in middle-level language C so that it is compatible with machine language and also natural language. It is layered on the Espressif NON-OS SDK. We use NodeMCU because it has a bigger range than other WIFI receiver modules. The signal transmission system is also better than the other WIFI compatible devices.
DC pump: We have used a dc 12 voltage dc pump to throw the water mixed with the Potassium carbonate. It is a powerful pump and it can throw water 2 meters long.

METHODOLOGY
We use flame sensors and ultrasonic sensors for the autonomous part. The robot is basically a sensor-based robot that works by the inputs and commands from the sensors. The sensors take inputs and give it to the Arduino board the Arduino then processes the inputs and give commands to the BTS motor drivers. Depending on different commands from the Arduino the robot moves forward, left, and right.
When the robot goes into autonomous mode it started searching for fire. The robot moves round in a circular way from right to left. This movement is the default movement for the autonomous part. There are 4 flame sensors. Flame sensors cover up to 0 to 60 degrees searching for the higher wavelength flame. We put 4 flame sensors in the front of our robot to cover up a significant amount of range to search fire. There are 3 flame sensors on the lower part of the body and 1 flame sensor is on the top part of the body. The 3 flame sensors on the lower part search for fire, if the left flame sensor sense fire then the robot moves left, if the right flame sensor sense fire then the robot moves right, and if the middle flame sensor sense fire then the robot goes forward. The robot moves forward in that direction only when middle sensor senses fire. When it moves forward it takes inputs from the 2 ultrasonic sensors to check if there is some obstacle in front of it. When it moves forward it follows a straight line towards the fire so it takes minimal time to reach for the fire. It takes more time when there is an obstacle in front of it on the way to destination. The robot stops when the middle flame sensor and the top flame sensor sense flame at the same time. Then the pump starts and the fire extinguisher is ready to spray.
The pump starts and the chemical solution starts spraying with the help of a servo motor. The servo motor sprayed the chemical horizontally. The pump can take spraying the chemical up to 2 meters. The force of spraying the chemical by a 2.5 cm radius pipe is about 2 meters. The fire extinguisher foam was also sprayed at the same time. Another servo motor was attached to the fire extinguisher spray. The servo that is attached to the fire extinguisher spray creates a TENSION on the cap of the spray to release foam from the extinguisher [ Figure 1].

The Manual Part
In the manual part, the whole robot is controlled by BLYNK app. We built the BLYNK app interface in such a way that the robot can be controlled by several buttons. The movement of the robot will also be noticeable in the app interface by connecting the app buttons to the virtual pins. The virtual pins are the pins that can be programmable through the Arduino Ide. The pins of the NodeMCU are virtually controlled by the app interface. The forward LED glows when forward function works. The right LED glows when right function works. The left LED glows when left function works. The backward LED glows when backward function works. In this way, the LED glows in every direction when the robot moves [ Figure 2].

The Connection
The motors are controlled with the BTS motor driver. The BTS motor drivers get the commands from the NodeMCU. The NodeMCU's D2, D3 pins are connected to left BTS motor driver, and D5, D6 are connected to right BTS motor driver.

The Autonomous Part
When the robot gets closer to the fire, the autonomous part is activated to extinguish the fire. It is about 10 meters apart from the fire.
The autonomous part is activated through the BLYNK app by pressing a BUTTON which is connected to the digital pin of the NodeMCU. The digital pin is connected to a relay, which activates the Arduino Mega. All the sensors are connected to the Arduino. The Arduino gives input to the BTS drivers to move forward, left, and right. The robot then moves closer to the fire then stops when the middle flame sensor and top flame sensor sense the fire at the same time [ Figure 3].

RESULT
The Arduino code that we wrote at the beginning works well with the 12v 500RPM DC gear motors. Those motors have high speed but cannot take that much load that we need. Then we move to the wiper motors from cars (window shield motors).

Wiper Motor Analysis
Wiper motors are traditionally built and used for car wipers, but they can also be run as highly efficient heavy load motors for different types of gear motors which are basically used in the projects like fire-fighting, mars rover, object graving, etc. This particular unit has extremely tight tolerances which refer to zero backlashes and an ultra-smooth motor and gearbox.
While it is operating we can barely hear it. The motor is small but a normal human cannot grab and stop it while it is operating. It is an extremely powerful motor for its small size.
It operates from 12V and has 2 operational speeds either 45 RPM or 65 RPM. It is also user's selectable speed.
Wiring is as follows: There are 3 wires in the wiper motor. For fast RPM: Black wire + Green wire. For slow RPM: Black wire + Blue wire.

Servo Analysis
After the calculations of the torque and the load, we faced another problem with the angel of the spray and also the spraying part of the front servo. We used a servo motor to connect it with a string to the cap of the spray. The string creates tension so that the cap can be sprayed. For the Sensor-based robot, it is much difficult to adjust the value. We use different values or different degrees of the servo and measure it again and again to ensure the exact position of the servo. We are also working on some other ideas in this particular servo mechanism. The code snippet of the servo motor is given below:

Arduino Code Analysis
We use analog input firstly for all the flame sensors but when we test the whole part finally we mixed up the whole concept. We use digital input for two of the side flame sensors and analog input only for the middle flame sensor. When the left sensor gets the digital HIGH the robots move to left until the middle sensor finds it and take the analog input how much bigger or further the flame is. Then the robot moves until its threshold value and stops. Then start using the extinguishing part.

Impact on Society/Environment
We always see some news over social media or television news or through radio that a devastating fire has occurred in some garments or in factories. We always see this kind of news and regret what has happened around us. We lost our milliondollar property and also human lives are at risk in some cases because of the fire. Our proposed robot is ensuring to diminish fire and reducing mishap of property and lives. A cheap fire extinguishing autonomous like ours will play a vital role in hazardous situations.
In some cases, it will also help the fire brigadier people who risk their lives to save others. In some cases, they are unable to reduce fire or save others. In those cases, a fire extinguishing robot can play a vital role. We can control our robot through WIFI and take to any position in the room. We can get the visual through an IP camera and see the devastation of the surroundings and the people who are trapped in front of flame. While there is no visualization or the smoke is too much condensed or dark the autonomous part will be activated and the sensors will control the whole robot.
Our proposed robot will not need any extra expert controller to control the robot. The app is a Google Play Store app anyone can download it and for the visualization, we also use a Google Play Store app to visualize everything. We also configured a button that can turn on and off the autonomous part.
The impact of our robot on society is undeniable. The fire extinguisher system we use two types of extinguishing the chemical spray and the fire stop spray. The two types of systems show us a dramatic result in the testing.

Novelty of Project and Significance
Fire explosion or this kind of phenomenon never occurs simultaneously but when it occurs it took out lives and also establish unrepeatable losses economically and socially. It creates a negative impact on society. Consequences due to fire expulsion or fire accidents are the most deadly accidents. When the situation gets worse the fire brigadier people have nothing to do they try their best to control the situation. If our robot is already inside that building or n that floor, they can also see the visual from the outside and do whatever they are trying to do in an effective way. Our robot can be controlled from anywhere in the world so easily a person from outside the building see what is going on inside the building and take major steps to rescue the persons who are trapped inside the building.
In our robot, there are two types of mode manual and autonomous. The manual part can be controlled from anywhere in the world and the autonomous part can be activated with the app that controls manual part. So by both techniques together we are proposing a real-life implementable robot that could serve thousands.

Health and Safety Impact
Our robot is designed in such a way that it has no harmful impact on human life. It is activated in the time of hazardous situation. So it will definitely have no harmful impact on the human. The chemical used is water-soluble and can be washed away also with water. The most important part is we can control the robot through manual control. So our system will never fail. Even when we cannot see the visualization with our IP camera we will turn on the autonomous part which works on the basis of sensor data.

CONCLUSION AND FUTURE WORK
To conclude the above abbreviation, our proposed robot can be used in different hazardous places. From the beginning till the end, from the scratch of building this robot to the final stage of this robot, we keep in mind that we want to make our robot real-life implementable. We make every step perfectly before moving to other steps we test every step before implementing it on the larger chassis. Firstly we made a demo version of our robot to check the Arduino codes. After the completion and test of every component, we make the bigger chassis-based robot which is made up of a steel body. The extended mechanism of our robot can take twenty kilograms of load easily. So, we can use real-life fire extinguishing cylinders to extinguish fire. Lastly, we calculate the efficiency of the cylinder types of fire extinguishers. We come with a different idea of using two types of fire extinguishing solution. One is fire stop spray and another one is throwing chemical mixture.

FUTURE PLAN
From the beginning to the ending of this project we want to make it real life implementable robot. So to make it perfect for any situation a list of things needed to do. The future implementations which we are researching are listed below. i. Using raspberry pie and image processing we can detect human life signatures in any kind of hazardous place. By implementing image processing in the raspberry pie module the robot can be introduced to the world of machine learning. Several image processing techniques can be applied to the detection of human and different objects.
ii. Using shortest pathfinding algorithms (for example A*, D*, etc) we can make the performance of the robot more time and energy-efficient. There are several efficient algorithms for pathfinding to go to the fire in the shortest way possible. If the robot is one end of the house or on that particular floor it will take much time to search the whole place for fire. If somehow we get the information that the fire is in another zone then we need an efficient algorithm to reach there. iii. The robot can carry up to 20 kg easily so the real-life fire extinguisher can be used instead of fire stop spray. We only use the little version of fire extinguisher in the robot we can also install a 15kg cylinder in the robot. iv. We can use simple mobile quadcopters inside our robot to learn about the whole floor in any building. We can use simple quadcopters that can be launched from the fire extinguishing robot to visualize the whole area that is surrounded by fire and tell the present situation of that whole floor within minutes. Then by using their gathered images we can move our robot towards that goal.

AUTHOR'S CONTRIBUTIONS
Md. Mahmudul Hasan: Modeling, simulation, and writing of the codes. Participated in drafting the script.
Nayeem Al-Tamzid Bhuiyan: Participated in the creation of the modeling, simulation, and writing of the algorithms from the scratch. Modeling, simulation, and writing the algorithms from the scratch. Give the robot correct instruction programmatically. Setup the robot with the correct components and also review the papers related to this work.