FidEliO
FidEliO

Reputation: 885

Wavefront algorithm for area coverage

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

Answers (2)

Spyros Maniatopoulos
Spyros Maniatopoulos

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

user586399
user586399

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

Related Questions