While the electrical and mechanical components of the Magic School Bot are important, software is also needed to tell the robot what to do. In addition to the expected control software, we also had software to do signal processing on IR signals. Software management was done on Github to let us work on issues concurrently.
The decision-making algorithm was organized into three stages: gate, pickup, and zipline. During the gate stage, the magic school bot followed tape while keeping track of whether or not it is safe to go through the gate. If necessary it waits for the signal to change to 1kHz before proceeding through the gate. During the pickup state, it followed tape until an intersection was detected, and then drove around the agent holding tank, aligning the robot and initiated the claw sequence to retrieve the agents. Finally, the zipline stage located the zipline and transferred the basket with agents to the zipline.
This software structure allows us to have concurrency on a single process computer. It is also beneficial because it allowed all of us to write, test, and the different stages at the same time, which saved us some time.
Instead of filtering IR signals using hardware, we process the signal digitally. We sample the signal for a period of time and checks if the frequency of the waveform. This allowed us to remove the IR detector circuit from the robot design.