Robotics: Exploration


A common application for robots is for exploration in unknown environments. Design a robot that can explore the wooden maze that we have. You can start the robot wherever you like, but once it begins it should ultimately cover all corridors of the maze.

Design your robot using subsumption. Whether or not you use the leJOS API for Behavior is up to you, but you should use a subsumption-like architecture for your code.

You may find that George's whisker design (above and side views) may work well for this sort of assignment. Keep trying to go left, but when the whisker hits, you'll need to move away from the wall. Another whisker in front of you may help deal with dead ends. Of course, you're encouraged to be as creative as you like!

As an extra optional goal, see if you can get your robot to count the number of dead ends that it encounters. This technically requires a small violation of subsumption (maintaining a count).

Good luck, and have fun!


Authored by Dave Musicant.