Sensors
Ultrasonic range finders
Two HC-SR04 ultrasonic range finders were connected to the Arduino analog pins. The trigger pins are set as analog outputs, and echo pins are set as analog inputs. We read the raw distance data from the sensors and used the pair, pointed in the same direction, to align with the respective walls of the playing field. We had a significant issue with the sensors cutting out during development, and eventually learned that some batches of these sensors have a firmware issue that causes them to drop out. It's possible to still use them by resetting when they return a 0 value (using a transistor to cycle power), however the easier solution was to replace them.
IR Beacon Sensor
The IR Beacon Sensor used a phototransistor to detect signals. The signal was amplified with an op amp, then processed through a comparator with hysteresis before being fed into the Arduino pins 2 and 3. Interrupts on those pins were used to calculate the frequency and duty cycle of the detected signals.
IR tape sensors
Two OPB704WZ tape sensors were installed under the bottom layer to detect the tape on the playing field. This gave the robot rough alignment with the first fact checker and social media beacon. We did not use the tape for navigation, which was a good strategy. We only used them to stop at certain points and escape the safe space.