We came across a few design obstacles in the course of working on this project. To begin, we had issues with grounding the FPGA while we were building the motor circuit and controls. It turns out that when the FPGA is plugged in for power, it needs the USB cable for a ground reference. This problem led to the wheels not getting enough power in certain configurations. This problem was eventually fixed when BALL-E was made completely battery powered.

Additionally, we began by using a 1.3 Megapixel CMOS Imager Array that plugs directly into the DE2 board. However, this camera had very limited color perception. We worked with this camera for 2 weeks before finding a suitable alternative after being offered a Sony DCR DVD108 video camera. This camera is much clearer and picks up color much better. Using this camera we were able to write the detect red and vga output modules.

We also had a few complications with the neural network. As mentioned, we built a series of counters to count the spikes in order to control the wheels properly. However, it seems that the spikes weren't fast enough and the counters weren't performing their jobs properly. We increased the frequency of the spikes from the neural network and the counters worked better after this.

Future Work

Given more time and resources there were a few things we would do differently, and would like to build on. We would like to obtain better motors with more precise speed control, to allow for better turning ablility. Additionally, we would like to build a better neural network to actually learn to chase the ball. This neural network would use the red distance from center as a fitness function, and would learn to keep the orange ball in the center of its screen. We would additionally like a camera that is lighter but with the same color depth.

Standards, Intellectual Property and Legal Considerations

Our research has not uncovered any standards that our design must conform to. We used the Terasic DE2_TV code as a basis for our Video Decoder. Additionally, we used Bruce Land's neural networking example to create our simplefied neural network. While similar robots exist in the world, our design was not a reverse engineering of any of these exisiting devices and thus there are no intellectual property concerns in regards to this. We did not sign any non-disclosure acts to obtain any parts. We are unsure of the patent opportunities of this design at this time, though we are unaware of any FPGA based designs that accomplish what BALL-E does. We do not have any major legal considerations at this time, as the robot is completely autonomous and requires no communication through RF or and type of transmission.