DUSTBUSTER: AN AUTONOMOUS VACUUM CLEANING ROBOT

: This paper proposes the development of an autonomous robot which is controlled by sensors and an Android Phone (optional). The implementation of AI concepts in the development of a software application for off-line robot task programming. We can use concept of the designed programming application to power the knowledge base for task accumulation. This work aims at the cleaning a house on its own, without human interference. In the current scenario, the economical versions of iRobot Roomba (currently in the market) cannot develop a map of its own; however, this feature is present in the luxurious versions. As the luxurious versions aren’t affordable, our Dustbuster will prove to be an efficient and economic stopgap solution


INTRODUCTION
We are living in a world where we are, slowly with time, getting acquainted with machines to perform various tasks which were actually performed by human beings once upon a time. Some of those tasks can be washing clothes, mapping a place out or even travelling. Well in this new world even the use of robots in daily life has been increasing. One of the more prominent area is house cleaning or using robots as vacuum cleaners. It all started with Electrolux's Trilobite which gave the revolutionary concept of robots being used as mobile vacuum cleaners. Then arrived the iRobot's famous Roomba which were followed by different yet effective shaped Neato robots.
Currently the whole of the robot vacuum cleaner market is dominated by iRobot's Roomba and the Neato devices. Both of these companies' devices work with their special algorithms upon which they are specifically devised to perform. Initially, iRobot's Roomba had been developed on the iAdapt algorithm whereas the Neato's robot ran on the SLAM (Simultaneous Localization and Mapping) algorithm [1]. But now the Neato Robot's performs Laser based SLAM and Roomba performs Visual SLAM (VSLAM) [2]. Using SLAM these robots builds as well as updates a map while cleaning. Both the robots offer a Spot mode through which we can clean smaller areas especially if something has been spilled on the floor. Roomba actually has two brushes that rotate in opposite direction which gives the most important advantage of less maintenance of this device whereas the Neato devices needs to be cleaned more often. The shape of the Neato device gives them an advantage to clean corners more efficiently than Roomba device. Neato is a bit faster in cleaning the house when we take into consideration the size and location of its brush. The main factor which affects these devices is their high cost. But the one that is discussed is a cheaper and equal alternative to these robots and if it manufactured for commercial use, it can stand out as a real competitor in the markets.
The main problems that Dustbuster helps in solving are the cost efficiency, battery life status and low maintenance. It will be a D shaped robot which will have one tangle free main brush and two side brushes to cover larger areas. The use of Li-Polymer batteries will help in the better retaining of the battery life and help the Dustbuster work for longer periods of time. It will map the rooms and prove to be a powerful cleaner with an eco-friendly technology.

RELATED WORK
There are two robots that rule robot vacuum market, namely Neato Robotics' BotVac and iRobot's Roomba [3]. They have different variations of them. Maintaining the Integrity of the Specifications.

A. iROBOT'S ROOMBA 980
Algorithm and Working: vSLAM innovation, the essential part of the vSLAM delineate the visual points of interest that are "made" along the way of the robot. A visual point of interest is a gathering of novel highlights separated from a picture. Every point of interest is related with a historic point posture, defined as the robot posture (x, y, and θ) when the milestone was made.
In the first module of vSLAM, which is the Visual Front-end, the pictures are contrasted and already made historic points in the wake of being handled. In the event that it is a match, a gauge is registered on where the robot is found in respect to where it was found when the historic point was made. At the point when such a relative gauge is all through the paper, it is named as visual estimation. The module would attempt to make another visual point of interest if the visual isn't made. On the off chance that a point of interest was made, the relating picture is put something aside for later acknowledgment which implies it is added to the Landmark Database. The second module, the Pre-filter, survey the unwavering quality of the estimation which is processed after the acknowledgment in the Visual Front End. The inconsistent estimation is dismissed and discarded. Consequently, there wouldn't be any need of it from that point in any further handling. In any case, in case it is acknowledged, it will be utilized as a contribution to the SLAM module. The SLAM module is one such criticism framework that takes information and relative stance estimations as sources of info, which is then contrasted with a current guide. At first, the posture of the robot is evaluated in view of the latest guide and the two information sources examined previously. At that point, finally the guide is refreshed to demonstrate the most up to date data [4].

Features:
Roomba uses a vSLAM technology for navigation. It can be controlled by an app. It uses lighthouses which is an equivalent to a virtual wall which restricts the robot to go in any other room before it finishes the cleaning. Lighthouses uses less battery. It has cliff sensors and resumes work from where it left, once recharges. Roomba has a bumper in front of it to detect an obstacle. It uses infrared sensors to communicate with lighthouses and docking station. The Lithium metal-hydride rechargeable battery pack of 14.4 volts and 3600mAH provide a longer battery life. There are two wheel sub-assemblies. The electric motor drives both the wheels and powers the vacuum. It has a self-contained brush mechanism and the brushes are also powered by the electric motor.

