TRAVERSE-Voice Commanded Self Navigating Indoor Robot

When a human is taken to a new place, a new location per se, the individual first tries to perceive it, then gets to the geography of it and finally maps it. By mapping the whole location, the human goes around the place without any difficulty. In this project, the implementation will be done in such a way that the robot also consumes the parameters of the area in the same way as the human, by first perceiving the location entirely, followed by mapping the whole place and then going around it, thereby marking the location to absolute precision and making it flawless for navigation. <br><br>To accomplish this performance, a self-mapping algorithm using SLAM (Simultaneous Localization and Mapping), A* Algorithm for Path Planning is written and executed. The robot, by using ultrasonic sensors will measure the distances of the surrounding objects.<br>


I. INTRODUCTION
To determine a suitable path for a robot that is free from collisions between the starting and ending positions through a real time environment in the presence of obstacles is challenging for navigation Robot design. When we use a path planning technique to navigate a robot by observing a map with cameras or sensors attached to the robots, the fact that the map can change from second to second should be taken into consideration.
In this paper, we will be presenting the prototype of a voice commanded self navigating robot that finds the ideal path using the concept SLAM to navigate in the given workspace. This robot is implemented in such a way that it can go to the necessary destination as a normal person would do and it therefore does not need to follow any line or specific path .

Figure 1: Working Model of Traverse
The Robot that we have developed consists of three main divisions, firstly the object recognition, secondly self-mapping and other is Path Planning. Self Mapping is done using the concept of SLAM and this helps in obtaining multiple ways to reach the end position, it also finds ideal way from multiple ways and helps Robot to follow that path. The proposed method is helps in estimating the next best step among neighbouring pixels in the grid map. The Robot will be given a target location through voice command and Robot has to find  989 Institute of Scholars (InSc) www.insc.in its way from current position to target by finding the ideal path and avoiding obstacles. Obstacle avoidance can be done using infrared, ultrasonic, or vision-based sensors. In this sense, the sensor which is always used in robotic applications, particularly in indoor navigation, is ultrasound sensor. The input data is thus obtained by a ultrasound sensor from a dynamic environment with results reaching a high accuracy in real-life obstacle avoidance. Object Recognition is done using YOLO (You Only Look Once) Real Time Object Recognition System. Path Planning is done by using A* Algorithm. This is one of the vital advantage over many other path planning methods that can not be completely correlated, because every point on a path relies on other locations.
The key concept is to give uncomplicated methods with satisfactory navigation fulfilment. To attain and implement this a self-navigating algorithm is developed. The algorithm includes measuring distances that are requirements of attaining all the performances, such as calculating the present position of the robot, which later helps it to move in a straight path and in making an accurate turn.

II. RELATED WORK
In the autonomous robotic system path finding is one of the difficult processes. This process allows the robot to travel safely from one place to another. After studying different developments on autonomous navigating robots, the present methodology was proposed. Autonomous Rover Navigation Using GPS Based Path Planning [1] was developed. This paper aims in developing a algorithm for autonomous path generation based on GPS (Global Positioning System) using coordinate system and implementation of this algorithm in a real time environment. They use GPS coordinates of target nodes which can be fed into the robot using a control station. The robot will capture GPS signal on its own and then finds the ideal a path between the initial location and the finsl location. It uses Proportional Integral Derivative control algorithm for compensating the deviation in its current course of position and direction. Raspberry Pi is used to handle all the calculations during the process and helps in driving the robot to complete its task using any microcontroller.

Figure 2: Rover traversing with autonomous system
The major drawback in this autonomous robot is that if the GPS fails to work properly then the robot will face the obstacles and will not be able to reach the targeted destination. The optimal path will not be determined and this is harmful to the robot. The algorithm proposed in this system is limited to straight line based system, this is again a major drawback in real time application.  Goal-Directed Obstacle and Self-Location Map for Robot Navigation Using Reactive Neural Networks [2] is one of the recent approaches in self-navigating autonomous robot. This paper proposed a method in which convolutional neural network (CNN) is used in estimating the next best step among the neighbouring pixels in a grid map. Here the concepts of cropping, rotating and rescaling an obstacle's map according to the target location and the current location will help the map in representing self-movement of the robot. The major issue of using a CNN for navigation is that it does not generalize to an unknown environment. Reactive CNN learns mapping from surrounding observation i.e., obstacle map and goal location to perform navigation. This mapping process is complicated because a small difference in state observation would totally change the optimal result. This approach is computationally challenging and requires expertise and deep learning of reactive neural network.

Proceedings of Second
This robot named Peacock consists of a LIDAR sensor which is equipped at the centre of the robot and a mobile base. A Pre-acquired 3D map of the workspace and real-time LIDAR sensor data is given as the input. This input is used to produce a 2D obstacle map and it also localizes the robot's current position. When the robot receives the destination position, map is generated and it predicts the direction in which the robot should move. The most significant drawback of LiDAR technology is that it fail to work well in areas or situations where there are high sunlight or huge reflections since the laser beam depends on the principle of reflection. A generic algorithm was developed in our approach using Simultaneous localization and mapping (SLAM). In which multiple ways to reach the destination is obtained. This method gives the accurate next best step among the neighbouring pixels in a more simpler method rather than a complex neural network. The proposed approach enables real-time navigation irrespective of the obstacle and reaches the destination safely. The obstacle avoidance through ultrasound sensor and IR sensor in our implementation eradicates the disadvantages of the LiDAR sensor.

III. METHODOLOGY
As soon as the robot is placed in a new environment, at first mapping and localization take place after mapping it will recognize the room and as soon as the user will give instruction it will start planning its path and it will check for any obstacle and with respect to that it will modify the path and start moving, then at last it will reach to the end point.

