6.270 Snakes on a Plane (R2) README =================================== Team 20 Amy J Wooten Linda Ye IAP 2006 Technical Things ================ Using OSv.0.1.04, because we failed to see the new v05 before impounding. However, we added the kill() function to ensure that the robot stops before the minute is up. The source file is umain.c, located in this directory. We have also included our entire project source (project located in src/gyrotest). Brief Code Overview =================== Most of the utility functions (calibration, turning, driving) are taken directly from Gyrotest. In fact, we just modified the Gyrotest project for our robot. Color calibration happens during the setup period. All sensors are placed over black, then over white, and a cutoff is determined. Once started, the robot orients itself by determining which square is the odd one out (or if all 3 sensors see the same color). The robot will turn towards the ball set closest to it, never more than 90 degrees in either direction. Actually, we found that "70" degrees is more desirable (for some reason the gyroscope readings don't update as much while spinning). If the robot is faced towards the 4 balls, it will simply push them into the corner goal and back up. Ideally, it should return to where it started, turn, and go for the 2 balls. However, we found that going backwards was impossible due to an inefficiency in our motor gears or something. Therefore, we simply set it to travel back without regard to the gyroscope (using the gyro actually decreases our chances of going straight). If it is faced towards the 2 balls, it will try to sense the middle line, turn 90 degrees, and deposit the 2 balls into the middle goal. Once it does so, it backs up, turns towards the 4 balls, and tries to score in that goal as well. Most of the time, however, the black middle line does not trip both back sensors at once, so we simply just push the 2 balls into the corner goal.