Prototyping and Testing for Robot Refinement 
The following describes a set of prototyping and testing techniques we used to decide between various options and to refine their use.
•	We needed to select a line following method and then develop it. We decided to use a light sensor, rather than static programming, to follow the line of black duct tape and cross the bridge to the other module because this method would be more reliable and more accurate than simple static programming. However, the light sensor approach required a lot of refinement.

We started with initial generic line-following code. After several tests—running the program on our XBC robot on the board—we realized that the program would require modification to compensate for factors such as the angle and time that the robot would have to use to turn onto the bridge, and the positioning of the robot so that it would not fall off of the bridge. During each run of the program, we recorded our observation of the robot’s behavior and ability to cross the bridge, and would then modify the program as needed. From these tests, we learned how to construct a program that would allow the robot to reliably cross the bridge. The line-following technique, although harder to develop, proved to be very effective. 
•	Our original chassis for the XBC robot used staggered wheels — wheels which were not directly across from each other — to make it slim enough to cross the bridge. We had doubts about this chassis, in the areas of stability and mobility. The best way to see if this design was usable was testing the program on the robot and seeing how it acted on the module. Each time, we kept notes of how the robot performed. After several trials, it was apparent that this particular design did not turn the robot quickly nor easily, which was critical for all of the maneuvering the robot needed to do. After trying to adjust the wheels, we figured that a slim chassis without staggered wheels would be the best design for our robot. We replaced the staggered wheels with parallel wheels. 
•	Another design aspect which we were able to revise was our specific use of the camera. Initially, we wanted to use the camera to sort the poms, and then have the camera direct the sorting arm, depending on what the top color of each pile was, green or orange. The arm would then sort the poms into the corresponding compartment for each color. We began to program the camera, and even mounted it above our arm. 

We soon realized that there were several functions which were compromised through our use of the camera. The first time we ran the robot with the camera, it got in the way of the main arm, which occasionally had to be raised. With the camera blocking the way, our arm was not able to move. In addition, we found that the programming for the camera did not work as we had intended, and the arm did not act as it should have, confusing the piles. After a few more trials, we decided to exclude the camera from our strategy, as we did not yet know how to use it properly.