*4.2.1. Anytime dynamic A\* (AD\*) algorithm*

As one of the prominent properties of D\* Lite, it maintains the optimality of solution paths. However, in real-world application, optimal paths are difficult to calculate due to the complexity and uncertainty of environment within available time; the paths are also quickly to become out of date because of dynamic surroundings. Moreover, the state space, which encodes global motion constraints of the robot, tends to be high dimensions. With these difficulties, D\* Lite becomes unreliable when implementing in real robot.

Anytime Dynamic A\* (AD\*) [12], which is a combination of D\* Lite and ARA\* algorithm, is a trade-off between computation and path optimality. It sacrifices the shortest path to quickly generate suboptimal solution to cope with imperfect information and dynamic environment. AD\* inherits these properties from its parent algorithms:


In general, AD\* executes a series of similar searches with decreasing suboptimal bounds to generate a series of paths with improved bounds. As environment changes are detected, the locally inconsistent cells are placed in OPEN list with uninflated heuristic keys, and AD\* processes these cells to correct the outdated path. The pseudo code for AD\* is shown in **Figure 10**.

**Figure 10.** Pseudo code of AD\* algorithm.

Search-Based Planning and Replanning in Robotics and Autonomous Systems

http://dx.doi.org/10.5772/intechopen.71663

77

g-value information, the correction effort now is more expensive than starting the search from scratch. This is a big limitation for multi-sensor-based robot system; the problem also makes

This behaviour leads us to a problem statement: The location of environment changes with respect to goal position makes an enormous difference to efficiency of D\* Lite. This problem is also addressed by the author of D\* Lite in [12] as open question. In other papers, mathematical approach is used to study this pitfall in [16]. Unfortunately, the problem is still not solved thoroughly; however, there are approaches to partly overcome this pitfall in certain situation

This section describes variants of D\* Lite that partially solves the mentioned pitfall of D\* Lite.

As one of the prominent properties of D\* Lite, it maintains the optimality of solution paths. However, in real-world application, optimal paths are difficult to calculate due to the complexity and uncertainty of environment within available time; the paths are also quickly to become out of date because of dynamic surroundings. Moreover, the state space, which encodes global motion constraints of the robot, tends to be high dimensions. With these dif-

Anytime Dynamic A\* (AD\*) [12], which is a combination of D\* Lite and ARA\* algorithm, is a trade-off between computation and path optimality. It sacrifices the shortest path to quickly generate suboptimal solution to cope with imperfect information and dynamic environment.

• **Anytime:** AD\* uses inflated heuristic function to increase the greedy factor that expands aggressively towards goal while still maintaining path suboptimal bounds *ε*. In addition, AD\* also is capable to reuse information from previous search to improve its path. This

• **Incremental heuristic:** AD\* has the ability to efficiently identify relevant cells that contribute to replan a new path when environment changes are detected. However, the heuristic function in this property is not inflated to guarantee the suboptimal bound in replanning process. This property is inherited from D\* Lite to cope with dynamic environment.

In general, AD\* executes a series of similar searches with decreasing suboptimal bounds to generate a series of paths with improved bounds. As environment changes are detected, the locally inconsistent cells are placed in OPEN list with uninflated heuristic keys, and AD\* processes these cells to correct the outdated path. The pseudo code for AD\* is shown in

property is inherited from ARA\* to cope with complex planning scenario.

Hence, these state-of-the-art algorithms improve the computation factor of D\* Lite.

ficulties, D\* Lite becomes unreliable when implementing in real robot.

AD\* inherits these properties from its parent algorithms:

D\* Lite unreliable in high-dimensional state space.

that will be presented in the following section.

*4.2.1. Anytime dynamic A\* (AD\*) algorithm*

**4.2. Performance improvements**

76 Advanced Path Planning for Mobile Entities

**Figure 10**.


**Figure 10.** Pseudo code of AD\* algorithm.

