Pretty easy, right? Let’s take another environment:
Figure 10.2 Robot Catch Example 2
Here, we can see that the A* algorithm fails in such a simple looking environment. We know that A* needs to start from scratch if the goal changes. In Figure 10.2, the target is continuously moving, and the A* algorithm is not able to search enough to escape the L-shaped obstacle. One solution to this: block the location which has been explored more than twice in an oscillatory motion.
Figure 10.3 Robot Catch Example 3
As said earlier, when a location is explored twice: we put an artifical obstacle on that location. Consequently, the A* algorithm won't visit the same node again and again. There are two steps to put an artificial obstacle:
Figure 10.4 Artificial Obstacle
Using the above method, the robot may sometimes find itself completely surrounded by obstacles (artificial and the original ones). In this case, the robot should ignore the target for a while and find the nearest free cell; further, it should run A* search to that free cell. During this A* search, the artificial obstacles are removed and placed back again as the search completes. Figure 10.5 clearly demonstrates this behaviour. Whenever this scenario is encountered by the robot; it implies that the robot has completely explored that area and needs to move out.
Figure 10.5 Surrounded by Obstacles
In this, it looks like the robot teleports through the artificial obstacles; that’s why the name is teleportation
</> GitHub
[1]. 16-350 Planning Techniques for Robotics - link
[2]. Choset H., Lynch K. M., Hutchinson S. Kantor G., Burgard W., Kavraki L. E., Thrun Sebastian. Principles of Robot Motion. MIT Press