B. NEATO ROBOTICS' BOTVAC Algorithm and Working:
The turret on the robot is a spinning laser cannon and detection system called the Revo LDS (for revolving laser distance sensor). Numerous IR laser pulses per second are fired while rotating at fixed speed, note down for the reflection of each pulse, and then calculates the distance and angle of the pulses reflected off of. That is basically works on LiDAR (Light Detection and Ranging) technology which Neato developed by itself for indoors. The bot locates its dock, furniture, walls, and anything else on the floor level. It has sensors below too to watch out for the fall. [5] It's efficient in cleaning the room as coverage is complete, walls, edges of furniture, and furniture legs. It also efficiently cleans the carpet and does good job cleaning pet's hair.

Features:
A Wi-Fi enabled smartphone can control all the functionalities of the vacuum bot. It has Li-on battery that lasts longer and also better than NiCad batteries. It works on two cleaning modes namely the eco mode and the turbo cleaning mode. The bot runs quietly without making much noise in the quiet mode where as in the turbo cleaning it makes much more noise comparatively. One of the best feature of Neato is its D-shape along with the motorized brush that cleans the corners in the best possible way.

PROPOSED ARCHITECTURE
This project attempts to discuss about an embedded system which focuses on an autonomous robot which will work as a household vacuum cleaner. The bot consists of 4 motors (200 rpm), 1 L239D motor driver, 1 HC-SR04 Ultrasonic sensor as well as 1 Arduino UNO R3 board. All of these are connected on breadboard (17 cm * 5.5 cm) by M2M (Male to male) jumper wires and batteries. The motors are responsible for the movement of the wheels and the sensor detects the level of the land. The Bluetooth HC05 helps in remotely accessing the bot, if need be. The system will contain the following parts or equipments:-Chassis: -This part of the bot will be the main component as it holds all the equipments and devices and is also the middle part joining the wheels to the battery and arduino.
Arduino Uno: -This module will be responsible for coding and sending the commands to the bot. All the functions that the bot performs is due to this chip. The bot moves in direction, senses obstacle a certain distance apart all from the code implemented through the Arduino device. It sits on the chassi connected by various M2M (Male to male) wires.
Motors: -There are 4 motors which are 200 rpm each that power the bot to move in whichever required direction. These motors' speed can be increased or decreased by the android app in synchronization with the Arduino code. L293D:-This module is responsible for the motors to move in synchronization. This is the basic motor driver that in accordance with the Arduino device makes the movement of wheels that are powered by the 200 rpm motors possible.
HC05-This is the Bluetooth receiver that is connected to the Arduino through the male 2 male wires on the breadboard. Initially, through this receiver, we can manually control the bot via the app on the phone by connecting it to the receiver.
Battery: -The system consists of one 9V and another rechargeable 12V battery which power the bot. The 9V battery powers the Arduino and the breadboard whereas the 12V battery provides power to the wheels.

Fig. 5 Physical Design
The four-wheel rectangular shaped bot is powered by 4 geared motors (200rpm) connected with L293D motor driver. There are Ultrasonic sensors (HCSR04) and IR sensors which will be used to sense the dust in the surrounding environment. Arduino UNO R3 is one of the major component which will be responsible for most of the Dustbuster's work, right from its movement to dust sensing. The Ultrasonic sensors are majorly responsible for the navigation and movement whereas the IR sensors are for cliff detection that prevents the robot from falling from a certain height. The motor driver with the help of M2M (Male to Male) jumper wires are connected to the Arduino and batteries (9V and 12 V) which help power the motors, motor driver and the wheels. There is a HC05 Bluetooth device connected to the Arduino through which the bot can be remotely operated. The bot moves in forward, backward directions and takes right and left turn.

TESTING
The testing phase included letting the bot operate on a manual mode as well as automatic mode. The manual mode in which the bot operated was controlled by the IR sensor which sensed the obstacle at a certain distance and commanded the bot to turn or stop. Similarly, the automatic mode testing consisted of the bot being operated by an Android app which was provided input from the user that would make the bot move in the necessary direction or even stop from going forward. The one constraint that was faced was due to the weight of the battery and chassis, the bot couldn't turn in a direction that was required on the ground whereas when held in the hand the wheels turned to those directions. Hence necessary improvements with more rpm motors would be proposed in the further paper.

CONCLUSION AND FUTURE WORK
There has been a lot of work done in the field of embedded systems which takes into the concepts of artificial intelligence and machine learning. The aim of this work was to design and implement algorithms of movement of autonomous vacuum cleaner that would be able to work inside of a flat, but not free of obstacles. The future development would include changing and maintaining the speed of the bot or increase or decrease it by a specific index. Also, mapping algorithms and automatic charging would be implemented.