At first, we set the suboptimal bound *ε* to be large enough in order to generate solution quickly (**Figure 10**, line 42). Unless environment changes are detected, AD\* iteratively decrease suboptimal bound *ε* to improve the solution as time allowed (**Figure 10**, lines 55–60); this phase is exactly the same with ARA\*.

• **Linear heuristic distance:** The criteria measure the complexity of the remaining path count

*NR* > *ε* ∗ *h*(*s*,  *sgoal*), (9)

where *s* is the current position of the robot. If *NR* ≤ *ε* ∗ *h*(*s*,  *sgoal*), then the remaining path is simple enough; there is a chance that the new path is much more complex. Hence, the algo-

As can be seen, these criteria use only path information between consecutive detection incidents in order to estimate the amount of computation of replanning process comparing with planning over from scratch. The reason is that it is hard to predict propagation behaviour of OPEN list, because the state space is only partially known. Moreover, these criteria only work in high cluttered and complex environment, where environment changes usually block initial path and the new path is likely to be much longer than initial path. The pseudo code of D\*LR

The proposed criteria of D\*LR are not robust due to extensively replying on environmental assumptions. However, the algorithm can be improved if criteria that can robustly estimate computation of replanning process in any kind of environment are applied. If criteria are

*O*(|*V*|) = *O*(|*E*|) = *O*(*bd*) (10)

Although cell decomposition approximation is widely used to discretize C-space for searchbased algorithms due to its robustness (no prior environmental assumptions), this approximation intrinsically prevents search-based algorithm to produce optimal path. The search-based algorithms just allow to transition between cell centres, thus restricting robot traverse direc-

There were many approaches to cope with this problem. For instance, post-processing method that finds the furthest point P along the solution path for which a straight line path from P to robot position is collision-free and replaces the original path to P with this straight line. However, this method sometimes does not work and increases the path cost. Another approach is fast marching method [22]; this method incorporates interpolation step in planning step to produce low-cost interpolated path. Nonetheless, this method assumes that transition cost between grid cells is constant and does not have heuristic property like A\*; hence it is not applicable to outdoor environment, which requires fast path generating and non-uniform cost grid. To incorporate incremental heuristic property of D\* Lite, the authors of Field D\* [3] embed linear interpolation method to the replanning process to generate "any-angle" optimal path

. Moreover, the produced path involves many sharp turns and jerky

robust, D\*LR performance of each iteration is bounded by the complexity of A\*:

**4.3. Optimality improvements: Field D\* algorithm**

4

segments in large map that makes robot difficult to move.

between consecutive detection incidents. The method to measure the complexity is to

Search-Based Planning and Replanning in Robotics and Autonomous Systems

http://dx.doi.org/10.5772/intechopen.71663

79

*NR*

use inflated heuristic function:

rithm must plan over from scratch.

is presented in **Figure 11**.

tions to increment of *π*\_\_

When changes are perceived, the suboptimal bound of solution is no longer guaranteed, especially the under-consistent cells, due to the fact that there could have shorter paths exist. Therefore, these under-consistent cells are placed in OPEN list with uninflated heuristic to ensure these cells propagate their inconsistences to neighbours first when ComputeOrImprovePath() function is called (**Figure 10**, lines 5 and 45–50). However, because of this effect, many under-consistent cells quickly rise to the top of OPEN list; they usually do not contribute to calculate new path in practice (e.g. objects cause under-consistent changes like human movement, etc.). Hence, AD\* tends to slow down when the path is near optimal. Theorems of AD\* are described in detail in [12].

When "significant cell changes are detected" (**Figure 10**, line 53), there is a high chance that the problem of D\* Lite occurs and the search tree may be corrupted heavily; the replanning process now is expensive; we can increase suboptimal bound *ε* to speed up the correction effort or start a new search from scratch. The problem is how to estimate "significant cell changes". This algorithm does not solve the mentioned problem of D\* Lite completely; it is just a trade-off between performance and path optimality. However, AD\* performs quickly in large-scaled map compared to other algorithms, in which the robot has significant time to iteratively repair its path, and thus overall path is near optimal.
