The whiskers are our first move into using sensors to help the bot navigate in the world around it. While the previous maze project was a start for getting the bot to move it wasn't any kind of autonomous navigation. It was 100% predefined for the maze it was on.
The whiskers are a set of wires that stick out the front of the robot that when touched send a signal to the robot that an object is in its path and it should correct it's course. The first step in decision making and autonomous navigation. There were several mini projects leading up to the completed navigation. First a program "Test Whiskers" was created to use the debug screen on the computer to show whether or not the left and/or right whisker was being contacted. This allowed us to see if they were working before we sent the bot running into the wall. A great demonstration of how to "bench test" a program or a circuit before rolling it out.
Afterwards, the initial Roaming with Whiskers program was completed allowing the bot to roam around the floor stoping and changing course. This was a great step forward in navigation although it is limited in the fact that the bot has to actually touch the object in it's path before correcting. This program was then also upgraded to include the ability to escape corners. The original program was limited in the fact that it did the same correct when a whisker was touched every time. The Escaping Corner program included a counter that told the bot how many times it had tried the same combination of moves. If it reached it's limits of tries it realized it was in a corner and did a 180 and got out of there!!