IV. PROPOSED WORK
To do this project we use the following devices. For input we need a distance sensor to find the distance from the wall, we also need a device to help us find steps or unit movement and the orientation of the camera. For these applications we use a rotary encoder and MPU 9250(IMU).With this the inputs from the environment can be given to the robot, and once these inputs are obtained they are fed into the program where

Proceedings of Second International Conference on Emerging Trends In Science & Technologies For Engineering Systems (ICETSE-2019) S J C Institute of Technology, Chickballapur, Karnataka, India 17 th and 18 th May 2019 Available in SSRN eLibrary
the localization, mapping and path planning are obtained. The results of the program are implemented using the motor driver to drive the robot and move them in the desired direction.
The main steps followed in this project is as shown in the block diagram:

Figure 4: Block Diagram of the Basic working of Traverse
A. Hardware Components 1) Raspberry Pi is card-sized microprocessor which we are using in our project as the brain of the whole system. Raspberry pi can also run on battery which is very suitable for our mobile robot. To the raspberry pi used in this project raspbian operating system is used. The raspberry model used is the Raspberry Pi 2 Model B and it has 1GB RAM, 4 USB ports, 900MHz 4 core ARM Processor. This is used to run our algorithms and house the applications to work on image processing and also takes in inputs from the sensors and gives output to the actuators. 2) A rotary encoder is an electro-mechanical device that converts the angular position or motion of a shaft or axle to analog or digital code. In our project the Rotary encoder is used to find and realise each step taken by the robot. Each rotation of the wheel is taken to update the step as the rotatory encoder provides change in pulse for the every change in few degree of turn of a wheel. In this the encoder is also used to as a feedback system to indicate the motion and the quantity of the motion. MPU9250 is an IMU which has accelerometer, gyroscope and magnetometer. This device is used to obtain the information about the direction of motion and the speed at which the robot is moving. This is very essential for our project as we need to know the orientation of the robot at every given point so that we can determine it direction of motion and it is also essential for mapping. As mapping is dependent on the direction of the robot. 3) Ultrasonic sensors are distance/proximity sensing devices. It is used in this project to detect the walls while mapping .This helps is determining the distance from the wall. While in motion ultra-sonic sensors is used by the device to find the obstacles in the pre planed path. 4) The camera is used to recognise the room. Once mapped, the initial position of the robot must be understood or recognised by the robot. For this the camera is used. Once the camera recognises the different features of the room. It helps the robot to recognise the room. 5) The motor drivers and the motor are used for the motion of the robot. This is for both mapping and later moving around the house.

Institute of Scholars (InSc) www.insc.in
The top software topics used in this project are Google Assistant, SLAM-simultaneous localization and mapping, object recognition and path planning.
Google Assistant is a virtual assistant that can listen to the persons command/request and bases it's working on the voice based input. In our project we use Google Assistant to get the voice input from the user. We use Google Assistant specifically because with its relation with IFTTT we can give Google Assistant special skills to make Google Assistant suitable for our application and implement it with our working. IFTTT will stand for IF That Then This. When we give a particular data we will have a designed pre verified data to be given as the output to the Raspberry Pi. The Figure 5 explains mapping:

Figure 5: Flow chart for Mapping
In this, one corner is selected and then mapping is started then it will check for the input from the ultrasonic sensor so that it will detect the walls of the room, then its will modify the map and move to the next step and after that localization will take place for the new step and again it will check the ultrasonic output and this process will be continued till the last step.
In Path Planning, at first robot will find its position, then it will select the shortest possible route and it will start moving. To find the shortest possible route we have used A* Algorithm. In this algorithm we use the given occupancy grid obtained from mapping and taking into consideration the source and destination point and putting weights on each cell depending on it's distance from source and destination. Then it will check for any obstacle in the route. If there will be any obstacle then it will modify its path using obstacle algorithm. And if there is no obstacle then robot will continue moving till it reaches destination. The Figure 6 explains path planning:  In object Recognition, in order to recognize a particular room it needs to recognize specific features of that room. For Example, In a bedroom the feature of the room is the bed. Likewise, to recognize the features we make use of YOLO.

V. RESULT AND DISCUSSION
Conflicting to most of the other industrial robots, which move within a limited environment, Traverse moves freely to reach its goals. The experimental result tells us that the proposed algorithm outperforms any other grid-world navigation task by mapping the workspace as shown in the Figure 7. It also signifies that the given structure can be generalized to unobserved obstacles and new environment. Finally, we conclude that the given model lets a autonomous robot to successfully navigate in the workspace by detecting and avoiding the obstacles as shown in the Figure 8.

Figure 8: Object Detection and Avoidance
The image obtained from the SLAM is converted into an occupancy grid. In Figure 9, the red point represents the source and the green point represents the destination. The shortest path will be traced once the algorithm is executed, that is represented by thin line.

VI. CONCLUSION AND FUTURE SCOPE
In this paper, a voice commanded self-navigation system is presented, aimed to generate gentle turns and anticipate future collisions by using object distances obtained by the ultrasound sensor. Therefore, it is possible to reject or reduce the delay caused during measurement. The ability of the robot to localize itself and the objects and to find path is used in many day-to-day applications such as self-driving cars, in which car will be able to detect pedestrians, bicyclists, signs on road, and other vehicles. It can be used for security, where trespassing people can be detected. Also in farming and military security. It can also be used as a wheelchair for disabled, to carry goods in warehouses, security and for commercial use. So it can be concluded that, the proposed simple algorithm and controller structure helps the robot to navigate in a any desired path.