*4.1.2. Pitfall of D\* Lite*

Despite being an effective replanner for dynamic environment, D\* Lite does have a big pitfall for certain circumstances. In fact, D\* Lite is designed to be implemented in mobile robot with range sensors, in which the environment changes are perceived near the robot (the starting cell). In other word, the changes occurred at the perimeter of expansion. Therefore, D\* Lite just propagates inconsistencies in a small area near the search front; the replanning process is efficient. However, the problem arises when we combine other sensors (e.g. UAV, satellite,

etc.) to detect environment changes in further area near the goal. Intuitively, we can imagine a valley where *g*(*s*) of each cell substitutes for its height; the goal cell has the lowest height (the bottom of the valley), and robot position (start cell) is always at valley's edge. Suddenly, there is a change in height near the goal; D\* Lite has to give enormous effort to correct the continuity of the valley slope from the bottom to the surface. Because of the overhead of storing

Search-Based Planning and Replanning in Robotics and Autonomous Systems

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

75

**Figure 9.** Pseudo code of D\* Lite algorithm.


**Figure 9.** Pseudo code of D\* Lite algorithm.

• Incremental: D\* Lite inherits incremental search property from Dynamic SWSF-FP; it reuses information from previous search to repair path in a series of similar searches, which

> 0 *if s* = *sstart mins*′

• Invariant 2: OPEN list contains exactly only local inconsistent cells *g*(*s*) ≠ *rhs*(*s*).

) + *cost*(*s*, *s*′

At the first run, D\* Lite is exactly like A\*. It guarantees to expand cells at most twice in each search routine due to the concept of one-step look-ahead estimated goal distance r *hs*(*s*) that is inherited from LPA\*. r *hs*(*s*) leads to the terms of over-consistent cell *g*(*s*) > *rhs*(*s*) and under-consistent cell *g*(*s*) < *rhs*(*s*). Intuitively, these concepts help propagating the inconsistency of cells to their neighbours. To maintain Invariants 1 and 2, ComputePath() function updates rhs-values of changed cells, checks their consistency and decides their membership of OPEN list accordingly. Invariant 3 is maintained by updating the OPEN list keys while expanding (**Figure 9**, lines 17–18). ComputePath() stops when the smallest key of OPEN list is less than *Key*(*sstart*) or *sstart* is consistent; this criteria indicates that cell expansion has reached

Despite being an effective replanner for dynamic environment, D\* Lite does have a big pitfall for certain circumstances. In fact, D\* Lite is designed to be implemented in mobile robot with range sensors, in which the environment changes are perceived near the robot (the starting cell). In other word, the changes occurred at the perimeter of expansion. Therefore, D\* Lite just propagates inconsistencies in a small area near the search front; the replanning process is efficient. However, the problem arises when we combine other sensors (e.g. UAV, satellite,

)) *otherwise*.

is much efficient than calculating path from scratch.

In general, the pseudo code of D\* Lite maintains three invariants:

**Figure 8.** MP simulation on grid environment (a) Initial path, (b) Reset A\* and (c) D\* Lite.

∈*Pred*(*s*) (*g*(*s*′

target *sstart*. Theorems of D\* Lite are described detail in [19].

• Invariant 3: Priority value of cells in OPEN list is equal to its *Key*(*s*).

The pseudo code for D\* Lite is shown in **Figure 9**.

• Invariant 1: *rhs*(*s*) <sup>=</sup> {

74 Advanced Path Planning for Mobile Entities

*4.1.2. Pitfall of D\* Lite*

etc.) to detect environment changes in further area near the goal. Intuitively, we can imagine a valley where *g*(*s*) of each cell substitutes for its height; the goal cell has the lowest height (the bottom of the valley), and robot position (start cell) is always at valley's edge. Suddenly, there is a change in height near the goal; D\* Lite has to give enormous effort to correct the continuity of the valley slope from the bottom to the surface. Because of the overhead of storing 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 D\* Lite unreliable in high-dimensional state space.

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 that will be presented in the following section.
