^{1}

^{1}

We propose a motion planning gap-based algorithms for mobile robots in an unknown environment for exploration purposes. The results are locally optimal and sufficient to navigate and explore the environment. In contrast with the traditional roadmap-based algorithms, our proposed algorithm is designed to use minimal sensory data instead of costly ones. Therefore, we adopt a dynamic data structure called Gap Navigation Trees (GNT), which keeps track of the depth discontinuities (gaps) of the local environment. It is incrementally constructed as the robot which navigates the environment. Upon exploring the whole environment, the resulting final data structure exemplifies the roadmap required for further processing. To avoid infinite cycles, we propose to use landmarks. Similar to traditional roadmap techniques, the resulting algorithm can serve key applications such as exploration and target finding. The simulation results endorse this conclusion. However, our solution is cost effective, when compared to traditional roadmap systems, which makes it more attractive to use in some applications such as search and rescue in hazardous environments.

The problem of “exploring the environment surrounding a robot” can be divided into different sub-categories based on three parameters. The first parameter describes the environment itself and it is divided into simple and multiply connected. Simple environments are environments that have no holes (i.e., obstacles) or discontinuity in its walls while multiply connected environments include holes. The second parameter is status of the obstacles whether it is static or dynamic. As more information is made available to the robot, the problem becomes more challenging [

When a point robot is placed in a given (known) polygonal region, the focus of path planning research would be finding the path a robot would follow. The tasks required of a robot would determine which path should be considered, the fastest, shortest, safest, or less mechanical movements from the robot. When the task involves search and rescue, then the shortest path is considered, and in known environments, computing shortest paths is a straightforward task. The most common approach is to compute a visibility graph which is accomplished in O(n log n) time by a radial sweeping algorithm [

When the environment is unknown (or partially unknown), sensors are used to explore and map the environment to develop navigation strategies. In this case, the robot is equipped with sensors that measure distances, able to identify walls from objects and track them. The information reported from these sensors is used by the robot to build a map for the environment that will be used later to navigate through. This approach needs the robot to build an exact model of the environment with all of its walls, edges and objects with their exact coordination and measurements. This leads to raise the question of whether this is practical or not and how accurate these maps are. That leads to many proposed solutions [

Our work focused on a relatively new approach where researchers studied the sensory data of a robot [

The problem tackled in this paper is of two fold. The first is to explore a local environment cluttered with static obstacles. The second is to navigate such environment for carrying out a specific task.

Given an unknown, multiply connected environment with static obstacles, and a robot; the goal is (for the robot) to explore such environment and build a data structure (roadmap) while using the least amount of sensors possible. This data structure shall to be sufficient to achieve the robot’s goals (finding an object, tracking an object or even just learning the environment).

We assume that the robot is modeled as a point moving in static, unknown and multiply connected environment, to achieve its goal. The robot is equipped with depth discontinuities sensor. The robot is expected to use the sensor's feedback to build a data structure which is used along with building local grid map as virtual landmarks, to learn and navigate among obstacles in the environment.

GNT is a dynamic data structure constructed over direction of depth discontinuities [

More research have been done on GNT in simple, closed, piecewise-smooth curved environment [

We assume that the robot is equipped with a depth sensor. This sensor has the ability to report discontinuities which are referred to as gaps.

nodes are added as children of the robot’s current position. These nodes are called gaps. By adding children to each current position of the robot, and exploring them, the robot navigates and explores the whole environment until the whole environment is visible from these gaps.

There are three events that can occur while the robot investigates gaps:

・ Addition of New Gaps: Each discontinuity in the robot’s visibility field from its current position will be added as child gap node of the robot’s node. This takes place while preserving the cyclic ordering from the gap sensor.

・ Merger of Gaps: Two or more gaps could be merged into one gap, if they are the children of the same parent robot position and cover same area when investigated.

・ Deletion of Gaps: If a gap becomes redundant, by being covered in the visibility range of the robot while examining another gap, and not a child for the same robot position parent node, then it will be deleted. When gaps belong to the same parent, but are in different directions (cannot be merged), the current gap will be kept, and the ones been seen (in the visibility range of the current gap) but not visited yet will be deleted.

The GNT starts by constructing the Rc (the root is the initial robot’s position) and 3 edges to the 3 newly identified gaps.

In (c) as the robot navigates toward (a.1), 2 events occur. First one is merging (a.1) and (a.2) as both children belong to the same parent. The second event is the deletion of (a.4) as it is completely in the robot’s visibility range and therefore become redundant; (a.4) is deleted from GNT.

Applying the depth-first order, next gap to be investigated is (a.3). Once the robot reaches its new position, both of (c) and (a.5) are in the new Rc’s visibility range. Therefore, both are deleted. As there are no further gaps to inspect in GNT, the robot stops exploration and declares that GNT is complete.

GNT works perfectly in simple planner environments and gives optimal results, but when it is used in more complex environments, it is not guaranteed to work. The depth discontinuity sensor is no longer sufficient; at

least another piece of data is required; because the robot needs to be able to recognize a gap that was previously visited. In simple environments each gap can be reached from one way only while in multiply connected environments, a gap could be reached from different sides. Therefore, the need to label such gaps becomes necessary. Previous works and suggestions had been made about combining GNT and landmarks, such as simple color landmark models [

Before we present the proposed algorithm, we explain our landmark technique. The robot’s initial configuration is assumed at location (0, 0) and as a result the environment is divided into 4 quadrants. As the robot moves, we keep track of new positions (x, y) as well as the number of steps.

The robot will always keep track of its original position, and all of the movements it made, with respect to its origin and how it will know (x, y) from any other gap, at any position or time. Our proposed landmark technique, the robot will locally build grid map incrementally for (x, y) values, this is only used to assign different values for each gap. Which will be used to identify each of them, therefore, the robot will know if it’s the same gap or not and it will not get stuck around an obstacle, since each gap will be identified by the localized grid. The robot will know which gaps to merge and which to delete. Each gap is identified by the virtual gird map configuration. Next we describe the proposed algorithm and the classical A* search algorithm.

A* search algorithm will be used for navigation applications, where the robot will demonstrate how it can move from one point to another using the constructed GNT which was sufficient to represent the environment. A* is a complete search algorithm and will always find a solution if one exists. If the heuristic function h is admissible, meaning that it never overestimates the actual minimal cost of reaching the goal, then A* is itself admissible (or optimal) if we do not use a closed set. If a closed set is used, then h must also be monotonic (or consistent) for A* to be optimal. This means that for any pair of adjacent nodes x and y, where d(x, y) denotes the length of the edge between them, we must have:

The following is an analysis for the time and space complexities of the proposed algorithm. The complexity stems from two main phases, which are the buildup phase (constructing GNT) and the query phase (applying A* search algorithm).The time complexity of the first phase is heavily affected by the chasing phase, were the robot needs to check each gap, which takes

The storage space required to maintain the vertices of the resulted GNT is equal to the number of gaps n. Each gap will also maintain pointers to its parent and its children too. Therefore, there will be no need to store the information of the edges as well. This leads to

On the other hand, the time complexity of A* depends on the heuristic used. In the worst case, the number of nodes expanded is exponential in the length of the solution (the shortest path), but it is polynomial when the search space is a tree, there is a single goal state, and the heuristic function h meets the following condition:

where h^{*} is the optimal heuristic, the exact cost to get from x to the goal. In other words, the error of h will not grow faster than the logarithm of the “perfect heuristic” h^{*} that returns the true distance from x to the goal.

In our simulations we classified the environments into six categories based on the size of obstacles and their distribution. The first four classifications are determined from the obstacles’ sizes and the areas they occupy in the environment. The simulation started with sparse environments (i.e., large free space) with uniform-size obstacles followed by sparse environments with variable-size obstacles. We repeated both simulations but in cluttered environments. At last, we simulated two popular problematic environments in the literature of the path planning field, namely, the Narrow-Passages problem and Indoor Environments. The following observations help appreciate the simulation results:

・ Blue rectangles represent the obstacles in the environment.

・ Red discs signify the initial robot position (Rs) or the current robot’s position in the environment (Ri).

・ Light orange discs indicate already visited gaps.

・ Yellow discs represent the newly encountered gaps, which were added as children from the current robot position.

・ Green discs indicate the next gap to be inspected.

・ Green/black lines demonstrate the roadmap.

・ Maximum number of Gaps (MNG): This refers to the theoretical maximum number of gaps, in the given multiply connected environment. The upper limit of the number of gaps is a function of the number of obstacles and their locations. For example, one rectangular obstacle would produce four gaps. If we consider having two obstacles in the environment, there will be a maximum number of eight gaps because the obstacles could be sharing a gap or more. Therefore we might end up with less than eight gaps, but it will not exceed eight. This info is reported by the simulator.

・ Unique Number of Gaps (UNG): For validation purposes, this is obtained manually, by counting the number of gaps in a given environment. This number is less or equal to the maximum number of gaps. As the number of obstacles increase, in a given environment, this measure tends to be far less than the MNG.

・ Algorithm-computed Number of Gaps (ANG): This refers to the total number of gaps encountered while constructing the GNT by the proposed algorithm. In an optimal scenario, ANG is the same as UNG. However, in a worse-case scenario it is close to MNG.

・ Gap Redundancy Rate Reduction (GRR): This refers to the gap reduction in redundant gaps. The best-case scenario would yield testing UNG gaps only. Therefore, redundancy would be MNG-UNG. Therefore, we compute two reduction rates: optimal gap redundancy rate (OGRR) and algorithm-computed gap redundancy rate (AGRR), which are measured by:

o OGRR= UNG/MNG.

o AGRR= ANG/MNG.

Our objective is to minimize (AGRR-OGRR). That is the closer AGRR to OGRR is, the less is the redundancy in gaps.

We will start our simulation results with sparse environments which would have obstacles that occupy a small area of the environment. Here is an example of a uniform-size obstacles distribution. The environment has four small obstacles. Each 2 adjacent obstacles share a common gap.

As shown in

Now we show how a robot explores a cluttered environment, in which the obstacles cover a large area of the environment. This example has 20 obstacles of uniform-size and uniform distribution. These obstacles cover a large area of the environment and are aligned as a grid. Rs is represented in red color.

Performance criterion | Measurement |
---|---|

Number of obstacles in the environment | 4 |

MNG | 16 |

UNG | 5 |

ANG | 6 |

OGRR | 68.7% |

AGRR | 62.5% |

We also tested the performance in environments with variable-size obstacles. The obstacles are few; the free-space is sparse. The next example has only two obstacles.

The performance of the proposed algorithm is expected as when the number of obstacles decreases, the overlapping gaps are few and therefore GNT would yield a higher number of gaps. In practice, such environments are scarce.

Obstacle sizes and distribution in any environment are key parameters to construct the GNT. The algorithm computed a close number of gaps to the MNG. However, the actual number of gaps that are sufficient for this environment (3 gaps, see

The following examples have environments with different obstacles’ sizes that consume a large area of the environments. Some of these obstacles hide part of the environment (such part is not visible/shared with other obstacles) which increases ANG. Of course, it would decrease the AGRR as well.

Performance criterion | Measurement |
---|---|

Number of obstacles in the environment | 20 |

MNG | 80 |

UNG | 11 |

ANG | 19 |

OGRR | 86.3% |

AGRR | 76.3% |

Performance criterion | Measurement |
---|---|

Number of obstacles in the environment | 2 |

MNG | 8 |

UNG | 3 |

ANG | 7 |

OGRR | 62.5% |

AGRR | 12.5% |

The polygonal-shape obstacle covers most of the middle area of the environment. The GNT structure grew surrounding this obstacle in order to cover the whole environment. The gap reduction rate of 55.5% is an encouraging result (

The proposed algorithm can handle the popular narrow passages problem as well. It is a challenging environment that has been frequently reported in the literature.

The resulting GNT completely covers the free space. It is noticeable that the larger the obstacles get, the less gaps they share with other obstacles which leads to a less redundancy rate (

Performance criterion | Measurement |
---|---|

Number of obstacles in the environment | 5 |

MNG | 36 |

UNG | 11 |

ANG | 16 |

OGRR | 69.4% |

AGRR | 55.5% |

Performance criterion | Measurement |
---|---|

Number of obstacles in the environment | 5 |

MNG | 20 |

UNG | 13 |

ANG | 14 |

OGRR | 35% |

AGRR | 30% |

In summary, the vast set of simulations shed light on the performance of the proposed algorithm to construct a roadmap to cover the free-space. The algorithm is complete as it handles all types of environments including the challenging ones such as the narrow-passage or indoor environments. The resulting GNT is a function of Rs, obstacle size and placement. Although, the algorithm reduces redundant gaps, it does not eliminate all redundancy. This is very much attributed to the limited sensory data we use.

The following bar chart (

Performance criterion | Measurement |
---|---|

Number of obstacles in the environment | 8 |

MNG | 40 |

UNG | 16 |

ANG | 26 |

OGRR | 60% |

AGRR | 35% |

Finding the minimum (unique) number of gaps is considered NP-hard problem. However, the performance of the algorithm (which uses local sensory data) is very much satisfactory when compared to the optimal one (NP-hard and based on global data). It should be noted that Example 6 (

In this paper, we have proposed using GNT while enabling the robot to count and record the steps it takes (as building its own grid) in order to enable GNT to work in multiply, connected environments. This solution would require using more RAM storage. However, the GNT is a versatile data structure that can serve a variety of applications.

The proposed solution is a cost-effective one which makes it practical to produce it in bigger quantities for specific application that require multiple robots such as search and rescue. A typical major assumption made to solve the robot motion planning using GNT is that obstacles are uniquely identified. Our solution does not require such assumption. Now, the robot is able to explore unknown multiply connected environments on its own with one very affordable sensor. Our solution eliminates the need for a landmark based sensor such as camera and it provides a cost effective prototype of a robot.

ReemNasir,AshrafElnagar, (2015) Gap Navigation Trees for Discovering Unknown Environments. Intelligent Control and Automation,06,229-240. doi: 10.4236/ica.2015.64022