- camera: the more frames there are, the higher is the definition, the better it is. Performances with a 720p 30 fps are mediocre, the maximum/average speed are not misurable as at a higher game rate the ball is hard to be detected. With a higher definition camera you will be able to have more detail in the images for easier detection of the ball; being able to take more frames per second will allow you to have more chances to detect the ball in a unit of time. All this will increase the accuracy of the ball detection, therefore the calculation of the maximum/average speed.
- computer: a higher performance camera will give in output an enormous amount of data, which a normal Raspberry would not be able to process. The best would be a good computer with good processing capacity. In the best case, the processor may have to analyze 200 frames in FullHD+ per second, having to start 4 different threads: camera thread, ball recognition thread, serial thread and rendering thread. All this requires a good computer.
- game field: improving the circumstances would greatly help the camera and the computer; the ideal could be a black field with a yellow ball, to make the ball perfectly visible to the camera. The foosball could have a store for the processing unit at its base, with a display for the various program settings. A metal frame is required for storing the camera at the top. To its support a ceiling light could be installed with LED lights and a matte surface to avoid reflections, in this way it will be possible to always ensure excellent lighting . The foosball field itself should be matte to avoid reflections. It may be convenient to purchase a foosball without circular objects similar to the ball to avoid their erroneous detection. The There will be two storages at the base of the two goal doors for the ultrasonic sensors that must be connected to the arduino. The arduino has to be connected to the processor, the foosball must be able to support this.