I'm planning on programming a prebuilt robot to solve a maze as fast as possible. The robot has forward obstacle sensors (no side sensors) and 3-axis accelerometer. I'm planning on using the wall following algorithm. Is this the fastest possible algorithm? Also, since there are no side sensors, the robot needs to continuously turn to check if there is a wall on its side, so is there a clever way to use the accelerometer and sensors?
|
You can't say much about solving a maze unless you are allowed to explore first, or know the maze before-hand. Otherwise, it is easy to build a maze that will take arbitrarily long to solve using wall-following, but which has a simple solution. See the following example. In this case, it is faster on average to just chose turns randomly. So maybe this is a tough problem that requires a little more thought. In some contexts, an iterative-deepening approach isn't bad. Start your research there, and come back when you have specific questions. |
|||
|
The wall following algorithm will benefit more from sensors on a side. Since you follow the side until you find a gap then you turn into that gap. You could then use the accelerometer to sense a bump when you hit the wall in front. However not sure how you can determine that you are out of the maze (in case you need to do that). Just an idea... |
|||
|