In the final version of code (version D), it was realized that the triangulation would not work due to inaccuracy of the beacon and RSSI. This was mostly caused by any obstacles in the path between the beacon and the rover, as well as the rotation of the beacon, since it broadcast a weaker signal in some directions. Thus, the beacon navigation was removed altogether. This left the code as the sensor navigation. The Arduino would ask if the sonar’s value was too great or if it was going to fall into a hole if it continued forward. If so it would back up and turn. Otherwise it would ask if both the bump sensors where blocked. Then it asked if just the left was block or just the right. If at any point it answered yes, the code would enter that loop. In each of these loops the rover would back up, turn at a set angle based on what was blocked, it then would return to the top to ask itself these questions again. If it managed to run through all the questions without answering yes, the rover would drive forward then ask itself the questions again. This code was the final version used on the robot and had no beacon tracking involved, merely obstacle navigation.