Robot navigation in unknown environment with obstacle recognition using laser sensor

Robot navigation in unknown and dynamic environments may result in aimless wan-dering, corner traps and repetitive path loops. To address these issues, this paper presents the solution by comparing the standard deviation of the distance ranges of the obstacles appeared in the robot navigation path. For the similar obstacles, The standard deviations of distance range vectors, obtained from the laser range ﬁnder sensor of the robot at similar pose, are very close to each other. Therefore, the measurements of odometer sensor are also combined with the standard deviation to recognize the location of the obstacles. A novel algorithm, with obstacle detection feature, is presented for robot navigation in unknown and dynamic environments. The algorithm checks the similarity of the distance range vectors of the obstacles in the path and uses this information in combination with the odometer measurements to identify the obstacles and their locations. The experimental work is carried out using Gazebo simulator

INTRODUCTION Autonomous navigation of robots is gaining popularity among the researchers day by day. Regardless of the uncertainties in the sensors observations, robot may navigate safely from start to goal [1]. Using range finder sensors (e.g. laser scan sensors), the robot can navigate from start to goal with obstacle avoidance in unknown and dynamic environments environment [2]. The obstacle size and velocity vector of the unmanned surface vehicles can be used to achieve the obstacle avoidance. Moreover, fusion of more than one navigation algorithms can result more accurate outcomes [3]. Various requirements of obstacle avoidance can be satisfied for the changing distance between robot and the obstacles [4]. The issue of obstacle avoidance is treated as an optimization problem in [5]. On the unmarked path, dynamic colour perception model for the autonomous navigation is explained in [6]. Nevertheless, this model is not suitable for the laser range finder sensors. The complexity of the object matching task rises for similar objects [7]. Previous experiences during the robot navigation are helpful to predict the path with obstacle avoidance of static and dynamic obstacles [8]. Tool based learning for robots is presented by [9]. In case of industrial robots, an algorithm for condition monitoring using artificial intelligence is studied in [10]. An algorithm for obstacles avoidance in unknown environment using bumper events of the robot is proposed in [11]. However, the algorithm presented in [11] has the limitation that the robot may struck in the corners and may follow the same loop of the path again and again. A fuzzy controller for obstacle avoidance in unknown environment is presented in [12]. Although, the fuzzy rules, for the obstacles in the central part of the laser scan area, are right or left biased. Therefore, the robot may trap in a repetitive navigation path loop in some situations. In this paper, the scan range vectors are compared to detect the previously occurred obstacles on the same locations of the navigation path.

PROBLEM DEFINITION AND PROPOSED ALGORITHM
During robot navigation in unknown environment, the robot may trap in a loop and may repeat the same path again and again. This may be due to the presence of static or dynamic obstacles. To deal with this type of problem, there is a need to find a method which can recognize the previously occurred obstacles in successive repetition of the path. So that, the robot can be directed to reverse the angular velocity applied so far. In this way, the robot will come out of the repetitive navigation path loop.
Algorithm 1 Obstacle recognition using laser sensor and odometer 1: Create vectors: U, V, X, Y, T, S; 2: Initialize: R ← scan ranges received; 5: for i ← 1 to length of R do 6: if R(i) == N aN then g ← g + 1; 11: Collect odometer readings at the time of scan; X(g) ← X coordinate from odometer; Y(g) ← Y coordinate from odometer; 12: D min ← minimum of R; if (σ r < σ t and D j,c < P t ) then Send v, ω to robot; 34: end while The laser scanning is a reliable method for obstacles range finding. Generally, the laser scanner produces a vector of ranges (R) of obstacles. If there are n number of readings in a scan then R can be expressed by (1) as follows: Where, d is a distance range. Standard deviation (σ) of R can be expressed by (2) as given below: Where, d is the mean of R. Standard deviations of two range vectors can be compared to find the similarity between them. If the standard deviations of the two scan range vectors are close enough then there is the possibility that these scans belongs to the same obstacle. Further, the standard deviation in combination of the robot position coordinates can be used to confirm that the scan ranges belongs to the same obstacle. To achieve this solution, the Algorithm 1 is presented.

