Why is A* not used for roombas and other similar vacuums?

595 views

Why VSLAM instead of A* or some other optimal algorithm?

In: Mathematics

2 Answers

Anonymous 0 Comments

You see, those two algorithms have different functions entirely.

VSLAM is used to construct a virtual map of the environment. In other words, it’s used to be able to detect walls, furnitures, and whatnot.

A*, a pathfinding algorithm, is used for just that, pathfinding. It relies on an already existing environment, obstacles, and objectives. The use of pathfinding algorithms is for finding shortest paths with the least amount of computation. For roombas, you really don’t want to follow the shortest path from point A to point B, otherwise you won’t be cleaning much.

Instead, VSLAM is used in tandem with another simple algorithm to make sure the map constructed by VSLAM is all visited by the roomba.

Anonymous 0 Comments

* A Roomba doesn’t know the layout of the room, something A* takes as a premise. VSLAM builds the map as it goes.

* A Roomba wants to visit every spot in the room at least once. A* specifically wants to try to avoid as many spots as possible to get form A to B as fast as possible. Unless you’re building a racing Roomba a pathfinding algorithm isn’t very useful except maybe for the “return to base” function.