Mobile Robot with Autonomous Navigation System
Techonological improvements in the commercial grade technology and advanced research make it possible for autonomous vehicle robots to be appearing in the everyday life. Modern robots of different varieties include industrial robots, service robots, have seen bright future. For robots, such as Google Self-Driving Car 1 and iRobot Vacuum Cleaning robot 2,and one of the most basic and important abilities is path planning, that is, autonomous routing. This requires both time efficiency to react to any emergency situation and safety consideration for proper implementation.
Path planning algorithms for some of the moving robots from their initial start positions to the destination using sensors, and during the process, robots must be able to avoid obstacles to maintain safety. Robots such as underwater robots 3, 4, wall-climbing robot 5, and micro air vehicles 6–8 have already been tested purposely with different kinds of methods. These methods can be basically perceived from 9–12, where algorithms were already detailed synthesized. Thus, the need to provide a an analysis on 3D path planning methods is required so as to develop new methods.
By looking at the the latest proposals by the authors, it is not hard to see that most works concentrate only on two dimensions (2D), thus limiting the behaviors of the robots only to surface or each iteration considering the height as a constant to achieve a 2.5-dimensional (2.5D) method. Choset 9 summarized a lot of his own and others’ works; however he mainly concentrates on 2D environment and therefore algorithms like bioinspired algorithms were paid no attention. LaValle et al. 10 focused mainly on sampling based algorithms. None of these researchers had analyzed all the algorithms in 3D planning area. Surveys such as 13 almost all analyze the path planning problems under 2D condition. Reference 14 only focuses on micro air vehicle’s path planning problems, and algorithms like mathematic optimal algorithms were ignored. Lately, authors in 13 did a thorough survey on coverage path planning, which is classified by distinguishing decomposition methods. They provided a basic understanding of 3D path planning methods and then narrowed their discussion to sampling based algorithm to explain the 3D planning idea.
The industrial as well as general application for autonomous mobile robots are enormous. The mobile robot should perform tasks(e.g. exploration, executing tasks in extreme weather conditions, searching for victims in a disaster, performing recon missions, etc) correctly even in an unknown environment which is constantly changing and should adapt to it. This requires path-finding and obstacle avoidance capability of the robot to be of primary importance. A natural and basic solution to solving this would be to make the robot navigate and avoid the obstacles as it encounters using reactive behaviour. This is a very naïve approach which is not always recommended. Another approach is to have a Deliberative planning or a Heirarchical paradigm which senses the surrounding, plans its action and uses the apriori knowledge to navigate. However, this would failin a dynamic environment and would be sensitive to uncertain sensing.
This project report presents a state of the art technique of autonomous navigation for the robot, that would be able to use both approaches (Reactive as well as Hierarchical) as a hybrid architecture
Robots have good abilities to map and localize themselves in a building. But, this is not always necessary of even desirable: instead it is not always very difficult to achieve the a priori map of the buildings (e.g. from maps,etc), it would be much more beneficial and reliable to some extent, that it allows giving labels that represent some knowledge between the robotic machine and the users. So the goal of this project is creating an autonomous robotic naviagation system so, if it is given an a-priori map of any building, navigates around the building to reach any accessible or possible room in the building or offices, by avoiding efficiently static and dynamic obstacles. Such a autonomous robotic navigation system can have practical implementations in real life situations, e.g. the mail delivery robot system in a particular building which is used to deliver the mail to the correct people’s office. In this way, such a robotic system should always be able to localize and map itself with a more reliable method than only estimating based on the previous calculations of that position,if it has to perform functions for a longer period of time. The obstacle avoidance systems is very efficient and better (faster and more reliable) using reactive and deliberative behaviors having some dynamic obstacles. But, any real world situation is a true complex network of paths for a reactive robotic system, and there are few cases in which it will be unable to find its way without an a-priori knowledge(knowledge of the ennvironmant before hand) of the world (deliberative approach). To solve this, a reactive plus deliberative system is will be required to solve the problem of a mail-delivery robot in a building.
3. Literature Review:
a. Existing Obstacle Avoidance Algorithms
The capability of a robot to detect and avoid obstacles in real time is an important requirement for any type of applications of an autonomous machine. Therefore, many solutions had been proposed to solve this problem. Some of them have been discussed.
i. The Bug Algorithm
One of the Simplest obstacle avoidance algorithm that was ever proposed is called the “bug algorithm”. As per this algorithm, when an object/obstacle is detected, the robot would completely circle around the object while finding the point with the shortest distance to the destination. After encircling the object, the robot moves to the point of shortest distance and advances towards the goal from that point.
This proved to be very inefficient and better propositions for this matter started to surface.
An improvement to the algorithm, called the ‘bug2’ algorithm was in some way similar. The robot would start its circle round the object, but leaves it as soon as it comes across a point which intersects the line segment that connects the start point and the destination. The only advantage of these algorithms were their simplicity, however they had many shortcomings.
· No consideration of actual kinematics of the robot.
· High sensor noise due to consideration of only the most recent sensor readings. Hence, affecting the functioning of the robot.
· Not quite responsive and slow
ii. Potential Field Algorithm
A more deliberative approach was to view the obstacle avoidance as a part of the path planning process. The algorithm assumes the robot is driven by some virtual forces which would pull or attract the robot towards the destination or the force will move it away from the obstacles. The resultant direction and path will be determined by the resultant of these virtual forces.
The only advantage of this algorithm was its elegance, otherwise it fails to solve all the shortcomings of the “bug” and “bug2” algorithms. Performace is greatly reduced near narrow passages .
iii. The Bubble band Technique.
Proposed by, this unique method defines a “bubble” containing maximum available area around the robot, which is traversable in any path. The properties of the bubble i.e. the size and structure isdeerminedby a model of the geometry and using the range information by the on board sensors.
Using this concept , it can be used to plan a path between start point and a destination point. This lies towards more of a offline path planning problem than an obstacle avoidance problem.
b. Existing Path Planning Algorithms
After the destination or goal of the robot has been identified, the next problem in navigation is how to get to that point or more appropriate question would be “How to get to that point optimally ?”.
Planning Algorithms strategies are an attempt to generate a least cost or optimal path i.e. collision free path, from the start location to the goal location provided it is given a-priori knowledge of the environment it is going to be deployed in (e.g. map). Usually, sensors are used to determine the location in the environment and once this is achieved, the robot can move to its next task of planning a path to its goal. To solve this problem and the question put forward before, many approaches were proposed.
i. The Graph Search Algorithm
This path planning algorithm was based on a node edge notation, but this lacks when a system like the GPS gets an image, translates it into a map matrix and use it as a grid based map. The only advantage of such algorithms is the simplicity.
ii. The Breadth-First Algorithm
This Algorithm uses the method of branching right from the start cell to the nearest neighbour cells, excluding the cells which are not near and out of boundries) until the destination cell is approached.
The method forms a type of list:
· Open List : Every traversable nearest neighbour cell is added to this list. All the cells in this list are reviewed again to find the destination cell.
The steps of the Breadth First Algorithm is as follow:
1) Declare starting and goal cells
2) Load the map matrix.
3) Add the starting cell to the OPEN List.
4) Start adding the corresponding neighbour cells to the OPEN List.
5) No possible path if the OPEN List is empty.
6) If destination cell has been added to the OPEN List, declare the path using the map matrix or else compute the cost of the neighbour cells.
7) Pull out reviewed cells from OPEN List.
8) Go back to step 4) .
iii. The Dijkstras Algorithm
An Algorithm just like the breadth first algorithm but instead of adding the computation of different cost cells (not only the shortest path, but also the lowest path between the cells). An OPEN List also exists in this algorithm. The steps taken by the algorithm are as follows:
1) Declare starting and destination cells.
2) Load the map matrix.
3) Add starting cell to the OPEN List.
4) Add nearest neighbour cells to the OPEN List, compute costs and record the parent cells to PARENTS
5) No possible path if the OPEN List is empty.
6) If the destination cell is added to OPEN List define PATH using PARENTS matrix else proceed further
7) If the neigbor cells is added to OPEN list before find its new cost and compare to its old cost. If it is lower, update it and PARENTS matrix.
8) Pull out reviewed cells from the OPEN list.
9) Go back to step 4.
iv. A-Star (A* ) Algorithm
One of the most common and efficient algorithm used to find the shortest path finding problems. The algorithm has additional List called the CLOSED LIST.