Reputation: 885
I am wondering whether the Wavefront algorithm (or any other navigation algorithm), can be modified from trying to reach a a specific goal location to navigate to all reachable locations.
Any other advice on different types of WaveFront algorithm would also be helpful.
Upvotes: 2
Views: 2948
Reputation: 404
This 1993 paper introduced a variant of the vanilla wave-front planner that achieves complete coverage, in addition to navigation from start to goal:
A. Zelinsky, R.A. Jarvis, J.C. Byrne, S. Yuta, "Planning paths of complete coverage of an unstructured environment by a mobile robot," Proceedings of the International Conference on Advanced Robotics, 1993, pp. 533-538.
Also see the following review paper for more ideas on coverage path planning:
Enric Galceran, Marc Carreras, "A survey on coverage path planning for robotics," Robotics and Autonomous Systems, Volume 61, Issue 12, December 2013, Pages 1258-1276.
Upvotes: 1
Reputation:
I have visited your site. You stated that the robot can receive commands like "Go to ketchen". Well, I advice not to re-invent the wheel. Actually, you don't have to visit every cell, or "the hole area". Rather, you should select your shortest path to it, then walk through.
I believe Dijkstra's algorithm is much better for your robot path-finding.
An enhaced version of Dijkstra is A* algorithm, which takes less time in the average case.
Here you can find examples how do they work, efficiently.
EDIT:
I have visited your site, again. You stated that you want an algorithm for navigating all the erea. Well, as far as I know, repeating A* algorithm will be much better. A* uses BFS, which has a better performance in the average case. It's very efficient when compared whith wavefront. The pseudocode is as following:
- A) Find the shortest path with A* algorithm between the location and the goal
- B) If there is no way to the goal, specify a temp location and move to it. (Since you indicated, it may find a way later). After arrived to temp location, Go to step A.
- C) Otherwise, if you have found a way, navigate to the target.
Upvotes: 1