The navigation board is responsible for getting the robot to the center of the arena, aiming at the holes, determining the appropriate color ball to shoot, and telling the shooting board to shoot that color of ball through the hole. The figure below shows the many components and subsystems that this board uses to accomplish these tasks. These include the following:
Details on each of the major subsystems can be found on the corresponding pages.
As mentioned above, the navigation board has four main objectives to acheive:
We implemented this functionality in software with event-driven programming. The state machine for our program is shown below. The states are represented by each of the nodes, the bold text on each of the arrows is the event that triggers the transition, and the italic text is the action performed by the software on that transition. The code that implements this state machine along with the other functionality for the board can be found on the github repository.
The following is the Eagle schematic for the navigation board. This schematic, along with the accompanying board layout file, can be downloaded from the repository.
Detailed views of the finished board are shown below:
To make mounting components on the robot easier, this board was designed to allow the two required H-bridge boards to stack on top of it. This assembly is shown below: