The electrical subsystem is built in such a way that a change in the robot's mechanical design will only lead to minimal changes in the software, and none in the hardware. This will ensure easy upgrades and changes in case the rules of the competition change.
The system has three levels of the control:
These boards are built with modularity in mind. For that reason, all the boards share the same base board which contains the microprocessor (Microchip PIC16F877), the digital power distribution system, and a character LCD. There is a special area on the board where an extra module can be placed. This module specializes the board and decides its functionality. The board can communicate via RS232 and SPI, and the PIC is in-circuit programmable. Detailed documentation still to be done.
back to top
The Motor Modules extend the functionality of the PIC Base board to control motors. They include 2 55V H-Bridges (LMD18245T) that can deliver up to 3A of current continuously. These H-bridges from National also have a built-in D/A converter that can limit the amount of current going to the motors. The motors, however, are controlled using direction/magnitude PWM.
The module also has a LS7266R1 quadrature decoder/counter that reads the sensors and maintains the positions of the motors. The last IC on the module is a latch that holds the value to input to the D/A converter of the H-Bridges. Detailed documentation is under work.
back to top
The interface module is designed to handle SPI communication with up to 15 boards. It uses multiplexers, decoders, latches, and OR-gates to implement an addressing scheme to handle SPI and interrupt requests from the boards. Detailed documentation still to come.
back to top
The environment boards handle input from the outside world and direct the robot accordingly. They will communicate with the Interface Boards via SPI, sending instructions on how to move the robot according to each board's sensors. The interface board will arbitrate among the environment boards and choose who to listen to or to mix instructions from multiple boards. There would be one board running the main algorithm and sensors, with the rest of the boards watching out for unusual situations such as obstacles. The board that catches this kind of situation then takes over the robot and navigates it to overcome the obstacle. It then relinquishes control back to the main algorithm board.back to top