EXPERIMENTAL RESULTS AND DISCUSSION
The proposed Algorithm 1 is implemented using a notebook computer equipped with 4xIntel Core i3 CPU @ 230 GHz. The memory of the system is 3952MB. Ubuntu 14.04.5 LTS operating system is used. Robotics System Toolbox The memory of the system is 3952MB. Ubuntu 14.04.5 LTS operating system is used. Robotics System Toolbox in MATLAB (R2018a) is applied for computer programs. Simulated Turtlebot robot model is taken in Gazebo 2.2.6 simulator. The numerical values of the variables, initialized in Algorithm 1, are presented in Table 1. The robot is driven, using Algorithm 1, in the Gazebo world as given by Figure 1. In the beginning, in Figure 1, the Turtlebot is located at the centre of the world and heading towards positive X axis. In Figure 1, coordinate axes and their measurement marker are added to provide the understanding of the coordinate positions in the Gazebo world. The Gazebo world is constructed by using brick boxes of the dimensions 3x1x3 from the model database of the Gazebo simulator. Purposely, The Gazebo world is constructed using only one model so that the same type of obstacle encountered each time to increase the complexity in differentiating the obstacles and their respective locations. In addition, the maze structure is kept closed so that the robot can be forced to follow a repeated path in a loop. The Gazebo world and the simulated Turtlebot can be brought up in the system by executing the following command in a terminal of Ubuntu: Robot is driven at a constant forward linear velocity and zero angular velocity until any closed obstacle is encountered. In this navigation process, if any obstacle is closed enough to the robot then a backward linear velocity and a constant non zero angular velocity is provided to the robot. Using Algorithm 1, the robot navigates in a path loop. Figure 2 shows the resultant path of the robot. It is clear from Figure 2 that robot is driven in a navigation loop so that it can observe the same obstacles more than once. During the navigation process, the obstacles distances are measured by laser scan ranges. For Turtlebot, a laser scan message contains a vector of 640 range readings of the scan area from right to left. If robot pose is same, each time, the laser scan of an obstacle produces same vector of ranges. To find the similarity between two vectors of ranges, standard deviations of the two vectors are compared.   Figure 3 depicts that there are periodic spikes which are due to the similarity of the obstacles and repetitive path loop. Further, the pattern of the graph in the periods is found very similar to each other because of the similarity of the obstacles. Subsequently, it can be inferred that the standard deviations of the similar obstacles are observed close to each other. However, in addition to the standard deviation, the odometer measurements, for the robot locations during the navigation, are used to determine the location of the obstacles. Further, on the basis of the standard deviations and odometer measurements, it can not be identified that either the obstacle was visited by the robot previously or the obstacle is encountered first time during the navigation. For this reason, there is the need for additional method to recognize that whether any particular obstacle is found first time or it is repeated. The occurrence number (i.e. first time encountered or repeated) of

ISSN: 2088-8708
Ì 1777 an obstacle can be described on the basis of the time of the scan. Obviously, the standard deviations and robot positions of two nearby scans at very short time of difference will not vary largely. On the other hand, if the standard deviations of the distance range vectors of any two scans and the robot positions received from the odometer at the time of scans are very close to each for both of the scans and the time difference between the two scans is large than a threshold value then it can be said that the obstacle is same and the occurrence of this obstacle is the repeated one.   Table 2 presents the positions of the robot and their corresponding times with respect to scan range matches. It can be observed from the Table 2 that using standard deviations and robot positions the similarity between the two scan range vectors are found either at times with short difference or at times where the time interval is larger. The matches at short and large time intervals indicates about the occurrence time of the obstacles. For example, the first row of Table 2 indicates that the match between the range vectors is found at the scan times 10.23 (seconds) and 10.46 (seconds). Thus, the time interval (Time2 − Time1) between these scans is less than a second. Keeping in mind the forward linear velocity of the robot (i.e. 0.5 meter/seconds), it is clear that the scans were performed at nearly same time therefore the match is found between the first appearance of the obstacle and this is not the case of repetition. Similarly, the last row of the Table 2 presents the time interval between the scans as 34.57 (seconds). Therefore, on the basis of robot's linear and angular velocities it can be deduced that the occurrence of the obstacle at Time2 (at last row) is repeated in navigation path loop.

CONCLUSION
Using the standard deviation of laser scan range vectors, the similarity of obstacles is examined in unknown environment. In addition to the standard deviation, the robot position is also used to identify whether the obstacle position is same as of some earlier position during the navigation path loop. It is evident from the Table 2 that the matches between scan range vectors are found at the closed positions of the robot in each round of the navigation loop. Time interval between the scans plays an important role in the detection of the repetitive occurrences of the obstacles. Using the standard deviation of laser scan range vectors, robot positions and time of scan, the angular velocity can be reversed to break the path loop.