Beacon SensingOne of the most important aspects of the competition was to detect the other SumoSenator. During the competition, each SumoSenator was required to attach a class-standard 850 Hz flashing IR beacon at the centroid of the robot's footprint and 11 inches from the ground so that other robots could detect it. The Sequester also had a beacon mounted at its midpoint, flashing at 4kHz. Our beacon sensing circuitry was responsible for detecting the direction to our opponent so that we could attack them, as well as the direction to The Sequester. Our beacon sensor eye consisted of 6 phototransistors mounted pointing different directions on a circular platform. Although we could delinineate between signals coming from The Sequester versus the opponent, we chose to ignore the Sequester signal in software during the final competition.
|
Early on, we decided to take a primarily software-based approach to detecting and filtering the beacon signals from the opponent robot and from the sequester. The advantages of software included flexibility, robustness, and less complicated hardware, and speed of development time. Our approach consisted of a circuit to detect, amplify, filter, and digitize the incoming optical signal, paired with Arduino based software to calculate the frequency of the incoming digital signal. Taking the advice of previous years' ME210 students, we used the Arduino's interrupt pins to store time stamps of each digital rising edge. We could then calculate the period between rising edges and thus the frequency, which we averaged across multiple rising edges to reduce the effect of noise and jitter in the signal. Signals for all 6 phototransistors were fed into the same amplifier circuit, and we used a multiplexer to select which signal to look at. In this way we avoided building the same signal conditioning circuit 6 times, which would have led to more opportunities for component failure or human error.
We had some difficulties with range on our beacon sensing circuit. Late in the build period, we determined that this was because our phototransistors were installed backwards, and we had calibrated the initial gain values for this configuration near the beginning. We could still detect the opponent when the reverse breakdown voltage of the phototransistors was reached, but we could not consistently detect the opponent from across the entire field. We rebuilt the circuit with correct phototransistor orientations and proper gain values, but were unable to get it to work the day before the competition, for unknown reasons. We decided to run the competition with the original backwards phototransistor circuit, and it turned out to be good enough. Luckily all of our opponents came to us!
We also had some problems develop with some of the phototransitors near the competition, so we decided to run with only three - one pointing forward with a narrow field or view, and one each to the front-left and front-right with a wide field of view. In this way we could charge towards our target when the front sensor was activated, and turn if our side sensors were activated, or we didn't see the other robot (they were behind us). It was not optimal, as having all six sensors would have allowed us to attack going both forwards and backwards (we would be a symmetrical robot and wouldn't really have a "front"), which would cut our vulnerable turning/seeking opponent time in half, but it was good enough that we were able to tie for the championship!
We had some difficulties with range on our beacon sensing circuit. Late in the build period, we determined that this was because our phototransistors were installed backwards, and we had calibrated the initial gain values for this configuration near the beginning. We could still detect the opponent when the reverse breakdown voltage of the phototransistors was reached, but we could not consistently detect the opponent from across the entire field. We rebuilt the circuit with correct phototransistor orientations and proper gain values, but were unable to get it to work the day before the competition, for unknown reasons. We decided to run the competition with the original backwards phototransistor circuit, and it turned out to be good enough. Luckily all of our opponents came to us!
We also had some problems develop with some of the phototransitors near the competition, so we decided to run with only three - one pointing forward with a narrow field or view, and one each to the front-left and front-right with a wide field of view. In this way we could charge towards our target when the front sensor was activated, and turn if our side sensors were activated, or we didn't see the other robot (they were behind us). It was not optimal, as having all six sensors would have allowed us to attack going both forwards and backwards (we would be a symmetrical robot and wouldn't really have a "front"), which would cut our vulnerable turning/seeking opponent time in half, but it was good enough that we were able to tie for the championship!